web-dev-qa-db-fra.com

18.04 Le touchpad ITE 8910 du Asus Strix GL703GE ne fonctionne pas

J'ai constaté de nombreux problèmes similaires dans de nombreux problèmes sur toutes sortes de sites, mais aucune des suggestions/solutions ne semble faire une différence. Il semble que ce soit le touchpad redouté Elantech qui est le nouveau chipset sans fil de Broadcom depuis quelques années. J'espère qu'il existe un Tweak/correctif qui n'arrive pas au sommet des recherches sur Google. Ou peut-être qu'une description plus complète/complète du problème aiderait à trouver une solution définitive. Je pensais que je mettrais tout ce que j'ai trouvé et essayé au même endroit comme une sorte de grêle avant d'abandonner.

J'ai un ordinateur portable Asus Strix GL703GE sur lequel j'ai installé Ubuntu 18.04. Le touchpad semble fonctionner parfaitement dans la partition Windows.

Voici le résultat de 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:~$

La Logitech M510 est une souris USB car mon fu uniquement pour clavier n’est pas génial. Cela fonctionne bien sans bricoler.

Voici quelques autres éléments de diagnostic qui pourraient être intéressants:

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

La réponse du synclient me semble étrange, car j’ai effectué une installation appropriée de xserver-xorg-input-synaptics qui ne semble rien changer. Voici la sortie de 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:~$ 

Essayer de Sudo apt install xorg-drivers-synaptics rebondit sur le pilote déjà installé.

J'ai essayé toutes les 8 variantes de ces trois paramètres du noyau:

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

J'ai vérifié dans le BIOS tout ce qui pourrait désactiver le pavé tactile. La seule chose que j'ai trouvée était un paramètre pour le "pointeur interne", si je me souviens bien. Peu importe comment ça s'appelle, c'est activé.

Voici le périphérique d'entrée:

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

J'ai également essayé d'activer le périphérique via xinput, mais en vain:

xinput set-prop 14 "Device Enabled" 1

J'ai vu une suggestion de modifier /usr/share/X11/xorg.conf.d/50-synaptics.conf, mais je n'ai pas ce fichier. J'ai un /usr/share/X11/xorg.conf.d/51-synaptics-quirks.conf qui est rempli de choses qui semblent être complètement hors de propos puisqu'elles pointent toutes vers /dev/input/event*. J'ai trouvé un /usr/share/X11/xorg.conf.d/70-synaptics.conf. J'ai modifié ce fichier pour que le touchpad catchall ressemble à ceci:

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

Mes modifications ont été la ligne TapButton1 Option et l’ajout de deux espaces à MatchDevicePath afin de faire correspondre la tabulation au reste de la configuration.

En cas d’aide, voici le reste des fichiers de ce répertoire:

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

J'ai également exécuté cette commande qui n'a pas activé le pavé tactile:

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

Cela indique probablement l'évidence quelques semaines seulement après la publication, mais voici le noyau:

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

Est-ce que j'ai fait quelque chose de mal? Est-ce que je manque l'interrupteur magique? Y a-t-il autre chose que je puisse essayer? Y a-t-il d'autres informations qui pourraient aider à résoudre ce problème pour trouver une solution? J'ai essayé d'épuiser toutes les solutions raisonnables que je pouvais trouver. Merci!

Edit: Ajouté: J'ai été aveuglé par d'autres solutions, mais je n'ai pas progressé. J'ai supprimé le paquet synaptics apt, mais le faire disparaître n'a eu aucune incidence. Voici un peu plus d'informations qui pourraient être utiles:

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

Voici un journal xorg. C'est probablement me dire quelque chose qui me manque:

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

Après avoir supprimé le package synaptics, je viens d'avoir le fichier par défaut /usr/share/X11/xorg.conf.d/40-libinput.conf. Cela ne fonctionnait pas, donc j’ai ajouté un /usr/share/X11/xorg.conf.d/50-elantech-touchpad.conf légèrement modifié _ que je trouvé ici . La voici avec mes modifications:

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

J'ai changé le MatchProduct pour qu'il corresponde au nom dans xinput et ajouté le MatchDevicePath juste pour m'assurer qu'il ne soit pas mal placé.

Edit2: Ajouté: L'installation du noyau v4.17rc6 sans apporter d'autres modifications n'a pas corrigé le touchpad.

1
mich

Cela a été un problème permanent et j'y ai travaillé avec l'incroyable communauté Ubuntu. Vous devrez mettre à jour au moins la version 4.17.2 du noyau de kernel.org.

Mon premier rapport de bogue: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1777679

Mon deuxième rapport de bogue: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1778087

Quelques informations qui vous aideront à le faire fonctionner: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1777679/comments/28

Vous aurez peut-être besoin d'un script supplémentaire lorsque le pavé tactile se déconnecte:

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

Enregistrez-le sous/usr/local/bin/rsmod et appelez-le avec hid-multitouch lorsque le pavé tactile se déconnecte. (Malheureusement, il n'y a pas de solution pour cela, si vous voulez l'utiliser sur Linux, il se déconnectera de temps en temps jusqu'à ce que les pilotes soient mis à jour)

Edit: Vous avez un pavé tactile ELAN1200, pas Elantech, et il n’est actuellement pas détecté du tout par votre noyau. Si c'était le cas, dans xinput --list, vous verrez ELAN1200 ainsi que ITE8910.

S'il vous plaît laissez-moi savoir si vous avez besoin de plus d'aide.

2
TaiTair

Le noyau 4.20 prend désormais en charge le pavé tactile sans avoir besoin de correctifs personnalisés.

dans Ubuntu 18.04/18.10 juste:

  1. téléchargez le noyau linux-4.20 à partir de kernel.org
  2. décompressez-le dans /usr/src/linux-4.20
  3. copier votre fichier .config existant dans le même répertoire
  4. Sudo make menuconfig (et ensuite sauvegarder dans le "gui")
  5. Sudo make -j8
  6. Sudo fabrique des modules -j8
  7. Sudo fait installer
  8. Sudo make modules_install
  9. Sudo update-initramfs -u
  10. redémarrez avec le noyau 4.20

le touchpad devrait fonctionner maintenant.

Il y a toujours un problème avec ce pavé tactile spécifique: si vous mettez 5 doigts ou le Palm dessus, il perd la connexion et vous devez exécuter Sudo rmmod hid_multitouch && Sudo modprobe hid_multitouch pour le faire fonctionner à nouveau, ce bogue est toujours ouvert: https://bugzilla.kernel.org/show_bug.cgi?id=200663#c60

2
Marc Landolt

J'ai demandé directement à ITE un pilote mais ils ont répondu qu'ils n'avaient pas de pilote:

Cher Landolt,

Merci de nous envoyer un email.
Nous ne possédons aucun pilote de IT8910.

Merci.
Mitch

[informations de contact rédigées par l'éditeur]

Salut

Je viens d'acheter un ordinateur portable ASUS ROG Strix SCAR GL703GE-EE010T doté d'un Tech ITE. Inc. ITE Device (8910) Pavé tactile qui ne fonctionne pas même avec le plus récent noyau Linux 4.17.

Je voudrais donc savoir s’il existe un pilote Linux pour votre périphérique ou au moins un lien GitHub contenant un pilote expérimental?

Cordialement
Marc Landolt

1
Marc Landolt