ulpt problem (USB_ERR_IOERROR)

Patrick Lamaiziere patfbsd at davenulle.org
Fri Jul 3 16:52:37 UTC 2009


Le Fri, 3 Jul 2009 17:56:54 +0200,
Hans Petter Selasky <hselasky at c2i.net> a écrit :

> Have you tried:
> 
> usbconfig -u XXX -a YYY reset
> 
> Does it help?

No, it returns 
# usbconfig -u 0 -a 2 reset
usbconfig: could not reset device: Input/output error

Then ulpt detaches
ulpt0: at uhub0, port 1, addr 2 (disconnected)
ulpt_detach:653: sc=0xc317f000


> To me it looks like a problem about your printer USB firmware. Does
> it respond to:
> 
> usbconfig -u XXX -a YYY dump_curr_config_desc
> 
> After the first print job?

Yes, after the first job:

# usbconfig -u 0 -a 2 dump_curr_config_desc ugen0.2: <product 0x001a
vendor 0x04f9> at usbus0, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON


 Configuration index 0

    bLength = 0x0009 
    bDescriptorType = 0x0002 
    wTotalLength = 0x0020    
    bNumInterfaces = 0x0001  
    bConfigurationValue = 0x0001 
    iConfiguration = 0x0000  <no string>
    bmAttributes = 0x00c0               
    bMaxPower = 0x0001                  

    Interface 0
      bLength = 0x0009 
      bDescriptorType = 0x0004
      bInterfaceNumber = 0x0000
      bAlternateSetting = 0x0000
      bNumEndpoints = 0x0002
      bInterfaceClass = 0x0007
      bInterfaceSubClass = 0x0001
      bInterfaceProtocol = 0x0002
      iInterface = 0x0000  <no string>

     Endpoint 0
        bLength = 0x0007
        bDescriptorType = 0x0005
        bEndpointAddress = 0x0001
        bmAttributes = 0x0002
        wMaxPacketSize = 0x0040
        bInterval = 0x0000
        bRefresh = 0x0000
        bSynchAddress = 0x0000

     Endpoint 1
        bLength = 0x0007
        bDescriptorType = 0x0005
        bEndpointAddress = 0x0082
        bmAttributes = 0x0002
        wMaxPacketSize = 0x0040
        bInterval = 0x0000
        bRefresh = 0x0000
        bSynchAddress = 0x0000


It looks like there are some problems even with the first job (I missed
this point before).

ulpt0: using bi-directional
ulpt_write_callback:220: state=0x0 actlen=0 
ulpt_write_callback:220: state=0x1 actlen=2889
ulpt_write_callback:220: state=0x1 actlen=3023
...
ulpt_status_callback:352: error=USB_ERR_STALLED
ulpt_write_callback:220: state=0x1 actlen=16384
ulpt_write_callback:220: state=0x1 actlen=16384
...
ulpt_status_callback:352: error=USB_ERR_IOERROR
ulpt_write_callback:220: state=0x1 actlen=16384
ulpt_write_callback:220: state=0x1 actlen=16384
...
ulpt_status_callback:352: error=USB_ERR_IOERROR
ulpt_write_callback:220: state=0x1 actlen=16384
ulpt_write_callback:220: state=0x1 actlen=15970
ulpt_status_callback:352: error=USB_ERR_IOERROR
ulpt_status_callback:352: error=USB_ERR_IOERROR
ulpt_status_callback:352: error=USB_ERR_IOERROR
... (ad eternam)

If it can help, I can compare with FreeBSD 7.2.

Thank you.


More information about the freebsd-current mailing list