Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
touchpad_asus [Le 28/08/2014, 12:31] – BeAvEr 94.23.168.216touchpad_asus [Le 15/01/2017, 11:15] (Version actuelle) – obsolète selon la note tout marche à partir du noyau 3.0 L'Africain
Ligne 1: Ligne 1:
-{{tag>Natty touchpad asus}} 
----- 
-======Le touchpad Asus====== 
  
-Le [[:touchpad]] sur un portable [[:asus]] fonctionne à peu près correctement, mais il n'est pas reconnu totalement par le système. En effet, lorsque vous naviguez dans le menu //Système -> Préférences -> Souris//, il n'y a pas d'onglet "Pavé tactile".\\ 
-En suivant la documentation sur les [[:touchpad|touchpads]], il est indiqué d'installer GPointingDeviceSettings cependant aucun pavé tactile n'est détecté. En revanche, une souris "ImPS/2 Logitech Wheel Mouse" est présente... Cette page propose donc de rectifier ce problème en créant un module qui intègre les modifications nécessaires afin de pouvoir l' ajouter au noyau. 
- 
-<note tip>Le pavé tactile est maintenant géré nativement par le kernel 3.0. Il est donc inutile de faire ces manipulations si vous le possédez</note> 
- 
-<note important> 
-Une méthode alternative à celle proposée ici et qui se base sur DKMS(dynamic kernel module system) est décrite ici: [[https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-video-intel/+bug/681904/comments/113|Lien launchpad 1]] 
-Si ce lien ne fonctionne pas, une méthode similaire avec un autre pilote est décrite dans le même fil de commentaires [[https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-video-intel/+bug/681904/comments/64|Lien Launchpad 2]] 
-</note> 
- 
-<note important>Avant de suivre ce qui suit, procédez à une [[:tutoriel:comment_sauver_et_restaurer_un_fichier|sauvegarde du module]] **psmouse.ko ** qui se trouve dans le dossier **/lib/modules/<votre version de noyau>/kernel/drivers/input/mouse/**. Saisissez dans un [[:terminal]] la [[:commande_shell|commande]] suivante:<code> 
-sudo cp /lib/modules/`uname -r`/kernel/drivers/input/mouse/psmouse.ko /lib/modules/`uname -r`/kernel/drivers/input/mouse/psmouse.ko.backup 
-</code></note> 
- 
-<note important>Cette astuce ne semble ne pas fonctionner sous Ubuntu 14.04 kernel 3.13.0-34 : 
-<code> 
-atching file drivers/input/mouse/elantech.c 
-Hunk #2 FAILED at 14. 
-Hunk #3 FAILED at 22. 
-Hunk #4 FAILED at 41. 
-Hunk #5 FAILED at 66. 
-Hunk #6 FAILED at 80. 
-Hunk #7 succeeded at 116 (offset 14 lines). 
-Hunk #8 FAILED at 120. 
-Hunk #9 FAILED at 136. 
-Hunk #10 succeeded at 179 (offset 26 lines). 
-Hunk #11 FAILED at 170. 
-Hunk #12 FAILED at 203. 
-Hunk #13 FAILED at 248. 
-Hunk #14 succeeded at 341 with fuzz 2 (offset 75 lines). 
-Hunk #15 FAILED at 275. 
-Hunk #16 FAILED at 407. 
-Hunk #17 FAILED at 465. 
-Hunk #18 FAILED at 481. 
-Hunk #19 succeeded at 1183 with fuzz 1 (offset 637 lines). 
-Hunk #20 FAILED at 602. 
-Hunk #21 FAILED at 643. 
-Hunk #22 FAILED at 695. 
-Hunk #23 FAILED at 725. 
-Hunk #24 FAILED at 779. 
-Hunk #25 succeeded at 1487 (offset 693 lines). 
-19 out of 25 hunks FAILED -- saving rejects to file drivers/input/mouse/elantech.c.rej 
-patching file drivers/input/mouse/elantech.h 
-Hunk #2 succeeded at 11 with fuzz 2 (offset 3 lines). 
-Hunk #3 FAILED at 61. 
-Hunk #4 FAILED at 72. 
-Hunk #5 FAILED at 91. 
-3 out of 5 hunks FAILED -- saving rejects to file drivers/input/mouse/elantech.h.rej 
- 
-user@user-X550LN:~/src/linux-source-3.13.0$ make -C /usr/src/linux-headers-`uname -r` SUBDIRS=`pwd` drivers/input/mouse/psmouse.ko 
-make: entrant dans le répertoire « /usr/src/linux-headers-3.13.0-34-generic » 
-  CC [M]  /home/user/src/linux-source-3.13.0/drivers/input/mouse/psmouse-base.o 
-  CC [M]  /home/user/src/linux-source-3.13.0/drivers/input/mouse/synaptics.o 
-  CC [M]  /home/user/src/linux-source-3.13.0/drivers/input/mouse/alps.o 
-  CC [M]  /home/user/src/linux-source-3.13.0/drivers/input/mouse/elantech.o 
-/home/user/src/linux-source-3.13.0/drivers/input/mouse/elantech.c: In function ‘elantech_read_reg’: 
-/home/user/src/linux-source-3.13.0/drivers/input/mouse/elantech.c:120:7: error: ‘ETF020030’ undeclared (first use in this function) 
-  case ETF020030: 
-       ^ 
-/home/user/src/linux-source-3.13.0/drivers/input/mouse/elantech.c:120:7: note: each undeclared identifier is reported only once for each function it appears in 
-/home/user/src/linux-source-3.13.0/drivers/input/mouse/elantech.c:121:7: error: ‘ETF0208’ undeclared (first use in this function) 
-  case ETF0208: 
-       ^ 
-/home/user/src/linux-source-3.13.0/drivers/input/mouse/elantech.c:122:7: error: ‘ETF020B00’ undeclared (first use in this function) 
-  case ETF020B00: 
-       ^ 
-/home/user/src/linux-source-3.13.0/drivers/input/mouse/elantech.c:123:7: error: ‘ETF0402’ undeclared (first use in this function) 
-  case ETF0402: 
-       ^ 
-/home/user/src/linux-source-3.13.0/drivers/input/mouse/elantech.c:124:7: error: ‘ETF0401’ undeclared (first use in this function) 
-  case ETF0401: 
-       ^ 
-/home/user/src/linux-source-3.13.0/drivers/input/mouse/elantech.c:125:7: error: ‘ETF0403’ undeclared (first use in this function) 
-  case ETF0403: 
-       ^ 
-/home/user/src/linux-source-3.13.0/drivers/input/mouse/elantech.c:126:7: error: ‘ETF1400’ undeclared (first use in this function) 
-  case ETF1400: 
-       ^ 
-/home/user/src/linux-source-3.13.0/drivers/input/mouse/elantech.c:127:7: error: ‘ETF5900’ undeclared (first use in this function) 
-  case ETF5900: 
-       ^ 
-/home/user/src/linux-source-3.13.0/drivers/input/mouse/elantech.c:129:44: error: ‘register_read’ undeclared (first use in this function) 
-       elantech_ps2_command(psmouse,  NULL, register_read) || 
-                                            ^ 
-/home/user/src/linux-source-3.13.0/drivers/input/mouse/elantech.c: In function ‘elantech_write_reg’: 
-/home/user/src/linux-source-3.13.0/drivers/input/mouse/elantech.c:183:7: error: ‘ETF020030’ undeclared (first use in this function) 
-  case ETF020030: 
-       ^ 
-/home/user/src/linux-source-3.13.0/drivers/input/mouse/elantech.c:184:7: error: ‘ETF0208’ undeclared (first use in this function) 
-  case ETF0208: 
-       ^ 
-/home/user/src/linux-source-3.13.0/drivers/input/mouse/elantech.c:185:7: error: ‘ETF020B00’ undeclared (first use in this function) 
-  case ETF020B00: 
-       ^ 
-/home/user/src/linux-source-3.13.0/drivers/input/mouse/elantech.c:186:7: error: ‘ETF0402’ undeclared (first use in this function) 
-  case ETF0402: 
-       ^ 
-/home/user/src/linux-source-3.13.0/drivers/input/mouse/elantech.c:187:7: error: ‘ETF0401’ undeclared (first use in this function) 
-  case ETF0401: 
-       ^ 
-/home/user/src/linux-source-3.13.0/drivers/input/mouse/elantech.c:188:7: error: ‘ETF0403’ undeclared (first use in this function) 
-  case ETF0403: 
-       ^ 
-/home/user/src/linux-source-3.13.0/drivers/input/mouse/elantech.c:189:7: error: ‘ETF1400’ undeclared (first use in this function) 
-  case ETF1400: 
-       ^ 
-/home/user/src/linux-source-3.13.0/drivers/input/mouse/elantech.c: In function ‘elantech_report_absolute_v2’: 
-/home/user/src/linux-source-3.13.0/drivers/input/mouse/elantech.c:345:24: error: redefinition of ‘etd’ 
-  struct elantech_data *etd = psmouse->private; 
-                        ^ 
-/home/user/src/linux-source-3.13.0/drivers/input/mouse/elantech.c:343:24: note: previous definition of ‘etd’ was here 
-  struct elantech_data *etd = psmouse->private; 
-                        ^ 
-/home/user/src/linux-source-3.13.0/drivers/input/mouse/elantech.c: In function ‘elantech_set_int_attr’: 
-/home/user/src/linux-source-3.13.0/drivers/input/mouse/elantech.c:1191:24: error: ‘ETF020030’ undeclared (first use in this function) 
-  if (etd->hw_version < ETF020030) { 
-                        ^ 
-make[1]: *** [/home/user/src/linux-source-3.13.0/drivers/input/mouse/elantech.o] Erreur 1 
-make: *** [drivers/input/mouse/psmouse.ko] Erreur 2 
-make: quittant le répertoire « /usr/src/linux-headers-3.13.0-34-generic » 
-</code> 
-</note> 
-=====Première méthode===== 
- 
-====Pré-requis ==== 
-[[:tutoriel:comment_installer_un_paquet|Installez les paquets]] **[[apt>linux-source,linux-headers-`uname -r`,build-essential,libncurses5,libncurses5-dev|linux-source linux-headers-`uname -r` build-essential libncurses5 libncurses5-dev]]**\\ 
-Ce qui donne par exemple en ligne de commande à saisir dans un [[:terminal]]: 
-<code> 
-sudo apt-get install linux-source linux-headers-`uname -r` build-essential libncurses5 libncurses5-dev 
-</code> 
-<note>Il est possible que vous ayiez également à installer le paquet des sources :\\ **[[apt>linux-source-`uname -r`]]**</note> 
- 
-====Création du module==== 
- 
-  * Créer un répertoire src dans votre répertoire home et y copier les sources correspondant à votre version. (remplacer VERSION par les références de la votre, que vous pouvez connaître en faisant ls /usr/src/linux-source*.bz2) :<code> 
-mkdir ~/src 
-cd ~/src 
-tar jxvf /usr/src/linux-source-VERSION.tar.bz2 
-cd linux-source-VERSION 
-</code> 
-  * Copier la configuration actuelle :<code> 
-cp /boot/config-VERSION .config 
-make oldconfig 
-</code> 
- 
-<note important>POUR CEUX QUI SONT PASSÉ À LA VERSION 3.0 DU NOYAU, IL N'Y PAS BEAUCOUP DE CHANGEMENT. 
-L'astuce est de faire la procédure avec l'ancienne source (exemple 2.6.38-10)-- vu qu'il n'y a encore de fichier source en version 3.0-- 
- 
-Donc pensez à replacer le "VERSION" par 2.XX ci-dessus.  
-Pour la suite, bien garder l'expression `uname -r`, qui correspond à la version actuelle de votre noyaux. (exemple 3.0.1)</note> 
- 
-  * Vérifier que l'option elantech est active :<code>grep -i elantech .config</code>qui doit renvoyer<code>CONFIG_MOUSE_PS2_ELANTECH=y</code> 
-<note> Si vous avez pour réponse <code># CONFIG_MOUSE_PS2_ELANTECH is not set</code>lancez <code>make menuconfig</code> descendez à la section //Device Drivers ((Pilote de périphérique)) -> Input Device Support ((Prise en charge du périphérique d'entrée)) -> Mice ((Souris)) //. Pressez la barre d'espace à la ligne //Elantech PS/2 protocol extension// ce qui devrait ajouter un astérisque [*] indiquant la bonne sélection. Choisissez ensuite //Exit ((Sortir))// jusqu'à la question << Do you wish to save your new kernel configuration >> où vous surlignerez l'option //YES ((Oui))// afin de sauvegarder la configuration.\\ <note tip>La navigation dans le menu de configuration des modules s'effectue avec les touches du :  
-  * haut (↑) / bas (↓) : pour choisir une ligne 
-  * gauche (<-) / droite (->) : pour surligner les choix proposés dans la barre inférieure //Select ((Sélectionner)) / Exit ((Sortir)) / Help ((Aide))// 
-  * Entrée : pour valider la sélection précédemment surlignée 
-  * Barre espace permet de modifier l'état de la ligne sélectionnée par les flèches haut (↑) / bas (↓) 
-</note> 
-</note>  * Appliquer les patchs<code>wget -O 01elantech_2.6.38.patch https://launchpadlibrarian.net/71387234/01elantech_2.6.38.patch 
-patch -p1 < 01elantech_2.6.38.patch 
-</code> 
-  * Construire le module incluant le patch <code>make -C /usr/src/linux-headers-`uname -r` SUBDIRS=`pwd` drivers/input/mouse/psmouse.ko</code> 
- 
-==== Chargement du module==== 
-Pour vérifier que le module fraichement créé fonctionne, saisissez dans un [[:terminal]] les [[:commande_shell|commandes]] suivantes 
-<code> 
-sudo modprobe -r psmouse 
-sudo insmod drivers/input/mouse/psmouse.ko 
-</code> 
-Un onglet "Pavé tactile" doit être présent dans le menu //Système -> Préférences -> Souris// 
- 
-Si ça n'est pas le cas, déchargez le module : 
-<code>sudo modprobe -r psmouse 
-sudo modprobe psmouse</code> 
-FIXME et ensuite? 
- 
-==== Rendre le changement permanent ==== 
-Pour que le noyau charge ce module à chaque démarrage il vous faut le copier dans le système. 
-<code>sudo cp drivers/input/mouse/psmouse.ko /lib/modules/`uname -r`/kernel/drivers/input/mouse/psmouse.ko</code> 
-Vérifiez que cette copie fonctionne 
-<code> 
-sudo modprobe -r psmouse 
-sudo modprobe psmouse</code> 
- 
-Si toutefois celà ne fonctionnait pas, pour annuler les changements : 
-<code> 
-sudo cp /lib/modules/`uname -r`/kernel/drivers/input/mouse/psmouse.ko.backup /lib/modules/`uname -r`/kernel/drivers/input/mouse/psmouse.ko 
-sudo modprobe -r psmouse 
-sudo modprobe psmouse 
-</code> 
- 
-====Liste des portables pris en charge par le module==== 
- 
-[[:asus_x53sv-sx200v|Asus X53SV-SX200V]]. 
- 
-Asus X53SJ 
- 
-Asus X93S \\ 
- 
-Asus X43SV\\ 
- 
-Asus K52SV \\ 
- 
-//Contributeurs : valroy, alexmic// 
- 
-=====Seconde méthode===== 
- 
-==== Instructions ==== 
- 
-Voici une solution plus simple et plus robuste: 
- 
-  * Installez **[[apt>dkms]]** 
-  * Vérifiez si aucun module //elantech// n'a été installé auparavant  
-  <code> dkms status </code> 
-  * Si un module //elantech// est installé, supprimez-le:  
-  <code> remove -m <module> -v <module-version> --all </code>   
-Exemple: <code> sudo dkms remove -m psmouse -v elantech-lp681904-1 --all </code> 
-  * Il faut maintenant télécharger et installer le nouveau module:  
-  <code> cd /usr/src/ 
-sudo wget http://people.debian.org/~julien/lp681904/psmouse-elantech-lp681904-1.tar.bz2 
-sudo tar jxvf psmouse-elantech-lp681904-1.tar.bz2 
-sudo dkms add -m psmouse -v elantech-lp681904-1 
-sudo dkms build -m psmouse -v elantech-lp681904-1 
-sudo dkms install -m psmouse -v elantech-lp681904-1</code> 
- 
-Redémarrez et votre pavé tactile sera correctement reconnu! 
- 
-====Liste des portables pris en charge par le module==== 
- 
-[[:asus_x53sv-sx111v|Asus X53SV-SX111V]] 
- 
-Samsung NP305U1A 
- 
- 
-//Contributeurs : [[:utilisateurs:BlackEco]] 
- 
-Gedel 
-//