Pour ceux qui ont suivie mes aventures sur #fedora-fr, je me suis récemment (reçue le 26/11/2005 tout de même) acheté une télécommande infra rouge pour ma station de travail. Après avoir parcouru les différents commentaires, mon choix c’est tourné vers une ATI Remote Wonder II pour la principale raison que la version I était parfaitement compatible et reconnue sous Linux… Malheureusement pour moi, ce n’est absolument pas le cas de la version II qui n’est pas reconnue par le module ati_remote (de base dans les kernel Linux > 2.6.14).
J’ai donc entrepris de parcourir les différentes littératures et d’essayer les différentes techniques allant du module ati_remote à LIRC, en passant par HAL, mais sans succès. C’est essentiellement grâce au blog de Ludovic Drouard et à quelques échanges par mails avec son auteur que j’ai compris où était mon problème : l’absence du module lirc_atiusb.
Je vais donc reprendre pas à pas dans ce billet la technique que j’ai utilisé pour faire fonctionner mon ATI Remote Wonder II sous Fedora Core 4 en utilisant le daemon LIRCD.
Les logiciels, modules et daemons nécessaires :
Si votre yum est bien configuré, vous ne devrez pas avoir de problème pour télécharger lirc (s’il n’est pas déjà installé) ainsi que lirc-devices et lirc-kmdl-2.6.14-x.xxxx. C’est ce dernier qui me manquait :-). Attention cependant lirc-devices et lirc-kmdl sont présents dans le dépôt ATrpms réservé aux experts, faites donc attention de ne pas mettre tout votre système à jour à partir de ce dernier car des conflits pourrez apparaître. Contentez vous d’y prendre ces 2 paquets.
Lancement de LIRCD :
Votre télécommande est-elle bien reconnue sous Fedora :
[llaumgui] ~> /sbin/lsusb
Bus 003 Device 003: ID 046d:c308 Logitech, Inc. Internet Navigator Keyboard
Bus 003 Device 002: ID 046d:c025 Logitech, Inc. MX500 Optical Mouse
Bus 003 Device 001: ID 0000:0000
Bus 002 Device 003: ID 04a9:108d Canon, Inc.
Bus 002 Device 002: ID 0471:0602 Philips
Bus 002 Device 001: ID 0000:0000
Bus 001 Device 001: ID 0000:0000
Pas de panique, votre ATI est bien identifiée mais sous le nom de Philips, fabriquant du contrôleur IR :-). Ensuite, chargeons le module lirc_atiusb :
[llaumgui] ~> su
Password:
17:58:18 up 2:42, 2 users, load average: 0.10, 0.25, 0.39
Kernel: 2.6.14-1.1653_FC4 (#1 Tue Dec 13 21:32:09 EST 2005)
[root] /home/llaumgui> /sbin/modprobe lirc_atiusb
Puis, lançon lircd :
/usr/sbin/lircd --nodaemon -D
lircd-0.7.2[6709]: started server socket
lircd-0.7.2[6709]: parsing remote
lircd-0.7.2[6709]: parsing /etc/lircd.conf remote
lircd-0.7.2[6709]: config file read
lircd-0.7.2[6709]: lircd(any) ready
Dans une autre fenêtre lançons irw et appuyons sur des touches de la télécommande, une réaction doit se passer dans la première fenêtre. Votre télécommande est alors reconnue. Il ne vous reste plus qu’a maper toutes vos touches avec irrecord (irrecord /etc/lircd.conf) ou à utiliser mon fichier /etc/lircd.conf.
Utilisation de LIRC dans vos applications :
Tout d’abord, comment savoir si une application est compatible LIRC : Si la doc ne vous donne rien, lancez lircd en mode débug et regardez si votre application s’y connecte, dans le cas de Totem :
[root] /home/llaumgui> /usr/sbin/lircd --nodaemon -D
lircd-0.7.2[6899]: started server socket
lircd-0.7.2[6899]: parsing remote
lircd-0.7.2[6899]: parsing /etc/lircd.conf remote
lircd-0.7.2[6899]: config file read
lircd-0.7.2[6899]: lircd(any) ready
lircd-0.7.2[6899]: registering local client
lircd-0.7.2[6899]: accepted new client on /dev/lircd
lircd-0.7.2[6899]: driver supports receiving
Totem est donc bien compatible avec LIRC. Ensuite si vous avez bien mapé votre télécommande, chaque touches a un nom associé dans votre fichier /etc/lircd.conf. Pour utiliser votre télécommande dans Totem, il suffit d’associer le nom d’une touche à une action. Pour cela, vous pouvez vous inspirez de mon fichier ~/.lircrc.conf et l’adapter en consultant la doc.
Il existe un petit utilitaire bien sympathique, irexec qui permet de lancer une ligne de commande à partir de votre télécommande ainsi, chez moi, la touche DVD lance Totem alors que la touche »TV’ lancera tvtime. LIRC contient plusieurs petits applicatifs du même genre, et vous pouvez en voir la liste ici.
Lancer lircd et irrexec au démarrage :
Pour lancer irexec au démarrage, utilisez le gestionnaire de session : « Bureau / Préférences / Sessions« , onglet « Programmes au démarrage« .
Pour lancer lircd au démarrage, vous pouvez aussi utiliser l’interface graphique : « Bureau / Paramètres système / Paramètres de serveurs / Services ou bien la commande chkconfig.