Hi,

One of my two USB memory sticks fails to register correctly when
hotplugging for 2.6.10; it works when coldplugging and in 2.6.9.

I have two 128MB USB 2.0 memory sticks: a Buffalo Clipdrive and a Lexar
Jumpdrive.  Both worked flawlessly in 2.6.8.1 and 2.6.9.  The
Jumpdrive works as expected in 2.6.10, but the Clipdrive no longer
hotplugs.

On plugging the Clipdrive in 2.6.10, I get this dmesg output:

usb 4-3: new high speed USB device using ehci_hcd and address 2
usb 2-1: new full speed USB device using uhci_hcd and address 2
usb 2-1: device descriptor read/64, error -71
usb 2-1: device descriptor read/64, error -71
usb 2-1: new full speed USB device using uhci_hcd and address 3
usb 2-1: device descriptor read/64, error -71
usb 2-1: device descriptor read/64, error -71

(I've appended the output with verbose usb debugging enabled at the end of the
message).  
 
After this output, no new device appears in /proc/bus/usb/devices.

This is fixed by first unloading ehci_hcd, as suggested in a previous
post (http://article.gmane.org/gmane.linux.usb.user/11411), giving
this output in dmesg:

usb 2-1: new full speed USB device using uhci_hcd and address 2
ub: sizeof ub_scsi_cmd 64 ub_dev 2472
uba: device 2 capacity nsec 256000 bsize 512
uba: device 2 capacity nsec 256000 bsize 512
 /dev/ub/a: p1
usbcore: registered new driver ub

Coldplugging also works, with ehci_hcd giving the following in dmesg:

usb 4-3: new high speed USB device using ehci_hcd and address 2
usb 4-3: khubd timed out on ep0in
usb 4-3: device descriptor read/64, error -110
uba: device 2 capacity nsec 256000 bsize 512
uba: device 2 capacity nsec 256000 bsize 512
 /dev/ub/a: p1

and this new device in /proc/bus/usb/devices:

T:  Bus=04 Lev=01 Prnt=01 Port=02 Cnt=01 Dev#=  2 Spd=480 MxCh= 0
D:  Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
P:  Vendor=0ea0 ProdID=2168 Rev= 2.00
S:  Manufacturer=BUFFALO
S:  Product=ClipDrive
S:  SerialNumber=B1098404451000E3
C:* #Ifs= 1 Cfg#= 1 Atr=80 MxPwr=100mA
I:  If#= 0 Alt= 0 #EPs= 3 Cls=08(stor.) Sub=06 Prot=50 Driver=ub
E:  Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=83(I) Atr=03(Int.) MxPS=   2 Ivl=125us

Plugging in the Clipdrive in 2.6.9 works; here is
the dmesg output:

usb 4-3: new high speed USB device using address 2
SCSI subsystem initialized
Initializing USB Mass Storage driver...
scsi0 : SCSI emulation for USB Mass Storage devices
  Vendor: BUFFALO   Model: ClipDrive         Rev: 2.00
  Type:   Direct-Access                      ANSI SCSI revision: 02
USB Mass Storage device found at 2
usbcore: registered new driver usb-storage
USB Mass Storage support registered.
sda: Unit Not Ready, sense:
Current : sense key Unit Attention
Additional sense: Not ready to ready change, medium may have changed
SCSI device sda: 256000 512-byte hdwr sectors (131 MB)
sda: assuming Write Enabled
sda: assuming drive cache: write through
 /dev/scsi/host0/bus0/target0/lun0: p1
Attached scsi removable disk sda at scsi0, channel 0, id 0, lun 0

The new device in /proc/bus/usb/devices is the same as that for
coldplugging in 2.6.10, except with Dev# = 6, and Driver=usb-storage.

Here are the equivalent logs for the Jumpdrive:

dmesg for 2.6.10:

usb 4-3: new high speed USB device using ehci_hcd and address 3
ub: sizeof ub_scsi_cmd 64 ub_dev 2472
uba: device 3 capacity nsec 248928 bsize 512
uba: device 3 capacity nsec 248928 bsize 512
 /dev/ub/a: p1
usbcore: registered new driver ub

dmesg for 2.6.9:

usb 4-3: new high speed USB device using address 3
scsi1 : SCSI emulation for USB Mass Storage devices
  Vendor: LEXAR     Model: JUMPDRIVE SPORT   Rev: 2000
  Type:   Direct-Access                      ANSI SCSI revision: 02
SCSI device sda: 248928 512-byte hdwr sectors (127 MB)
sda: assuming Write Enabled
sda: assuming drive cache: write through
 /dev/scsi/host1/bus0/target0/lun0: p1
Attached scsi removable disk sda at scsi1, channel 0, id 0, lun 0
USB Mass Storage device found at 3

Entry in /proc/bus/usb/devices for 2.6.9:

T:  Bus=04 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=05dc ProdID=a400 Rev=20.00
S:  Manufacturer=LEXAR MEDIA
S:  Product=JUMPDRIVE SPORT
S:  SerialNumber=33000001217000003478
C:* #Ifs= 1 Cfg#= 1 Atr=80 MxPwr=100mA
I:  If#= 0 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage
E:  Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=31875us

(2.6.10 entry for Jumpdrive differs only in that "Driver=ub").  

These are fresh kernel.org kernels running on a Thinkpad X40; my full
setup (including 2.6.10 kernel config) is described here:

http://www.dynevor.org/linuxiste/10p1/x40_mandrake_10p1.html

I have tried the suggestions in
http://article.gmane.org/gmane.linux.usb.user/11426: there does not
seem to be anything attached to /proc/bus/usb, from the lsof output,
and nothing new came up using the "usbfs_snoop=y" option to usbcore.  

Is there anything more I can try to help debug this problem?

Thanks a lot,

Matthew 


-------------------------------------------------
dmesg output with verbose USB debugging in 2.6.10
-------------------------------------------------

hub 4-0:1.0: state 5 ports 6 chg ffc0 evt 0008
ehci_hcd 0000:00:1d.7: GetStatus port 3 status 001803 POWER sig=j  CSC CONNECT
hub 4-0:1.0: port 3, status 0501, change 0001, 480 Mb/s
hub 4-0:1.0: debounce: port 3: total 100ms stable 100ms status 0x501
ehci_hcd 0000:00:1d.7: port 3 high speed
ehci_hcd 0000:00:1d.7: GetStatus port 3 status 001005 POWER sig=se0  PE CONNECT
usb 4-3: new high speed USB device using ehci_hcd and address 2
ehci_hcd 0000:00:1d.7: devpath 3 ep0in 3strikes
ehci_hcd 0000:00:1d.7: port 3 full speed --> companion
ehci_hcd 0000:00:1d.7: GetStatus port 3 status 003801 POWER OWNER sig=j  CONNECT
uhci_hcd 0000:00:1d.1: wakeup_hc
hub 2-0:1.0: state 5 ports 2 chg fffc evt 0002
uhci_hcd 0000:00:1d.1: port 1 portsc 0083,00
hub 2-0:1.0: port 1, status 0101, change 0001, 12 Mb/s
hub 2-0:1.0: debounce: port 1: total 100ms stable 100ms status 0x101
usb 2-1: new full speed USB device using uhci_hcd and address 2
uhci_hcd 0000:00:1d.1: uhci_result_control: failed with status 440000
[f7b2c240] link (37b2c1b2) element (37d15040)
  0: [f7d15040] link (37d15080) e0 Stalled CRC/Timeo Length=7 MaxLen=7
DT0 EndPt=0 Dev=0, PID=2d(SETUP) (buf=3670e3a0)
  1: [f7d15080] link (37d150c0) e3 SPD Active Length=0 MaxLen=3f DT1
EndPt=0 Dev=0, PID=69(IN) (buf=344a2b80)
  2: [f7d150c0] link (00000001) e3 IOC Active Length=0 MaxLen=7ff DT1
EndPt=0 Dev=0, PID=e1(OUT) (buf=00000000)

usb 2-1: device descriptor read/64, error -71
uhci_hcd 0000:00:1d.1: uhci_result_control: failed with status 440000
[f7b2c240] link (37b2c1b2) element (37d15040)
  0: [f7d15040] link (37d15080) e0 Stalled CRC/Timeo Length=7 MaxLen=7
DT0 EndPt=0 Dev=0, PID=2d(SETUP) (buf=3778fae0)
  1: [f7d15080] link (37d150c0) e3 SPD Active Length=0 MaxLen=3f DT1
EndPt=0 Dev=0, PID=69(IN) (buf=344a2b80)
  2: [f7d150c0] link (00000001) e3 IOC Active Length=0 MaxLen=7ff DT1
EndPt=0 Dev=0, PID=e1(OUT) (buf=00000000)

usb 2-1: device descriptor read/64, error -71
usb 2-1: new full speed USB device using uhci_hcd and address 3
uhci_hcd 0000:00:1d.1: uhci_result_control: failed with status 440000
[f7b2c240] link (37b2c1b2) element (37d15040)
  0: [f7d15040] link (37d15080) e0 Stalled CRC/Timeo Length=7 MaxLen=7
DT0 EndPt=0 Dev=0, PID=2d(SETUP) (buf=3670e3a0)
  1: [f7d15080] link (37d150c0) e3 SPD Active Length=0 MaxLen=3f DT1
EndPt=0 Dev=0, PID=69(IN) (buf=344a2b80)
  2: [f7d150c0] link (00000001) e3 IOC Active Length=0 MaxLen=7ff DT1
EndPt=0 Dev=0, PID=e1(OUT) (buf=00000000)

usb 2-1: device descriptor read/64, error -71
uhci_hcd 0000:00:1d.1: uhci_result_control: failed with status 440000
[f7b2c240] link (37b2c1b2) element (37d15040)
  0: [f7d15040] link (37d15080) e0 Stalled CRC/Timeo Length=7 MaxLen=7
DT0 EndPt=0 Dev=0, PID=2d(SETUP) (buf=3670e3a0)
  1: [f7d15080] link (37d150c0) e3 SPD Active Length=0 MaxLen=3f DT1
EndPt=0 Dev=0, PID=69(IN) (buf=344a2b80)
  2: [f7d150c0] link (00000001) e3 IOC Active Length=0 MaxLen=7ff DT1
EndPt=0 Dev=0, PID=e1(OUT) (buf=00000000)

usb 2-1: device descriptor read/64, error -71
hub 2-0:1.0: state 5 ports 2 chg fffc evt 0002


-------------------------------------------------------
The SF.Net email is sponsored by: Beat the post-holiday blues
Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek.
It's fun and FREE -- well, almost....http://www.thinkgeek.com/sfshirt
_______________________________________________
[email protected]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-users

Reply via email to