Lirc

De Wiki de la Comunidad Mandriva

Bon nombre d'ordinateurs multimédias sont aujourd'hui équipés de télécommandes multimédias, permettant de commander son lecteur vidéo ou son Centre Multimédia depuis un canapé. Le logiciel Lirc permet d'utiliser sa télécommande et de la configurer simplement pour exploiter pleinement les capacités multimédias de son ordinateur.


Lirc est le serveur de gestion des signaux infrarouges des systèmes Linux. Il permet au noyau du système de traduire les signaux qu'il reçoit d'un périphérique infrarouge et d'y associer les touches d'une télécommande.

Plantilla:Pré-requis

Contenido

Installation

Para Instalar lirc,lanzar Image:drakrpm-icon.png Instalar y Quitar Software y buscar el paquete lirc .

Seleccione y haga clic en Aplicar. Ayuda

También puede instalar desde la consola como administrador : urpmi lirc

Vous devez également installer les paquets suivants :

  • dkms-lirc (permet de construire le service prenant en charge la télécommande)
  • gnome-lirc-properties (interface graphique pour configurer aisément la télécommande)
  • lirc-remotes (base de données pour configurer beaucoup de télécommandes)
  • pulseaudio-module-lirc (assure le bon fonctionnement de Lirc avec le son).
Plantilla:Astuce


Lorsque l'installation est terminée, fermez le Gestionnaire de logiciels et redémarrez votre ordinateur. Ceci permettra la construction du module qui saura comment interagir avec la télécommande.

Please note !
Lors du prochain démarrage, le démarrage prendra entre 3 et 5 minutes de plus en fonction de votre ordinateur, et ce à cause de la construction de ce module. Ceci n'arrive qu'une seule fois, et ne se reproduis que s'il y a eu une mise à jour du noyau linux. Rappelez-vous que pour voir la progression du démarrage, vous pouvez appuyer sur Echap, et attendre que la console s'affiche.


Le logiciel de configuration

Vous disposez à présent d'un logiciel simple et claire pour configurer votre télécommande et la faire fonctionner en quelques minutes. Il n'est malheureusement disponible qu'en anglais, mais cela ne devrait pas pour autant rendre la tâche difficile. Pour configurer votre télécommande :

  • sous le bureau GNOME, ouvrez le menu Système -> Administration -> Télécommande Infrarouge.
  • sous le bureau KDE, faites un clic-droit sur le bureau, puis Exécuter une commande. Dans le champ qui s'affiche, tapez gnome-lirc-properties et lancez cette commande. Patientez quelques instants. Si vous utilisez le menu kickoff (accessible par un clic droit sur le bouton "Menu"), vous pouvez simplement rechercher "Télécommande Infrarouge" dans le camp de recherche en haut de du menu.

L'outil de configuration de votre télécommande apparaît enfin.

IR Receiver (Récepteur Infrarouge)

  • Manufacturer : Ce champ affiche le constructeur du récepteur infrarouge de l'ordinateur. Vous pouvez essayer "Generic" (générique) si vous ne savez pas quel est le constructeur de votre récepteur infrarouge.
  • Model : Ce champ affiche le modèle du récepteur infrarouge.
  • Auto-detect : Ce bouton vous permet d'essayer de détecter automatiquement la télécommande si elle est fournie et branchée à l'ordinateur. Toutes les télécommandes ne sont cependant pas reconnue et il faudra alors spécifier manuellement les données. Une télécommande non reconnue peut très bien fonctionner malgré tout.


IR Remote Control (Télécommande Infrarouge)

  • Use supplied remote control : Permet d'utiliser la télécommande fournie avec l'ordinateur.
  • Use different remote control : Permet de spécifier des paramètres plus précis susceptibles de mieux correspondre à la télécommande.
  • Manufacturer : Ce champ indique le constructeur de la télécommande. Regardez au dos de la télécommande ou dans votre mode d'emploi et sélectionnez le constructeur correspondant. Si vous ne savez pas ou il n'est pas dans la liste, sélectionnez "Generic".
  • Model : Permet de sélectionnez un des modèles connus disponibles de la télécommande pour le constructeur spécifié précédemment. S'il n'est pas dans la liste, sélectionnez un modèle qui vous semble le plus proche.
  • Custom configuration : Ce bouton vous permet de paramétrer plus finement votre télécommande avec plus de paramètres.
  • Update : Cette fonction vous permet de mettre à jour et d'agrandir la liste des télécommandes supportées.


