3 ms·
Sligthly (un)related: The other day the builtin keyboard on my rather new Thinkpad X1C 12th stopped working. I connected a USB keyboard and tried to figure out
by usr1106 2y ago
Sligthly (un)related: The other day the builtin keyboard on my rather new Thinkpad X1C 12th stopped working. I connected a USB keyboard and tried to figure out whether there was an error in Linux kernel ring buffer or anything else explaining the problem.
To my surprise the internal keyboard is not even USB, but i8042. Not a hardware guy, but I had silently assumed everything is USB these days. I guess i8042 is the PS/2 protocol TFA is talking about?
(No error found, but after a reboot it has been working again.)
- kragen 2y agohttps://wiki.osdev.org/%228042%22_PS/2_Controller https://wiki.osdev.org/%228042%22_PS/2_Controller
- fbrozovic 2y agoTo add to this: the keyboard matrix scan controller on laptops is usually located inside the Super I/O chip and connected to the CPU/southbridge via LPC or eSPI. Since LPC/eSPI peripherals are mapped to I/O ports, implementing an 8042 controller means that the keyboard can work even without setting up a much more complicated USB host stack.
- p_l 2y agoOn laptops it's usually not SuperIO, but EC (Embedded Controller), the same chip that handles battery, power, etc. and is usually connected over LPC to "present" the keyboard as PS/2 compatible input (some new ones are pure USB though, like my current laptop) Some devices have SPI interfaces for HID though
- throwaway2037 2y agoWow, thank you to share this website. It is so cool. I never saw it before. New Wiki rabbit hole to explore!
- yrro 2y agoThat's a great site. Finally I think I understand WTF Lenovo mean by "IPMI over Keyboard Controller Style (KCS) Access"
- xxs 2y agoI don't recall seeing a USB keyboard in a laptop (admittedly I don't do that for a living at any rate). Even backlights tend to be separate pwm lines. It also make sense as USB would require a controller on the keyboard side.
- numpad0 2y agoLooks like it's again time for ThinkPad Linux user PSA: echo 255 > /sys/devices/platform/i8042/serio1/serio2/sensitivity
- trinix912 2y agoUntil 5 or so years ago many laptop trackpads were simply PS2 mice (even with drivers installed).
- dogben 2y agoPS/2 keyboard/mouse are interrupt driven which saves power on laptops. While USB ones are polling based which require controllers running all the time.
- usr1106 2y agoGood point. On a video recording system we had problems with dropped frames from the USB camera. When an external USB keyboard was connected the problems became rarer. Obviously the keyboard kept some component to enter deeper energy states, and when everything staid up all the time frames were no longer lost as commonly. Surprising to me as a layperson in this field is that camera with 30 fps would allow entering a deeper state than a keyboards with a data rate orders of magnitude smaller.
- account42 2y agoMay laptop's mouspad is connected over i2c. I wonder what the reason for that is besides saving a few bucks on cables.
- userbinator 2y agoIn laptops, the EC is what usually connects to the keyboard and trackpad/pointing stick, and it communicates with the chipset via LPC (a variant of the old ISA bus). Many of them have a built-in 8042-compatible IP block for this. It looks exactly like a PS/2 keyboard and mouse to software, but the physical layer may no longer be present (some old laptops that support external PS/2 keyboard+mouse may have an actual PS/2 interface.) If the keyboard stopped working (completely), I'd suspect a bug or random glitch in the EC firmware.