18.04 ITE 8910 тачпад на Asus Strix GL703GE не работает

Я видел частички подобных проблем в многочисленных проблемах на разных сайтах, но ни одно из предложений / исправлений, похоже, не имеет значения. Похоже, это может быть ужасная сенсорная панель Elantech, которая была новым беспроводным чипсетом Broadcom в течение последних нескольких лет. Я надеюсь, что есть твик / исправление, которое просто не попадает в топ поисковых запросов Google. Или, может быть, более полное / полное описание проблемы поможет найти окончательное решение. Я думал, что я положу все, что я нашел и попробовал в одном месте, как своего рода град Мэри, прежде чем сдаться.

У меня есть ноутбук 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:~$

Logitech M510 - это USB-мышь, так как моя клавиатура не очень хороша. Работает нормально без всяких поворотов.

Вот несколько других диагностических вещей, которые могут быть интересны:

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:~$

Синклиентный ответ мне кажется странным, так как я сделал подходящую установку xserver-xorg-input-synaptics который, казалось, ничего не меняет. Вот вывод 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   <none>           <none>           (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, Я изменил этот файл для тачпада, чтобы он выглядел так:

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):   <no items>
    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, чтобы убедиться, что он не попал в неправильное место.

Edit2: Добавлено: установка ядра v4.17rc6 без внесения других изменений не исправила тачпад.

3 ответа

Теперь ядро ​​4.20 поддерживает сенсорную панель без специальных патчей.

в убунту 18.04/18.10 просто:

  1. загрузите ядро ​​linux-4.20 с kernel.org
  2. распакуйте его в /usr/src/linux-4.20
  3. скопируйте существующий файл.config в тот же каталог
  4. sudo сделать menuconfig (и затем сохранить в "графическом интерфейсе")
  5. sudo make -j8
  6. модули sudo -j8
  7. sudo сделать установку
  8. sudo make modules_install
  9. sudo update-initramfs -u
  10. перезагрузка с ядром 4.20

тачпад должен работать сейчас.

С этой конкретной сенсорной панелью все еще есть проблема: если вы положите 5 пальцев или ладонь на нее, она теряет соединение, и вам нужно запустить sudo rmmod hid_multitouch && sudo modprobe hid_multitouch, чтобы она снова заработала, эта ошибка все еще открыта: https://bugzilla.kernel.org/show_bug.cgi?id=200663

Это была постоянная проблема, и я работал над ней с удивительным сообществом Ubuntu. Вам нужно будет обновить ядро ​​до версии 4.17.2 с сайта kernel.org.

Мой первый отчет об ошибке: 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 <kernelmodulename>'
        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 непосредственно для водителя, но они говорят, что у них нет водителя:

Дорогой Ландольт,

Спасибо за письмо нам.
У нас нет драйверов IT8910.

Благодарю.
Митч

[контактная информация отредактирована редактором]

Привет

Я только что купил ноутбук ASUS ROG Strix SCAR GL703GE-EE010T с технологией ITE. ITE Device(8910) Сенсорная панель, которая не работает даже с самым новым 4.17 ядром Linux.

Итак, я хотел бы знать, есть ли какой-нибудь драйвер Linux для вашего устройства или хотя бы ссылка на GitHub, где есть экспериментальный драйвер?

С наилучшими пожеланиями
Марк Ландольт

Другие вопросы по тегам