您尚未登录。

#1 2023-03-11 17:09:41

LipidRaft
会员
注册时间: 2023-03-11
帖子: 10

[已解决] 笔记本内置PS/2键盘在Linux系统启动后不工作, 但在grub正常工作。

机械革命蛟龙16k内置PS/2键盘在Linux系统启动后不工作, 但在windows11 和grub界面均正常工作。Linux启动后笔记本的触摸屏也是正常工作的。
下文我是插外接的USB罗技键盘打的。

电脑的一些信息

OS: Arch Linux x86_64
Host: Jiaolong16K Series GM6BG5Q Standard
Kernel: 6.2.2-arch2-1
CPU: AMD Ryzen 7 7735H with Radeon Graphics (16) @ 3.200GHz

一些命令的输出
user # sudo dmesg | grep i8042
[    0.516865] i8042: PNP: PS/2 Controller [PNP0303:PS2K] at 0x60,0x64 irq 1
[    0.516868] i8042: PNP: PS/2 appears to have AUX port disabled, if this is incorrect please boot with i8042.nopnp
[    0.517591] serio: i8042 KBD port at 0x60,0x64 irq 1
user # ls /dev/input/by-id/
usb-Kingcome_HD_Webcam_0x0001-event-if00@  usb-Logitech_USB_Keyboard-event-kbd@         usb-Logitech_USB_Receiver-if01-mouse@
usb-Logitech_USB_Keyboard-event-if01@      usb-Logitech_USB_Receiver-if01-event-mouse@

最近编辑记录 LipidRaft (2023-11-15 11:41:09)

离线

#2 2023-03-11 19:56:20

LipidRaft
会员
注册时间: 2023-03-11
帖子: 10

Re: [已解决] 笔记本内置PS/2键盘在Linux系统启动后不工作, 但在grub正常工作。

补充:

user # xinput list
⎡ Virtual core pointer                    	id=2	[master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer              	id=4	[slave  pointer  (2)]
⎜   ↳ Logitech Wireless Mouse                 	id=11	[slave  pointer  (2)]
⎜   ↳ UNIW0001:00 093A:0255 Mouse             	id=15	[slave  pointer  (2)]
⎜   ↳ UNIW0001:00 093A:0255 Touchpad          	id=16	[slave  pointer  (2)]
⎣ Virtual core keyboard                   	id=3	[master keyboard (2)]
    ↳ Virtual core XTEST keyboard             	id=5	[slave  keyboard (3)]
    ↳ Video Bus                               	id=6	[slave  keyboard (3)]
    ↳ Video Bus                               	id=7	[slave  keyboard (3)]
    ↳ Power Button                            	id=8	[slave  keyboard (3)]
    ↳ Sleep Button                            	id=9	[slave  keyboard (3)]
    ↳ HD Webcam: HD Webcam                    	id=10	[slave  keyboard (3)]
    ↳ Logitech USB Keyboard                   	id=12	[slave  keyboard (3)]
    ↳ Logitech USB Keyboard Consumer Control  	id=13	[slave  keyboard (3)]
    ↳ Logitech USB Keyboard System Control    	id=14	[slave  keyboard (3)]

系统找到的输入设备中根本就没有电脑的内置键盘

最近编辑记录 LipidRaft (2023-03-11 20:08:31)

离线

#3 2023-03-11 21:13:17

LipidRaft
会员
注册时间: 2023-03-11
帖子: 10

Re: [已解决] 笔记本内置PS/2键盘在Linux系统启动后不工作, 但在grub正常工作。

再次补充, 莫非这第三个输出就是我的内置键盘?:

user # sudo lshw -C input
  *-usb:1
       description: Keyboard
       product: USB Receiver
       vendor: Logitech
       physical id: 4
       bus info: usb@1:4
       version: 29.01
       capabilities: usb-2.00
       configuration: driver=usbhid maxpower=98mA speed=12Mbit/s
  *-usb:0
       description: Keyboard
       product: USB Keyboard
       vendor: Logitech
       physical id: 2
       bus info: usb@3:2
       version: 64.02
       capabilities: usb-1.10
       configuration: driver=usbhid maxpower=90mA speed=2Mbit/s
  *-pnp00:02
       product: IBM Enhanced keyboard controller (101/2-key)
       physical id: 3
       capabilities: pnp
       configuration: driver=i8042 kbd

离线

#4 2023-03-11 21:35:15

依云
会员
所在地: a.k.a. 百合仙子
注册时间: 2011-08-21
帖子: 8,961
个人网站

Re: [已解决] 笔记本内置PS/2键盘在Linux系统启动后不工作, 但在grub正常工作。

是啊。你要不按日志说的,加个 i8042.nopnp 内核选项试试?

离线

#5 2023-03-17 10:29:50

LipidRaft
会员
注册时间: 2023-03-11
帖子: 10

Re: [已解决] 笔记本内置PS/2键盘在Linux系统启动后不工作, 但在grub正常工作。

依云 说:

是啊。你要不按日志说的,加个 i8042.nopnp 内核选项试试?

感谢, 我试过了, 这应该不是问题所在。

离线

#6 2023-03-17 13:29:56

matrikslee
会员
注册时间: 2017-04-21
帖子: 451
个人网站

Re: [已解决] 笔记本内置PS/2键盘在Linux系统启动后不工作, 但在grub正常工作。

在mkinitcpio.conf中的HOOKS一行加keyboard,MODULES一行加i8042和atkbd
然后在kernel的cmdline加i8042.notimeout i8042.nopnp试试看

我在目前互联网上能找到的信息,跟你这个问题相关性最大的就是这个了,在arch bbs主站的一个帖子里面
https://bbs.archlinux.org/viewtopic.php?id=255362
看他的描述说也是IBM 的键盘,但是是外接的,可能就是同样的问题,他的解决方案我写在前两行了

另外有一个可能存在一些相关性的问题,就是5.x版本的时候,有大量的medion笔记本用户的内置键盘无法使用,因为acpi和pnp中断的响应问题,不过那个问题在5.x内核就进主线修好了,应该和你这个问题关系不大
===========
另外,如果上面提到的方法解决不了问题,你又想进一步排查的话,尽可能的提供完整的dmesg启动log,可以贴到github或者gist(或者其他的online pastebin),然后发链接到这里

最近编辑记录 matrikslee (2023-03-17 13:32:34)

离线

#7 2023-03-18 21:42:34

LipidRaft
会员
注册时间: 2023-03-11
帖子: 10

Re: [已解决] 笔记本内置PS/2键盘在Linux系统启动后不工作, 但在grub正常工作。

matrikslee 说:

在mkinitcpio.conf中的HOOKS一行加keyboard,MODULES一行加i8042和atkbd
然后在kernel的cmdline加i8042.notimeout i8042.nopnp试试看

我在目前互联网上能找到的信息,跟你这个问题相关性最大的就是这个了,在arch bbs主站的一个帖子里面
https://bbs.archlinux.org/viewtopic.php?id=255362
看他的描述说也是IBM 的键盘,但是是外接的,可能就是同样的问题,他的解决方案我写在前两行了

另外有一个可能存在一些相关性的问题,就是5.x版本的时候,有大量的medion笔记本用户的内置键盘无法使用,因为acpi和pnp中断的响应问题,不过那个问题在5.x内核就进主线修好了,应该和你这个问题关系不大
===========
另外,如果上面提到的方法解决不了问题,你又想进一步排查的话,尽可能的提供完整的dmesg启动log,可以贴到github或者gist(或者其他的online pastebin),然后发链接到这里


感谢! 我按上面的方法试了仍然没有解决问题。
这是我现在的dmesg,以及lspci的完整输出:
https://gist.github.com/LipidRaft/eb213 … 2c10ca3c4b

依据你的指导,我是这样做的:
1) /etc/mknitcpio.conf的HOOKS一栏本来就有keybord, 所以只在MODULES一行加了i8042和atkbd, 然后运行了

sudo mkinitcpio -P

2) 在/etc/default/grub 的这一行加上了i8042.notimeout i8042.nopnp

GRUB_CMDLINE_LINUX_DEFAULT="loglevel=3 quiet i8042.notimeout i8042.nopnp"

3) 运行

 sudo grub-mkconfig -o /boot/grub/grub.cfg 

然而还是行不通, 似乎本来键盘的彩色背光是亮着的,这么做了之后,重启后内置键盘都不会发光了。

离线

#8 2023-03-19 14:06:28

matrikslee
会员
注册时间: 2017-04-21
帖子: 451
个人网站

Re: [已解决] 笔记本内置PS/2键盘在Linux系统启动后不工作, 但在grub正常工作。

改成用参数

i8042.dumbkbd=1

,加到cmdline(改grub.cfg)或者modprobe.d目录下的配置文件中

参考
https://bbs.archlinux.org/viewtopic.php?id=274130&p=2
最后一楼

最近编辑记录 matrikslee (2023-03-19 19:52:21)

离线

#9 2023-03-21 00:06:46

LipidRaft
会员
注册时间: 2023-03-11
帖子: 10

Re: [已解决] 笔记本内置PS/2键盘在Linux系统启动后不工作, 但在grub正常工作。

这么做了后键盘还是无法使用, 不过键盘灯又变回会亮的状态了

离线

#10 2023-03-21 09:50:57

matrikslee
会员
注册时间: 2017-04-21
帖子: 451
个人网站

Re: [已解决] 笔记本内置PS/2键盘在Linux系统启动后不工作, 但在grub正常工作。

LipidRaft 说:

这么做了后键盘还是无法使用, 不过键盘灯又变回会亮的状态了

那没啥办法了,网上能找到的办法都试了

离线

#11 2023-03-25 11:11:34

bincker
会员
注册时间: 2020-12-02
帖子: 24

Re: [已解决] 笔记本内置PS/2键盘在Linux系统启动后不工作, 但在grub正常工作。

我也是这款电脑,遇到了同样的问题,楼主解决了没有?
我的键盘是一直亮着的,我还发现有几个组合Fn按键是可以使用的:Fn+F1(睡眠)、Fn+F11(降低屏幕亮度)、Fn+F12(提高屏幕亮度)。
我还发现在系统启动时会有以下错误,不知道有没有帮助:

[    0.558092] usb usb10: SerialNumber: 0000:06:00.3
[    0.558138] hub 10-0:1.0: USB hub found
[    0.558156] hub 10-0:1.0: 1 port detected
[    0.558321] usb usb8: We don't know the algorithms for LPM for this host, disabling LPM.
[    0.558332] usb usb8: New USB device found, idVendor=1d6b, idProduct=0003, bcdDevice= 6.02
[    0.558334] usb usb8: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    0.558334] usb usb8: Product: xHCI Host Controller
[    0.558335] usb usb8: Manufacturer: Linux 6.2.8-arch1-1 xhci-hcd
[    0.558335] usb usb8: SerialNumber: 0000:06:00.0
[    0.558403] hub 8-0:1.0: USB hub found
[    0.558406] hub 8-0:1.0: config failed, hub doesn't have any ports! (err -19)
[    0.562994] nvme 0000:04:00.0: platform quirk: setting simple suspend
[    0.563042] nvme nvme0: pci function 0000:04:00.0
[    0.587312] nvme nvme0: allocated 64 MiB host memory buffer.
[    0.605539] nvme nvme0: 8/0/0 default/read/poll queues
[    0.614329]  nvme0n1: p1 p2 p3 p4
[    0.804583] usb 1-3: new high-speed USB device number 2 using xhci_hcd
[    0.804604] usb 3-3: new high-speed USB device number 2 using xhci_hcd
[    0.810134] usb 5-1: new high-speed USB device number 2 using xhci_hcd
[    0.813779] serio: i8042 KBD port at 0x60,0x64 irq 1
[    0.948088] usb 1-3: New USB device found, idVendor=0e8d, idProduct=0608, bcdDevice= 1.00

