我最近在我的新 Dell Latitude 5590 笔记本上安装了 Debian 9,当时我意识到指点杆以及触摸板上方的三个按钮不起作用。它们可以在 Ubuntu 中开箱即用。
但在 Debian 中,输入甚至没有列出xinput
:
- Virtual core pointer id=2 [master pointer (3)]
- Virtual core XTEST pointer id=4 [slave pointer (2)]
- DELL0817:00 044E:121F Touchpad id=11 [slave pointer (2)]
- Virtual core keyboard id=3 [master keyboard (2)]
- Virtual core XTEST keyboard id=5 [slave keyboard (3)]
- Power Button 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)]
- Integrated_Webcam_HD id=10 [slave keyboard (3)]
- Intel HID events id=12 [slave keyboard (3)]
- AT Translated Set 2 keyboard id=13 [slave keyboard (3)]
- Dell WMI hotkeys id=14 [slave keyboard (3)]
虚拟核心指针实际上应该列出另一个项目:
- "DualPoint Stick"
有没有办法可以查看内核是否识别输入?
dmesg
输出粘贴在这里:https://pastebin.com/AmQR5d93
Xorg.1.log
输出粘贴在这里:https://pastebin.com/8JqMKADV
使用 apt-pinning 更新到 buster/sid 后:
dmesg
输出:https://pastebin.com/2QcN2FVn
Xorg.1.log
输出:https://pastebin.com/XWrdB8QV
答案1
我有同样的机器,并且还安装了 Debian 9。
在普通安装中,您需要安装以下内容:
apt-get install build-essential && gcc && g++ && linux-headers-$(uname -r) && bison && flex && bc && libssl-dev && libelf-dev
我想我现在已经拥有了它们......如果我忘记了某些东西,它会进一步抱怨 - 如果是这样,请安装丢失的软件包。
接下来,从 kernel.org 下载最新的内核并解压。当我写这篇文章时,它是4.17.10
cd 到解压的文件夹,例如
root@e5590:/home/****/kernelCompile/linux-4.17.10/linux-4.17.10# ls
arch Documentation Kbuild mm scripts vmlinux
block drivers Kconfig modules.builtin security vmlinux.o
built-in.a firmware kernel modules.order sound
certs fs lib Module.symvers System.map
COPYING include LICENSES net tools
CREDITS init MAINTAINERS README usr
crypto ipc Makefile samples virt
.config
接下来在您安装的内核头文件中搜索,例如
find / -name .config
它会告诉你它在哪里...
现在将其复制.config
到当前文件夹,例如
cp /usr/src/linux-headers-4.9.0-7-amd64/.config .
接下来你发出:
make -j$(nproc)
它会问你很多问题:) - 在我们的例子中,只需继续按 Enter 接受所有默认值
它将开始构建......耐心等待......
完成后,您可以执行以下操作:
make modules_install
进而
make install
一旦完成问题
reboot
你会看到它使用新内核启动 - 你还会注意到 wifi 驱动程序错误消失了,并且你将拥有指点仪和触摸板功能 - 就像我一样......我真的很喜欢我的指点仪:)
编辑:通过添加修复启动期间电脑扬声器错误
blacklist pcspkr
到
/etc/modprobe.d/blacklist.conf
这样就100%没问题了。
我希望它对你有用。
亲切的问候
答案2
部分答案:
谷歌搜索“044E:121F Touchpad”(供应商和设备 ID)会发现 dmesg 转储,其中包含以下行
1523306746.828230 input: DELL0817:00 044E:121F as /devices/pci0000:00/0000:00:15.1/i2c_designware.1/i2c-2/i2c-DELL0817:00/0018:044E:121F.0001/input/input9
1523306746.828384 hid-generic 0018:044E:121F.0001: input,hidraw0: I2C HID v1.00 Mouse [DELL0817:00 044E:121F] on i2c-DELL0817:00
1523306746.868226 input: DELL0817:00 044E:121F Mouse as /devices/pci0000:00/0000:00:15.1/i2c_designware.1/i2c-2/i2c-DELL0817:00/0018:044E:121F.0001/input/input10
1523306746.868387 input: DELL0817:00 044E:121F Touchpad as /devices/pci0000:00/0000:00:15.1/i2c_designware.1/i2c-2/i2c-DELL0817:00/0018:044E:121F.0001/input/input11
1523306746.868444 input: DELL0817:00 044E:121F UNKNOWN as /devices/pci0000:00/0000:00:15.1/i2c_designware.1/i2c-2/i2c-DELL0817:00/0018:044E:121F.0001/input/input12
1523306746.868503 input: DELL0817:00 044E:121F UNKNOWN as /devices/pci0000:00/0000:00:15.1/i2c_designware.1/i2c-2/i2c-DELL0817:00/0018:044E:121F.0001/input/input13
1523306746.868574 input: DELL0817:00 044E:121F UNKNOWN as /devices/pci0000:00/0000:00:15.1/i2c_designware.1/i2c-2/i2c-DELL0817:00/0018:044E:121F.0001/input/input14
1523306746.868631 hid-multitouch 0018:044E:121F.0001: input,hidraw0: I2C HID v1.00 Mouse [DELL0817:00 044E:121F] on i2c-DELL0817:00
所以可能这是一个基于 I2C 的 HID 设备,您需要 I2C 控制器的内核模块(您的intel_lpss_pci
,在此转储中它是一个不同的控制器),并且您还需要i2c-hid
和hid-multitouch
。
内核模块位于内核中,因此您需要为 Debian 9 编译自己的内核并启用这些模块,或者将您的 apt 固定到 Debian 9(谷歌“apt pinning”),将较新的 Debian 发行版添加到 apt,然后安装较新的版本内核来自那些希望它默认包含模块的人。
查看您的 Ubuntu 内核版本也可能有帮助。
编辑
您的第二个Xorg.1.log
(如果正确)表明 X 识别了您的触摸板:
[ 718.090] (II) config/udev: Adding input device DELL0817:00 044E:121F Touchpad (/dev/input/event10)
[ 718.091] (**) DELL0817:00 044E:121F Touchpad: Applying InputClass "libinput touchpad catchall"
[ 718.091] (II) Using input driver 'libinput' for 'DELL0817:00 044E:121F Touchpad'
[ 718.091] (**) DELL0817:00 044E:121F Touchpad: always reports core events
[ 718.091] (**) Option "Device" "/dev/input/event10"
[ 718.091] (**) Option "_source" "server/udev"
[ 718.092] (II) input device 'DELL0817:00 044E:121F Touchpad', /dev/input/event10 is tagged by udev as: Touchpad
[ 718.092] (II) input device 'DELL0817:00 044E:121F Touchpad', /dev/input/event10 is a touchpad
[ 718.112] (**) Option "config_info" "udev:/sys/devices/pci0000:00/0000:00:15.1/i2c_designware.1/i2c-7/i2c-DELL0817:00/0018:044E:121F.0001/input/input10/event10"
[ 718.112] (II) XINPUT: Adding extended input device "DELL0817:00 044E:121F Touchpad" (type: TOUCHPAD, id 11)
[ 718.113] (**) Option "AccelerationScheme" "none"
[ 718.113] (**) DELL0817:00 044E:121F Touchpad: (accel) selected scheme none/0
[ 718.113] (**) DELL0817:00 044E:121F Touchpad: (accel) acceleration factor: 2.000
[ 718.113] (**) DELL0817:00 044E:121F Touchpad: (accel) acceleration threshold: 4
[ 718.114] (II) input device 'DELL0817:00 044E:121F Touchpad', /dev/input/event10 is tagged by udev as: Touchpad
[ 718.114] (II) input device 'DELL0817:00 044E:121F Touchpad', /dev/input/event10 is a touchpad
但出于某种原因,它看起来像是添加了两次。第二个 dmesg 还显示驱动程序已正确初始化。所以某物改变了。现在你能看到它吗xinput
?如果你不能,可能添加两次会搞砸一些事情,但这是我第一次看到这种情况。