# USB mass storage problem with 2.6 kernel

## dlworld

Hi all!

I cannot access my usb HD since I moved to 2.6 branch. I have just compiled gentoo-dev-sources-2.6.3-r2, and still with the same problem. I think I have the right kernel config options (the same as in 2.4), and I have loaded the following modules

```
sr_mod

sd_mod

st

sg

ide-scsi

uhci-hdc

usb-storage

hid

e100
```

The message I get in dmesg is

```
... no modules for USB product 5ab/31/110
```

Please, help me with this issue... I have to enter Windows everytime I need to transfer something to it  :Sad: 

Thanks...

----------

## saffy

I don't know if this helps, but recently I found I couldn't access my usbstick after upgrading to a 2.6.3 kernel.

The problem was due to my fstab file trying to mount /dev/sda1, which no longer exists. Instead I found my USB stick at 

```
/dev/scsi/host1/bus0/target0/lun0/part1
```

Search through /dev/scsi and try mounting any devices you find down there, also have a look through /dev/ide as well.

----------

## Kompi

I had a similar problem with my USB Mass Storage Device. Try to downgrade hotplug to 20030805-r3. This helped for me ...

----------

## dlworld

Kompi: I've tried the downgrade with no result... and saffy, I can't look trough /dev/scsi or even /dev/ide because the link is not created since there's no active module handling the new USB device. Any ideas left? I hope so...   :Crying or Very sad: 

----------

## martinm1000

I don't know if this can help you, but I don't have problems under 2.6 (Currently at 2.6.3 vanilla).

I have a USB Key and also a USB Maxtor Hard Drive.

lsmod :

```

Module                  Size  Used by

sg                     29216  0

visor                  15116  0

usbserial              23460  1 visor

usbmouse                4480  0

usb_storage            25600  0

uhci_hcd               28560  0

ehci_hcd               22276  0

usbcore                88284  8 visor,usbserial,usbmouse,usb_storage,uhci_hcd,ehci_hcd

```

Maybe usbcore is needed ?

They are mounted on /dev/sda1 when one is used.

----------

## dlworld

I'm afraid this is not the problem: I have usbcore compiled into the kernel...   :Crying or Very sad: 

----------

## Kompi

This shouldn't be a problem.

other dump considerations: did you etc-update everything after downgrading hotplug?

And have you tried to emerge latest udev version? (probably also the unstable one)

Edit: You could also try to activate USB Verbose debug messages in kernel and post them here. Probably they can help us.

----------

## dlworld

I have etc-updated everything after merging hotplug... and nope, I don't have udev installed (not even an old version), but I haven't ever needed it... do I?

----------

## Kompi

if you're not using devfs (which is depricated in 2.6) you have to emerge udev. udev is the replacement für devfs since 2.6.

----------

## dsd

dlworld: could you post the output of

```
cat /proc/bus/usb/devices
```

also, i suspect you might be getting more messages in dmesg when plugging it in. could you post the other messages too?

----------

## dlworld

I have successfuly installed udev-018, and the result is the same. I post my /proc/bus/usb/devices result:

```
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= 2.06

S:  Manufacturer=Linux 2.6.3-gentoo-r2 uhci_hcd

S:  Product=UHCI Host Controller

S:  SerialNumber=0000:00:1d.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=255ms

T:  Bus=02 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= 2.06

S:  Manufacturer=Linux 2.6.3-gentoo-r2 uhci_hcd

S:  Product=UHCI Host Controller

S:  SerialNumber=0000:00:1d.1

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=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= 2.06

S:  Manufacturer=Linux 2.6.3-gentoo-r2 uhci_hcd

S:  Product=UHCI Host Controller

S:  SerialNumber=0000:00:1d.0

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=01 Prnt=01 Port=01 Cnt=01 Dev#=  2 Spd=12  MxCh= 0

D:  Ver= 1.10 Cls=ff(vend.) Sub=00 Prot=ff MxPS=64 #Cfgs=  1

P:  Vendor=05ab ProdID=0031 Rev= 1.10

S:  Manufacturer=In-System Design

S:  Product=USB Storage Adapter

S:  SerialNumber=D820ABB970A2FFC5

C:* #Ifs= 1 Cfg#= 1 Atr=c0 MxPwr= 98mA

I:  If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=ff Driver=(none)

E:  Ad=01(O) Atr=02(Bulk) MxPS=  64 Ivl=0ms

E:  Ad=82(I) Atr=02(Bulk) MxPS=  64 Ivl=0ms

E:  Ad=83(I) Atr=03(Int.) MxPS=   2 Ivl=32ms
```

Any ideas?...

----------

## dlworld

Also, if this can help, here you are the result of issuing 'lsusb -x':

