Qui n'a jamais rêvé de piloter son ordinateur depuis son lit/canapé/fauteuil ? Toi là, dans le fond ? Menteur !
On m'a récemment prêté une ATI Remote Wonder et grâce à elle, je peux maintenant télécommander mon ordi ! Ça n'a l'air de rien mais c'est quand même bien pratique pour éteindre l'ordi le soir sans avoir à se relever ou se mater un film et changer les sous-titres/pistes audio sans se bouger du fauteuil !
Alors allons-y pour la configuration de la bestiole avec lirc ! Tout d'abord il faut installer lirc :
# apt-get install lirc
Ensuite on construit les modules lirc avec module-assistant :
# m-a a-i lirc-modules
Ensuite on édite le fichier /etc/modprobe.d/blacklist.conf et on rajoute la ligne quelque part.
blacklist ati_remote
Vérifiez bien que ce module n'est pas chargé par un petit
# lsmod | grep ati_remote
Chargez le module lirc_atiusb
# modprobe lirc_atiusb
Vient la partie longue et fastidieuse de la création du fichier de configuration de la télécommande (attention, ça ne marchera pas si lirc est déjà lancé) :
$ irrecord -d /dev/lirc0 atiremote.conf
Press RETURN to continue.Hold down an arbitrary button. Appuyer de facon continue sur un bouton
……………………………………………………………………..
Found gap length: 147959
Now enter the names for the buttons.Please enter the name for the next button (press <enter> to finish recording)
menu Définition de la touche menuNow hold down button “menu” Appuyer sur le bouton adéquat
Please enter the name for the next button (press <enter> to finish recording)Et ainsi de suite
Quand c’est fini, appuyer sur ENTRÉEChecking for toggle bit mask.
Please press an arbitrary button repeatedly as fast as possible.
Make sure you keep pressing the SAME button and that you DON’T HOLD
the button down!.
If you can’t see any dots appear, then wait a bit between button presses.
…………………………….
Invalid toggle bit.
Successfully written config file.
Copiez ce fichier dans /etc/lirc :
# cp atiremote.conf /etc/lirc/lircd.conf
Si vous avez un problème avec ce fichier, vous pouvez éventuellement essayer avec le mien :
Vous pouvez éditez le fichier /etc/lirc/hardware.conf mais je ne crois pas que ce soit obligatoire :
# /etc/lirc/hardware.conf
#
# Arguments which will be used when launching lircd
LIRCD_ARGS=""
#Don't start lircmd even if there seems to be a good config file
#START_LIRCMD=false
#Don't start irexec, even if a good config file seems to exist.
#START_IREXEC=false
#Try to load appropriate kernel modules
LOAD_MODULES=true
# Run "lircd --driver=help" for a list of supported drivers.
DRIVER=""
# If DEVICE is set to /dev/lirc and udev is in use /dev/lirc0 will be
# automatically used instead
DEVICE="/dev/lirc0"
MODULES="lirc_atiusb"
# Default configuration files for your hardware if any
LIRCD_CONF="/etc/lirc/lircd.conf"
LIRCMD_CONF=""
Ensuite il faut créer un fichier .lircrc pour définir les actions pour les boutons :
begin
flags = startup_mode
mode = desktop
endbegin
button = a
prog = irexec
repeat = 3
config = osd_cat -p middle -A center -f -*-*-bold-r-normal-*-60-*-*-*-*-*-*-* -d 1 ~/.lirc_desktop_text &
mode = desktop
flags = quit
endbegin
button = b
prog = irexec
repeat = 3
config = osd_cat -p middle -A center -f -*-*-bold-r-normal-*-60-*-*-*-*-*-*-* -d 1 ~/.lirc_mplayer_text &
mode = mplayer
flags = quit
endbegin
button = power
prog = irexec
repeat = 3
config = shutdown -h now
end## Volume Control
begin
prog = irexec
button = volup
repeat = 3
config = aumix -v+10 &
endbegin
prog = irexec
button = voldown
repeat = 3
config = aumix -v-10 &
endbegin
button = mute
prog = irexec
config = amixer -c 0 set PCM toggle &
endinclude ~/.lircrc.desktop
include ~/.lircrc.mplayer
Je pense que la syntaxe de ce fichier parle d'elle-même.
Notez le include ~/.lircrc.desktop qui permet d'alléger le .lircrc en mettant une partie de la configuration dans un autre fichier. Ainsi, tous les boutons utiles pour mplayer se retrouvent dans ~/.lircrc.mplayer.
Si le osd-cat perturbe certaines personnes, sachez qu'il agit comme cat mais qu'il envoie sa sortie directement sur l'écran, comme l'osd de mplayer. Osd-cat est fourni par le paquet xosd-bin. Quand on veut changer de mode, je pense qu'il est bien d'en avoir la confirmation et c'est pourquoi j'ai utilisé osd-cat.
Qu'est-ce que le "mode = desktop" dans ce fichier .lircrc ?
En fait cela permet d'assigner des actions différentes à un bouton selon le mode dans lequel on se trouve (vous pouvez allez voir mes fichiers .lircrc.mplayer et .lircrc.desktop pour des exemples).
Pour définir un mode, rien de plus simple :
begin mode
begin
button = bouton
prog = irexec
config = action
end
end mode
Le programme irexec est un lanceur fourni avec lirc et doit être lancé au début de votre session.
Personnellement, après quelques problèmes j'ai réussi à faire fonctionner tout ça en éditant le fichier /etc/X11/xinit/xinitrc et en rajoutant ceci à la fin :
/usr/bin/irexec
Voilà, un bon petit reboot et tout devrait fonctionner comme sur des roulettes !
bonjour,
excellent tuto en tout cas qui correspond le mieux à mon cas!
Cependant j’ai un souci car si la télécommande marche très bien sous root avec irw 2 choses ne fonctionnent pas et je n’arrive pas à trouver d’où cela peut bien provenir sachant que je travaille avec une lenny et un noyau 2.6.30 (pour l’ext4): donc j’ai téléchargé le lirc-0.8.6 que j’ai compilé (qui créé un lircd.conf qui convient) puis j’ai configuré mon hardware.conf, je lance lircd et irw répond parfaitement!
1) Mais là où ça se corse c’est que je ne peux créer (je tue lircd avant) de fichier de configuration spécial, la punition est toujours la même :
Please enter the name for the next button (press <ENTER> to finish recording)
a
‘a’ is not in name space (use –disable-namespace to disable checks)
Use ‘irrecord –list-namespace’ to see a full list of valid button names
Please try again.
et l’utilisation de –disable-namespace n’y change rien…
Mais bon ça à la limite je peux largement m’en passer et utiliser les touches fournies pas le lircd.conf installé par défaut.
2) Enfin et surtout irexec ne se lance pas j’ai invariablement sous root ou l’utilisateur courant bien que lircd soit bien lancé :
irexec
irexec: could not connect to socket
irexec: No such file or directory
Voilà voilà donc je ne vous demande pas de résoudre le problème mais si vous aviez une idée de la direction dans laquelle chercher car je me trouve bien démuni!?
merci d’avance!
Jean-Pierre.
Salut,
Merci pour le tuto, quelques remarques après une installation sur une debian squeeze avec une télécommande ati remote wonder modèle 1 et un récepteur USB.
Pour installer lirc:
# apt-get install linux-headers-$(uname -r) lirc lirc-x lirc-modules-source
Dans le fichier blacklist, j’ajoute:
# nano /etc/modprobe.d/blacklist
blacklist ati_remote2
blacklist ati_remote
blacklist lirc_atiusb
Changement de propriétaire:
# chgrp -R users /dev/lirc*
Changement des droits:
# chmod 666 /dev/lirc0
Et le fichiers hardware.conf
# nano /etc/lirc/hardware.conf
# /etc/lirc/hardware.conf
#
#Chosen Remote Control
REMOTE= »ATI/NVidia/X10 RF Remote (userspace) »
REMOTE_MODULES= » »
REMOTE_DRIVER= »atilibusb »
REMOTE_DEVICE= » »
REMOTE_LIRCD_CONF= »atiusb/lircd.conf.atilibusb »
REMOTE_LIRCD_ARGS= » »
#Chosen IR Transmitter
TRANSMITTER= »None »
TRANSMITTER_MODULES= » »
TRANSMITTER_DRIVER= » »
TRANSMITTER_DEVICE= » »
TRANSMITTER_LIRCD_CONF= » »
TRANSMITTER_LIRCD_ARGS= » »
#Enable lircd
START_LIRCD= »true »
#Don’t start lircmd even if there seems to be a good config file
#START_LIRCMD= »false »
#Try to load appropriate kernel modules
LOAD_MODULES= »true »
# Default configuration files for your hardware if any
LIRCMD_CONF= » »
#Forcing noninteractive reconfiguration
#If lirc is to be reconfigured by an external application
#that doesn’t have a debconf frontend available, the noninteractive
#frontend can be invoked and set to parse REMOTE and TRANSMITTER
#It will then populate all other variables without any user input
#If you would like to configure lirc via standard methods, be sure
#to leave this set to « false »
FORCE_NONINTERACTIVE_RECONFIGURATION= »false »
START_LIRCMD= » »
Voilà, ça marche, après un reboot, je teste avec
# irexec
Et un extrait du fichier .lircrc crée dans le répertoire home:
# nano .lircrc
begin
prog = irexec
button = power
repeat = 3
config = shutdown -h now
end
Merci 🙂