Bug 6427

Summary: no driver assigned to an usb storage device
Product: Drivers Reporter: Matthias Heinz (mh)
Component: USBAssignee: Greg Kroah-Hartman (greg)
Status: REJECTED DOCUMENTED    
Severity: normal CC: stern
Priority: P2    
Hardware: i386   
OS: Linux   
Kernel Version: 2.6.16 Subsystem:
Regression: --- Bisected commit-id:
Bug Depends on:    
Bug Blocks: 5089    

Description Matthias Heinz 2006-04-22 11:23:46 UTC
Most recent kernel where this bug did not occur: 2.6.15
Distribution: Debian GNU/Linux unstable
Hardware Environment: x86
Software Environment: 2.6.16.9
Problem Description:

Since kernel version 2.6.16 it's impossible for me to get my usb storage devices
to work.

the output of lsusb -v:
Bus 002 Device 005: ID 0ea0:2168 Ours Technology, Inc. Transcend JetFlash 2.0 /
Astone USB Drive
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0
  bDeviceProtocol         0
  bMaxPacketSize0        64
  idVendor           0x0ea0 Ours Technology, Inc.
  idProduct          0x2168 Transcend JetFlash 2.0 / Astone USB Drive
  bcdDevice            2.00
  iManufacturer           1
  iProduct                2
  iSerial                 3
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           39
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0
    bmAttributes         0x80
      (Bus Powered)
    MaxPower              500mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           3
      bInterfaceClass         8 Mass Storage
      bInterfaceSubClass      6 SCSI
      bInterfaceProtocol     80 Bulk (Zip)
      iInterface              0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x02  EP 2 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x83  EP 3 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0002  1x 2 bytes
        bInterval               1

now here comes the interesting part:
cat /proc/bus/usb/devices

T:  Bus=02 Lev=02 Prnt=02 Port=00 Cnt=01 Dev#=  5 Spd=12  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=LG
S:  Product=USB DRIVE
S:  SerialNumber=B0F8438AB86900B9
C:  #Ifs= 1 Cfg#= 1 Atr=80 MxPwr=500mA
I:  If#= 0 Alt= 0 #EPs= 3 Cls=08(stor.) Sub=06 Prot=50 Driver=
E:  Ad=81(I) Atr=02(Bulk) MxPS=  64 Ivl=0ms
E:  Ad=02(O) Atr=02(Bulk) MxPS=  64 Ivl=0ms
E:  Ad=83(I) Atr=03(Int.) MxPS=   2 Ivl=1ms

No driver assigned... 
(maybe it has something to do with the new powermanagent support of the usb
subsystem? Because it reports as MxPwr 500mA.)


Steps to reproduce:
Just plug in an usb-storage device and try. It didn't work here with 3 different
devices.


Regards,
Matthias
Comment 1 Alan Stern 2006-04-22 13:28:17 UTC
This definitely is a power budgeting problem.  Your device needs up to 500 mA,
but bus-powered hubs can only provide 100 mA per port.  If you want to use the
device as before, you should plug it directly into the computer or else get a
powered hub.

Alternatively, if you don't mind the possibility that the device might not have
enough power to function properly, you can configure it manually.  In this case
you would need to do:

    echo 1 >/sys/bus/usb/devices/2-.../bConfigurationValue

You'll have to fill in the "..." with the appropriate pathname, since there
isn't enough information in the bug report for me to tell what it should be.
Comment 2 Matthias Heinz 2006-04-22 14:03:51 UTC
This explains a lot...

thanks for the fast answer, i didn't think of that it's a passive hub i'm using.

Please close this bug.