web-dev-qa-db-fra.com

Le pavé tactile Lenovo IdeaPad 330 ne fonctionne pas

Je viens d'acheter un ordinateur portable IdeaPad 330 Lenovo. Quand j'ai installé Ubuntu, le touchpad ne fonctionnait pas. J'ai réussi à installer Ubuntu avec le clavier, en utilisant les boutons de tabulation, d'espace et de saisie. Je pensais que le touchpad allait fonctionner après l'installation, mais pas de chance.

Est-ce que quelqu'un sait comment résoudre ce problème? Cela fonctionne parfaitement sur Windows 10.

5
Isidro Gonzalez

Début août 2018, mon curseur fonctionnait correctement (ELAN 061C) - sans patcher ni compiler le noyau à partir des sources - en effectuant une mise à niveau vers la version 4.18-rc7 mainline build .

Les instructions peuvent être trouvées ici chez TecMint .

5
RJR

Tout espoir n'est pas perdu! J'ai recompilé avec succès le dernier noyau Ubuntu 4.18.0 et ajouté l'identifiant ACPI du pavé tactile elan061C sur le Lenovo 330-15igm que je possède et que j'ai maintenant. un pavé tactile de travail.

Le pavé tactile de la série Lenovo 330 n'est pas détecté au démarrage car son identifiant ACPI n'est pas présent dans le pilote du noyau. Windows L'identifie comme un Elan HID over i2c, le problème de la détection sur le 330 est similaire à celui du portable lenovo 320 mentionné ici: Lenovo Ideapad 320 - Touchpad ne fonctionne pas

et la solution consiste à patcher le noyau de la même manière que ce qui a été fait ici: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1700657

ou comme indiqué ici: https://unix.stackexchange.com/questions/427566/touchpad-on-lenovo-v330-thinkpad-v-series-is-not-recognized/434655#434655

FYI: Contrairement aux autres pavés tactiles elan d'ubunt , j'ai constaté que la modification des paramètres de démarrage avec les options i8042 ne faisait pas de différence pour ce pavé tactile. Ne perdez pas votre temps.

De nombreux ID de périphérique ACPI du pavé tactile elan ne sont toujours pas présents dans la source du pilote du noyau pour elan_i2c_core.c , de sorte qu’il n’ya plus d’espoir pour le moment d’obtenir un bon fonctionnement. pavé tactile sans écrire un module dkms (qui ne fonctionnait pas pour moi) ni compiler un noyau personnalisé.

Veuillez regarder votre sortie pour dmesg | grep i2c et dmesg | grep elan pour voir si un périphérique a même été détecté. J'ai constaté que les noyaux standard et HWE pour Ubuntu 16.04 ne détectaient aucun périphérique Elan ni aucun périphérique de pointage, ce qui indique qu'il manquait quelque chose dans la détection du périphérique i2c dans les noyaux 16.04.

Une installation de 18.04 était capable de voir un périphérique Elan:

user-Lenovo-ideapad-330-15IGM kernel: [    7.396065] i2c_hid i2c-ELAN061C:00: i2c-ELAN061C:00 supply vdd not found, using dummy regulator

mais le pavé tactile ne fonctionne pas et n'enregistre aucune entrée.

Il y a beaucoup d'autres personnes qui ont ce type de problème, comme le le touchpad elan est tout simplement trop récent pour avoir le support du noyau principal.

Si vous voulez que votre appareil fonctionne:

Recherchez votre identifiant ACPI en installant acpidump: Sudo apt install acpidump et en exécutant:

Sudo acpidump | grep -C3 ELAN

(-C3 indique à grep d'inclure les 3 lignes avant et après comme décrit ici: https://stackoverflow.com/questions/9081/grep-a-file-but-show-several-surrounding-lines =)

Mon résultat était:

  0E70: 5F 53 42 2E 47 50 4F 31 00 79 00 08 53 42 46 49  _SB.GPO1.y..SBFI
  0E80: 11 0E 0A 0B 89 06 00 15 01 3C 00 00 00 79 00 14  .........<...y..
  0E90: 46 07 5F 49 4E 49 00 A0 23 93 54 50 54 59 01 70  F._INI..#.TPTY.p
  0EA0: 0D 45 4C 41 4E 30 36 31 43 00 5F 48 49 44 70 0A  .ELAN061C._HIDp.
  0EB0: 15 42 41 44 52 70 01 48 49 44 32 A0 25 93 54 50  .BADRp.HID2.%.TP
  0EC0: 54 59 0A 02 70 0D 53 59 4E 41 32 42 34 38 00 5F  TY..p.SYNA2B48._
  0ED0: 48 49 44 70 0A 2C 42 41 44 52 70 0A 20 48 49 44  HIDp.,BADRp. HID

Notez le ELAN061C sur la ligne médiane!

Vérifiez la sortie pour dmesg | grep i2c et dmesg | grep elan pour voir s’il existe même un périphérique détecté.

Installez un noyau capable de détecter le périphérique. Pour moi, il s'agissait de 4.17.4-041704-generic.

Cet ID de périphérique ACPI n’est toujours pas présent dans la source du pilote du noyau pour elan_i2c_core.c . Il n’ya donc aucun espoir pour le moment d’obtenir un pavé tactile fonctionnel sans écrire un module dkms (qui ne fonctionnait pas pour moi) ou compiler un noyau personnalisé.

Utilisez la toute dernière source de noyau à partir d’ici: http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.17.4/

Appliquez les correctifs les plus récents au compilateur et compilez-le assez facilement en suivant ce guide: Comment appliquer les correctifs du noya

En plus d'installer les dépendances ici: https://help.ubuntu.com/community/Kernel/Compile J'avais également besoin des packages build-essential kernel-package fakeroot libncurses5-dev debhelper libssl-dev libudev-dev xz-utils et bison

à l'étape de personnalisation, j'ai modifié v4.17.4/drivers/input/mouse/elan_i2c_core.c

add ajoute les lignes ci-dessous à elan_i2c_core.c près de la fin du fichier (les flèches sont des commentaires, ne les ajoutez pas au fichier!)

     #ifdef CONFIG_ACPI static const struct acpi_device_id elan_acpi_id[] = {
    { "ELAN0000", 0 },
    { "ELAN0100", 0 },
    { "ELAN0600", 0 },
    { "ELAN0602", 0 },
    { "ELAN0605", 0 },
    { "ELAN0608", 0 },
    { "ELAN0609", 0 },
    { "ELAN060B", 0 },
    { "ELAN060C", 0 },
    { "ELAN0611", 0 },
    { "ELAN0612", 0 },
    { "ELAN0618", 0 },
    { "ELAN061C", 0 },      <-add this 
    { "ELAN061D", 0 },      <- and this for the lenovo 330 with the core i3
    { "ELAN1000", 0 },
    { } }; MODULE_DEVICE_TABLE(acpi, elan_acpi_id);
   #endif

après avoir installé le noyau 4.18.0-rc3-custom nouvellement généré (les correctifs ont mis à jour la source 4.17.4), je suis heureux de signaler que le pavé tactile fonctionne correctement avec les clics gauche, droit et les gestes dans Ubuntu 18.04.

YMMV.

Un merci spécial à Dimitry Torokov et Donald Shanty

3
G Koe

Ubuntu 18.04.2 prend en charge ce pavé tactile prêt à l'emploi.

Pour les utilisateurs de 18.04, le noyau 4.18 peut être désinstallé par

Sudo apt install linux-generic-hwe-18.04
1
Pilot6

Je viens d’acheter un Lenovo IdeaPad 330 Series et lors de l’installation de kubuntu, la première chose que j’ai constatée, c’est que le pavé tactile ne fonctionne pas. Cet article explique très bien pourquoi une telle situation se produit et comment résoudre les problèmes en conséquence. Cela a vraiment beaucoup aidé à surmonter ce problème. Tout ce que j'avais à faire était de mettre à niveau le noyau https://itsfoss.com/upgrade-linux-kernel-ubuntu/ et le touchpad attendait parfaitement après. (vous préférerez peut-être ne pas effectuer la mise à niveau vers la dernière version, mais plutôt celle qui convient le mieux à vos appareils et qui résout le problème.)

