Re: ulpt problem (USB_ERR_IOERROR)

From: Patrick Lamaiziere <patfbsd_at_davenulle.org>
Date: Thu, 16 Jul 2009 21:55:28 +0200
Le Mon, 13 Jul 2009 08:46:50 +0200,
Hans Petter Selasky <hselasky_at_c2i.net> a écrit :

> The printing works besides from the status failing?

Yes.
 
> > 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
> > = 1 and to increase the timeout. But without luck.
> 
> 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] = { .type = UE_CONTROL,
...
   .timeout = 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.
Received on Thu Jul 16 2009 - 17:55:34 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:52 UTC