17 setembro 2007

KnoppMyth R5F27 e o lirc

Ainda não usei a versão R5F27 o suficiente para postar minhas impressões, mas vou colocar aqui as instruções para fazer o controle remoto da Pixelview PlayTV MPEG2 funcionar. Assim, na medida do possível, já vou ajudando outros usuários (a.k.a. Antônio - veja os comentários dos posts anteriores).

Primeiro, a solução passo a passo (extraída daqui):

1 - Abra o xterm (alt-x);

2 - Mude de usuário para root:

$su

#

3 - Configure sua placa no arquivo /etc/mythtv/modules/bttv:

#pico /etc/mythtv/modules/bttv
alias char-major-81 videodev
alias char-major-81-0 bttv
options bttv card=139 radio=1 tuner=43
ctrl-o(salvar) ctrl-x(sair)
#

4 - Reinicie o sistema:

#reboot

5 - Abra o xterm novamente (alt-x) e, sempre como root, descubra em que dispositivo está mapeada a entrada do controle remoto, no arquivo /proc/bus/input/devices:

#less /proc/bus/input/devices

Procure por IR - digite "/IR". Você vai ver algo semelhante a isto:

------------------------>8---------------------------
I: Bus=0001 Vendor=109e Product=036e Version=0001

N: Name="bttv IR (card=139)"
P: Phys=pci-0000:01:08.0/ir0
S: Sysfs=/class/input/input2
H: Handlers=kbd event2
B: EV=100003
B: KEY=2c0814 100004 0 0 0 4 2008000 2090 2001 1e0000 4400 0 ffc
------------------------>8---------------------------

O dispositivo, no meu caso, é "event2". Só que esse nome pode mudar de um boot para outro, então...

6 - Crie o arquivo /etc/udev/rules.d/10-lirc.rules, com o conteúdo abaixo:

------------------------>8--------------------------- SUBSYSTEM=="input", ATTR{dev}=="13:72", NAME="input/irdev"
------------------------>8---------------------------

onde o valor de ATTR{dev} (o "13:72") vem da saída do comando

#udevinfo -a -p `udevinfo -q path -n /dev/input/event2` | grep dev

(Atenção ao "event2" - use o que seu sistema listou no passo 5.)

7 - Crie um novo arquivo de configuração para o lircd, usando o comando:

#irrecord -H dev/input -d /dev/input/irdev irrecord

Siga as instruções (em inglês, infelizmente). A primeira é para segurar qualquer botão do controle remoto apertado até o programa reagir. Depois ele pede para digitar o nome dos botões, um a um, e apertar cada um deles. Ao final, você terá um arquivo de configuração chamado irrecord.

8 - Copie esse arquivo em /etc/lircd.conf e /etc/lirc/lircd.conf:

#cp irrecord /etc/lircd.conf
#cp irrecord /etc/lirc/lircd.conf

9 - Edite o arquivo /etc/lircd/hardware.conf para utilizar a nova configuração:

# pico /etc/lircd/hardware.conf

------------------------>8---------------------------
# /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

#Try to load appropriate kernel modules
LOAD_MODULES=true

# 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/irdev"
MODULES="lirc_dev"
------------------------>8---------------------------

10 - Crie (ou altere) o arquivo de configuração do lirc do usuário mythtv:

#exit
$pico /home/mythtv/.mythtv/lircrc

(Siga o arquivo modelo e a documentação do lirc.)

11 - Reinicie o sistema novamente:

$su

#reboot


Se tudo der certo (e eu não tiver esquecido nenhum passo), seu controle remoto estará funcionando. O meu está. E melhor que nas versões anteriores!


Agora, para os mais "tecnocuriosos": afinal, o que ocorreu?

Pelo que eu entendi, o módulo bttv sofreu uma grande atualização, embutindo o suporte aos dispositivos IR das placas de captura. E, junto, foram eliminadas as funções que não eram mais utilizadas internamente. Um grande avanço.

Só que algumas dessas funções eliminadas eram utilizadas pelo módulo lirc_gpio (do lirc). Assim, nas versões mais novas do kernel, o lirc_gpio parou de funcionar. Então passa a valer esse novo esquema de configurações. Bem mais complicado, mas muito mais eficiente.

Espero ter ajudado.

Um comentário:

Jaelson Lima disse...

Caramba, que suadeira para configurar o LIRC!

Comigo foi bem mais fácil. Instalei o R5F27 em um novo HD e quando o processo terminou meu controle já estava funcional. Eu já esperava essa facilidade pois usei uma WinTV-Go da Hauppauge que vem com IR e Blaster. Até o controle remoto já estava mapeado para uso com o MythTV.

As placas da Hauppauge são muito comuns na Europa e sempre tiveram bom suporte em Linux. Daí a facilidade de configuração e uso no MythTV.

Um abraço,

Jaelson Lima
Petrolina-PE