# How the AT keyboard is detected?



## Bocha (Feb 11, 2014)

This is a crazy question, I guess, but here is what I want to know.

I have a notebook Acer Aspire 5100. A pretty old one and best known for it's unreliable southbridge. The symptoms of it burning down are almost the same for everyone: notebook gets a burned hole in the chasis in the left lower corner under the keyboard, USB stops working, keyboard and touchpad stop responding. And yes, I have all of them. Yet notebook can still work almost flawlessly after that, you just can't type anything in or plug the USB-device. That means you can't, for exmple, enter BIOS and change boot priority, etc. So when I run it's preinstalled Windows - I can't do anything. When I run Linux LiveCD - I also can't do anything, I just can't pass the first step in Kubuntu's graphical setup. So here is what I did - I took out HDD and installed a FreeBSD on it using another computer, and then I inserted the HDD back into the notebook. So the BIOS still is inaccessible due to no response on F2 and the FreeBSD boot meny is also unskipable due to no reaction on Enter, so I have to wait all 10 seconds before the kernel is loaded.

But when the kernel is loaded, the keyboard magically starts responding. When the system is loaded I can use it fully. The keyboard just works. And what I want to know is how? The touchpad and USB are still dead, no USB controllers are detected in dmesg or usbconfig, but the keyboard is detected normally as atkbd0 and it just works. And FreeBSD is the only OS that sees and reacts to this notebook's keyboard. I just wonder how this is possible? The southbridge is dead without a doubt, and all other systems totally agree with this.


----------



## SirDice (Feb 11, 2014)

Well, that's weird. I'm not sure how exactly FreeBSD detects the keyboard but I imagine it can't be that different from any other OS. But maybe FreeBSD is a little more forgiving, with broken hardware I suppose not all signals are correct any more and FreeBSD might simply ignore the wrong signals while still accepting the good ones. The other operating systems may flag the device as broken and disable it as soon as they get the wrong data.


----------



## Bocha (Feb 11, 2014)

Well, thanks anyway. I'll keep my research then 

Also (offtopic) ain't it funny how we joined this forum on the same day and I have only one post when you have thouthands ))


----------

