Wireless keyboard now works
August 03, 2009 —
BarryK
Kirk's report about replugging set me on the right track. In my case, an extra module 'hid-logitech.ko' loaded and then my wireless keyboard and mouse worked (running 2.6.30.1 kernel).
There's a whole heap of new drivers in /lib/modules/<kernel>/kernel/drivers/hid that aren't in the 2.6.25.x kernel.
The problem is to get the correct one to load in the initial ramdisk, before I am running udev. The keyboard needs to be functional in the initial ramdisk.
Hmmm, maybe I could just configure hid-logitech and hid-microsoft as builtin to the kernel, rather than as modules. I'll sleep on it.
Comments
hotplug2Username: BarryK
I intend to put all the hid-*.ko modules into the initramfs, but the problem is to get the right one to load. I know basically how to do it, but it requires the udev daemon, which I did not really want to run in the initramfs. However, there is a lighter-weight kernel-uevent processing daemon named hotplug2 that looks like it will do the job: http://isteve.bofh.cz/~isteve/hotplug2/ I have compiled it statically with uClibc, now I have to modify the init script.
k2.6.30.4 is out
Username: happypuppy
"2.6.30.4 is out ...with even more bugfixes
hid- modules
Username: BarryK
"I reran the 'make menuconfig' for the 2.6.29.6 kernel, and found that there is a box checked to autoload the hid "special modules" when the core hid module (usbhid.ko) is loaded. The docs state that is is a provision for the situation where udev is not running, like in out initramfs. So, it would seem that all I need to do is have all the hid-*.ko modules present in the initramfs. I have modified '3builddistro' script to do that, haven't tested it yet. One thing to note, in a full hd installation the hid-logitech.ko module does load at startup, so I have wireless keyboard/mouse working. But of course in that situation hid-logitech.ko is available when usbhid loads.
re:hid-modules
Username: kirk
"Another way to fix this is to add 'rmmod usbhid' to rc.sysint before udevd is started. Then udevd reloads usbhid and anything else that's needed. Fixed it for my bluetooth keyboard/mouse.
usbhid
Username: BarryK
"kirk, Problem is, the keyboard has to be working in the initramfs. The init script offers choices of pup-save file if it finds more than one. So I think that just moving all the hid- modules into the initrd.gz will do the trick. ...I'll test it tonight.
usbhid
Username: kirk
"Forgot about that.
Tags: woof