18.04 ITE 8910 touchpad no Asus Strix GL703GE não funciona

0

Eu vi alguns problemas semelhantes em vários problemas em todos os tipos de sites, mas nenhuma das sugestões / correções parece fazer a diferença. Parece que este pode ser o touchpad Elantech temido que tem sido o novo chipset wireless broadcom nos últimos anos. Espero que haja um ajuste / correção que não esteja chegando ao topo das pesquisas do Google. Ou talvez uma descrição mais completa / completa do problema ajudaria a encontrar uma solução definitiva. Eu pensei em colocar tudo o que encontrei e tentei em um lugar como uma espécie de granizo antes de desistir.

Eu tenho um laptop Asus Strix GL703GE no qual eu instalei o Ubuntu 18.04. O touchpad parece funcionar perfeitamente bem na partição do Windows.

Aqui está a saída do 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:~$

O Logitech M510 é um mouse USB, pois o meu teclado não é ótimo. Funciona bem sem qualquer conserto.

Aqui estão algumas outras coisas de diagnóstico que podem ser interessantes:

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

A resposta do synclient parece estranha para mim, pois eu fiz uma instalação do apt de xserver-xorg-input-synaptics que não parece mudar nada. Aqui está a saída do 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:~$ 

Tentando sudo apt install xorg-drivers-synaptics passar para o driver que já está instalado.

Eu tentei todas as 8 variações desses três parâmetros do kernel:

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

Eu verifiquei o BIOS para qualquer coisa que possa estar desativando o touchpad. A única coisa que eu encontrei foi uma configuração para o "ponteiro interno", se bem me lembro. Seja lá o que foi chamado, está habilitado.

Este é o dispositivo de entrada:

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
  ....

Eu também tentei ativar o dispositivo via xinput sem sucesso:

xinput set-prop 14 "Device Enabled" 1

Eu vi uma sugestão para modificar /usr/share/X11/xorg.conf.d/50-synaptics.conf , mas não tenho esse arquivo. Eu tenho um /usr/share/X11/xorg.conf.d/51-synaptics-quirks.conf que é preenchido com coisas que parecem ser completamente irrelevantes, pois todas elas apontam para /dev/input/event* . Eu encontrei um /usr/share/X11/xorg.conf.d/70-synaptics.conf . Eu modifiquei esse arquivo para o catchall do touchpad para ficar assim:

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

Minhas alterações foram a linha Opção TapButton1 e a adição de dois espaços ao MatchDevicePath para corresponder à tabulação do restante da configuração.

Caso seja de alguma ajuda, aqui está o resto dos arquivos nesse diretório:

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

Eu também executei este comando que não ativou o touchpad:

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

Isso provavelmente está dizendo o óbvio apenas algumas semanas após o lançamento, mas aqui está o kernel:

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

Eu fiz algo errado? Eu estou sentindo falta do interruptor mágico? Há mais alguma coisa que eu possa tentar? Existe mais alguma informação que possa ajudar a solucionar isso para encontrar uma solução? Eu tentei esgotar todas as soluções razoáveis que pude encontrar. Obrigado!

Editar: Adicionado: Eu tenho feito tentativas cegas em mais soluções, mas não fiz nenhum progresso. Eu removi o pacote synaptics apt, mas tirar isso do caminho não fez nenhuma diferença. Veja mais algumas informações que podem ser úteis:

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

Aqui está um log do xorg. Provavelmente está me dizendo algo que eu sinto falta:

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 ... 

Depois de remover o pacote synaptics, acabei de ter o arquivo /usr/share/X11/xorg.conf.d/40-libinput.conf padrão. Isso não funcionou, então eu adicionei um /usr/share/X11/xorg.conf.d/50-elantech-touchpad.conf ligeiramente modificado que eu encontrei aqui . Aqui está com minhas modificações:

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

Alterei o MatchProduct para corresponder ao nome no xinput e adicionei o MatchDevicePath apenas para garantir que ele não fosse para o lugar errado.

Edit2: adicionado: Instalar o kernel v4.17rc6 sem fazer outras alterações não corrigiu o touchpad.

    
por mich 21.05.2018 / 09:58

3 respostas

1

Este tem sido um problema contínuo e eu tenho trabalhado nisso com a incrível comunidade Ubuntu. Você precisará atualizar para pelo menos o kernel 4.17.2 do kernel.org.

Meu primeiro relatório de bug: link

Meu segundo relatório de bug: link

Algumas informações que ajudarão você a trabalhar: link

Você pode precisar de um script extra para quando o touchpad desconectar:

#!/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"

Salve isso como / usr / local / bin / rsmod e chame-o com hid-multitouch quando o touchpad desconectar. (Infelizmente não há uma solução alternativa para isso, se você quiser usá-lo no linux, ele será desconectado ocasionalmente até que os drivers sejam atualizados)

Edit: Você tem um touchpad ELAN1200 que não é Elantech, e atualmente ele não é detectado pelo seu kernel. Se fosse, no xinput --list, você veria o ELAN1200 e o ITE8910.

Por favor, deixe-me saber se você precisar de mais ajuda.

    
por TaiTair 18.07.2018 / 23:56
0

Eu perguntei diretamente ao ITE por um motorista, mas eles disseram que não tinham driver:

Dear Landolt,

Thank you for email us.
We do not own any driver of IT8910.

Thanks.
Mitch

[informações de contato editadas pelo editor]

Hello

I just bought a ASUS ROG Strix SCAR GL703GE-EE010T Laptop that has a ITE Tech. Inc. ITE Device(8910) Touchpad that does not work even with the newest 4.17 Linux Kernel.

So I would like to know if there is any Linux Driver around for your device or at least a GitHub link where there is an experimental driver?

With kind regards
Marc Landolt

    
por Marc Landolt 12.07.2018 / 08:58
0

Existe uma solução agora, um cara legal no kenel.org resolveu:

No Ubuntu 18.04 você deve fazer o download do Kernel 14.18.rc6 formulário Kernel.org, aplicar 2 patches e compilá-lo.

Comentário 68 link .

Infelizmente ainda temos os mesmos problemas de desconexão como no GE503VS.

    
por Marc Landolt 26.07.2018 / 18:40