Wireless keyboard now works

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.


Posted on 3 Aug 2009, 21:53


Comments:

Posted on 4 Aug 2009, 9:29 by BarryK
hotplug2
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.


Posted on 4 Aug 2009, 17:04 by happypuppy
k2.6.30.4 is out
2.6.30.4 is out ...with even more bugfixes



Posted on 4 Aug 2009, 18:16 by BarryK
hid- modules
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.



Posted on 5 Aug 2009, 8:49 by kirk
re:hid-modules
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.




Posted on 5 Aug 2009, 11:32 by BarryK
usbhid
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.



Posted on 5 Aug 2009, 12:05 by kirk
usbhid
Forgot about that.