On Tue, 16 Mar 2004, Alan Stern wrote: > Sorry it took a few days to get back to you...
Not a problem. vuescan works for the moment. > I looked at your logs. Interestingly, the problems occur with control > transfers, not bulk transfers, but the strace only shows USBDEVFS_BULK > ioctls, not USBDEVFS_CONTROL. I can't imagine what that means or how it > happened. (Unless it's a bug in strace?) I wouldn't bet on strace being up to date. > Ultimately your downfall was caused by the reply to one of those control > transfers. The program requested a 9-byte descriptor from the scanner and > the reply was longer than 9 bytes (that's the "Babble" near the end of > your syslog). Many VIA USB controllers have a bug that causes them to > stop working when they receive an unexpectedly long packet, and that > happened to you. When the controller dies it takes everything along with > it. (When I have a chance I'll change the UHCI driver so that doesn't > happen -- but for now it does.) > > This patch will quite likely apply to a 2.4.recent kernel as well as to > 2.6.4, although you will have to edit the third line to take out the > "/core" element in the pathname. It would be a good idea for you to try > running it under 2.4 too, so I can compare the resulting syslogs and see > what has changed. I tried it on 2.4.26-pre4 (current BitKeeper), it failed: devio.c: In function `proc_control': devio.c:563: error: structure has no member named `bRequestType' devio.c:563: error: structure has no member named `bRequest' devio.c:563: error: structure has no member named `wValue' devio.c:563: error: structure has no member named `wIndex' devio.c:564: error: structure has no member named `wLength' make[3]: *** [devio.o] Fehler 1 So we have 2.6 logs with your patch for now. One thing that is a bit strange is the excessive hotplug action just through starting an application. Whatever that's good for... The 2.6 log is, with date and host name stripped and driver core debugging enabled: 0:46:28 kernel: usb 3-2: usb_disable_device nuking non-ep0 URBs 0:46:28 kernel: usb 3-2: unregistering interface 3-2:1.0 0:46:28 kernel: bus usb: remove device 3-2:1.0 0:46:28 kernel: PM: Removing info for usb:3-2:1.0 0:46:28 kernel: drivers/usb/core/usb.c: usb_hotplug 0:46:28 kernel: usb 3-2: registering 3-2:1.0 (config #1, interface 0) 0:46:28 kernel: DEV: registering device: ID = '3-2:1.0' 0:46:28 kernel: drivers/usb/core/usb.c: usb_hotplug 0:46:28 kernel: PM: Adding info for usb:3-2:1.0 0:46:28 kernel: bus usb: add device 3-2:1.0 0:46:28 kernel: usb 3-2: usb_disable_device nuking non-ep0 URBs 0:46:28 kernel: usb 3-2: unregistering interface 3-2:1.0 0:46:28 kernel: bus usb: remove device 3-2:1.0 0:46:28 kernel: PM: Removing info for usb:3-2:1.0 0:46:28 kernel: drivers/usb/core/usb.c: usb_hotplug 0:46:28 kernel: usb 3-2: registering 3-2:1.0 (config #1, interface 0) 0:46:28 kernel: DEV: registering device: ID = '3-2:1.0' 0:46:28 kernel: drivers/usb/core/usb.c: usb_hotplug 0:46:28 kernel: PM: Adding info for usb:3-2:1.0 0:46:28 kernel: bus usb: add device 3-2:1.0 0:46:28 kernel: usb 3-2: usb_disable_device nuking non-ep0 URBs 0:46:28 kernel: usb 3-2: unregistering interface 3-2:1.0 0:46:28 kernel: bus usb: remove device 3-2:1.0 0:46:28 kernel: PM: Removing info for usb:3-2:1.0 0:46:28 kernel: drivers/usb/core/usb.c: usb_hotplug 0:46:28 kernel: usb 3-2: registering 3-2:1.0 (config #1, interface 0) 0:46:28 kernel: DEV: registering device: ID = '3-2:1.0' 0:46:28 kernel: drivers/usb/core/usb.c: usb_hotplug 0:46:28 kernel: PM: Adding info for usb:3-2:1.0 0:46:28 kernel: bus usb: add device 3-2:1.0 0:46:31 /etc/hotplug/usb.agent[12543]: cannot get config descriptor 0, Value too large for defined data type (75) 0:46:31 kernel: usbfs: proc_control: dev 2 rqt 80 rq 6 val 100 ind 0 len 18 0:46:31 last message repeated 2 times 0:46:31 kernel: usbfs: proc_control: dev 2 rqt 80 rq 6 val 200 ind 0 len 9 0:46:31 kernel: usb 3-2: control timeout on ep0in 0:46:31 kernel: usb 3-2: control timeout on ep0in 0:46:31 kernel: usbfs: USBDEVFS_CONTROL failed cmd usbmodules dev 2 rqt 128 rq 6 len 18 ret -110 0:46:31 kernel: usbfs: proc_control: dev 2 rqt 80 rq 6 val 100 ind 0 len 18 0:46:31 kernel: usbfs: proc_control: dev 2 rqt 80 rq 6 val 200 ind 0 len 32 0:46:31 kernel: usbfs: USBDEVFS_CONTROL failed cmd usbmodules dev 2 rqt 128 rq 6 len 18 ret -110 0:46:31 kernel: usbfs: proc_control: dev 2 rqt 80 rq 6 val 100 ind 0 len 18 0:46:31 kernel: usbfs: proc_control: dev 2 rqt 80 rq 6 val 200 ind 0 len 9 0:46:31 kernel: uhci_hcd 0000:00:10.1: uhci_result_control: failed with status 440000 0:46:31 kernel: [cca922a0] link (0ca921e2) element (04b1b640) 0:46:31 kernel: 0: [c4b1b640] link (04b1b680) e0 Stalled CRC/Timeo Length=7 MaxLen=7 DT0 EndPt=0 Dev=2, PID=2d(SETUP) (buf=02cc18c0) 0:46:31 kernel: 1: [c4b1b680] link (04b1b6c0) e3 SPD Active Length=0 MaxLen=7 DT1 EndPt=0 Dev=2, PID=69(IN) (buf=09cac000) 0:46:31 kernel: 2: [c4b1b6c0] link (04b1b700) e3 SPD Active Length=0 MaxLen=7 DT0 EndPt=0 Dev=2, PID=69(IN) (buf=09cac008) 0:46:31 kernel: 3: [c4b1b700] link (04b1b740) e3 SPD Active Length=0 MaxLen=1 DT1 EndPt=0 Dev=2, PID=69(IN) (buf=09cac010) 0:46:31 kernel: 4: [c4b1b740] link (0ca92302) e3 IOC Active Length=0 MaxLen=7ff DT1 EndPt=0 Dev=2, PID=e1(OUT) (buf=00000000) 0:46:31 kernel: --Queued QH's: 0:46:31 kernel: [cca92300] link (0ca921e2) element (04b1b140) 0:46:31 kernel: 0: [c4b1b140] link (04b1b180) e3 Active Length=0 MaxLen=7 DT0 EndPt=0 Dev=2, PID=2d(SETUP) (buf=02cc1900) 0:46:31 kernel: 1: [c4b1b180] link (04b1b1c0) e3 SPD Active Length=0 MaxLen=7 DT1 EndPt=0 Dev=2, PID=69(IN) (buf=08f33000) 0:46:31 kernel: 2: [c4b1b1c0] link (04b1b200) e3 SPD Active Length=0 MaxLen=0 DT0 EndPt=0 Dev=2, PID=69(IN) (buf=08f33008) 0:46:31 kernel: 3: [c4b1b200] link (00000001) e3 IOC Active Length=0 MaxLen=7ff DT1 EndPt=0 Dev=2, PID=e1(OUT) (buf=00000000) 0:46:31 kernel: 0:46:31 kernel: uhci_hcd 0000:00:10.1: uhci_result_control: failed with status 500000 0:46:31 kernel: [cca92300] link (0ca921e2) element (04b1b1c0) 0:46:31 kernel: Element != First TD 0:46:31 kernel: 0: [c4b1b140] link (04b1b180) e3 Length=7 MaxLen=7 DT0 EndPt=0 Dev=2, PID=2d(SETUP) (buf=02cc1900) 0:46:31 kernel: 1: [c4b1b180] link (04b1b1c0) e3 Length=7 MaxLen=7 DT1 EndPt=0 Dev=2, PID=69(IN) (buf=08f33000) 0:46:31 kernel: 2: [c4b1b1c0] link (04b1b200) e3 Stalled Babble Length=0 MaxLen=0 DT0 EndPt=0 Dev=2, PID=69(IN) (buf=08f33008) 0:46:31 kernel: 3: [c4b1b200] link (00000001) e3 IOC Active Length=0 MaxLen=7ff DT1 EndPt=0 Dev=2, PID=e1(OUT) (buf=00000000) 0:46:31 kernel: 0:46:31 kernel: usbfs: USBDEVFS_CONTROL failed cmd usbmodules dev 2 rqt 128 rq 6 len 9 ret -75 0:46:31 kernel: usbfs: USBDEVFS_CONTROL failed cmd usbmodules dev 2 rqt 128 rq 6 len 18 ret -110 0:46:31 kernel: usbfs: proc_control: dev 2 rqt 80 rq 6 val 100 ind 0 len 18 0:46:31 last message repeated 2 times 0:46:31 kernel: usb 3-2: control timeout on ep0in 0:46:37 last message repeated 3 times 0:46:38 kernel: usb 3-2: usb_disable_device nuking non-ep0 URBs 0:46:38 kernel: usb 3-2: unregistering interface 3-2:1.0 0:46:38 kernel: bus usb: remove device 3-2:1.0 0:46:38 kernel: PM: Removing info for usb:3-2:1.0 0:46:38 kernel: drivers/usb/core/usb.c: usb_hotplug 0:46:43 kernel: usb 3-2: control timeout on ep0out -- Matthias Andree Encrypt your mail: my GnuPG key ID is 0x052E7D95 ------------------------------------------------------- This SF.Net email is sponsored by: IBM Linux Tutorials Free Linux tutorial presented by Daniel Robbins, President and CEO of GenToo technologies. Learn everything from fundamentals to system administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click _______________________________________________ [EMAIL PROTECTED] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel
