Dernière mise à jour : 14/02/2012 à 16h53
Table des matières
Présentation
Un petit tuto TRES largement inspiré pour ne pas dire copié de la page suivante :
Pour ma part, j'ai une télécommande MediaCenterEdition, de la marque Philips, qui utilisait sur les précédentes version mceusb2. Maintenant, le module de ma télécommande est mceusb et est directement intégré dans le noyau...
La gestion des télécommandes a radicalement changé depuis l'introduction des modules de gestion des télécommandes dans le noyau ( =⇒ 2.6.35)
Ce qui a changé
Depuis la version 2.6.35 (à confirmer), les modules de gestion des télécommandes ont été directement introduit dans les sources du noyau. Ce n'est plus vous qui décidez d'utiliser tel ou tel module pour la gestion de la télécommande, mais c'est le noyau qui décide. Udev détecte votre récepteur et installe le module approprié. Par ailleurs la ré-écriture des modules a conduit à une certaine uniformité dans la gestion des télécommandes. La majeure partie des récepteurs sont désormais vues comme des périphériques d'entrée et assimilé à un clavier.
Ce qui conduit votre télécommande à être directement opérationnelle sans avoir besoin d'installer lirc. Mais en théorie seulement car pour le moment ce mode est totalement inutilisable, toutes les touches des télécommandes ne sont pas reconnues et quand elles sont reconnues, elles le sont selon le clavier US.
Il faut donc encore avoir recours à lirc et faire en sorte que la télécommande ne réagisse plus comme un clavier.
Comment identifier la situation
Pour savoir si vous êtes dans la situation décrite précédemment, tapez dans une console :
Code BASH :
$ dmesg | grep input
si vous voyez quelque chose comme cela :
dmesg | grep input :
Code BASH :
input: Media Center Ed. eHome Infrared Remote Transceiver (0471:0815) as /devices/pci0000:00/0000:00:1a.0/usb3/3-2/3-2:1.0/rc/rc1/input5
Confirmez avec cette commande :
Code BASH :
$ cat /proc/bus/input/devices
qui doit vous fournir quelque chose comme cela :
cat /proc/bus/input/devives/ :
Code BASH :
I: Bus=0003 Vendor=0471 Product=0815 Version=0000 N: Name="Media Center Ed. eHome Infrared Remote Transceiver (0471:0815)" P: Phys=usb-0000:00:1a.0-2 S: Sysfs=/devices/pci0000:00/0000:00:1a.0/usb3/3-2/3-2:1.0/rc/rc1/input5 U: Uniq= H: Handlers=kbd event5 B: PROP=0 B: EV=100013 B: KEY=fff 0 108fc326 217605100000000 0 700158000 419000000001 209e968000000000 10000000 B: MSC=10
On voit que le driver du récepteur est “kbd” (pour keyboard) et que chez moi, il est disponible sous /dev/input/event5
Comment procéder
Il faut réaliser 2 étapes :
- Installer lirc
- Configurer lirc avec les bons paramètres
Installer lirc
Dans le centre de contrôle de mageia (CCM) --> installer des logiciels.
A ce jour (12 fev 2012) la version de lirc dispo est 0.9.0.1.1.mga.1 en x86_64 (à installer avec ses dépendances)
on ne prend pas les dkms, qui sont probablement des relicats des anciennes versions
et comme j'utilise KDE j'ajoute kremotecontrol
Configurer lirc
Configurer le matériel
Procédons dans l'ordre des liens entre les fichiers de configuration. Commençons par le fichier de configuration du démon de lirc (lircd) pour qu'il utilise le bon driver et le bon périphérique.
Dans mageia 1 le fichier de configuration est :
/etc/sysconfig/lircd
Modifions ce fichier selon le modèle suivant :
Code :
# Customized settings for lirc daemon
# The hardware driver to use, run lircd --driver=? for a list
DRIVER="devinput"
# Hardware driver module to load
HWMOD=""
DEVICE=/dev/input/by-path/pci-0000:00:1a.0-usb-0:2:1.0-event
Le DRIVER est devinput, car la télécommande est déjà reconnue par le système
HWMOD reste vide puisque le module mceusb est inclu dans le noyau
Pour identifier le DEVICE :
Code BASH :
$ ls -la /dev/input/by-path/
ls -la /dev/input/by-path/ :
Code BASH :
total 0 drwxr-xr-x 2 root root 160 févr. 12 09:23 ./ drwxr-xr-x 4 root root 280 févr. 12 09:23 ../ lrwxrwxrwx 1 root root 9 févr. 12 09:23 pci-0000:00:1a.0-usb-0:2:1.0-event -> ../event5 lrwxrwxrwx 1 root root 9 févr. 12 09:23 pci-0000:00:1d.2-usb-0:2:1.0-event-kbd -> ../event2 lrwxrwxrwx 1 root root 9 févr. 12 09:23 pci-0000:00:1d.2-usb-0:2:1.1-event-mouse -> ../event3 lrwxrwxrwx 1 root root 9 févr. 12 09:23 pci-0000:00:1d.2-usb-0:2:1.1-mouse -> ../mouse0 lrwxrwxrwx 1 root root 9 févr. 12 09:23 pci-0000:00:1d.7-event-ir -> ../event4 lrwxrwxrwx 1 root root 9 févr. 12 09:23 pci-0000:00:1d.7-usb-0:1:1.0-event -> ../event6
Ici la télécommande répond au doux nom de pci-0000:00:1a.0-usb-0:2:1.0-event
on notera donc DEVICE=/dev/input/by-path/pci-0000:00:1a.0-usb-0:2:1.0-event
Configuration des boutons
Passons maintenant au fichier de configuration de la télécommande. Ce fichier est propre au type de télécommande que vous utilisez. J'ignore pour quelles raisons, mais aucun fichiers de configuration fournit ne fonctionnait avec ma télécommande. J'ai donc créé de la manière suivante :
Tous d'abord, on arrête lirc (normalement il n'est pas lancé mais par précaution) :
Code BASH :
# /etc/init.d/lircd stop
On lance l'application suivante :
Code BASH :
# irrecord -H devinput -d /dev/input/by-path/pci-0000:00:1a.0-usb-0:2:1.0-event -n /etc/lirc/lircd.conf
Petit bémol, cette appli est entièrement en anglais... mais dans les grandes lignes ça donne ceci :
Le premier message :
Code BASH :
irrecord - application for recording IR-codes for usage with lirc Copyright (C) 1998,1999 Christoph Bartelmus(lirc@bartelmus.de) This program will record the signals from your remote control and create a config file for lircd. A proper config file for lircd is maybe the most vital part of this package, so you should invest some time to create a working config file. Although I put a good deal of effort in this program it is often not possible to automatically recognize all features of a remote control. Often short-comings of the receiver hardware make it nearly impossible. If you have problems to create a config file READ THE DOCUMENTATION of this package, especially section "Adding new remote controls" for how to get help. If there already is a remote control of the same brand available at http://www.lirc.org/remotes/ you might also want to try using such a remote as a template. The config files already contain all parameters of the protocol used by remotes of a certain brand and knowing these parameters makes the job of this program much easier. There are also template files for the most common protocols available in the remotes/generic/ directory of the source distribution of this package. You can use a template files by providing the path of the file as command line parameter. Please send the finished config files to <lirc> so that I can make them available to others. Don't forget to put all information that you can get about the remote control in the header of the file. Press RETURN to continue.
Ca c'est du baratin, on s'en moque... on presse la touche <entrée>
Code BASH :
Now start pressing buttons on your remote control. It is very important that you press many different buttons and hold them down for approximately one second. Each button should generate at least one dot but in no case more than ten dots of output. Don't stop pressing buttons until two lines of dots (2x80) have been generated. Press RETURN now to start recording.
Là le logiciel demande de presser plusieurs boutons sur la télécommande en restant appuyé environ 1seconde. Chaque bouton doit faire apparaître au moins 1 point à l'écran mais pas plus de 10 ! et ne pas faire plus de 2 lignes de points...
Code :
#Plusieurs lignes d'infos sur la précédente détection... que je n'ai pas copiées
Please enter the name for the next button (press <ENTER> to finish recording)
traduction : Entrez le nom d'un bouton, et appuyez sur <entrée>
puis vous appuyer sur ce bouton sur la télécommande.
L'invite précédente revient, et vous recommencez pour un autre bouton... et ainsi de suite jusqu'à ce que tous les boutons de la télécommande soient pressé au moins une fois...
Citation :
La manipulation est longue, de plus vous n'avez pas vraiment le choix du nom des boutons, puisqu'il faut les choisir dans la liste obtenue suite à la commande :
Code BASH :
$ irrecord --list-namespace
A ce moment là, nous avons la fichier pour le daemon et un fichier de configuration. On relance lirc avec les bons paramètres :
Code BASH :
# lircd -H devinput -d /dev/input/by-path/pci-0000:00:1a.0-usb-0:2:1.0-event/ -n /etc/lirc/lircd.conf
Normalement ca devrait fonctionner... un petit :
Code BASH :
pour vérifier que les boutons répondent bien... et vous pouvez passer à la configuration dans l'interface graphique de votre choix...# irw
donc merci à Gilles74 et à Ookaze !!!
Écrit par: JojoPhysics, Le: 12/02/12