Comment 0 for bug 1314764

Revision history for this message
Tony Vroon (tony-linx) wrote :

The built-in keyboard & touchpad on these machines are fully PS/2 based. At first glance, building i8042 into the kernel proper seems sufficient:
[ 2.264540] i8042: PNP: PS/2 Controller [PNP0303:KBC,PNP0f13:PS2M] at 0x60,0x64 irq 1,12
[ 2.274233] i8042: Detected active multiplexing controller, rev 1.1
[ 2.279284] serio: i8042 KBD port at 0x60,0x64 irq 1
[ 2.280742] serio: i8042 AUX0 port at 0x60,0x64 irq 12
[ 2.282212] serio: i8042 AUX1 port at 0x60,0x64 irq 12
[ 2.283683] serio: i8042 AUX2 port at 0x60,0x64 irq 12
[ 2.285121] serio: i8042 AUX3 port at 0x60,0x64 irq 12

However, psmouse needs to be built into the initrd to get the keyboard to start working. This is because it sits behind the touchpad on a port that will not work until initialised:
[ 4.339219] psmouse serio2: synaptics: Touchpad model: 1, fw: 8.1, id: 0x1e2b1, caps: 0xd001a3/0x940300/0x126800, board id: 2720, fw id: 1450125
[ 4.339233] psmouse serio2: synaptics: serio: Synaptics pass-through port at isa0060/serio2/input0

This:
CONFIG_SERIO_I8042=y

Should really be accompanied by:
CONFIG_MOUSE_PS2_SYNAPTICS=y

Having the Synaptics support as a module leaves these laptops on an LVM2/DM-crypt password prompt with a non-working keyboard. Users can work around it by connecting a USB keyboard to "jump start" the machine, or add psmouse to /etc/initramfs-tools/modules .
Without disk encryption, the root filesystem will be available in time and the Synaptics driver will initialise the keyboard well before the X login chooser appears.