3

I am unable to interact with the virtual console after upgrading my Arch system today with sudo pacman -Syu to 6.1.6. I have had this system for 2+ years and it has always worked fine. It worked immediately after the upgrade, but when I rebooted keystrokes no longer were being processed by the virtual console so I was unable to login locally. Note that the system boots correctly, it's just that the virtual console does not work. I tried using a different keyboard, but no luck with that. Note that the keyboard works normally in BIOS and if I boot the same machine with an Arch live CD and chroot into 6.1.6 environment, the keyboard works fine.

The process involved (login) is listed as follows via ps:

/sbin/agetty -o -p -- \u --noclear - linux

I can SSH into the machine and everything appears normal from the command line. If I do a systemctl -b it just shows ACPI errors and other random stuff, nothing that seems to be keyboard or USB related.

How can I diagnose this problem?

Note that the usbutils package is installed as well as the xhci package. lsusb shows the keyboard to be detected as a valid USB device and appears normal. There were no boot log entries that appeared to be keyboard related. The Topre keyboard as shown below is not working (although other usb devices might not work, I don't know because I can't interact directly with the machine anymore).

udevadm tests show that when the keyboard is plugged in or removed, then events for the "new device" are generated, but when keystrokes are made, no events show up in the udev monitor, so it might be a kernel problem.

evtest is clearly registering events from the keyboard (shown as the third paste below), so it might be some kind of terminal issue maybe? If evtest receives keystrokes but udevadm does not, what does that imply?

It would be useful if someone could explain the end-to-end process for handling keystrokes and how to check at each step how and if the keystroke is being handled.

me@computer:~$ lsusb
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 004: ID 0853:0145 Topre Corporation REALFORCE 87 US
Bus 001 Device 003: ID 04b8:013a Seiko Epson Corp. GT-X820 [Perfection V600 Photo]
Bus 001 Device 002: ID 046d:0843 Logitech, Inc. Webcam C930e
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

me@computer:~$ lsusb -t
/:  Bus 04.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/2p, 10000M
/:  Bus 03.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/2p, 480M
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/10p, 5000M
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/16p, 480M
    |__ Port 3: Dev 2, If 0, Class=Video, Driver=uvcvideo, 480M
    |__ Port 3: Dev 2, If 1, Class=Video, Driver=uvcvideo, 480M
    |__ Port 3: Dev 2, If 2, Class=Audio, Driver=snd-usb-audio, 480M
    |__ Port 3: Dev 2, If 3, Class=Audio, Driver=snd-usb-audio, 480M
    |__ Port 7: Dev 3, If 0, Class=Vendor Specific Class, Driver=, 480M
    |__ Port 8: Dev 4, If 0, Class=Human Interface Device, Driver=usbhid, 12M
    |__ Port 8: Dev 4, If 1, Class=Human Interface Device, Driver=usbhid, 12M
    |__ Port 8: Dev 4, If 2, Class=Human Interface Device, Driver=usbhid, 12M

evtest shows that events are being received from the keyboard:

Event: time 1674156563.381863, -------------- SYN_REPORT ------------
Event: time 1674156563.523858, type 4 (EV_MSC), code 4 (MSC_SCAN), value 70004
Event: time 1674156563.523858, type 1 (EV_KEY), code 30 (KEY_A), value 0

Note that I can restart the login process (sudo systemctl restart agetty@tty1) and it restarts but still accepts no keyboard input. dmesg has normal content and no obvious errors.

24
  • hmm. it's weird you don't have encrypted /root partitions right ? if you do can you verify you have HOOKS=(base udev autodetect modconf block keyboard encrypt filesystems fsck) in /etc/mkinitcpio.conf keyboard should be before encrypt hook Commented Jan 17, 2023 at 6:02
  • 1
    You should try to chroot and install another kernel (e.g. linux-lts and then reboot and use that one. As we have no diagnostic/warning ATM it's nearly impossible to troubleshoot this issue... Commented Jan 19, 2023 at 19:40
  • 1
    Could be kernel related, there was another guy with a Topre keyboard with a similar problem. Can you add this usbcore.quirks=0853:0145:gki thing to your kernel parameters or try a different kernel?
    – Freddy
    Commented Jan 24, 2023 at 1:34
  • 1
    You have to start somewhere. If there was a kernel update, downgrade it to the previous version. If that doesn't help, downgrade all packages to the version you had before the last update. Post the list of upgraded packages from /var/log/pacman.log, post dmesg output.
    – Freddy
    Commented Jan 24, 2023 at 11:04
  • 1
    Show us a dmesgand/or jougrnalctl where keboard is. It may show some kind of error.
    – tukan
    Commented Feb 1, 2023 at 16:38

2 Answers 2

0

Edit thanks to @don_crissti who noticed that the OP has already tried what I was suggesting in the comments section (I have missed that):

"Note that the keyboard works normally in BIOS and if I boot the same machine with an Arch live CD and chroot into 6.1.6 environment, the keyboard works fine.

The original slightly modified answer

Based on your posts in the comments section it is pretty safe to say that you have your USB subsystem broken. You will need to sanitize your system to check what went wrong during the upgrade or return to a backup before the upgrade. If everything other will fail, make a backup of everything you need like /home /etc etc. and reinstall the system.

It is always hard to virtually debug system I/we never saw. This is I think (IMHO) the most information you can get as I/we did not see any error occurring which could be an indication of any issue.

2
  • 1
    "Note that the keyboard works normally in BIOS and if I boot the same machine with an Arch live CD and chroot into 6.1.6 environment, the keyboard works fine." Commented Feb 7, 2023 at 11:45
  • @don_crissti BIOS has its own keyboard/USB handling, that is independent of the OS. I have missed the try with the arch live. I will adjust the answer for that. Thank you for the comment
    – tukan
    Commented Feb 7, 2023 at 12:07
-3

If you can ssh into the Box try strace -f -p PID the login process and see if the process gets data from the keyboard.

1
  • If I do that, it returns "pselect6(5, [0 4], NULL, NULL, NULL, NULL", then if I type characters at the keyboard, nothing happens. Commented Feb 2, 2023 at 17:46

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .