Matériel: Pavé tactile non reconnu (Debian 12)

Tags: #<Tag:0x00007f50a10a1df8>

Bonjour,
je viens chercher de l’aide car je suis nouveau dans le domaine de Linux. J’ai installé Debian 12 en live avec l’environnement de bureau Gnome. J’ai un PC portable Lenovo 14w Gen 2 (récent mais petit). L’installation s’est bien passée, à part le pavé tactile qui n’est pas reconnu. J’utilise donc la souris en attendant. Le pavé n’apparaît même pas dans les paramètres dans la section « souris et pavé tactile ».

J’ai déjà vérifié les pistes suivantes :

  • le bouton de désactivation du pavé tactile
  • si le pavé se désactive quand on branche la souris

J’ai aussi suivi ce TUTO : https://fr.dztechy.com/fix-touchpad-not-working-linux/
Il indique d’entrer cette commande :
cat /proc/bus/input/devices
Mais le pavé tactile n’apparaît pas dans la réponse du terminal. Il indique que, dans ce cas, c’est sûrement un problème de kernel. J’ai donc suivi ce TUTO du wiki Debian :
https://wiki.debian.org/HowToUpgradeKernel
Je l’ai donc mis à jour à la version 6.9.7+bpo amd64 (je ne sais pas ce que « +bpo » signifie).
Ensuite, j’ai refait la commande :
cat /proc/bus/input/devices
Mais le pavé tactile n’apparaît toujours pas.

Je suis perdu. Je ne sais pas d’où vient le problème.
Merci de m’éclairer s’il vous plaît, et merci d’avance pour le temps que vous m’accordez (enfin si quelqu’un répond à ce message), ça me touche beaucoup.

Quel est le contenu du fichier /etc/apt/sources.list ?

Merci pour ta participation. Le fichier « /etc/apt/sources.list » contient :

# See https://wiki.debian.org/SourcesList for more information.
deb http://deb.debian.org/debian bookworm main non-free-firmware
deb-src http://deb.debian.org/debian bookworm main non-free-firmware

deb http://deb.debian.org/debian bookworm-updates main non-free-firmware
deb-src http://deb.debian.org/debian bookworm-updates main non-free-firmware

deb http://security.debian.org/debian-security/ bookworm-security main non-free-firmware
deb-src http://security.debian.org/debian-security/ bookworm-security main non-free-firmware

# Backports allow you to install newer versions of software made available for this release
deb http://deb.debian.org/debian bookworm-backports main non-free-firmware
deb-src http://deb.debian.org/debian bookworm-backports main non-free-firmware

Je n’ai pas touché aux sources car je viens d’installer Debian et n’ai fait aucunne modification à part mettre à jour le noyau. Avec l’outil « software & updates », voici les cases cochées (si ça peut aussi t’aider) :

  • Officiellement pris en charge (main)
  • Non-DFSG-compatible Firmware for Hardware Support (non-free-firmware)
  • Code source

Je ne sais pas trop ce que cela signifie. Je connaît juste la différence entre un coded libre et un code propriétaire.

J’ai trouvé cette page, et le problème semble connu, et je ne vois pas de solution facile si tu as déjà un noyau 6.9 : il s’agirait d’un ELAN touch-pad (track-pad) qui n’est pas reconnu sous Linux et Lenovo dit qu’il ne supporte pas Linux, donc rien à attendre de leur part.

https://forum.mxlinux.org/viewtopic.php?t=78260

Mais cela peut te donner des pistes, il y a quelques liens peut-être à creuser.

Merci infiniment, je vais creuser et voir ce que je peux faire.

Ajoute contrib et non-free pour avoir:

# See https://wiki.debian.org/SourcesList for more information.
deb http://deb.debian.org/debian bookworm main contrib non-free non-free-firmware

Aujourd’hui avec un matériel un tant soit peu récent, il faut tout mettre, main est très insuffisant.

Ensuite, bien sur, il faut faire un apt update et si des mises à jour se présentent un apt upgrade.

C’est bon, j’ai essayé, mais APT dit que tous les paquets sont à jour.

J’ai lu une bonne partie de ce qui était dit sur les forums que « Pled » m’a envoyé. Il y est dit qu’un kernel plus récent résout souvent le problème, et qu’il faut des fois attendre qu’une nouvelle version du kernel soit publiée.
J’ai donc plusieurs questions :

  • faut-il que j’attende qu’une nouvelle version du kernel soit publiée ?
  • le fichier « source.list » a-t-il un impact lors de la mise à jour du kernel ?

Oui, le fichier source.list indique ta version de debian et donc les kernels comme tout autre paquet est mis à jour au fil du temps.
Tu peux attendre un nouveau kernel et croiser les doigts pour ce touchpad soit supporté. Mais si ce touchpad comme je l’ai lu utilise un protocole défini par MS (HID over I2C) et qu’apparemment ce n’est pas simple pour Linux de supporter un tel périphérique, ça peut être compliqué. Tu peux lire la première réponse sur ce post ubuntu par exemple pour en savoir plus sur le problème :

Le fonctionnement a l’air assez erratique car le protocole serait mal appliqué, et ça complique les choses pour le porter dans Linux.

As-tu vérifié dans le BIOS du PC si tu n’as pas une option pour dévalider ce protocole comme il est suggéré ? (ce n’est pas certain du tout, mais une option à vérifier).

Sinon, as-tu regardé ce que donne la commande # dmesg ? y vois-tu qque chose lié au touchpad ?
et que donne la commande # lsmod ? un module est-il chargé ?
Tu peux aussi regarder si tu vois un devices « ELANxxx » ici :
# ls /sys/bus/acpi/devices

Enfin, tu peux ouvrir un terminal, taper $ sudo dmesg -w, puis utiliser la touche de raccourci qui permet d’activer/désactiver le pavé tactile. Et voir si tu as des messages dans le terminal quand tu fais ça…

Tu pourrais aussi tester un live Ubuntu pour voir s’il ne fonctionnerait pas avec cet OS, ou Linux Mint, ou tout autre Linux potentiellement plus à jour concernant le support des périphériques.

J’ai cherché dans le BIOS de l’ordi, mais il est assez sommaire, et il n’y a aucune allusion à « I2C_HID », « EFI » ou quelque chose comme ça, comme indiqué sur le forum Ubuntu.

J’ai donc lancé la commande « dmesg »:

$sudo dmesg

J’ai fait "Ctrc F "car le retour est très long. Résultat: aucune allusion au pavé tactile (touchpad), mais il y a quelques lignes concernant « I2C_HID ». En voici quelques-unes :

i2c_hid_acpi           12288  0
i2c_hid                40960  1 i2c_hid_acpi
hid                   172032  3 i2c_hid,hid_generic,uhid

La commande « lsmod » a aussi donné des infos sur « I2C_HID », mais pas sur le pavé tactile (touchpad):

$ lsmod

Voici un extrait du retour de la commande :

i2c_hid_acpi           12288  0
xhci_hcd              360448  1 xhci_pci
i2c_hid                40960  1 i2c_hid_acpi
crc_t10dif             16384  1 t10_pi
sdhci_pci              98304  0
drm_kms_helper        249856  3 drm_display_helper,amdgpu
crct10dif_generic      12288  0
hid                   172032  3 i2c_hid,hid_generic,uhid

Le programme I2C_HID doit donc être actif, au vu de tous ce résultats (même si ça aide pas beaucoup, au moins on en est sûr).

Je continue de tester les autre pistes que tu m’as donné. N’hésites pas à demander si tu veux les retours complets des commandes. Merci beaucoup pour votre aide, j’espère que ça va fonctionner.

J’ai entré la commande :

ls /sys/bus/acpi/devices

Voici le retour :

ACPI0003:00  device:01  device:10  device:1f    LHK2019:00   LNXVIDEO:00  PNP0C02:02  PNP0C0F:02
AMDI0010:00  device:02  device:11  device:20    LNXCPU:00    NTC0702:00   PNP0C02:03  PNP0C0F:03
AMDI0010:01  device:03  device:12  device:21    LNXCPU:01    PNP0000:00   PNP0C02:04  PNP0C0F:04
AMDI0010:02  device:04  device:13  device:22    LNXCPU:02    PNP0100:00   PNP0C02:05  PNP0C0F:05
AMDI0010:03  device:05  device:14  device:23    LNXCPU:03    PNP0200:00   PNP0C02:06  PNP0C0F:06
AMDI0011:00  device:06  device:15  device:24    LNXCPU:04    PNP0501:00   PNP0C02:07  PNP0C0F:07
AMDI0011:01  device:07  device:16  device:25    LNXCPU:05    PNP0501:01   PNP0C02:08  PNP0C14:00
AMDI0020:00  device:08  device:17  device:26    LNXCPU:06    PNP0501:02   PNP0C02:09  PNP0C14:01
AMDI0020:01  device:09  device:18  device:27    LNXCPU:07    PNP0501:03   PNP0C04:00  PNP0C14:02
AMDI0020:02  device:0a  device:19  device:28    LNXPOWER:00  PNP0800:00   PNP0C09:00  PTL0001:00
AMDI0020:03  device:0b  device:1a  device:29    LNXPWRBN:00  PNP0A08:00   PNP0C0A:00  PTL0003:00
AMDI0030:00  device:0c  device:1b  device:2a    LNXSYBUS:00  PNP0B00:00   PNP0C0C:00  USBC000:00
AMDI0041:00  device:0d  device:1c  DMIC0001:00  LNXSYBUS:01  PNP0C01:00   PNP0C0D:00      VPC2004:00
AMDI0060:00  device:0e  device:1d  ELAN0643:00  LNXSYSTM:00  PNP0C02:00   PNP0C0F:00  YMC2017:00
device:00    device:0f  device:1e  ELAN238E:00  LNXTHERM:00  PNP0C02:01   PNP0C0F:01

Donc pas de ELANxxx ici malheureusement.

J’ai re-entré la commande :

ls /sys/bus/acpi/devices

et quand on appuie sur la touche d’activation / désactivation du pavé, il donne alternativement ces deux résultats :

[ 1486.770408] atkbd serio0: Unknown key pressed (translated set 2, code 0x63 on isa0060/serio0).
[ 1486.770451] atkbd serio0: Use 'setkeycodes 63 <keycode>' to make it known.
[ 1486.771900] atkbd serio0: Unknown key released (translated set 2, code 0x63 on isa0060/serio0).
[ 1486.771938] atkbd serio0: Use 'setkeycodes 63 <keycode>' to make it known.

[ 1487.637417] atkbd serio0: Unknown key pressed (translated set 2, code 0x62 on isa0060/serio0).
[ 1487.637460] atkbd serio0: Use 'setkeycodes 62 <keycode>' to make it known.
[ 1487.657676] atkbd serio0: Unknown key released (translated set 2, code 0x62 on isa0060/serio0).
[ 1487.657729] atkbd serio0: Use 'setkeycodes 62 <keycode>' to make it known.

essaye sudo apt install xinput puis xinput --list

suivre ensuite ce qui se trouve sur ce post :

J’ai suivi tes instructions, mais à « xinput --list », il répond:

xinput --list

Retour de la commande :

