# serious: keyboard stops working as kernel loads

## Emmeran

Hi,

sometimes I boot up my laptop (to gentoo of course) and find my keyboard not working. The first time, i thought it would probably be some hanging key or a problem with X, but as i looked at my logfiles etc and tried to loosen every key I wasnt able to solve this problem, so I went to the last measure and rebootet.

In the bootloader (grub), the keyboard always works, but soon after the kernel begins to load it stops working. To test this i press num-lock every .3 seconds or so, and the led on my laptop goes on and off. but when the kernel is loaded it stays whatever it was last.

so to solve this problem, i reboot my laptop several times until it works... i tried a new kernel too, but no change there.

this problem occurs seemingly random.

has anyone any idea where i could look for helpfull output or what could cause this behavior?

Thx in advance,

Emmeran

PS:

uname -a: Linux fau-stud-033-054 2.6.27-gentoo-r2 #2 SMP Sat Nov 15 20:18:28 CET 2008 i686 Intel(R) Core(TM)2 Duo CPU T7300 @ 2.00GHz GenuineIntel GNU/Linux

machine: nexoc osiris e 621 based on Compal FL90 barebone

----------

## kevstar31

post your kernel config and keyboard make and model.

----------

## Emmeran

Kernel config:

http://pastebin.com/m573c0205

what is a keyboard make?

the keyboard model is the model which is build into compaq fl 90 barebones... i don't know detailed specifications... i don't believe there is a model description for laptop keyboards?

----------

## pappy_mcfae

Post the result of lspci -n. I think I see the trouble, but I need more to work with.

Blessed be!

Pappy

----------

## Emmeran

```
00:00.0 0600: 8086:2a00 (rev 0c)

00:01.0 0604: 8086:2a01 (rev 0c)

00:1a.0 0c03: 8086:2834 (rev 03)

00:1a.1 0c03: 8086:2835 (rev 03)

00:1a.7 0c03: 8086:283a (rev 03)

00:1b.0 0403: 8086:284b (rev 03)

00:1c.0 0604: 8086:283f (rev 03)

00:1c.1 0604: 8086:2841 (rev 03)

00:1c.2 0604: 8086:2843 (rev 03)

00:1c.3 0604: 8086:2845 (rev 03)

00:1c.4 0604: 8086:2847 (rev 03)

00:1c.5 0604: 8086:2849 (rev 03)

00:1d.0 0c03: 8086:2830 (rev 03)

00:1d.1 0c03: 8086:2831 (rev 03)

00:1d.2 0c03: 8086:2832 (rev 03)

00:1d.7 0c03: 8086:2836 (rev 03)

00:1e.0 0604: 8086:2448 (rev f3)

00:1f.0 0601: 8086:2815 (rev 03)

00:1f.1 0101: 8086:2850 (rev 03)

00:1f.2 0101: 8086:2828 (rev 03)

00:1f.3 0c05: 8086:283e (rev 03)

01:00.0 0300: 10de:0407 (rev a1)

04:00.0 0200: 14e4:1693 (rev 02)

0c:00.0 0280: 8086:4229 (rev 61)

0e:06.0 0c00: 1180:0832 (rev 05)

0e:06.1 0805: 1180:0822 (rev 22)

0e:06.2 0880: 1180:0843 (rev 12)

0e:06.3 0880: 1180:0592 (rev 12)

```

----------

## pappy_mcfae

I was right about what I saw as the keyboard problem, but there were so many others, I started you off with one of my kernel seeds, and then added your devices. 

You had way too much stuff loaded. Things like fair CPU scheduling and optimize for size can be problematic...sometimes VERY problematic. And if you activate the ATA/ATAPI/MFM/RLL drivers and the SATA drivers, you're going to cause conflicts. 

Your specific problem was caused by not enabling HID (human interface devices). Also, you have UHCI and EHCI USB ports, not OHCI. I simplified your USB setup greatly.

Click here for your new .config. Compile it as is. Once you get your system booting, post /var/log/dmesg so I can see how things loaded.

Blessed be!

Pappy

----------

## Emmeran

Hey cool, thanks for your help  :Smile: 

kk i had to change some settings in your config... nvidia fb to modular for example and similar stuff, but i think its a great improvement tough

/var/log/dmesg:

http://pappy-mcfae.pastebin.com/m5c66ccfb

----------

## pappy_mcfae

Awesome. The only thing I suggest at this point is to turn off normal floppy support under block devices. Other than that, you're looking good.

Happy Gentooing.

Blessed be!

Pappy

----------

## Emmeran

hey  :Smile: 

unfortunately my kbd doesnt work again (right now, i type via osd kbd)

maybe dmesg knows someth? i doubt it but anyways:

http://pastebin.com/m7d7f2ec3

----------

## pappy_mcfae

It appears pastebin is currently down. I'll check back later to see if it's up yet.

Blessed be!

Pappy

----------

## Emmeran

i constructed a diff between the dmesg in the pastebin and the current: (diff old new)

