One time I had a problem with laptop’s keyboard backlight. I figured out the solution and wrote an answer for myself and others.
But now my script stops working. I figured out that the command lsusb does not show any SteelSeries devices in the list. And I cannot repair my keyboard now.
How come it can be?
UPDATE After a few reboots lsusb shows SteelSeries device again. I’m wondering what was it?
lsusb’s man page states, “[lsusb] uses udev’s hardware database to associate a full human-readable name to the vendor ID and the product ID.” I would guess that the hardware database was incomplete? I see that there is a /etc/udev/hwdb.bin file on my system and there is a systemd-hwdb command that appears to be able to update the database file. But I don’t know when or why it is called. Maybe there was some sort of race condition that lead to the database being updated before the USB device was detected?