```
... lines of code ommited...

Bus 001 Device 003: ID 05ab:0031 In-System Design ATA Bridge

Device Descriptor:

  bLength                18

  bDescriptorType         1

  bcdUSB               1.10

  bDeviceClass          255 Vendor Specific Class

  bDeviceSubClass         0 

  bDeviceProtocol       255 

  bMaxPacketSize0        64

  idVendor           0x05ab In-System Design

  idProduct          0x0031 ATA Bridge

  bcdDevice            1.10

  iManufacturer           1 In-System Design

  iProduct                2 USB Storage Adapter

  iSerial                 5 D820ABB970A2FFC5

  bNumConfigurations      1

  Configuration Descriptor:

    bLength                 9

    bDescriptorType         2

    wTotalLength           39

    bNumInterfaces          1

    bConfigurationValue     1

    iConfiguration          0

    bmAttributes         0xc0

      Self Powered

    MaxPower               98mA

    Interface Descriptor:

      bLength                 9

      bDescriptorType         4

      bInterfaceNumber        0

      bAlternateSetting       0

      bNumEndpoints           3

      bInterfaceClass       255 Vendor Specific Class

      bInterfaceSubClass      0 

      bInterfaceProtocol    255 

      iInterface              0 

      Endpoint Descriptor:

        bLength                 7

        bDescriptorType         5

        bEndpointAddress     0x01  EP 1 OUT

        bmAttributes            2

          Transfer Type            Bulk

          Synch Type               none

        wMaxPacketSize         64

        bInterval               0

      Endpoint Descriptor:

        bLength                 7

        bDescriptorType         5

        bEndpointAddress     0x82  EP 2 IN

        bmAttributes            2

          Transfer Type            Bulk

          Synch Type               none

        wMaxPacketSize         64

        bInterval               0

      Endpoint Descriptor:

        bLength                 7

        bDescriptorType         5

        bEndpointAddress     0x83  EP 3 IN

        bmAttributes            3

          Transfer Type            Interrupt

          Synch Type               none

        wMaxPacketSize          2

        bInterval              32

  Language IDs: (length=4)

     0409 English(US)

... lines of code ommited...
```

It seems that the kernel can detect 'something', but I still get the error [usb.agent] ... no modules for USB product 5ab/31/110.

----------

## Kompi

Yes, that's right, it is hotplug (usb.agent) which don't find the correct module.

But what I'm wondering about is, that IMHO all necessary modules are loaded. (usb-storage and sd_mod)

 *Quote:*   

> I can't look trough /dev/scsi or even /dev/ide

 

That is very strange. You should have at least your other IDE-Drives or SCSI Drives (if you have) there. 

Humn, I don't know if this is really the problem, because devfs should do his job. But you said you emerged udev-018. If you haven't done, you should also disable devfs support in kernel (Filesystems->pseudo filesystems-> /dev filesystem supp). Probably this blocks udev to create his nodes in /dev at boot time, because the scripts are still using devfs.

----------

## dlworld

Well... I see other devices under /dev/scsi, so this is not a devfs or udev problem. Also, when I merged udev, I disabled devfs... and yes, sd_mod and usb-storage are loaded...

Why me  :Crying or Very sad: ...

----------

## dsd

probably a stupid question, but have you checked for the existance of /dev/sda and /dev/sda1 ? sometimes "error" messages arent much to go by..

also, could you post the complete output of dmesg to some webspace? if not, post the section relating to what happens when you plug the device in and then load the modules here.. as i said already, i suspect you are getting more messages than the 1 you posted when you plug it in..

----------

## dlworld

Well, I actually have /dev/sda, /dev/sda1, /dev/sda2... but none of them are my USB HD. Here is the output for 'ls /dev/sd*':

```
/dev/sda

/dev/sda1

/dev/sda10

/dev/sda11

/dev/sda12

/dev/sda13

/dev/sda14

/dev/sda15

/dev/sda2

/dev/sda3

/dev/sda4

/dev/sda5

/dev/sda6

/dev/sda7

/dev/sda8

/dev/sda9

/dev/sdb

/dev/sdb1

/dev/sdb10

/dev/sdb11

/dev/sdb12

/dev/sdb13

/dev/sdb14

/dev/sdb15

/dev/sdb2

/dev/sdb3

/dev/sdb4

/dev/sdb5

/dev/sdb6

/dev/sdb7

/dev/sdb8

/dev/sdb9

/dev/sdc

/dev/sdc1

/dev/sdc10

/dev/sdc11

/dev/sdc12

/dev/sdc13

/dev/sdc14

/dev/sdc15

/dev/sdc2

/dev/sdc3

/dev/sdc4

/dev/sdc5

/dev/sdc6

/dev/sdc7

/dev/sdc8

/dev/sdc9

/dev/sdd

/dev/sdd1

/dev/sdd10

/dev/sdd11

/dev/sdd12

/dev/sdd13

/dev/sdd14

/dev/sdd15

/dev/sdd2

/dev/sdd3

/dev/sdd4

/dev/sdd5

/dev/sdd6

/dev/sdd7

/dev/sdd8

/dev/sdd9
```

