-   Linux - Newbie (
-   -   get USB stick working - recompile kernel?? (

ditch* 07-28-2005 12:08 AM

get USB stick working - recompile kernel??

I am trying to get my USB stick to work in Debian Woody. It used to work in Madrake 10 and in Vector linux. It also works well in Windows XP. The stick doesn't need any special drivers.

... When I plug it in, I get several messages in my terminal, one of which is "device not claimed by any active driver".

Hence I got the suspicion that my kernel doesn't have support for USB sticks. ( - It does have support for UHCI though.)

anyway, I ran /sbin/lsmod
and found out that I have only these usb drivers:

- usb kbd
- usb-uhci
- usbcore

In some HOWTO, I read that I should also have these drivers:

- hid
- usb-storage

How do I get these drivers to show up? Do I just have to activate something or do I need to recompile the kernel? If I have to recompile the kernel, then how would I go about doing this? I've really got no clue...

Any kind of help would be great!


Razze 07-28-2005 12:19 AM


You probably have the drivers compiled for your kernel even though they are not loaded.


# modprobe usbhid
# modprobe usb-storage

The commands will not give you any replies on the screen if they work, but if they are missing you will get an error message. If you can load these modules, try to plug in the memory stick again, wait a few seconds and take a look at what

# dmesg
gives you. If you still get errors that the stick is not operating correctly, please post the lines from dmesg regarding the memory stick.

I think you will also need scsi-support and support for scsi-disks in order to use the memory stick. These modules are called scsi-mod and sd-mod

ditch* 07-28-2005 09:24 AM


Thanks for replying.

I tried entering:

modprobe usbhid
modprobe usb-storage
modprobe scsi-mod
modprobe sd-mod

but for all of them I got a message that the module couldn't be loaded.

... here's what I got from grepping for "usb" and "scsi" in /var/log/dmesg

usb.c: registered new driver usbdevfs
usb.c: registered new driver hub
usb-uhci.c: $Revision: 1.275 $ time 10:29:43 Apr 14 2002
usb-uhci.c: High bandwidth mode enabled
usb-uhci.c: USB UHCI at I/O 0x1400, IRQ 11
usb-uhci.c: Detected 2 ports
usb.c: new USB bus registered, assigned bus number 1
usb-uhci.c: v1.275:USB Universal Host Controller Interface driver
usb.c: registered new driver keyboard
usbkbd.c: :USB HID Boot Protocol keyboard driver
request_module[scsi_hostadapter]: Root fs not mounted
request_module[scsi_hostadapter]: Root fs not mounted
i2o_scsi.c: Version 0.0.1
SCSI subsystem driver Revision: 1.00

any ideas on what to do now?



Razze 07-28-2005 09:49 AM

I don't have a usb memory stick, so I may not be right person for this, but I'll se what I can do :)

Is the output from when you had the memory stick plugged in? if it is, could you please post the last lines from dmesg as well - the ones where the stick is (trying to?) connect. If you don't have it connected, to me it seems as if all the necessary drivers are loaded (either as modules or built-in), and should work if you plug it in.

ditch* 07-28-2005 11:06 AM


what I posted was the ouput when the usb stick was not attached.

I'll post some more stuff in a moment...

ditch* 07-28-2005 11:57 AM

Ok. here's what I got

I connected the usb stick and then disconnected it after a while. here are the relevant lines from dmesg

hub.c: USB new device connect on bus1/2, assigned device number 2
hub.c: USB hub found
hub.c: 1 port detected
hub.c: USB new device connect on bus1/2/1, assigned device number 3
usb.c: USB device 3 (vend/prod 0x67b/0x2517) is not claimed by any active driver.
usb-uhci.c: interrupt, status 3, frame# 780
usb.c: USB disconnect on device 2
usb.c: USB disconnect on device 3

this is the output from /proc/bus/usb/devices while the stick was still connected.

T: Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=12 MxCh= 2
B: Alloc= 11/900 us ( 1%), #Int= 1, #Iso= 0
D: Ver= 1.00 Cls=09(hub ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1
P: Vendor=0000 ProdID=0000 Rev= 0.00
S: Product=USB UHCI Root Hub
S: SerialNumber=1400
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= 8 Ivl=255ms
T: Bus=01 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#= 2 Spd=12 MxCh= 1
D: Ver= 2.00 Cls=09(hub ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1
P: Vendor=067b ProdID=2515 Rev= 0.01
S: Manufacturer=USB 2.0 Flash Disk
S: Product=USB Embedded Hub
C:* #Ifs= 1 Cfg#= 1 Atr=c0 MxPwr=100mA
I: If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub
E: Ad=81(I) Atr=03(Int.) MxPS= 1 Ivl= 12ms
T: Bus=01 Lev=02 Prnt=02 Port=00 Cnt=01 Dev#= 3 Spd=12 MxCh= 0
D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1
P: Vendor=067b ProdID=2517 Rev= 0.01
S: Manufacturer=USB 2.0 Flash Disk
S: Product=USB Mass Storage Device
C:* #Ifs= 1 Cfg#= 1 Atr=c0 MxPwr= 0mA
I: If#= 0 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=05 Prot=50 Driver=(none)
E: Ad=01(O) Atr=02(Bulk) MxPS= 64 Ivl= 0ms
E: Ad=82(I) Atr=02(Bulk) MxPS= 64 Ivl= 0ms

when I tried

mount -t vfat /dev/sda1 /mnt

I got "sda1 is not a valid block device"

Instead of "sda1" I tried substituting a bunch of other values like "sda2" and "sda3", but I still got the same result

Any ideas?


Razze 07-28-2005 12:10 PM

You still get the line "is not claimed by any driver". I would say that the reason is that the scsi-driver failed to pick up the stick. This probably ha ssmething to to with the error when loading the scsi modules. Have you checked your module directory /lib/modules/kernel-versionkernel/drivers/ that the drivers exist. If they don't, you will have to recompile your kernel to add the support. What distro are you using?

ditch* 07-29-2005 03:37 AM

I'm using Debian 3.0 (Woody). Kernel version 2.4.something :)

I didn't check the directory /lib/modules/... but I do think that I'll have to recompile the kernel. How would I do that? Where would I start?

... The one thing I don't want to do is to upgrade to a newer kernel because 2.6 kernels aren't totally compatible with my laptop.

Any pointers as to how to start would be great!


ditch* 08-02-2005 04:16 AM


I solved the problem with USB stick. Indeed I didn't have the right drivers (modules) installed.

What I did was insert my Debian installation CD and reboot. I chose the keyboard layout and then started going through the steps in the installation procedure. Since I already had a SWAP partition, I didn't need to initialise one, I just activated the one I had on /dev/hda5. Then I activated the root partition and then went on to messing with the kernel. In the list of all the modules that could be installed, I spotted a module called "usb-storage". I added this module and some others that caught my eye (like scsi generic drive support, or something like that) and rebooted. In my next Linux session everything went smooth. I plugged in the stick, and got a longer-than-usual message on my terminal. In the end it said that my stick was to be found on /dev/sda1. Then I issued "mount -t vfat /dev/sda1 /mnt" and everything worked.

Have fun everybody!


All times are GMT -5. The time now is 07:35 AM.