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:Posted on 4 Aug 2009, 9:29 by 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:
I have compiled it statically with uClibc, now I have to modify the init script.
Posted on 4 Aug 2009, 17:04 by happypuppy
k184.108.40.206 is out
220.127.116.11 is out ...with even more bugfixes
Posted on 4 Aug 2009, 18:16 by BarryK
I reran the 'make menuconfig' for the 18.104.22.168 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
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
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
Forgot about that.