# PS2 Keyboard not working after kernel update [solved]

## Stolz

I've upgraded a server (no X) from gentoo-sources-3.6.11 to gentoo-sources-3.10.25 and now the PS/2 keyboard is not working. The keyboard works both in BIOS and Grub, but as soon as the kernel boots it stops working.

The kernel seems totally unaware of the keyboard

```
#  dmesg | egrep -i "keybo|kbd"

serio: i8042 KBD port at 0x60,0x64 irq 1

```

When I boot with the old (working) kernel I get

```
# dmesg | egrep -i "keybo|kbd"

serio: i8042 KBD port at 0x60,0x64 irq 1

input: AT Translated Set 2 keyboard as /devices/platform/i8042/serio0/input/input2
```

These are my current kernel options:

```
Device Drivers  --->

   Input device support  --->

      *- Generic input layer (needed for keyboard, mouse, ...)

      [*]   Keyboards  --->

      <*>   AT keyboard

      Hardware I/O ports  --->

      -*- Serial I/O support

      -*-   i8042 PC Keyboard controller
```

Did I forget any input option? PS/2 mouse and USB mouse/keyboard are working fine.Last edited by Stolz on Mon Feb 24, 2014 11:12 am; edited 1 time in total

----------

## genterminl

I believe something related to the PS2 input has moved to something you now need to explicitly enable.  I don't remember the details (it doesn't affect my system) but I saw it mentioned on the Arch Linux announce list - see their site.  Maybe it will help you figure out if there is some other kernel option you also need to set.

----------

## TomWij

Do you still have both configs around? If so, you can take a difference between them like `diff -u file1 file2` and see whether there is a relevant option that has changed state.

----------

## genterminl

And even if you don't have the .config file, as long as you can still boot to that kernel, you can (assuming you set the appropriate kernel parameters in the first place) get it from /proc/config.gz.

----------

## Stolz

Thanks all for the answers. I fixed it. genterminl comments helped although was not the problem listed in the Arch Linux site it made me try a different approach.

Changing CONFIG_HID_GENERIC from [m] to [y] fixed the problem. I thought PS/2 devices don't use HID at all but seems I was wrong. For those finding this post in the future, the exact kernel option is located at 

```
Device Drivers

     -> HID support

         -> HID bus support 
```

----------

## genterminl

It's great you got it fixed - but I had thought changing something from module to built in should only be necessary for things needed before the kernel can manage to load the module, such as the code for the file system of the root partition.  I wonder if there is some configuration item missing which would have loaded the module earlier.  (Unfortunately, you obviously couldn't just type "modprobe whatever" if the keyboard isn't working yet...)

----------