1
Greivin Venegas

Compilé le noyau depuis la source 4.18.4, tout fonctionne sauf un clic droit lorsque je clique sur le bouton droit du pavé tactile, mais si je clique deux doigts sur le pavé tactile, un clic droit fonctionne. Malheureusement

Lenovo-ideapad-330-15IKB
Kernel: 4.15.0.30.32

Touchpad complètement inerte.

Téléchargé manuellement et tenté d'installer 4.18.0-041800rc7, mais l'erreur a été erronée à chaque fois.

UKUU installé et recherché 4.18 mais ne pouvait pas l'obtenir.

Je suis allé devant et a dit:

Sudo ukuu --install-latest

et il a essayé d’installer 4.17 mais il a commis une erreur lors de la troisième étape majeure, les deux premiers étant corrects.

Redémarré et fonctionnait toujours 4.15.

A procédé à courir:

Sudo ukuu --install-latest

AGAIN, et cette fois-ci, tout s’est déroulé avec succès, pas d’erreurs, et a indiqué qu’un redémarrage serait nécessaire pour commencer à utiliser le nouveau noyau.

Redémarré.

Entré en cours d'exécution 4.17.14-041714-generic.

Il me passa le doigt sur le pavé tactile, juste pour le plaisir, et cela fonctionnait maintenant. Les redémarrages multiples et le pavé tactile, ça va, tapote, fait défiler, tout fonctionne.

Sudo acpidump | grep -C3 ELAN

résultats:

  E040: 49 32 43 30 5B 82 4A 22 54 50 44 30 08 48 49 44  I2C0[.J"TPD0.HID
  E050: 32 00 08 53 50 45 44 00 08 42 41 44 52 00 14 42  2..SPED..BADR..B
  E060: 08 5F 49 4E 49 00 A0 23 93 54 50 54 59 01 70 0D  ._INI..#.TPTY.p.
  E070: 45 4C 41 4E 30 36 31 44 00 5F 48 49 44 70 0A 15  ELAN061D._HIDp..
  E080: 42 41 44 52 70 01 48 49 44 32 A0 25 93 54 50 54  BADRp.HID2.%.TPT
  E090: 59 0A 02 70 0D 53 59 4E 41 32 42 34 39 00 5F 48  Y..p.SYNA2B49._H
  E0A0: 49 44 70 0A 2C 42 41 44 52 70 0A 20 48 49 44 32  IDp.,BADRp. HID2
--
  E3B0: 54 4D 4C 32 39 35 32 00 5F 48 49 44 70 00 48 49  TML2952._HIDp.HI
  E3C0: 44 32 70 0A 4A 42 41 44 52 70 0C 80 1A 06 00 53  D2p.JBADRp.....S
  E3D0: 50 45 44 A4 00 A0 30 93 53 44 53 31 0A 03 70 0D  PED...0.SDS1..p.
  E3E0: 45 4C 41 4E 32 30 39 37 00 5F 48 49 44 70 01 48  ELAN2097._HIDp.H
  E3F0: 49 44 32 70 0A 10 42 41 44 52 70 0C 80 1A 06 00  ID2p..BADRp.....
  E400: 53 50 45 44 A4 00 A0 30 93 53 44 53 31 0A 04 70  SPED...0.SDS1..p
  E410: 0D 4E 54 52 47 30 30 30 31 00 5F 48 49 44 70 01  .NTRG0001._HIDp.

C'est dedans là deux fois. Une fois en tant que ELAN061D et la deuxième fois en tant que ELAN2097.

Ainsi, cette méthode de mise à niveau du noyau à la version 4.17 à l’aide de UKUU a permis de résoudre le problème du pavé tactile mort.

0
BorrowedWifi