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

Reply via email to