Plantilla:Avertissement

Configurer une télécommande multimédia

IR Remote Control (Télécommande Infrarouge) Il est aujourd'hui plus simple de configurer une télécommande pour ordinateur, mais cela nécessite de respecter certaines étapes.

  • Mettez à jour la base de donnée en cliquant sur le bouton Update.
  • Essayez de faire une détection automatique du récepteur infrarouge. Si cela ne marche pas (très probable), optez tout simplement l'otpion Generic puis Serial Port Receiver, ce qui fonctionne généralement d'office. Si cela ne marche pas, essayez l'option UDP à la place.
  • Sélectionnez Use different remote control et sélectionnez à coté de Manufacturer le fabriquant indiqué dans le manuel ou au dos de la télécommande. Si la télécommande est livrée avec un ordinateur portable, il y a de fortes chances que le fabriquant de l'ordinateur et de la télécommande soit le même. Si cependant vous ne savez pas quel est le fabriquant ou il n'est pas dans la liste, choisissez Generic.
  • Enfin, cliquez sur fermer.

Essayez de voir si les boutons de votre télécommande réagissent. Il se peut que certains ne fonctionnent pas, mais la plupart devraient fonctionner. Un programme très adapté à la télécommande est le Centre multimédia Elisa. Mais la télécommande doit vous permettre d'aller et venir dans certains menus, ou de commander des vidéos dans Totem.

Si votre télécommande ne réagit pas, tentez un redémarrage complet de votre ordinateur. Si après, votre télécommande ne fonctionne toujours pas, essayez de revoir votre configuration.


Configuration avancée

Plantilla:Pré-requis

Avant tout, il est recommandé à l'utilisateur de maîtriser quelques commandes de base en console comme se rendre dans un répertoire, éditer, modifier et enregistrer un fichier texte.

Lirc est un programme qui permet de gérer vos périphériques infrarouge. Il est utile pour gérer les applications KDE (Amarok, Kaffeine etc.) depuis une télécommande de carte TV/TNT et donc...depuis votre fauteuil ! L'ensemble devient très utile pour l'installation d'un « Multimédia Center » fonctionnant sous Linux.

Plantilla:Avertissement

Par principe, on a donc toujours : une touche enfoncée sur la télécommande = une action exercée sur un programme KDE.

Pour résumer :

Lirc -> irkick -> Applications KDE.

Lirc-> irkick-> Lancement d'application non-KDE (ex :Média Center.)-> Gestion interne par le média center.

Installation

Avant tout, votre carte TV/TNT doit être reconnue par le système et correctement installée. Le site de linuxtv.org vous donnera toutes les informations nécessaires pour l'installation.

Pour les cartes usb, on le vérifie en console en tapant : cat /proc/bus/input/devices

Votre carte doit apparaître dans la liste :

...
I: Bus=0000 Vendor=0000 Product=0000 Version=0000
N: Name="TerraTec/qanu USB2.0 Highspeed DVB-T Receiver remote control"
P: Phys=usb-0000:00:02.2-2/input0S: Sysfs=/class/input/input5
H: Handlers=kbd event4
B: EV=100003
B: KEY=108fc210 204300000000 0 8000 208000000001 9e168000000000 ffc...

Ici il s'agit d'une carte TNT de chez Terratec modèle Cinergy T2.

Pour les cartes PCI, on tape :

Plantilla:Console (pour savoir si votre carte est reconnue)

Pour les deux types de carte, on tape:

Plantilla:Console root (pour vérifier que les modules du noyau pour votre carte sont chargés)

Vous vérifierez que vous avez les fichiers demux0, dvr0, frontend0, net0 dans le répertoire /dev/dvb/adapter0. Si oui, votre carte est installée.

Les paquets suivants doivent être installés. On part du principe que tous ces paquets sont nécessaires, les dkms étant des paquets spécifiques pour le noyau. ( à préciser...)

lirc-0.8.1
lirc-remote 
dkms-lirc 
dkms-lirc-gpio 

lirc-remote est un paquet contenant les fichiers de configurations des télécommandes reconnues par Lirc. dkms-lirc-gpio est un paquet optionnel en fonction de votre carte TV.

Configuration

LIRC installé, vous devez avoir accès à trois fichiers de configuration :

/etc/lircd.conf

/home/XXXX/.lircrc (fichier caché dans votre home à créer par vous-même)

/etc/sysconfig/lircd

lircd.conf permet à lirc de reconnaître votre télécommande avec ses touches respectives. Vous devez y copier le fichier de votre télécommande que vous trouverez dans /usr/share/lirc-remotes/.

Voici un exemple de fichier /etc/lircd.conf :

begin remote 
name terratec_cinergy_T2 
bits 16 
eps 30 
aeps 100 
one 0 0 
zero 0 0 
pre_data_bits 16 
pre_data 0x8001 
gap 199695
toggle_bit 0 
begin codes 
 1 0x0002 
 2 0x0003 
 3 0x0004 
 4 0x0005 
 5 0x0006 
 6 0x0007 
 7 0x0008 
 8 0x0009 
 9 0x000a 
 0 0x000b 
 UP 0x0067 
 LEFT 0x0069 
 RIGHT 0x006a 
 DOWN 0x006c 
 MUTE 0x0071 
 VOLUMEDOWN 0x0072 
 VOLUMEUP 0x0073 
 POWER 0x0074 
 PAUSE 0x0077 
 STOP 0x0080 
 RECORD 0x00a7 
 REFRESH 0x00ad 
 PLAY 0x00cf 
 OK 0x0160 
 OSD 0x0161 
 INFO 0x0166 
 EPG 0x016d 
 TEXT 0x0184 
 VIDEO 0x0189 
 RED 0x018e 
 GREEN 0x018f 
 YELLOW 0x0190 
 BLUE 0x0191 
 CHANNELUP 0x0192 
 CHANNELDOWN 0x0193 
 NEXT 0x0197 
 PREVIOUS 0x019c 
 end codes 
 end remote 

Le fichier .lircrc de votre home vous permet de personnaliser votre télécommande pour chaque application. Cependant, ici il ne nous sert pas, car c'est irkick qui fera ce travail. Vous pouvez trouver des exemples de fichiers lircrc sur le net.

Enfin, et c'est le plus délicat, il vous reste à configurer le fichier /etc/sysconfig/lircd. Voici un exemple, toujours pour la carte usb Cinergy T2 :

# Customized setings for lirc daemon
# The hardware driver to use, run lircd --driver=? for a list
DRIVER=devinput
# Hardware driver module to load
HWMOD=evdev
# The device node that communicates with the IR device.
# if you are using lirc_serial, set DEVICE to /dev/ttyS[0-9]
# where 0-9 is the serial port your IR receiver is plugged
# with devfs enabled
DEVICE=/dev/input/event4
#DEVICE=/dev/lirc/serial
# without devfs 
#DEVICE=/dev/lirc
# Serial port for the receiver (for serial driver)
# COM1 (/dev/ttyS0)
#COM_PORT=/dev/ttyS0
#DRIVER_OPTS="irq=4 io=0x3f8"

Dans ce fichier, vous devrez compléter les variables suivantes :

- le DRIVER (dossier périphérique de votre carte) ici  : devinput.

- le HWMOD (le nom du module ou « pilote » utilisé par lirc pour reconnaître votre carte TV/TNT : et c'est le plus délicat !) ici : evdev (pour l'usb notamment).