离线

#12 2023-03-27 18:50:33

LipidRaft
会员
注册时间: 2023-03-11
帖子: 10

Re: [已解决] 笔记本内置PS/2键盘在Linux系统启动后不工作, 但在grub正常工作。

bincker 说:

我也是这款电脑,遇到了同样的问题,楼主解决了没有?
我的键盘是一直亮着的,我还发现有几个组合Fn按键是可以使用的:Fn+F1(睡眠)、Fn+F11(降低屏幕亮度)、Fn+F12(提高屏幕亮度)。
我还发现在系统启动时会有以下错误,不知道有没有帮助:

[    0.558092] usb usb10: SerialNumber: 0000:06:00.3
[    0.558138] hub 10-0:1.0: USB hub found
[    0.558156] hub 10-0:1.0: 1 port detected
[    0.558321] usb usb8: We don't know the algorithms for LPM for this host, disabling LPM.
[    0.558332] usb usb8: New USB device found, idVendor=1d6b, idProduct=0003, bcdDevice= 6.02
[    0.558334] usb usb8: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    0.558334] usb usb8: Product: xHCI Host Controller
[    0.558335] usb usb8: Manufacturer: Linux 6.2.8-arch1-1 xhci-hcd
[    0.558335] usb usb8: SerialNumber: 0000:06:00.0
[    0.558403] hub 8-0:1.0: USB hub found
[    0.558406] hub 8-0:1.0: config failed, hub doesn't have any ports! (err -19)
[    0.562994] nvme 0000:04:00.0: platform quirk: setting simple suspend
[    0.563042] nvme nvme0: pci function 0000:04:00.0
[    0.587312] nvme nvme0: allocated 64 MiB host memory buffer.
[    0.605539] nvme nvme0: 8/0/0 default/read/poll queues
[    0.614329]  nvme0n1: p1 p2 p3 p4
[    0.804583] usb 1-3: new high-speed USB device number 2 using xhci_hcd
[    0.804604] usb 3-3: new high-speed USB device number 2 using xhci_hcd
[    0.810134] usb 5-1: new high-speed USB device number 2 using xhci_hcd
[    0.813779] serio: i8042 KBD port at 0x60,0x64 irq 1
[    0.948088] usb 1-3: New USB device found, idVendor=0e8d, idProduct=0608, bcdDevice= 1.00

最近很忙还没管这个问题,希望有人找到解决办法呢
试了一下, 我是Fn+F1 Fn+F6与Fn+F7(改变键盘背光亮度)可用, 另外检查了一下系统启动的报错, 确实有好几段和你贴的报错类似的内容。

离线

#13 2023-03-28 16:24:30

KafCoppelia
会员
所在地: Beijing, China
注册时间: 2022-06-20
帖子: 148
个人网站

Re: [已解决] 笔记本内置PS/2键盘在Linux系统启动后不工作, 但在grub正常工作。

经典A核内置键盘失灵🤭


二次元开发者

离线

#14 2023-04-18 16:50:16

1sixth
会员
注册时间: 2023-04-18
帖子: 1

Re: [已解决] 笔记本内置PS/2键盘在Linux系统启动后不工作, 但在grub正常工作。

我也在用同款笔记本,测试了一些 ISO,仅供参考:

