HOWTO: Configurar mando a distancia de Hauppauge WinTV NOVA-T-500 en Debian GNU/Linux · 6 abril 2009, 00:38

GNU/Linux y Software Libre

[ACTUALIZACIÓN 20-10-2010]: Actualizado para nuevos kernels.

[ACTUALIZACIÓN 23-12-2009]: Chema nos indica en los comentarios un método para solucionar el problema de que el nombre de dispositivo cambie al reiniciar.

[ACTUALIZACIÓN 04-08-2009]: Juanra indica en los comentarios que el mismo proceso funciona para configurar el mando a distancia de la tarjeta AVERMEDIA AVERTV 203. :D

Hace poco vimos cómo configurar la tarjeta de TDT DVB-T Hauppauge WinTV NOVA-T-500 en Debian GNU/Linux .

Esta tarjeta viene con un magnífico control remoto al que se le puede sacar mucho partido. En concreto, podemos configurarlo para usarlo con todas las aplicaciones de nuestro escritorio en GNU/Linux.

Con el mando a distancia podremos controlar no sólo los programas de televisión como Kaffeine o KdeTV, sio nuestros reproductores de música (Amarok) o de vídeo (SMPlayer, VLC, etc.).

En el siguiente tutorial veremos cómo hacerlo:

Tarjeta TDT Hauppauge wintv nova t 500

Primero instalaremos los paquetes necesarios:

# apt-get install lirc lirc-x

Luego configuraremos correctamente LIRC .

Primero debemos averiguar qué dispositivo se le asigna al control remoto en el arranque de nuestra máquina.

Para ello bastará con ejecutar:

# cat /proc/bus/input/devices

Que nos devuelve algo como esto:

I: Bus=0003 Vendor=2040 Product=9950 Version=0100
N: Name="IR-receiver inside an USB DVB receiver"
P: Phys=usb-0000:04:01.2-1/ir0
S: Sysfs=/class/input/input9
U: Uniq=
H: Handlers=kbd event9
B: EV=3
B: KEY=14afc336 284284d00000000 0 480058000 ...

Nos fijamos en la línea:

S: Sysfs=/class/input/input9

Eso significa que el dispositivo asignado al mando a distancia es /dev/input/event9

Con esta información, vamos a editar como root el archivo /etc/lirc/hardware.conf :

# vim /etc/lirc/hardware.conf

y modificamos las líneas referentes al DRIVER y DEVICE:

#### BLOQUE ANTIGUO
# 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=""
#MODULES=""
### BLOQUE NUEVO jEsuSdA
# Run "lircd --driver=help" for a list of supported drivers.
DRIVER="dev/input"
# If DEVICE is set to /dev/lirc and devfs is in use /dev/lirc/0 will be
# automatically used instead
DEVICE="/dev/input/event9"
MODULES=""

Los nuevos kernels de linux crean enlaces simbólicos que permiten evitar los problemas cuando, al reiniciar, el dispositivo es asignado a un input distinto.

Así, por ejemplo, podemos hacer:

# ls -la /dev/input/by-path/

Y ver el input permanente al que hace alusión event9:

...
lrwxrwxrwx 1 root root   9 oct 20 16:23 pci-0000:04:01.2-event-ir -> ../event9
...

Esto nos viene a decir que /dev/input/event9
equivale a /dev/input/by-path/pci-0000:04:01.2-event-ir

De modo que podemos usar este nuevo identificador para configurar /etc/lirc/hardware.conf del siguiente modo:

### BLOQUE NUEVO jEsuSdA
# Run "lircd --driver=help" for a list of supported drivers.
DRIVER="dev/input"
# If DEVICE is set to /dev/lirc and devfs is in use /dev/lirc/0 will be
# automatically used instead
DEVICE="/dev/input/by-path/pci-0000:04:01.2-event-ir"
MODULES=""

Esto nos asegura que al reiniciar, nuestro mando a distancia será correctamente configurado.

Modificamos también las últimas líneas para indicar dónde se encuentra el archivo de configuración de lirc:

# Default configuration files for your hardware if any
LIRCD_CONF="/etc/lirc/lircd.conf"
LIRCMD_CONF=""

Aquí podéis descargaros mi hardware.conf completo.


La siguiente parte consistirá en configurar LIRC para que interprete correctamente las pulsaciones de los botones del mando a distancia:

Bastará con que copiéis el siguiente archivo lircd.conf a /etc/lirc/

Reiniciamos el sistema LIRC

# /etc/init.d/lirc restart 

y comprobamos que todo funciona. Desde consola ejecutamos:

# irw

y pulsamos los botones del mando a distancia… veremos como en pantalla nos aparece indicado qué botón acabamos de pulsar en cada momento. :D


Para terminar, vamos a mapear los botones del mando a distancia a teclas. De lo que se trata es de que cada vez que pulsamos un botón del control remoto, nuestro sistema interprete que hemos pulsado una tecla (o combinación de ellas).

Bastará con que copiéis el siguiente archivo .lircrc a vuestro HOME (y al de todos los usuarios que vayan a usar el mando a distancia).

En el inicio de cada sesión deberéis ejecutar el programa

# irxevent

(Es recomendable preparar un script o configurar vuestro entorno de escritorio para que lo haga automáticamente)

¡Voilá!, ya podemos configurar los accesos directos (shortcuts) de cada aplicación con nuestro mando a distancia. ;)

Configurando los accesos directos de Amarok con el mando a distancia por infrarrojos

Archivos:

Más información:

— jEsuSdA 8)

---

Comentarios

  1. Hola he seguido los pasos que indicas y me funciona perfectamente con una avermedia 203 y su correspondiente control remoto.

    Muchas gracias por compartir tus conocimientos.

    Un saludo,
    Juanra.

    — Juanra · 24 julio 2009, 12:50 · #

  2. Celebro que te sirviera también para tu modelo de tarjeta.

    He añadido esta información al post por si le sirve de ayuda a alguien más. ;)

    Gracias!

    Salu2 de jEsuSdA 8)

    jEsuSdA 8) · 4 agosto 2009, 17:11 · #

  3. Hola, muchas gracias por tus artículos sobre esta tarjeta. Tras muchos intentos (y otras tantas derrotas) con una vieja Avermedia, aprovechando el apagón analógico, me decidí a comprar esta tarjeta tras leerte en el blog. He seguido todos tus pasos y el único problema que se me ha presentado es que me cambia el evento en cada reinicio. Te comento mi solución por si puede ayudar a alguien, he creado una regla para udev ( hay que tener en cuenta que se escribe en una sola linea):
    SUBSYSTEM==“input”, KERNEL==“event*”, ATTRS{name}==“IR-receiver inside an USB DVB receiver”, SYMLINK+=“input/ircontrol”
    guardandola en el archivo /etc/udev/rules.d/69-ircontrol.rules y modificando el archivo /etc/lirc/hardware.conf, de forma que ahora queda DEVICE=”/dev/input/ircontrol”.
    Muchas gracias por todo. Un saludo

    — Chema · 21 diciembre 2009, 21:53 · #

  4. Muy buen aporte, @Chema.

    Gracias!
    Salu2 de jEsuSdA 8)

    jEsuSdA 8) · 23 diciembre 2009, 06:32 · #

Ayuda Textile

|