I'm working with some USB drives and trying to troubleshoot a few
problems. MIPS hardware, kernel 2.4.19-rc1 (for the EHCI driver).
I have a USB 2.0 drive that is powered off the USB bus, connected to
an Adaptec USB 2.0 card. When I connect it with verbose USB
debugging messages, I get the following:
root@(none):/proc# cat kmsg
<7>hub.c: port 3, portstatus 501, change 0, 480 Mb/s
<7>hub.c: port 3, portstatus 501, change 0, 480 Mb/s
<7>hub.c: port 3, portstatus 511, change 0, 480 Mb/s
<7>hub.c: port 3 of hub 1 not reset yet, waiting 10ms
<7>hcd/ehci-hub.c: 00:13.2 port 3 high speed
<7>hcd/ehci-hub.c: GetStatus port 3 status 0x1005 POWER speed=0 PE CONNECT
<7>hub.c: port 3, portstatus 503, change 10, 480 Mb/s
<6>hub.c: USB new device connect on bus1/3, assigned device number 2
<7>usb.c: USB device number 2 default language ID 0x409
<6>Product: STORIX Compact Drive
<6>scsi0 : SCSI emulation for USB Mass Storage devices
<7>hcd/ehci-q.c: 3strikes
<7>hcd/ehci-q.c: ep 1-out qtd token 801f8049 --> status -71
<7>hcd.c: giveback urb 81608ee0 status -71 len 0
<7>hcd/ehci-q.c: 3strikes
<7>hcd/ehci-q.c: ep 0-out qtd token 00080248 --> status -71
<7>hcd.c: giveback urb 83e2c240 status -71 len 0
<7>WARNING: USB Mass Storage data integrity not assured
<7>USB Mass Storage device found at 2
<7>usb.c: usb-storage driver claimed interface 802a6ae0
<7>hub.c: port 4, portstatus 100, change 0, 12 Mb/s
<7>hub.c: port 5, portstatus 100, change 0, 12 Mb/s
<7>hub.c: port 4, portstatus 100, change 0, 12 Mb/s
<7>hub.c: port 5, portstatus 100, change 0, 12 Mb/s
<7>hub.c: port 3, portstatus 100, change 0, 12 Mb/s
<7>hub.c: port 1, portstatus 100, change 0, 12 Mb/s
<7>hub.c: port 2, portstatus 100, change 0, 12 Mb/s
<7>hcd/ehci-hub.c: GetStatus port 3 status 0x1803 POWER speed=2 CSC CONNECT
<7>hub.c: port 3, portstatus 501, change 1, 480 Mb/s
<7>hub.c: port 3 connection change
<7>hub.c: port 3, portstatus 501, change 1, 480 Mb/s
<6>usb.c: USB disconnect on device 2
<7>hcd/ehci-hcd.c: 00:13.2: free_config devnum 2
<7>hub.c: port 3, portstatus 501, change 0, 480 Mb/s
<7>hub.c: port 3, portstatus 501, change 0, 480 Mb/s
<7>hub.c: port 3, portstatus 511, change 0, 480 Mb/s
<7>hub.c: port 3 of hub 1 not reset yet, waiting 10ms
<7>usb.c: kmalloc IF 802a6a60, numif 1
<7>usb.c: new device strings: Mfr=73, Product=86, SerialNumber=107
<6>Manufacturer: NewAge Intl.
<6>SerialNumber: 2B0604263BC201
root@(none):/proc# cat /proc/bus/usb/devices
T: Bus=03 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=12 MxCh= 2
B: Alloc= 0/900 us ( 0%), #Int= 0, #Iso= 0
D: Ver= 1.10 Cls=09(hub ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1
P: Vendor=0000 ProdID=0000 Rev= 0.00
S: Product=USB OHCI Root Hub
S: SerialNumber=ba001000
C:* #Ifs= 1 Cfg#= 1 Atr=40 MxPwr= 0mA
I: If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub
E: Ad=81(I) Atr=03(Int.) MxPS= 2 Ivl=255ms
T: Bus=02 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=12 MxCh= 3
B: Alloc= 0/900 us ( 0%), #Int= 0, #Iso= 0
D: Ver= 1.10 Cls=09(hub ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1
P: Vendor=0000 ProdID=0000 Rev= 0.00
S: Product=USB OHCI Root Hub
S: SerialNumber=ba000000
C:* #Ifs= 1 Cfg#= 1 Atr=40 MxPwr= 0mA
I: If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub
E: Ad=81(I) Atr=03(Int.) MxPS= 2 Ivl=255ms
T: Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=480 MxCh= 5
B: Alloc= 0/800 us ( 0%), #Int= 0, #Iso= 0
D: Ver= 2.00 Cls=09(hub ) Sub=00 Prot=01 MxPS= 8 #Cfgs= 1
P: Vendor=0000 ProdID=0000 Rev= 2.04
S: Manufacturer=Linux 2.4.19-rc1_hhl20 ehci-hcd
S: Product=NEC Corporation USB 2.0
S: SerialNumber=00:13.2
C:* #Ifs= 1 Cfg#= 1 Atr=40 MxPwr= 0mA
I: If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub
E: Ad=81(I) Atr=03(Int.) MxPS= 2 Ivl=256ms
T: Bus=01 Lev=01 Prnt=01 Port=02 Cnt=01 Dev#= 3 Spd=480 MxCh= 0
D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1
P: Vendor=0f5d ProdID=9455 Rev=11.00
S: Manufacturer=NewAge Intl.
S: Product=STORIX Compact Drive
S: SerialNumber=2B0604263BC201
C:* #Ifs= 1 Cfg#= 2 Atr=c0 MxPwr= 98mA
I: If#= 0 Alt= 0 #EPs= 3 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage
E: Ad=01(O) Atr=02(Bulk) MxPS= 512 Ivl=125us
E: Ad=82(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E: Ad=83(I) Atr=03(Int.) MxPS= 2 Ivl=32ms
root@(none):/proc# cat /proc/partitions
major minor #blocks name rio rmerge rsect ruse wio wmerge wsect
wuse running use aveq
3 0 78150744 hda 550135 8058768 68870924 58315360 2260 76
18728 720 2 71016950 -13181120
3 1 1048288 hda1 2858 11135 111938 13880 350 75 3440 580 0
11940 14460
3 2 77102424 hda2 547276 8047630 68758978 58301480 1910 1
15288 140 3 28768070 58302250
Question 1 is, if the device is seen in /proc/bus/usb/devices, why
didn't the SCSI driver map it to a /dev/sdx device? If I remove the
drive and plug in a simple USB 1.1 Flash Drive (16MB), I get the
following:
root@(none):/proc# cat kmsg
<7>hub.c: port 4, portstatus 100, change 0, 12 Mb/s
<7>hub.c: port 5, portstatus 100, change 0, 12 Mb/s
<7>hcd/ehci-hub.c: GetStatus port 3 status 0x1803 POWER speed=2 CSC CONNECT
<7>hub.c: port 3, portstatus 501, change 1, 480 Mb/s
<7>hub.c: port 3, portstatus 501, change 0, 480 Mb/s
<7>hub.c: port 3, portstatus 501, change 0, 480 Mb/s
<7>hub.c: port 3, portstatus 511, change 0, 480 Mb/s
<7>hub.c: port 3 of hub 1 not reset yet, waiting 10ms
<7>hub.c: port 1, portstatus 100, change 0, 12 Mb/s
<7>hub.c: port 2, portstatus 101, change 1, 12 Mb/s
<7>hub.c: port 2 connection change
<7>hub.c: port 2, portstatus 101, change 1, 12 Mb/s
<7>hub.c: port 2, portstatus 101, change 0, 12 Mb/s
<7>hub.c: port 2, portstatus 101, change 0, 12 Mb/s
<7>usb.c: kmalloc IF 802a6b00, numif 1
<6>scsi1 : SCSI emulation for USB Mass Storage devices
<4>Attached scsi removable disk sda at scsi1, channel 0, id 0, lun 0
<4>sda: Write Protect is off
<6> sda:
Why do all of the ports change status? What port number am I
actually plugging into? It's not in the kernel messages, but my
serial console reported "hub.c: port 3 over-current change" followed
by "hub.c: port 2 over-current change".
Does the drive draw too much power to use as a storage device?
I'm led to believe that the problem is in this section:
<7>hcd/ehci-q.c: 3strikes
<7>hcd/ehci-q.c: ep 1-out qtd token 801f8049 --> status -71
<7>hcd.c: giveback urb 81608ee0 status -71 len 0
<7>hcd/ehci-q.c: 3strikes
<7>hcd/ehci-q.c: ep 0-out qtd token 00080248 --> status -71
<7>hcd.c: giveback urb 83e2c240 status -71 len 0
What does this mean?
--
Tom Collins
[EMAIL PROTECTED]
-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
PC Mods, Computing goodies, cases & more
http://thinkgeek.com/sf
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel