华硕Strix GL703GE上的18.04 ITE 8910触控板无法正常工作

我已经在各种网站上的众多问题中看到了类似问题的点点滴滴,但没有一个建议/修复似乎有所作为。 看起来这可能是可怕的Elantech触摸板,它是过去几年中新的broadcom无线芯片组。 我希望有一个调整/修复,只是没有达到谷歌搜索的顶部。 或者,对问题进行更全面/完整的描述可能有助于找到明确的解决方案。 我以为我会放弃我发现的所有东西并在一个地方尝试作为一种冰雹玛丽放弃之前。

我有一台Asus Strix GL703GE笔记本电脑,我安装了Ubuntu 18.04。 触摸板似乎在Windows分区中完美运行。

这是xinput的输出:

mich@gordon:~$ xinput ⎡ Virtual core pointer id=2 [master pointer (3)] ⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)] ⎜ ↳ Logitech M510 id=12 [slave pointer (2)] ⎜ ↳ ITE Tech. Inc. ITE Device(8910) id=14 [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)] ↳ Asus Wireless Radio Control id=7 [slave keyboard (3)] ↳ Video Bus id=8 [slave keyboard (3)] ↳ Video Bus id=9 [slave keyboard (3)] ↳ Power Button id=10 [slave keyboard (3)] ↳ Sleep Button id=11 [slave keyboard (3)] ↳ USB2.0 HD UVC WebCam: USB2.0 HD id=13 [slave keyboard (3)] ↳ Asus WMI hotkeys id=15 [slave keyboard (3)] ↳ AT Translated Set 2 keyboard id=16 [slave keyboard (3)] ↳ ITE Tech. Inc. ITE Device(8910) id=17 [slave keyboard (3)] mich@gordon:~$ 

罗技M510是一款USB鼠标,因为我的键盘function不是很好。 它没有任何修补工作正常。

以下是一些可能有趣的其他诊断事项:

 mich@gordon:~$ dmesg | grep -i touch mich@gordon:~$ synclient -l Couldn't find synaptics properties. No synaptics driver loaded? mich@gordon:~$ dmesg | grep i2c [ 1.574177] i2c /dev entries driver [ 3.615795] i2c_hid i2c-ELAN1200:00: i2c-ELAN1200:00 supply vdd not found, using dummy regulator [ 3.616991] i2c_hid i2c-ELAN1200:00: Could not register for ELAN1200:00 interrupt, irq = 130, ret = -1 [ 3.617013] i2c_hid: probe of i2c-ELAN1200:00 failed with error -1 mich@gordon:~$ dmesg | grep i8042 [ 1.567434] i8042: PNP: No PS/2 controller found. [ 1.567434] i8042: Probing ports directly. [ 1.571605] serio: i8042 KBD port at 0x60,0x64 irq 1 [ 1.571611] serio: i8042 AUX port at 0x60,0x64 irq 12 [ 1.580682] input: AT Translated Set 2 keyboard as /devices/platform/i8042/serio0/input/input4 mich@gordon:~$ 

synclient响应对我来说似乎很奇怪,因为我已经完成了xserver-xorg-input-synaptics的apt安装,它似乎没有改变任何东西。 这是dpkg输出:

 mich@gordon:~$ dpkg -l *synaptics* Desired=Unknown/Install/Remove/Purge/Hold | Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend |/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad) ||/ Name Version Architecture Description +++-=======================-================-================-=================================================== un xorg-driver-synaptics   (no description available) ii xserver-xorg-input-syna 1.9.0-1ubuntu1 amd64 Synaptics TouchPad driver for X.Org server mich@gordon:~$ 

尝试sudo apt install xorg-drivers-synaptics跳转到已经安装的驱动程序。

我已经尝试了这三种内核参数的所有8种变体:

 i8042.reset i8042.kbdreset=1 i8042.nomux=1 

我已经检查了BIOS可能会禁用触摸板的任何内容。 如果我没记错的话,我发现的唯一一个是“内部指针”的设置。 无论它被称为什么,它都启用了。

这是输入设备:

 mich@gordon:~$ cat /proc/bus/input/devices .... I: Bus=0003 Vendor=0b05 Product=1869 Version=0110 N: Name="ITE Tech. Inc. ITE Device(8910)" P: Phys=usb-0000:00:14.0-8/input0 S: Sysfs=/devices/pci0000:00/0000:00:14.0/usb1/1-8/1-8:1.0/0003:0B05:1869.0001/input/input9 U: Uniq= H: Handlers=sysrq kbd event7 leds B: PROP=0 B: EV=12001f B: KEY=3007f 0 ffffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffff 130c130b17c007 ffbf7bfad941dfff febeffdfffefffff fffffffffffffffe B: REL=40 B: ABS=ffffff0100000000 B: MSC=10 B: LED=1f .... 

我也试过通过xinput启用设备无济于事:

 xinput set-prop 14 "Device Enabled" 1 

我看到了修改/usr/share/X11/xorg.conf.d/50-synaptics.conf的建议,但我没有该文件。 我有一个/usr/share/X11/xorg.conf.d/51-synaptics-quirks.conf ,里面充满了看起来完全不相干的东西,因为它们都指向/dev/input/event* 。 我找到了/usr/share/X11/xorg.conf.d/70-synaptics.conf 。 我修改了触摸板catchall的文件,如下所示:

 Section "InputClass" Identifier "touchpad catchall" Driver "synaptics" MatchIsTouchpad "on" # This option is recommend on all Linux systems using evdev, but cannot be # enabled by default. See the following link for details: # http://who-t.blogspot.com/2010/11/how-to-ignore-configuration-errors.html Option "TapButton1" "1" MatchDevicePath "/dev/input/event*" EndSection 

我的更改是TapButton1选项行,并为MatchDevicePath添加两个空格以匹配其余配置的选项卡。

如果它有任何帮助,这里是该目录中的其余文件:

 mich@gordon:~$ ls -l /usr/share/X11/xorg.conf.d/ total 36 -rw-r--r-- 1 root root 92 Mar 20 05:02 10-amdgpu.conf -rw-r--r-- 1 root root 206 Apr 18 10:01 10-nvidia.conf -rw-r--r-- 1 root root 1350 Apr 13 08:31 10-quirks.conf -rw-r--r-- 1 root root 92 Mar 20 05:17 10-radeon.conf -rw-r--r-- 1 root root 329 May 21 00:33 11-nvidia-prime.conf -rw-r--r-- 1 root root 945 Apr 11 00:50 40-libinput.conf -rw-r--r-- 1 root root 590 Mar 7 2017 51-synaptics-quirks.conf -rw-r--r-- 1 root root 1785 May 21 00:32 70-synaptics.conf -rw-r--r-- 1 root root 3025 Apr 3 00:39 70-wacom.conf mich@gordon:~$ 

我也运行了这个没有启用触摸板的命令:

 sudo modprobe -r psmouse && sudo modprobe psmouse proto=imps 

这可能是在发布后的几周内显而易见的,但这是内核:

 mich@gordon:~$ uname -r 4.15.0-20-generic mich@gordon:~$ 

我做错什么了吗? 我错过了神奇的开关吗? 还有什么我可以尝试的吗? 是否有更多信息可以帮助解决此问题以找到解决方案? 我试图用尽所有可以找到的合理解决方案。 谢谢!

编辑:补充:我一直在盲目刺激更多的解决方案,但没有取得任何进展。 我删除了synaptics apt软件包,但是将其排除在外并没有任何区别。 这里有一些可能有用的信息:

 mich@gordon:~$ xinput --list-props "pointer:ITE Tech. Inc. ITE Device(8910)" Device 'ITE Tech. Inc. ITE Device(8910)': Device Enabled (174): 1 Coordinate Transformation Matrix (176): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000 libinput Natural Scrolling Enabled (308): 0 libinput Natural Scrolling Enabled Default (309): 0 libinput Middle Emulation Enabled (310): 0 libinput Middle Emulation Enabled Default (311): 0 libinput Left Handed Enabled (312): 0 libinput Left Handed Enabled Default (313): 0 libinput Send Events Modes Available (293): 1, 0 libinput Send Events Mode Enabled (294): 0, 0 libinput Send Events Mode Enabled Default (295): 0, 0 Device Node (296): "/dev/input/event7" Device Product ID (297): 2821, 6249 libinput Drag Lock Buttons (314):  libinput Horizontal Scroll Enabled (315): 1 mich@gordon:~$ 

这是一些xorg日志。 它可能告诉我一些我缺少的东西:

 mich@gordon:~$ cat /var/log/Xorg.0.log ... cropped for clarity ... [ 7.318] (II) config/udev: Adding input device ITE Tech. Inc. ITE Device(8910) (/dev/input/event7) [ 7.318] (**) ITE Tech. Inc. ITE Device(8910): Applying InputClass "libinput pointer catchall" [ 7.318] (**) ITE Tech. Inc. ITE Device(8910): Applying InputClass "libinput keyboard catchall" [ 7.318] (II) Using input driver 'libinput' for 'ITE Tech. Inc. ITE Device(8910)' [ 7.318] (II) systemd-logind: got fd for /dev/input/event7 13:71 fd 51 paused 0 [ 7.318] (**) ITE Tech. Inc. ITE Device(8910): always reports core events [ 7.318] (**) Option "Device" "/dev/input/event7" [ 7.318] (**) Option "_source" "server/udev" [ 7.319] (II) event7 - ITE Tech. Inc. ITE Device(8910): is tagged by udev as: Keyboard Mouse Joystick [ 7.319] (II) event7 - ITE Tech. Inc. ITE Device(8910): device is a pointer [ 7.319] (II) event7 - ITE Tech. Inc. ITE Device(8910): device is a keyboard [ 7.319] (II) event7 - ITE Tech. Inc. ITE Device(8910): device removed [ 7.319] (II) libinput: ITE Tech. Inc. ITE Device(8910): needs a virtual subdevice [ 7.319] (**) Option "config_info" "udev:/sys/devices/pci0000:00/0000:00:14.0/usb1/1-8/1-8:1.0/0003:0B05:1869.0004/input/input9/event7" [ 7.319] (II) XINPUT: Adding extended input device "ITE Tech. Inc. ITE Device(8910)" (type: MOUSE, id 14) [ 7.319] (**) Option "AccelerationScheme" "none" [ 7.319] (**) ITE Tech. Inc. ITE Device(8910): (accel) selected scheme none/0 [ 7.319] (**) ITE Tech. Inc. ITE Device(8910): (accel) acceleration factor: 2.000 [ 7.319] (**) ITE Tech. Inc. ITE Device(8910): (accel) acceleration threshold: 4 [ 7.319] (II) event7 - ITE Tech. Inc. ITE Device(8910): is tagged by udev as: Keyboard Mouse Joystick [ 7.319] (II) event7 - ITE Tech. Inc. ITE Device(8910): device is a pointer [ 7.319] (II) event7 - ITE Tech. Inc. ITE Device(8910): device is a keyboard ... later ... [ 7.327] (**) ITE Tech. Inc. ITE Device(8910): Applying InputClass "libinput pointer catchall" [ 7.327] (**) ITE Tech. Inc. ITE Device(8910): Applying InputClass "libinput keyboard catchall" [ 7.327] (II) Using input driver 'libinput' for 'ITE Tech. Inc. ITE Device(8910)' [ 7.327] (II) systemd-logind: returning pre-existing fd for /dev/input/event7 13:71 [ 7.327] (**) ITE Tech. Inc. ITE Device(8910): always reports core events [ 7.327] (**) Option "Device" "/dev/input/event7" [ 7.327] (**) Option "_source" "_driver/libinput" [ 7.327] (II) libinput: ITE Tech. Inc. ITE Device(8910): is a virtual subdevice [ 7.327] (**) Option "config_info" "udev:/sys/devices/pci0000:00/0000:00:14.0/usb1/1-8/1-8:1.0/0003:0B05:1869.0004/input/input9/event7" ... end of relevant section ... 

删除synaptics软件包后,我只使用了默认的/usr/share/X11/xorg.conf.d/40-libinput.conf文件。 这没用,所以我添加了一个稍微修改过的/usr/share/X11/xorg.conf.d/50-elantech-touchpad.conf ,我在这里找到了 。 这是我的修改:

 mich@gordon:~$ cat /usr/share/X11/xorg.conf.d/50-elantech-touchpad.conf Section "InputClass" Identifier "touchpad" MatchIsTouchpad "on" MatchProduct "8910" MatchDevicePath "/dev/input/event*" Driver "libinput" Option "Tapping" "on" Option "TappingButtonMap" "lmr" Option "DisableWhileTyping" "on" Option "DisableWhileTyping" "on" Option "NaturalScrolling" "on" Option "NaturalScrolling" "twofinger" Option "TappingDrag" "on" Option "TappingDragLock" "on" Option "AccelProfile" "adaptive" Option "AccelSpeed" "0.1" EndSection mich@gordon:~$ 

我更改了MatchProduct以匹配xinput中的名称,并添加了MatchDevicePath以确保它没有到达错误的位置。

编辑2:添加:安装内核v4.17rc6而不进行其他更改没有修复触摸板。

这一直是一个问题,我一直在与令人惊叹的Ubuntu社区合作。 您需要至少从kernel.org更新到内核4.17.2。

我的第一个错误报告: https : //bugs.launchpad.net/ubuntu/+source/linux/+bug/1777679

我的第二个错误报告: https : //bugs.launchpad.net/ubuntu/+source/linux/+bug/1778087

一些有助于您使用它的信息: https : //bugs.launchpad.net/ubuntu/+source/linux/+bug/1777679/comments/28

当触摸板断开连接时,您可能需要额外的脚本:

 #!/bin/bash if [ -z $1 ] then echo 'rsmod unloads and reloads kernel modules with modprobe' echo 'usage: rsmod ' echo 'Requires root privileges' exit 1 fi pkexec bash -c "modprobe -r $1; modprobe $1" 

保存为/ usr / local / bin / rsmod,并在触摸板断开连接时使用hid-multitouch调用它。 (不幸的是,没有解决方法,如果你想在linux上使用它,它会偶尔断开,直到驱动程序更新)

编辑:你有一个ELAN1200触摸板而不是Elantech,你的内核目前根本没有检测到它。 如果是,在xinput –list中你会看到ELAN1200和ITE8910。

如果您需要帮助,请告诉我。

我在ITE直接问了一个司机,但他们说他们没有司机:

亲爱的Landolt,

谢谢你给我们发电子邮件。
我们没有IT8910的任何驱动程序。

谢谢。
米奇

[编辑编辑的联系信息]

你好

我刚买了一台拥有ITE Tech的华硕ROG Strix SCAR GL703GE-EE010T笔记本电脑。 Inc. ITE Device(8910)即使使用最新的4.17 Linux内核也无法工作的触控板。

所以我想知道您的设备周围是否有任何Linux驱动程序,或者至少有一个实验驱动程序的GitHub链接?

亲切的问候
马克兰多尔特

现在有一个解决方案,kenel.org的一个好人修复了它:

在Ubuntu 18.04上,你必须从Kernel.org下载内核14.18.rc6,应用2个补丁并编译它。

评论68 https://bugzilla.kernel.org/show_bug.cgi?id=199911#c68

不幸的是仍然像GE503VS一样出现断线问题。