Hardware can be weird, server and USB keyboard edition

March 8, 2022

Over on Twitter, I said some not entirely justified nasty things about the Ubuntu 20.04 server install ISO, because it wasn't letting me switch to an alternate Linux virtual console to get a shell so I could see what was going on with some things. The (current) Ubuntu documentation certainly implies that they do things differently, but that turned out not to be quite it. Instead, what was going on was an interesting and odd interaction between the keyboards I tried and the server. Since this is the modern age, it involves USB.

The server has two rear USB ports. On the first USB keyboard I started out using (the keyboard we normally use for server installs in our test area), none of the function keys worked (or seem to work) when the keyboard was plugged into either port. They probably didn't work in the BIOS (at one point I repeatedly tried to use F11 to get into a boot menu and had it ignored), and they definitely didn't seem to work in Linux, even when the system was booted and there multiple virtual consoles to switch between.

With the second keyboard I tried, nothing seemed to respond when I plugged it into one of the two USB ports (for example, nothing happened when I hit Return at the Linux login prompt). However, when I plugged it into the other USB port, everything worked, both the regular keyboard keys and the usual Alt plus Fn to switch Linux console virtual terminals.

Linux reports these keyboards slightly differently. The keyboard that is picky about its port but has fully working function keys is reported as 'USB HID v1.10 Keyboard', while the non-picky keyboard with no function keys is reported as 'USB HID v1.11 Device'. As far as I can see from kernel logs, Linux reports each keyboard the same regardless of which USB port it's plugged into.

This server has an IPMI that supports 'KVM over IP', which involves a virtual keyboard and mouse. This virtual keyboard and mouse show up as USB devices, a 'USB HID v1.00' Keyboard and Mouse, apparently on the same USB device. I wonder if this virtual device somehow interferes with a real keyboard on one but not the other USB port for some reason.

All of this is a useful reminder that sometimes the problem isn't that the BIOS or the OS installer is ignoring you. Sometimes you have a hardware problem, even if it's a weird one where only some of your keyboard's keys don't work.

(If I'm really energetic the next time I'm in the office I may try using usbmon to see the keyboard events for both keyboards in interesting situations.)

Written on 08 March 2022.
« The convenience of multi-purpose monitoring (in Prometheus)
Linux disk names you can encounter in your Prometheus host metrics »

Page tools: View Source, Add Comment.
Login: Password:
Atom Syndication: Recent Comments.

Last modified: Tue Mar 8 22:50:31 2022
This dinky wiki is brought to you by the Insane Hackers Guild, Python sub-branch.