```
99,101c99,101

< TSC: Unable to calibrate against PIT

< TSC: using PMTIMER reference calibration

< Detected 1994.984 MHz processor.

---

> TSC: PIT calibration confirmed by PMTIMER.

> TSC: using PMTIMER calibration value

> Detected 1994.964 MHz processor.

119c119

< Calibrating delay loop (skipped), value calculated using timer frequency.. 3989.96 BogoMIPS (lpj=1994984)

---

> Calibrating delay loop (skipped), value calculated using timer frequency.. 3989.92 BogoMIPS (lpj=1994964)

135c135

< Calibrating delay using timer specific routine.. 3989.82 BogoMIPS (lpj=1994911)

---

> Calibrating delay using timer specific routine.. 3977.66 BogoMIPS (lpj=1988832)

144c144

< Total of 2 processors activated (7979.79 BogoMIPS).

---

> Total of 2 processors activated (7967.59 BogoMIPS).

159a160,161

> ACPI: EC: non-query interrupt received, switching to interrupt mode

> ACPI: EC: GPE storm detected, transactions will use polling mode

310d311

< ACPI: EC: non-query interrupt received, switching to interrupt mode

395d395

< ACPI: EC: GPE storm detected, transactions will use polling mode

596a597

> serio: i8042 AUX port at 0x60,0x64 irq 12

597a599

> input: AT Translated Set 2 keyboard as /devices/platform/i8042/serio0/input/input3

608d609

< Marking TSC unstable due to TSC halts in idle

609a611

> Marking TSC unstable due to TSC halts in idle

616c618

< input: Logitech USB Gaming Mouse as /devices/pci0000:00/0000:00:1d.0/usb5/5-1/5-1:1.0/input/input3

---

> input: Logitech USB Gaming Mouse as /devices/pci0000:00/0000:00:1d.0/usb5/5-1/5-1:1.0/input/input4

636a639,640

> Clocksource tsc unstable (delta = -136578908 ns)

> input: ImPS/2 Logitech Wheel Mouse as /devices/platform/i8042/serio1/input/input5

640a645

> ReiserFS: sda3: replayed 29 transactions in 3 seconds

644d648

< Clocksource tsc unstable (delta = -91772381 ns)

645a650

> Linux video capture interface: v2.00

649d653

< Linux video capture interface: v2.00

652,653d655

< iwlagn: Intel(R) Wireless WiFi Link AGN driver for Linux, 1.3.27ks

< iwlagn: Copyright(c) 2003-2008 Intel Corporation

656a659,664

> nvidia 0000:01:00.0: power state changed by ACPI to D0

> nvidia 0000:01:00.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16

> nvidia 0000:01:00.0: setting latency timer to 64

> iwlagn: Intel(R) Wireless WiFi Link AGN driver for Linux, 1.3.27ks

> iwlagn: Copyright(c) 2003-2008 Intel Corporation

> NVRM: loading NVIDIA UNIX x86 Kernel Module  177.80  Wed Oct  1 14:38:10 PDT 2008

659a668

> udev: renamed network interface eth0 to eth1

663,667d671

< nvidia 0000:01:00.0: power state changed by ACPI to D0

< nvidia 0000:01:00.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16

< nvidia 0000:01:00.0: setting latency timer to 64

< NVRM: loading NVIDIA UNIX x86 Kernel Module  177.80  Wed Oct  1 14:38:10 PDT 2008

< udev: renamed network interface eth0 to eth1

669c673

< input: USB 2.0 Camera as /devices/pci0000:00/0000:00:1a.7/usb1/1-2/1-2:1.0/input/input4

---

> input: USB 2.0 Camera as /devices/pci0000:00/0000:00:1a.7/usb1/1-2/1-2:1.0/input/input6

671a676,677

> ReiserFS: sda3: Removing [7147169 7371149 0x0 SD]..done

> ReiserFS: sda3: There were 1 uncompleted unlinks/truncates. Completed

```

----------

## pappy_mcfae

Your dmesg indicates the keyboard is detected. If this is the laptop's keyboard, then it's bad hardware. You may have to use a USB keyboard, or replace your keyboard with a new one from the manufacturer. Laptop keyboards are delicate things.

Blessed be!

Pappy

----------

## Emmeran

yes it's the laptops keyboard, but are u sure? i mean, this only happens in about 5% of the boots. and the keyboard always works in grub.

could it maybe be a grub bug?

thx 4 your help anyways

----------

## pappy_mcfae

There is only one way to find out. Your kernel was set for ps/2 keyboard and mouse. The fact that both are detected and show up in /var/log/dmesg rules out a driver issue. If they weren't detected, there would have been a warning. Actually, if it's like my old Toshiba laptop, it will cough up about four different warnings. 

Your system isn't doing that. That means that the keyboard is functional as far as its controller chip is concerned. That points to the high likelihood of a damaged keyboard. 

