Bonjours,
j'ai le touchpad ETPS/2 Elantech utilisant le protocol v4 de la même compagnie tel que présenté ici :
https://www.kernel.org/doc/Documentation/input/elantech.txt
et j'ai 2 problème d'implémentation. Soit :
1. le bouton de droit qui ne fonctionne pas. En fait, j'ai pu le corriger dans le kernel. (j'aimerais faire un commit dans le trunk mais je ne sais pas comment m'y prendre).
2. le bouton de gauche devient le bouton de droit. Il fau que je touche le touchpad et que je fasse des clicks gauches pour réanimer mon bouton de gauche comme il doit fonctionner. Je suspecte un problème d'implémetation du protocole.
1. La patch est ici :
http://superuser.com/questions/619582/right-elantech-touchpad-button-not-working-in-linux
Cette patch réactive le bouton de droit. Ce bouton c'est fait désactiver par quelqu'un qui utilisait un Mac. Par contre, je n'ai pas un Mac et j'ai un touchpad avec la même version du firmware soit la version 4. J'ai tenter d'automatiser son build avec dkms mais c'est sans succès.
Pour ce qui est du DKMS, voici ce que j'ai fait (non, le tar.gz fournis ne fonctionne pas plus et est préparer exactement comme je le prépare ici) :
- J'ai créé le dossier /usr/src/psmouse-elantech-v7right
- j'ai été chercher la source rpm officielle de mon kernel et j'ai copié le dossier suivant de la source drivers/input/mouse vers /usr/src/psmouse-elantech-v7right/src
- j'ai créé le ficher dkms suivant sour le nom de /usr/src/psmouse-elantech-v7right/dkms.conf:
PACKAGE_NAME="psmouse"
PACKAGE_VERSION="elantech-v7right"
CLEAN="rm -f *.*o"
BUILT_MODULE_NAME[0]="psmouse"
MAKE[0]="make -C $kernel_source_dir M=$dkms_tree/$PACKAGE_NAME/$PACKAGE_VERSION/build/src psmouse.ko"
BUILT_MODULE_LOCATION[0]="src"
DEST_MODULE_LOCATION[0]="/updates"
AUTOINSTALL="yes
Seulement, ça me sort ça comme erreur (0 module buildé) :
DKMS make.log for psmouse-elantech-v7mike for kernel 3.11.5-302.fc20.x86_64 (x86_64)
Fri Oct 18 07:50:11 EDT 2013
make: Entering directory `/usr/src/kernels/3.11.5-302.fc20.x86_64'
CC /var/lib/dkms/psmouse/elantech-v7mike/build/src/psmouse-base.o
CC /var/lib/dkms/psmouse/elantech-v7mike/build/src/synaptics.o
CC /var/lib/dkms/psmouse/elantech-v7mike/build/src/alps.o
CC /var/lib/dkms/psmouse/elantech-v7mike/build/src/elantech.o
CC /var/lib/dkms/psmouse/elantech-v7mike/build/src/logips2pp.o
CC /var/lib/dkms/psmouse/elantech-v7mike/build/src/lifebook.o
CC /var/lib/dkms/psmouse/elantech-v7mike/build/src/sentelic.o
CC /var/lib/dkms/psmouse/elantech-v7mike/build/src/trackpoint.o
CC /var/lib/dkms/psmouse/elantech-v7m echo 0x02 | sudo dd of=debugike/build/src/cypress_ps2.o
LD /var/lib/dkms/psmouse/elantech-v7mike/build/src/psmouse.o
MODPOST 0 modules
make: Leaving directory `/usr/src/kernels/3.11.5-302.fc20.x86_64'
J'ai fait un peu de recherche et j'ai compris que psmouse est intégré statiquement dans le kernel sans qu'il soit un module par défaut. Ça serait l'erreur de DKMS car DKMS a besoin de ne pas détecter psmouse.ko en tant que module dynamique... Bon, pourquoi je ne vais pas jouer dans les source du kernel et le builder ? Parce que c'est ça que je veux éviter parce que c'est long.... (mais ça marche !!). J'aimerais donc faire un commit à la Linux Fondation. Peut-être que les développeurs de Fedora peuvent m'aider à l'intégrer le plus tôt possible ? (j'utilise fedora 20 updates-testing #justsayin')
2. Pour ce qui est du 2e point, j'essaie bel et bien de débugguer le protocol de Elantech et je n'arrive pas à faire un match du debug des packets du module avec le code source ou bien le protocol.
Juste comme ça, pour mettre un driver basé sur psmouse (c'est le cas de la plupart des souris) en debug, il faut aller dans le dossier suivant : /sys/bus/serio/drivers/psmouse/serio{1,2,3,4}/
et faire
echo 0x02 | sudo dd of=debug
Bref, pour terminer, j'aimerais savoir où je peux trouver une place aka wiki plus approprié pour documenter mon portable et mon matériel.
Merci de vous être rendu jusque là !^^
Au plaisir,
Michael