- le DEVICE est celui qui apparaît sur la ligne H lorsque vous avez taper cat /proc/bus/input/devices pour vérifier la présence de votre carte TV/TNT,ici c'est donc : event4 (voir chapitre Installation).

N'oubliez pas d'enregistrer les modifications du fichier !

Le site de LIRC, contenant la dernière version du programme et de nombreuses informations d'installations et de configuration de votre télécommande, peut vous être utile :

http://www.lirc.org

Démarrage

On tape en console et en root :

Plantilla:Console root

Si cela ne fonctionne pas, il y a une erreur de configuration.


Gestion

Vous pouvez choisir d'utiliser Irkick. Rendez-vous dans le Centre de configuration de KDE menu périphériques > contrôleur distant (il s'agit d'irkick). Votre télécommande doit apparaître dans la colonne de droite. Il ne vous reste plus qu'à ajouter une application, touche par touche. Si vous ne trouvez pas irkick, vérifiez bien que le paquetage kdeutils-common est bien installé.

Ou alors, vous pouvez choisir d'utiliser Irexec pour démarrer et exploiter vos applications à l'aide de votre télécommande:

Enfin, vous pouvez utiliser Lirc pour simuler une souris à l'aide de votre télécommande en utilisant le programme Lircmd, compris dans Lirc.

Problème au démarrage : Udev et lirc

Pour résoudre le problème des changements d'entrée du périphérique infrarouge sur /dev/input/eventX qui empêche le bon fonctionnement de lirc et oblige à modifier à chaque démarrage le fichier /etc/sysconfig/lird, on se propose d'ajouter une règle udev au démarrage de Mandriva.

Détermination de /input/event

En console on tape :

Plantilla:Console

Résultat :


I: Bus=0003 Vendor=0ccd Product=0038 Version=0001

N: Name="TerraTec/qanu USB2.0 Highspeed DVB-T Receiver remote control"

P: Phys=usb-0000:00:1d.7-2/input0

S: Sysfs=/class/input/input4

U: Uniq=

H: Handlers=kbd event4 

B: EV=100003

B: KEY=108fc210 2043 0 0 0 0 8000 2080 1 9e1680 0 0 ffc

Notre périphérique apparaît sur le port /event4. Le vôtre est peut-être sur un « event » différent.

