升级后虚拟控制台(登录)不起作用(Arch)

升级后虚拟控制台(登录)不起作用(Arch)

sudo pacman -Syu今天将我的 Arch 系统升级到 6.1.6后,我无法与虚拟控制台交互。我已经使用这个系统两年多了,而且一直运行良好。升级后它立即起作用,但是当我重新启动时,虚拟控制台不再处理击键,因此我无法在本地登录。请注意,系统启动正常,只是虚拟控制台不起作用。我尝试使用不同的键盘,但没有成功。请注意,键盘在 BIOS 中工作正常,如果我使用 Arch live CD 启动同一台机器并 chroot 进入 6.1.6 环境,键盘工作正常。

通过ps列出涉及到的进程(登录)如下:

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

我可以通过 SSH 连接到机器,并且命令行中的一切都显示正常。如果我执行 systemctl -b 它只会显示 ACPI 错误和其他随机内容,似乎没有任何与键盘或 USB 相关的内容。

我该如何诊断这个问题?

请注意,usbutils 软件包以及 xhci 软件包均已安装。LSSB显示键盘被检测为有效的 USB 设备并且显示正常。没有似乎与键盘相关的启动日志条目。如下所示的 Topre 键盘无法工作(尽管其他 USB 设备可能无法工作,我不知道,因为我无法再直接与机器交互)。

udevadm 测试表明,当插入或移除键盘时,会生成“新设备”的事件,但是当进行击键时,udev 监视器中不会显示任何事件,因此这可能是内核问题。

evtest 显然正在注册来自键盘的事件(如下面的第三个粘贴所示),所以这可能是某种终端问题?如果 evtest 收到击键但 udevadm 没有收到,这意味着什么?

如果有人可以解释处理击键的端到端过程以及如何在每个步骤检查击键是否被处理以及如何处理,那将会很有用。

我@计算机:~$ lsusb
总线 004 设备 001:ID 1d6b:0003 Linux Foundation 3.0 根集线器
总线 003 设备 001:ID 1d6b:0002 Linux Foundation 2.0 根集线器
总线 002 设备 001:ID 1d6b:0003 Linux Foundation 3.0 根集线器
总线 001 设备 004:ID 0853:0145 Topre Corporation REALFORCE 87 US
总线 001 设备 003:ID 04b8:013a Seiko Epson Corp. GT-X820 [Perfection V600 照片]
总线 001 设备 002:ID 046d:0843 Logitech, Inc. 网络摄像头 C930e
总线 001 设备 001:ID 1d6b:0002 Linux Foundation 2.0 根集线器

我@计算机:~$ lsusb -t
/: 总线 04.端口 1: Dev 1, Class=root_hub, Driver=xhci_hcd/2p, 10000M
/: 总线 03.端口 1: Dev 1, Class=root_hub, 驱动程序=xhci_hcd/2p, 480M
/: 总线 02.端口 1: Dev 1, Class=root_hub, Driver=xhci_hcd/10p, 5000M
/: 总线 01.端口 1: Dev 1, Class=root_hub, 驱动程序=xhci_hcd/16p, 480M
    |__ 端口 3:Dev 2,如果 0,类=视频,驱动程序=uvcvideo,480M
    |__ 端口 3:开发 2,如果 1,类=视频,驱动程序=uvcvideo,480M
    |__ 端口 3:Dev 2,If 2,类 = 音频,驱动程序 = snd-usb-audio,480M
    |__ 端口 3:Dev 2,If 3,类 = 音频,驱动程序 = snd-usb-audio,480M
    |__ 端口 7:开发 3,如果 0,类 = 供应商特定类,驱动程序 =,480M
    |__ 端口 8:Dev 4,如果 0,类 = 人机接口设备,驱动程序 = usbhid,12M
    |__ 端口 8:Dev 4,如果 1,类 = 人机接口设备,驱动程序 = usbhid,12M
    |__ 端口 8:Dev 4,If 2,类=人机接口设备,驱动程序=usbhid,12M

evtest 显示正在从键盘接收事件:

事件:时间1674156563.381863,-------------- SYN_REPORT ------------
事件:时间 1674156563.523858,类型 4 (EV_MSC),代码 4 (MSC_SCAN),值 70004
事件:时间1674156563.523858,类型1(EV_KEY),代码30(KEY_A),值0

请注意,我可以重新启动登录过程(sudo systemctl restartagetty@tty1),它会重新启动但仍然不接受键盘输入。 dmesg内容正常,没有明显错误。

答案1

编辑感谢@don_crissti,他注意到OP已经尝试了我在评论部分中建议的内容(我错过了):

“请注意,键盘在 BIOS 中工作正常,如果我使用 Arch live CD 启动同一台机器并 chroot 进入 6.1.6 环境,键盘工作正常。

原来的答案略有修改

根据您在评论部分中的帖子,可以很肯定地说您的 USB 子系统损坏了。您需要清理系统以检查升级过程中出现的问题或返回升级前的备份。如果其他一切都失败,请备份您需要的所有内容,例如/家 /ETC等等并重新安装系统。

虚拟调试我/我们从未见过的系统总是很困难。我认为(恕我直言)这是您可以获得的最多信息,因为我/我们没有看到发生任何可能表明任何问题的错误。

答案2

如果您可以 ssh 进入 Box,请尝试 strace -f -p PID 登录进程并查看该进程是否从键盘获取数据。

相关内容