ISO 文件名                                 | 内核版本              | 能否使用内置键盘
archlinux-2022.09.03-x86_64.iso            | 5.19.6                | Y
archlinux-2022.10.01-x86_64.iso*           | 5.19.12               | N
debian-live-11.6.0-amd64-gnome+nonfree.iso | 5.10.0-20-amd64       | Y
Fedora-Workstation-Live-x86_64-37-1.7.iso  | 6.0.7-301.fc37.x86_64 | N
Fedora-Workstation-Live-x86_64-38-1.6.iso  | 6.2.9-300.fc38.x86_64 | N
ubuntu-20.04.6-desktop-amd64.iso           | 5.15.0-67-generic     | N
ubuntu-22.10-desktop-amd64.iso             | 5.19.0-21-generic     | Y

注:Arch Linux 的 ISO 从 2022.10.01 至 2023.04.01 均不能使用内置键盘

最近编辑记录 1sixth (2023-04-19 17:29:00)

离线

#15 2023-06-15 22:51:14

LipidRaft
会员
注册时间: 2023-03-11
帖子: 10

Re: [已解决] 笔记本内置PS/2键盘在Linux系统启动后不工作, 但在grub正常工作。

最近终于有闲来解决系统的问题。依据这位热心网友的测试,我算是成功使内置键盘正常工作了。但是使用更旧的内核只能是临时的解决方案,不知道有没有人能定位到问题的根源。

1sixth 说:

我也在用同款笔记本,测试了一些 ISO,仅供参考:

ISO 文件名                                 | 内核版本              | 能否使用内置键盘
archlinux-2022.09.03-x86_64.iso            | 5.19.6                | Y
archlinux-2022.10.01-x86_64.iso*           | 5.19.12               | N
debian-live-11.6.0-amd64-gnome+nonfree.iso | 5.10.0-20-amd64       | Y
Fedora-Workstation-Live-x86_64-37-1.7.iso  | 6.0.7-301.fc37.x86_64 | N
Fedora-Workstation-Live-x86_64-38-1.6.iso  | 6.2.9-300.fc38.x86_64 | N
ubuntu-20.04.6-desktop-amd64.iso           | 5.15.0-67-generic     | N
ubuntu-22.10-desktop-amd64.iso             | 5.19.0-21-generic     | Y

注:Arch Linux 的 ISO 从 2022.10.01 至 2023.04.01 均不能使用内置键盘

笔记:

1. 在我的电脑上,新版本的内核并没有抓取到内置键盘的按键事件

Ctrl+Alt+F2打开控制台会话,执行

showkey --scancodes

这时候在外接键盘按下任意按键能看到扫描码输出,而在内置键盘按任何键都没有效果。这说明问题可能出在硬件驱动或者更深层次的内核处理这一步,而和udev无关。
(不可以在图形界面的模拟终端执行上述命令,因为图形界面的终端会抓取键盘事件,使得 showkey 无法获取到)

2. 我安装的内核版本、安装使用旧内核的步骤

参照1sixth的测试,我安装了2022年9月5号时的5.19.6版本的内核。另外同一时间的5.15.64版本的lts版本内核也能使内置键盘正常工作,但是用这个内核的话联网似乎会出现问题。以及,2022年10月1日以后发布的linux和linux-lts似乎确实都不能正常工作。

依据 ALA wiki页面 的帮助,我在清华镜像站的2022年9月5日的下载目录下载了 linux-5.19.6 linux-headers-5.19.6 两个包的.pkg.tar.zst文件。

然后通过下面的命令安装

 sudo pacman -U linux-5.19.6.arch1-1-x86_64.pkg.tar.zst linux-headers-5.19.6.arch1-1-x86_64.pkg.tar.zst 

如果存在多种内核,需要将grub配置为默认选择自己上次选择的内核,在/etc/default/grub中添加:

GRUB_SAVEDEFAULT=true
GRUB_DEFAULT=saved

重新生成 GRUB

sudo grub-mkconfig -o /boot/grub/grub.cfg

修改/etc/pacman.conf以让pacman在更新时忽略新版本内核,在[options]那一栏下加上

 IgnorePkg = linux linux-headers 

然后重启系统即可。

最近编辑记录 LipidRaft (2023-06-16 08:40:59)

离线

页脚