更新 BIOS 和内核后触摸板不再被识别

更新 BIOS 和内核后触摸板不再被识别

在尝试修复我的一些功能键时,我决定更新我的BIOS。虽然这没有解决我原来的问题,但我的触摸板不再工作了!

最初,在第一次重新启动后,它仍然出现在/proc/bus/input/devices和中xinput,但似乎不起作用。然后,Ubuntu(19.10)提示我安装很多新的更新。

首先,我无法再从 GRUB2 启动到 ubuntu(我与 Windows 运行双启动),尽管通过将我的内核更改为vmlinuz-5.3.0-19-generic条目中的(我相信是从 4.​​xx-23)很快就解决了这个问题。

然后,在最终成功重新启动后,我的触摸板不再出现/proc/bus/input/devicesxinput根本不再出现!我设法找到的唯一跟踪是以下输出dmesg

[    2.471492] psmouse serio4: elantech: assuming hardware version 4 (with firmware version 0x461f01)
[    2.474830] systemd[1]: /lib/systemd/system/dbus.socket:4: ListenStream= references a path below legacy directory /var/run/, updating /var/run/dbus/system_bus_socket → /run/dbus/system_bus_socket; please update the unit file accordingly.
[    2.487000] psmouse serio4: elantech: Synaptics capabilities query result 0x00, 0x16, 0x0d.
[    2.504567] psmouse serio4: elantech: Elan sample query result 01, 7b, 75
[    2.534034] systemd[1]: Listening on initctl Compatibility Named Pipe.
[    2.534644] systemd[1]: Created slice User and Session Slice.
[    2.534709] systemd[1]: Listening on udev Kernel Socket.
[    2.534797] systemd[1]: Listening on Journal Socket (/dev/log).
[    2.534806] systemd[1]: Reached target Slices.
[    2.535269] psmouse serio4: elantech: Trying to set up SMBus access
[    2.557682] EXT4-fs (sdb5): re-mounted. Opts: errors=remount-ro
[    2.560654] lp: driver loaded but no devices found
[    2.569821] ppdev: user-space parallel port driver
[    2.712339] Adding 2097148k swap on /swapfile.  Priority:-2 extents:5 across:2260988k SSFS
[    2.748547] elan_i2c 0-0015: 0-0015 supply vcc not found, using dummy regulator
[    2.756831] elan_i2c 0-0015: failed to get product ID: -71
[    2.803035] elan_i2c 0-0015: failed to get product ID: -71
[    2.847035] elan_i2c 0-0015: failed to get product ID: -71
[    2.883114] elan_i2c: probe of 0-0015 failed with error -71

有人知道如何解决这个问题吗?


编辑:

LinuxSecurityFreak 的建议我尝试使用以下命令激活触摸板:

sudo rmmod elan_i2c
sudo modprobe elan_i2c

之后,触摸板再次出现在/proc/bus/input/devices和中xinput!但是..还是不行。

/var/log/syslog报告以下内容sudo rmmod elan_i2c

Nov 20 14:19:25 User xdg-desktop-por[1895]: Failed to get application states: GDBus.Error:org.freedesktop.portal.Error.Failed: Could not get window list: GDBus.Error:org.freedesktop.DBus.Error.AccessDenied: App introspection not allowed
Nov 20 14:20:03 User /usr/lib/gdm3/gdm-x-session[1695]: (II) config/udev: removing device Elan Touchpad
Nov 20 14:20:03 User /usr/lib/gdm3/gdm-x-session[1695]: (**) Option "fd" "56"
Nov 20 14:20:03 User /usr/lib/gdm3/gdm-x-session[1695]: (II) event16 - Elan Touchpad: device removed
Nov 20 14:20:03 User /usr/lib/gdm3/gdm-x-session[1695]: (II) UnloadModule: "libinput"
Nov 20 14:20:03 User /usr/lib/gdm3/gdm-x-session[1695]: (II) systemd-logind: releasing fd for 13:80
Nov 20 14:20:03 User /usr/lib/gdm3/gdm-x-session[1695]: (EE) systemd-logind: failed to release device: Device not taken

和对于sudo modprobe elan_i2c

Nov 20 14:20:06 User kernel: [  359.718149] elan_i2c 0-0015: 0-0015 supply vcc not found, using dummy regulator
Nov 20 14:20:06 User kernel: [  359.726146] elan_i2c 0-0015: failed to get product ID: -71
Nov 20 14:20:06 User kernel: [  359.775575] elan_i2c 0-0015: Elan Touchpad: Module ID: 0x0000, Firmware: 0x0000, Sample: 0x0000, IAP: 0x0000
Nov 20 14:20:06 User kernel: [  359.776325] input: Elan Touchpad as /devices/pci0000:00/0000:00:1f.4/i2c-0/0-0015/input/input26
Nov 20 14:20:06 User /usr/lib/gdm3/gdm-x-session[1695]: (II) config/udev: Adding input device Elan Touchpad (/dev/input/mouse1)
Nov 20 14:20:06 User /usr/lib/gdm3/gdm-x-session[1695]: (II) No input driver specified, ignoring this device.
Nov 20 14:20:06 User /usr/lib/gdm3/gdm-x-session[1695]: (II) This device may have been added with another device file.
Nov 20 14:20:06 User /usr/lib/gdm3/gdm-x-session[1195]: (II) config/udev: Adding input device Elan Touchpad (/dev/input/mouse1)
Nov 20 14:20:06 User /usr/lib/gdm3/gdm-x-session[1195]: (II) No input driver specified, ignoring this device.
Nov 20 14:20:06 User /usr/lib/gdm3/gdm-x-session[1195]: (II) This device may have been added with another device file.
Nov 20 14:20:06 User /usr/lib/gdm3/gdm-x-session[1695]: (II) config/udev: Adding input device Elan Touchpad (/dev/input/event16)
Nov 20 14:20:06 User /usr/lib/gdm3/gdm-x-session[1695]: (**) Elan Touchpad: Applying InputClass "libinput touchpad catchall"
Nov 20 14:20:06 User /usr/lib/gdm3/gdm-x-session[1695]: (II) Using input driver 'libinput' for 'Elan Touchpad'
Nov 20 14:20:06 User /usr/lib/gdm3/gdm-x-session[1195]: (II) config/udev: Adding input device Elan Touchpad (/dev/input/event16)
Nov 20 14:20:06 User /usr/lib/gdm3/gdm-x-session[1195]: (**) Elan Touchpad: Applying InputClass "libinput touchpad catchall"
Nov 20 14:20:06 User /usr/lib/gdm3/gdm-x-session[1195]: (II) Using input driver 'libinput' for 'Elan Touchpad'
Nov 20 14:20:06 User /usr/lib/gdm3/gdm-x-session[1695]: (II) systemd-logind: got fd for /dev/input/event16 13:80 fd 66 paused 0
Nov 20 14:20:06 User /usr/lib/gdm3/gdm-x-session[1695]: (**) Elan Touchpad: always reports core events
Nov 20 14:20:06 User /usr/lib/gdm3/gdm-x-session[1695]: (**) Option "Device" "/dev/input/event16"
Nov 20 14:20:06 User /usr/lib/gdm3/gdm-x-session[1695]: (**) Option "_source" "server/udev"
Nov 20 14:20:06 User /usr/lib/gdm3/gdm-x-session[1695]: (II) event16 - Elan Touchpad: is tagged by udev as: Touchpad
Nov 20 14:20:06 User /usr/lib/gdm3/gdm-x-session[1195]: (II) systemd-logind: got fd for /dev/input/event16 13:80 fd 30 paused 1
Nov 20 14:20:06 User /usr/lib/gdm3/gdm-x-session[1195]: (II) systemd-logind: releasing fd for 13:80
Nov 20 14:20:06 User /usr/lib/gdm3/gdm-x-session[1695]: (II) event16 - Elan Touchpad: device is a touchpad
Nov 20 14:20:06 User /usr/lib/gdm3/gdm-x-session[1695]: (II) event16 - Elan Touchpad: device removed
Nov 20 14:20:06 User /usr/lib/gdm3/gdm-x-session[1695]: (**) Option "config_info" "udev:/sys/devices/pci0000:00/0000:00:1f.4/i2c-0/0-0015/input/input26/event16"
Nov 20 14:20:06 User /usr/lib/gdm3/gdm-x-session[1695]: (II) XINPUT: Adding extended input device "Elan Touchpad" (type: TOUCHPAD, id 14)
Nov 20 14:20:06 User /usr/lib/gdm3/gdm-x-session[1695]: (**) Option "AccelerationScheme" "none"
Nov 20 14:20:06 User /usr/lib/gdm3/gdm-x-session[1695]: (**) Elan Touchpad: (accel) selected scheme none/0
Nov 20 14:20:06 User /usr/lib/gdm3/gdm-x-session[1695]: (**) Elan Touchpad: (accel) acceleration factor: 2.000
Nov 20 14:20:06 User /usr/lib/gdm3/gdm-x-session[1695]: (**) Elan Touchpad: (accel) acceleration threshold: 4
Nov 20 14:20:06 User /usr/lib/gdm3/gdm-x-session[1695]: (II) event16 - Elan Touchpad: is tagged by udev as: Touchpad
Nov 20 14:20:06 User /usr/lib/gdm3/gdm-x-session[1695]: (II) event16 - Elan Touchpad: device is a touchpad

奇怪的是,再次运行相同的命令,触摸板再次消失,并sudo modprobe elan_i2c给出不同的输出:

ov 20 14:22:19 User kernel: [  492.932593] elan_i2c 0-0015: 0-0015 supply vcc not found, using dummy regulator
Nov 20 14:22:19 User kernel: [  492.940679] elan_i2c 0-0015: failed to get product ID: -71
Nov 20 14:22:19 User kernel: [  492.986685] elan_i2c 0-0015: failed to get product ID: -71
Nov 20 14:22:19 User kernel: [  493.034988] elan_i2c 0-0015: failed to get product ID: -71
Nov 20 14:22:19 User kernel: [  493.074890] elan_i2c: probe of 0-0015 failed with error -71

答案1

AskUbuntu 上的这个问题似乎是完全相同的错误,相应的答案解决了我的问题。简而言之:

  • 启动后运行sudo sh -c 'echo -n "elantech"> /sys/bus/serio/devices/serio1/protocol'以使触摸板正常工作,或者
  • 添加psmouse.elantech_smbus=0到启动选项以在启动时修复。

相关内容