Publié le : 11/05/2021

Activer le Touchpad d’un Lenovo IdeaPad 5 sous Linux Debian

Problème touchpad du Lenovo IdeaPad 5 sous Linux

Le TouchPad du Lenovo IdeaPad 5 ne fonctionnait pas quand en l’utilisait sur une distribution Linux. Ainsi, pour aider les personnes qui peuvent avoir ce problème, nous avons écrit cet article. Alors, dans cet article nous allons vous aider à corriger ce problème et à profiter de votre laptop sous Linux.

Cause du problème du Touchpad du Lenovo IdeaPad 5 qui ne fonctionne pas sous Linux

Avant de vous donner une solution pour résoudre ce problème de TouchPad, donnons d’abord la cause du problème. Le problème a été mentionné sur le forum de Lenovo. Et sa cause est l’utilisation du driver elants_i2c intégré par le noyau. Et malheureusement, il s’agit de la valeur par défaut qui est utilisé dans tous les noyaux linux actuellement. Nous avons fait le test depuis la version 5.5 jusqu’à la version 5.10 qui est la dernière version au moment de la rédaction de cet article.

Résoudre le problème

Au cours des différents recherche que nous avons mené pour résoudre ce problème de Touchpad qui ne fonctionne pas sous un Lenovo IdeaPad 5 sous Linux, nous vons vu 2 solutions. Mais avant de parler de ces solutions, expliquons d’abord ce qu’il faut faire pour rendre fonctionnel le Touchpad.

Nous avons vu dans la section précédente que la cause du problème est l’utilisation par le noyau du pilote elants_i2c. De ce fait, pour corriger le problème, nous ne devons plus utiliser ce pilote. Pour ce faire, nous avons 2 solutions qui sont :

  • modification du noyau pour qu’il (le noyau) n’utilise plus le pilote elants_i2c ;
  • ne plus utiliser le pilote elants_i2c au démarrage de la machine.

Nous n’allons pas expliquer la première solution, car il est difficile à comprendre pour les novices. En effet, dans cette solution il faut installer un nouveau noyau, et pour un novice, cette opération est assez difficile.

Pour la deuxième solution, nous allons utilisé l’unité du SystemD. C’est cette unité qui est lancé à chaque démarrage du système. Pour créer l’unité, nous allons créer un fichier touchpadfix.service.

$ sudo vim /etc/systemd/system/touchpadfix.service

Et à l’intérieur du fichier, nous allons ajouter les codes suivantes :

[Unit]
Description=Fix touchpad issue by binding correct driver

[Service]
ExecStart=/usr/local/bin/touchpadfix
Type=oneshot
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target

Une fois le fichier touchpadfix.servie est créé et sauvegardé, nous allons créer un fichier exécutable touchpadfix.

$ sudo vim  /usr/local/bin/touchpadfix

Et le contenu de ce fichier est :

#!/bin/bash
modprobe i2c_hid
echo "i2c-ELAN0001:00" > /sys/bus/i2c/drivers/elants_i2c/unbind
echo "i2c-ELAN0001:00" > /sys/bus/i2c/drivers/i2c_hid/bind

Ensuite, il faut rendre exécutable ce fichier avec les commandes suivantes :

$ sudo chmod +x /usr/local/bin/touchpadfix
$ sudo systemctl daemon-reload
$ sudo systemctl enable --now touchpadfix.service

Une fois ces manipulations faites, le Touchpad du Lenovo IdeaPad 5 fonctionnera correctement sous Linux. Profitez maintenant de votre Laptop !!!

Les mots clés rattachés à cet article : Debian  -  Lenovo  -  Linux  -  Ubuntu

Nos clients

Une vingtaine de clients nationaux et internationaux