Laptop keyboards are delicate instruments. I've replaced a few in my day. That's why I always try to use an external keyboard, if at all possible. I have a not-so-delicate stroke, and very strong fingers. I would rather trash a twenty dollar keyboard than tear up the one that will cost a lot more to replace; the one that comes with the machine. I'm using an old first gen USB Compaq multimedia keyboard on this machine.

The only way to know for sure is to plug in a USB keyboard and see if it fails. If not, then there is definitely a hardware issue, and the keyboard would top the list.

Blessed be!

Pappy

----------

## jcat

I fail to see how this could of been a kernel issue, if it works sometimes and others not, no matter what the percentages..

My gut feeling is it may be hardware, although it is strange that it always works in grub.

One thing that might help is a BIOS update, as a BIOS bug of some sort could well explain the issue you're seeing.

Cheers,

jcat

----------

## PurpleSkunk

Hello there!

Just wanted to stop by and say that IMHO it is not hardware related, since I also own a Compal IFL90, and my keyboard also stopped responding during boot, after updating some packages recently (don't know which one, but I highly suspect kbd). I tried to install my Gentoo again (I wanted to do it anyway) using the latest minimal CD and stage3 (12/24/2008), and the problem also occurs after install when I reboot on the freshly installed OS. I must precise that my keyboard works like a charm under Windows, and used to also work like a charm with the previous version of some packages (again, the faulty package is kbd in my opinion, 1.15 version I think). Of course I can't say for sure, but kbd was definitely one of the packages I updated before having this issue.

Will try to reinstall using the 2008.0 LiveCD.

----------

## jcat

Seeing as this thread has popped up again, one thing does spring to mind, this could be a udev issue,

If there's no persistent rule for your keyboard, it may be getting a different device file on some boots (without persistent udev rules, that is the how udev behaves), and you xorg.conf may be referring to a specific device file for the keyboard.  This would only manifest in X,  Text VT consoles would probably be unaffected.

So is the keyboard occasional failure only something you're seeing in X?  If you can't switch from X because your keyboard isn't working you'll never know, so you could temporarily remove your greeter from the default runlevel for testing.

Cheers,

jcat

----------

## PurpleSkunk

Hello jcat, thanks for your answer.

Unfortunately, my issue is a permanent failure, and doesn't even occurs in X since I don't use any display manager. I usually boot in plain text console, and this issue occurs everytime. I tried yesterday the 2008.0 LiveCD, and again, I had no keyboard (the mouse was OK), exept it was under X (plus xfce) since the LiveCD loads a GUI. Today I will try a reinstall using a 2007.0 CD (don't know which one yet, I have to find them in my mess at home), and certainly keep this thread updated with my findings. By the way you're right, it indeed may be udev, since it was, if I remember well, one of the other packages I updated besides kbd.

Once again, thank for all the help you'll be able to bring!  :Wink: 

----------

## zyko

This may be completely unrelated, but my keyboard (connected via USB to a desktop box) started mischiefing around recently. It started happening around the time I unmasked a not-yet-stable version of udev to accomodate openrc-4's dependencies.

When booting, everything will be fine around the BIOS and grub stages, but when the kernel loads and displays something about EHCI, UHCI, OHCI etc., all three LEDs (caps lock, num lock, scroll lock) start lighting and the keyboard becomes unresponsive. This happens only on some boot attempts with Gentoo, not always. It never happens when I boot OpenBSD. The NetBSD-4.0.1 installer CD can reliably trigger this event every single time  :Smile: 

I'll keep working on this and post my findings  :Smile: 

----------

## techuser

same problem here!

sometimes, only sometimes, just after uevents message in boot, my keyboard stops working.

The strange thing is that is random, kernel sees my keyboard and if I plug my usb keyboard it works, as the usb mouse, that always works.

Strange...

I think it must be something with udev because it always stops working after loading kernel in the boot scripts after the "uevents" message. 

No error messages in kernel, just nothing, for the system is like keyboard is working.

I sw the problem after last kernel updates, 2.6.26 & 2.6.27, but maybe is some strange update in udev..

any help?

thanks

----------

## techuser

problem solved with kernels 6.28 and 6.29

----------

## mateakos

Hi,

Sometimes when i boot to gentoo, my laptop's internal keyboard doesn't work, until next reboot, then it has a chance again, to work, or not. With kernel 3.8 it was ok, the problem started when i upgraded to 3.10.7.

When booted, and the keyboard doesn't work, the output of dmesg contains this lines:

```
[    7.449099] atkbd serio0: Failed to deactivate keyboard on isa0060/serio0

[    7.849256] atkbd serio0: Failed to enable keyboard on isa0060/serio0

[    7.849398] input: AT Translated Set 2 keyboard as /devices/platform/i8042/serio0/input/input5

[    8.160516] console [netcon0] enabled

[    8.160521] atkbd serio0: Spurious ACK on isa0060/serio0. Some program might be trying to access hardware directly.
```

When it work's correctly, there are no lines beginning with atkbd.

If i connect a USB keyboard, then that always works.

The laptop is a PackardBell EasyNote TM85.

----------