And here is the last part of the dmesg (after plug and unplug my HD):

```
drivers/usb/core/usb.c: registered new driver usbfs

drivers/usb/core/usb.c: registered new driver hub

Initializing USB Mass Storage driver...

drivers/usb/core/usb.c: registered new driver usb-storage

USB Mass Storage support registered.

Intel(R) PRO/100 Network Driver - version 2.3.36-k1

Copyright (c) 2003 Intel Corporation

e100: selftest OK.

e100: eth0: Intel(R) PRO/100 Network Connection

  Hardware receive checksums enabled

drivers/usb/host/uhci-hcd.c: USB Universal Host Controller Interface driver v2.1

uhci_hcd 0000:00:1d.0: UHCI Host Controller

PCI: Setting latency timer of device 0000:00:1d.0 to 64

uhci_hcd 0000:00:1d.0: irq 9, io base 00001800

uhci_hcd 0000:00:1d.0: new USB bus registered, assigned bus number 1

hub 1-0:1.0: USB hub found

hub 1-0:1.0: 2 ports detected

uhci_hcd 0000:00:1d.1: UHCI Host Controller

PCI: Setting latency timer of device 0000:00:1d.1 to 64

uhci_hcd 0000:00:1d.1: irq 5, io base 00001820

uhci_hcd 0000:00:1d.1: new USB bus registered, assigned bus number 2

hub 2-0:1.0: USB hub found

hub 2-0:1.0: 2 ports detected

uhci_hcd 0000:00:1d.2: UHCI Host Controller

PCI: Setting latency timer of device 0000:00:1d.2 to 64

uhci_hcd 0000:00:1d.2: irq 5, io base 00001840

uhci_hcd 0000:00:1d.2: new USB bus registered, assigned bus number 3

hub 3-0:1.0: USB hub found

hub 3-0:1.0: 2 ports detected

ohci_hcd: 2004 Feb 02 USB 1.1 'Open' Host Controller (OHCI) Driver (PCI)

ohci_hcd: block sizes: ed 64 td 64

kudzu: numerical sysctl 1 23 is obsolete.

kudzu: numerical sysctl 1 49 is obsolete.

kudzu: numerical sysctl 1 49 is obsolete.

nfs warning: mount version older than kernel

e100: eth0 NIC Link is Up 10 Mbps Half duplex

bootsplash 3.1.3-2003/11/14: looking for picture.... found (1024x768, 20089 bytes, v3).

bootsplash: status on console 0 changed to on

bootsplash 3.1.3-2003/11/14: looking for picture.... found (1024x768, 20089 bytes, v3).

bootsplash: status on console 1 changed to on

bootsplash 3.1.3-2003/11/14: looking for picture.... found (1024x768, 20089 bytes, v3).

bootsplash: status on console 2 changed to on

bootsplash 3.1.3-2003/11/14: looking for picture.... found (1024x768, 20089 bytes, v3).

bootsplash: status on console 3 changed to on

bootsplash 3.1.3-2003/11/14: looking for picture.... found (1024x768, 20089 bytes, v3).

bootsplash: status on console 4 changed to on

bootsplash 3.1.3-2003/11/14: looking for picture.... found (1024x768, 20089 bytes, v3).

bootsplash: status on console 5 changed to on

usb 1-2: new full speed USB device using address 2 ---> here I plug my HD

usb 1-2: USB disconnect, address 2 ---> here I unplug it

updfstab: numerical sysctl 1 23 is obsolete.
```

The '[usb.agent] ... no modules for USB product xxx' message appears in /var/log/messages/everything/current.

----------

## dsd

ah. try loading module ehci-hcd

----------

## dlworld

I don't have usb 2.0 tough, I have tried loading that module (ehci) unfortunately with the same result  :Sad: 

----------

## slaterson

i have this problem.  the work around i use is:

1) mount /dev/sdd /mnt/flash - this produces an error, however it creates the sdd1 device which is partition 1 on the flash card

2) mount /dev/sdd1 /mnt/flash - all is fine and i can read the card

still a problem, but at least i can read the card until it's fixed.

----------

## dlworld

I sent here the result of issuing 'ls /dev/sd*' a few posts ago, and as you see, I already have all of theese sdaX devices created (even though I have none of theese devices installed)... I've tried what you said, but still with the same problem  :Sad: 

----------

## heriophant

just wondering if in the kernel you enabled the multiple luns in the scsi section? the problem your describing is almost identical to one i experienced myself until someone shared that with me

heriophant

----------

## wolfpakk

i am pretty sure it is the sg module (scsi generic) try to disable that in kernelconfig and rebuild the kernel. I had a similar problem, i could not mount my digital camera when i had sg built in...

----------

## dlworld

heriophant, wolfpakk... sorry, but none of your ideas has worked for me  :Sad:  I tried disabling sg, and enabling multiple luns on SCSI devs, but nothing has changed...

----------

