Welcome! Log In Create A New Profile


Kernel Modules for USB keyboard

Posted by Joseph Rosevear 

I boot Linux using Grub, an initrd.gz file, and a kernel on CD-ROM. This brings some benefits and also a few troubles. One minor trouble comes when using a USB keyboard.

A USB keyboard works fine for me after the booting finishes. And it seems to work (at least for some hardware) during the initial, Grub execution. The part where I'm currently having trouble is in the middle.

In the middle of the boot process my init script prompts the user for the name of the partition to mount. At this point the user is in the first stage of a two-stage boot. This first stage uses a mini-linux system that I provide on the CD-ROM. I mentioned that the kernel is on the CD-ROM. It also has modules that are needed and loaded by the init script. For example it has usb_storage.ko and ehci-hcd.ko to enable mounting a linux system that is on a USB device.

So the trouble is this: I would like to find some additional kernel modules which the init script would load in order to enable a USB keyboard during the middle part of the booting. It is during this middle part that the user inputs the partition name that he wishes to boot. Currently without the needed modules the user must provide this information by typing on a PS/2 keyboard.

I thought this would be easy. I used lsmod to see what modules were loaded after the booting finishes. I found usbhid. I suspect that module is needed for the USB keyboard. I used rmmod to remove the module and it disables the keyboard. Yet including it on my CD-ROM and invoking it during the first stage of the booting seems to have no effect on the use of the USB keyboard. It still works only after the booting is finished.

Is this the right place to come with questions like this? If not, please direct me to the right place? I'm frustrated, because I haven't yet found a source to answer a question like this. It would be handy if there were a guide that listed the names of the available kernel modules and told what they do. I'm currently using Slackware 12.0 and a kernel.

Re: Kernel Modules for USB keyboard
September 30, 2009 08:59AM
Here I list something may not fix your problems, but helpful:
1. A USB kbd/mouse resource will be mapped to IRQ 1/12 and port 60/64 which BIOS disclosed.
2. A USB kbd may not work if bus is USB2.0 so packing both ehci and uhci in should be better.
3. I use kernel 2.6.23.x up to 2.6.28.x, if I remember HID has its own catalogue other than USB, but input&HID.
4. I prefer to make USB host-side basic and HID as built-in for USB kbd, not the loadable module (of course storage and ehci/uhci are still modules). The main benefit doing so: I can use Shift+PgUp to know the booting process and log message as a whole because in most cases the kbd was still alive though the kernel got panic already during the bootup (We did it in the released Effo Portable Linux distributions such as Effo Portable and Effo Compact which could be burnt on a 200-400M USB flash etc).

I'm not sure what's the cause of your problem.
Please post booting logs such as dmesg>log or partial of /var/log/message, and so on.

-The Effo Staff
Effo Project, [effo.sourceforge.net]

Your Email:


Spam prevention:
Please, solve the mathematical question and enter the answer in the input field below. This is for blocking bots that try to post this form automatically.
Question: how much is 12 plus 22?