Subject: uhub_explore: usb_new_device failed, error=IOERROR
To: None <tech-kern@netbsd.org>
From: Jeremy C. Reed <reed@reedmedia.net>
List: tech-kern
Date: 09/28/2002 00:12:13
I have two Epson Stylus 480SXU (I think it should be "sux") under 1.6
(i386). When booting, one printer says:

usbd_set_config_index: status=0x0001, error=NORMAL_COMPLETION
usbd_set_config_index: (addr 1) cno=2 attr=0xc0, selfpowered=1, power=2
usbd_set_config_index: set config 1
uhci_device_control type=0x00, request=0x09, wValue=0x0001, wIndex=0x0000
len=0, addr=2, endpt=0
usbd_fill_iface_data: ifaceidx=0 altidx=0
usbd_find_idesc: idx=0(-1) altidx=0(0) len=9 type=2
usbd_find_idesc: idx=0(-1) altidx=0(0) len=9 type=4
usbd_fill_iface_data: found idesc nendpt=2
ulpt0 at uhub0 port 2 configuration 1 interface 0uhci_device_control
type=0x80,
request=0x06, wValue=0x0301, wIndex=0x0000 len=1, addr=2, endpt=0
uhci_device_control type=0x80, request=0x06, wValue=0x0301, wIndex=0x0000
len=12, addr=2, endpt=0
uhci_idone: error, addr=2, endpt=0x00, status 0x440000<CRCTO,STALLED>
uhci_device_control type=0x80, request=0x06, wValue=0x0302, wIndex=0x0000
len=1, addr=2, endpt=0
uhci_device_control type=0x80, request=0x06, wValue=0x0302, wIndex=0x0000
len=24, addr=2, endpt=0
uhci_idone: error, addr=2, endpt=0x00, status 0x440000<CRCTO,STALLED>

ulpt0: Seiko Epson USB Printer, rev 1.10/1.00, addr 2, iclass 7/1
ulpt0: using bi-directional mode
uhci_root_ctrl_control type=0xa3 request=00
uhci_root_ctrl_control type=0x23 request=01
uhci_root_ctrl_control: UR_CLEAR_PORT_FEATURE port=1 feature=16
uhci_root_ctrl_control type=0xa3 request=00
usb_discover

I had mentioned this to a different list, but now I enabled further
debugging. After, trying multiple times by rebooting the printers,
replugging USB cables into different ports and rebooting the systems, I
was able to print only one time (using /dev/ulpn0 with cups).

(Cups almost always says "USB port busy; will try in 30 seconds.")

Whenever I replug in the USB device (or repower the printer), I get:

Sep 27 23:44:39 rainier /netbsd: uhub0: port error, restarting port 2
Sep 27 23:44:52 rainier /netbsd: usbd_new_device bus=0xc06f7000 port=1
depth=1 speed=2
Sep 27 23:44:52 rainier /netbsd: uhci_idone: error, addr=0, endpt=0x00,
status 0x440000<CRCTO,STALLED>
Sep 27 23:44:52 rainier /netbsd: usbd_new_device: adding unit addr=2,
rev=110, class=0, subclass=0, protocol=0, maxpacket=8, len=18, speed=2
Sep 27 23:44:52 rainier /netbsd: uhci_idone: error, addr=0, endpt=0x00,
status 0x440000<CRCTO,STALLED>
Sep 27 23:44:52 rainier /netbsd: usbd_new_device: addr=2, getting full
desc failed
Sep 27 23:44:52 rainier /netbsd: usbd_remove_device: 0xc0812900
Sep 27 23:44:52 rainier /netbsd: uhub_explore: usb_new_device failed,
error=IOERROR
Sep 27 23:44:52 rainier /netbsd: uhub0: device problem, disabling port 1

(Then cups says "Device not configured" as expected.)

Any ideas on why it can configure the "Epson" at boot-time, but not when
replugging in USB?

Any suggestions on how to make it ignore the "getting full desc failed"
and try to continue configuring ulpt0?

(By the way, under Windows systems, these two printers work okay. Would
it help to run a usb sniffer under Windows?)

   Jeremy C. Reed
   http://bsd.reedmedia.net/