Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 16 Jul 2009 21:55:28 +0200
From:      Patrick Lamaiziere <patfbsd@davenulle.org>
To:        Hans Petter Selasky <hselasky@c2i.net>
Cc:        freebsd-current@freebsd.org
Subject:   Re: ulpt problem (USB_ERR_IOERROR)
Message-ID:  <20090716215528.271fc177@baby-jane.lamaiziere.net>
In-Reply-To: <200907130846.51980.hselasky@c2i.net>
References:  <20090703172600.1971111e@baby-jane.lamaiziere.net> <200907120952.30158.hselasky@c2i.net> <20090713034102.1362d27d@baby-jane.lamaiziere.net> <200907130846.51980.hselasky@c2i.net>

next in thread | previous in thread | raw e-mail | index | archive | help
Le Mon, 13 Jul 2009 08:46:50 +0200,
Hans Petter Selasky <hselasky@c2i.net> a =E9crit :

> The printing works besides from the status failing?

Yes.
=20
> > It looks like there is a probem to get the status. FreeBSD 7.0 uses
> > a flag USBD_SHORT_XFER_OK, so I tried to add a flag .short_xfer_ok
> > =3D 1 and to increase the timeout. But without luck.
>=20
> Could you try increasing the timeout to 20 seconds?
> Maybe the printer
> USB firmware is really simple and can only do one request at a time?

Do you mean here? :
[ULPT_INTR_DT_RD] =3D { .type =3D UE_CONTROL,
...
   .timeout =3D 20000,        /* 20 second */

If yes, I tried but this does not change anything. I also tried to
change the ticks of the callout_reset in usb_watchdog().

But If I remove the transfer start in usb_watchdog() (so I never read
the status of the printer), it works well.

With cups and without the deframentation of the datas to write it seems
to work too (the same configuration as the top of this thread). Are you
sure this it required by my printer?

Not related but I noticed that usb_write() in usb_dev.c returns -1 if I
hit Ctrl-C when doing a "cat file > /dev/unlpt0". Because
usb_fifo_wait(f) returns -1 (should be EINTR?).

Thanks, regards.




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20090716215528.271fc177>