Par conséquent, on va rechercher (vous adapterez l' « event » au vôtre), l'attribution physique du récepteur infrarouge, on tape, en root :

Plantilla:Console root

Plantilla:Avertissement

Résultat:

looking at parent device '/devices/pci0000:00/0000:00:1d.7/usb1/1-3/input/input4':
    KERNELS=="inpu4"
    SUBSYSTEMS=="input"
    DRIVERS==""
    ATTRS{name}=="IR-receiver inside an USB DVB receiver"
    ATTRS{phys}=="usb-0000:00:1d.7-3/ir0"
    ATTRS{uniq}==""
    ATTRS{modalias}=="input:b0003v0CCDp0038e0106-e0,1,k71,72,73,74,77,80,A7,AD,CF,160,161,166,16D,184,189,18E,18F,190,191,192,193,197,19C,ramlsfw"

  looking at parent device '/devices/pci0000:00/0000:00:1d.7/usb1/1-3':
    KERNELS=="1-3"
    SUBSYSTEMS=="usb"
    DRIVERS=="usb"
    ATTRS{configuration}==""
    ATTRS{bNumInterfaces}==" 1"
    ATTRS{bConfigurationValue}=="1"
    ATTRS{bmAttributes}=="80"
    ATTRS{bMaxPower}=="476mA"
    ATTRS{urbnum}=="44657"
    ATTRS{idVendor}=="0ccd"
    ATTRS{idProduct}=="0038"
    ATTRS{bcdDevice}=="0106"
    ATTRS{bDeviceClass}=="ff"
    ATTRS{bDeviceSubClass}=="ff"
    ATTRS{bDeviceProtocol}=="ff"
    ATTRS{bNumConfigurations}=="1"
    ATTRS{bMaxPacketSize0}=="64"
    ATTRS{speed}=="480"
    ATTRS{busnum}=="1"
    ATTRS{devnum}=="3"
    ATTRS{version}==" 2.00"
    ATTRS{maxchild}=="0"
    ATTRS{quirks}=="0x0"
    ATTRS{authorized}=="1"
    ATTRS{manufacturer}=="TerraTec GmbH"
KERNELS=="input4"


Dans cette liste, on utilisera l'attribution "ATTRS{idProduct}" pour créer notre règle.


Création de la règle udev

On ajoute la nouvelle règle udev. En console, avec votre éditeur de texte préféré, ici : kwrite. Soit :


Plantilla:Console root Plantilla:Console root

On ajoute la ligne dans le fichier vierge en collant et copiant ceci :

KERNEL=="event*", ATTRS{idProduct}=="0038", SYMLINK+="input/terratec", MODE="0666"

Plantilla:Avertissement

On enregistre et on ferme l'éditeur.

La règle est créer !

Modification du fichier lircd

Le nouveau nom du périphérique infrarouge étant « terratec », on le précise dans le fichier /etc/sysconfig/lircd.conf, dans l'argument DEVICE, soit :

# Customized setings for lirc daemon



# The hardware driver to use, run lircd --driver=? for a list



DRIVER=devinput



# Hardware driver module to load

HWMOD=evdev



# The device node that communicates with the IR device.

# if you are using lirc_serial, set DEVICE to /dev/ttyS[0-9]

# where 0-9 is the serial port your IR receiver is plugged



# with devfs enabled

DEVICE=/dev/input/terratec

#DEVICE=/dev/lirc/serial

On enregistre et on ferme l'éditeur.

Redémarrage

Après avoir redémarré votre Mandriva, vous testerez en console la reconnaissance de votre périphérique infrarouge à l'aide de la commande irw. Plantilla:Avertissement

On peut voir si udev a bien fait son travail en tapant en console :

Plantilla:Console

Résultat:

drwxr-xr-x 2 root root     80 2008-08-28 14:03 by-id/

drwxr-xr-x 2 root root    140 2008-08-28 14:03 by-path/

crw-r----- 1 root root 13, 64 2008-08-28 14:03 event0

crw-r----- 1 root root 13, 65 2008-08-28 14:03 event1

crw-r----- 1 root root 13, 66 2008-08-28 14:03 event2

crw-r----- 1 root root 13, 67 2008-08-28 14:03 event3

crw------- 1 arno root 13, 68 2008-08-28 14:03 event4

crw------- 1 arno root 13, 69 2008-08-28 14:03 event5

crw-r----- 1 root root 13, 63 2008-08-28 16:03 mice

crw-r----- 1 root root 13, 32 2008-08-28 14:03 mouse0

lrwxrwxrwx 1 root root      6 2008-08-28 14:03 terratec -> event4

La dernière ligne nous montre bien que udev a créé une entrée spéciale pour notre périphérique.

Pour conclure, Mandriva donnera à chaque démarrage l'attribution du numéro de produit de notre périphérique à la même entrée, ici, /dev/input/terratec. Ce chemin peut-être différent si vous utilisez un périphérique en carte pci et non en usb.


Remarques

Le fichier lircd.conf proposé dans les remotes de Lirc ne fonctionnait pas pour moi. Je l'ai récupéré sur le site de mandrivaitalia.org ci-dessous.

Le paramétrage du fichier /etc/sysconfig/lircd dépend entièrement de l'installation et du modèle de votre carte TV/TNT. Ici il s'agissait d'une carte usb mais vous détenez peut-être une carte pci. Pour les configurations pci, des fichiers lircd peuvent se trouver sur le net.

Je tiens à remercier le site de www.mandrivaitalia.org pour ce tutoriel qui m'a en partie inspiré :

Enfin, l'installation reste un peu délicate ayez de la patience et du temps !

Catégorie:Infrarouge

Herramientas personales