WARNING: running xinput against an Xwayland server. See the xinput man page for details.
⎡ Virtual core pointer                    	id=2	[master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer              	id=4	[slave  pointer  (2)]
⎜   ↳ xwayland-pointer:14                     	id=7	[slave  pointer  (2)]
⎜   ↳ xwayland-relative-pointer:14            	id=8	[slave  pointer  (2)]
⎜   ↳ xwayland-pointer-gestures:14            	id=9	[slave  pointer  (2)]
⎣ Virtual core keyboard                   	id=3	[master keyboard (2)]
    ↳ Virtual core XTEST keyboard             	id=5	[slave  keyboard (3)]
    ↳ xwayland-keyboard:14

Là, il ne mentionne pas de pavé tactile, et pas de « ELAN ».

Si, tu as as bien tes devices ELAN d’affichés dans tes devices. C’est déjà une bonne chose.

Pour le pavé tactile, les touches de raccourcis ne sont manifestement pas définies : donc soit tu les affectes (paramètres-clavier-raccourcis), soit tu passes par « paramètres-souris et pavé tactile » pour activer/désactiver le touchpad, toujours avec la fenêtre dmesg -w ouverte.

Concernant xinput, comme tu es sur Wayland et pas sur X11, il faut que tu installes :
# sudo apt install libinput-tools
puis tu tapes :
# sudo libinput list-devices

Malheureusement, il n’y a absolument rien sur le pavé tactile, ni dans la page « souris et pavé tactile des paramètres », ni dans les racourcis claviers personalisés.

Pour revenir à ce que tu disais hier, installer un autre OS permettrait d’avoir un kernel plus récent ? Dans quelle mesure cela peut-il aider ?

Oui, certaines ditributions Linux intègrent plus vite certains pilotes (yc certains pilotes propriétaires comme fait Ubuntu) pour reconnaître le plus de périphs possibles, et simplifier la vie de l’utilisateur.

Créer une clef USB bootable avec une image « Live » c’est rapide et cela te permettrait de démarrer un Ubuntu, ou un Linux Mint sans rien installer et de voir si par hasard le Touchpad était reconnu et géré correctement.
Tu pourrais aussi tester un Manjaro Live (c’est du Arch Linux, on n’est plus sur une base Debian) mais c’est une autre distribution reconnue pour sa détection hardware (de ce que je lis).

C’est une façon simple d’essayer de trouver une solution rapide. Si l’une de ces distribs fonctionne, à moins que tu ne veuilles Debian à tout prix, c’est une solution.

SI tu veux continuer :

Pour en revenir au touchpad ELAN, j’ai démarré mon laptop ASUS et je me suis rendu compte le touchpad était aussi un ELAN : et il fonctionne très bien sous Debian 12 Bookworm.
J’ai vu par ailleurs dans mon BIOS une option dans « Advanced » appelée « Internal Pointing Device » (Enable/Disabled) qui concerne le Touchpad. Elle doit être à Enable, bien sûr.

Pour aller plus loin, il faudrait dans l’idéal identifier ton modèle de Touchpad, et vérifier qu’il y a bien un bug de créé côté kernel, sinon il est aléatoire d’attendre un nouveau noyau qui va résoudre ton problème.

As-tu testé la commande avec libinput indiquée plus haut ?
Que donne un « sudo journalctl -b 0 » ? vois-tu qque chose concernant ton touchpad ?
Voilà ce que j’ai chez moi pour info :

juil. 10 23:44:35 pascal-UX301LAA kernel: psmouse serio4: elantech: assuming hardware version 4 (with firmware version 0x671f07)
juil. 10 23:44:35 pascal-UX301LAA kernel: psmouse serio4: elantech: Synaptics capabilities query result 0x40, 0x15, 0x0e.
juil. 10 23:44:35 pascal-UX301LAA kernel: psmouse serio4: elantech: Elan sample query result 08, 11, a8
juil. 10 23:44:35 pascal-UX301LAA kernel: input: ETPS/2 Elantech Touchpad as /devices/platform/i8042/serio4/input/input11

La commande libinput donne aucune info sur le pavé tactile :

$ sudo libinput list-devices

Et la commande ci dessous donne un retour d’au moins mille lignes.

$ sudo journalctl -b 0

Mais en ne lisant que les lignes jaunes et rouge, j’ai trouvé ça :

août 14 11:20:33 noe-lenovo kernel: atkbd serio0: Unknown key pressed (translated set 2, code 0x63 on isa0060/serio0).
août 14 11:20:33 noe-lenovo kernel: atkbd serio0: Use 'setkeycodes 63 <keycode>' to make it known.
août 14 11:20:33 noe-lenovo kernel: atkbd serio0: Unknown key released (translated set 2, code 0x63 on isa0060/serio0).
août 14 11:20:33 noe-lenovo kernel: atkbd serio0: Use 'setkeycodes 63 <keycode>' to make it known.
août 14 11:20:34 noe-lenovo kernel: atkbd serio0: Unknown key pressed (translated set 2, code 0x62 on isa0060/serio0).
août 14 11:20:34 noe-lenovo kernel: atkbd serio0: Use 'setkeycodes 62 <keycode>' to make it known.
août 14 11:20:34 noe-lenovo kernel: atkbd serio0: Unknown key released (translated set 2, code 0x62 on isa0060/serio0).
août 14 11:20:34 noe-lenovo kernel: atkbd serio0: Use 'setkeycodes 62 <keycode>' to make it known.

Je vais tester Ubuntu et manjaro en Live, ça coûte rien d’essayer. Je ne vais peut être pas le faire tout de suite car je suis en train de déménager, et j’ai pas mal de choses à faire. Je vous retiens au courant dès que j’ai du nouveau.

Ok, c’est bien de tester les deux OS en Live, ça permettra d’y voir plus clair.

Ce que tu as trouvé dans journalctl, c’est probablement quand tu as appuyé sur la touche non programmée pour le touchpad.
Oui, c’est beaucoup de lignes, mais tu peux faire des recherches en tapant par exemple « /elantech » ou « /Touchpad » (si je me fie à ce que j’ai sur mon laptop) pour aller directement à la bonne zone…

Enfin, c’est mieux de mettre la sortie des commandes que de tirer toi-même la conclusion (cde libinput par exemple), qque chose peut t’échapper comme quand tu as tapé ls /sys/bus/acpi/devices et que tu n’avais pas vu les fichiers ELANxxxx.

Autre question : j’imagine que tu as gardé le Windows pré-installé sur la machine et que le touchpad fonctionne ? Ce serait utile d’aller voir comment Windows identifie ce Touchpad, pour avoir le modèle précis, soit via le gestionnaire de périphériques, soit avec l’outil « msinfo32 » .

En attendant, bon déménagement, et dis-nous ce que donne le test des Live distribs…