Lirc - Controle Remoto não funciona.

Iniciado por slytroya, 23 de Novembro de 2007, 13:19

tópico anterior - próximo tópico

slytroya

 Olá, me chamo Eric e estou com alguns problemas quanto ao Lirc.

O problema é que o Lirc não funciona. Tenho placa de captura PixelView PlayTV Pro Ultra, consigo assistir TV pelo tvtime até que na boa (só vai VHF, não entendo o porque). Instalei o Lirc, nas opções de configuração escolhi a placa mais parecida com a minha, rodei o scrip do Mythbuntu pra criar um arquivo .lircrc e etc, mas nada de funcionar o controle. Os únicos botões que funcionam são "Ch+" e "Ch-" que controlam o volume do sistema (tudo a ver né?) , "Zoom" que abre uma janela de pesquisa e o botão "TV" que abre o Rhythmbox, isso tudo independente do programa que esteja aberto. Resolvi então desinstalar o Lirc e todos os pacotes com os nomes relacionados e tal, e adivinha? Esses botões do controle continuaram funcionando. Parece que não é o Lirc que os controla.

Será que deu pra entender minha dúvida? Acho que isso é um belo conflito, ou algo do gênero. O controle parece que só controla botões do teclado, entendem? Não sei por onde começar para deixar meu controle funcionando corretamente no Lirc. Se alguém poder ajudar fico grato.
AMD Sempron 1.6 Ghz, PCChips M861G, NVIDIA TNT2 32Mb
Samsung 256+256Mb RAM, Seagate SATAII 500Gb
Ubuntu 9.04

Willdoidao

Cara vamos ver se posso ajudar, estou estudando Lirc como iniciação cientifica, em casa eu uso Lirc, mas diferentemente de vc eu fiz o recptor de infravermelho. Como vc falou que algumas teclas estão funcionando acredito que seu problema seja de configuração mesmo# irrecord meucontrole.infra
Tecle ENTER duas vezes;
Agora você deve pressionar várias teclas diferentes de seu controle remoto por aproximadamente 1 segundo,
cada botão que você apertar deve gerar no mínimo um ponto na saída do programa, mas em nenhum caso mais de 10 pontos. Não pare de pressionar os botões até que 2 linhas de pontos sejam preenchidas;
Após isso o programa vai pedir para mapear cada tecla,
coloque o nome da tecla e tecle ENTER, após isso tecle a respectiva tecla do seu controle. Repita isso até mapear todas as teclas.
Mova o arquivo gerado para /etc/lircd.conf:

# mv meucontrole.infra /etc/lircd.conf

Rode o lircd:

# lircd

Verifique em /var/log/lircd se está tudo OK:

# tail /var/log/lircd
Nov 5 09:46:56 atb lircd 0.7.2: lircd(serial) ready


Depois para abrir programas:
Leia a documentação para ver mais opções:
http://www.lirc.org/html/configure.html#lircrc_format

Crie um arquivo em seu home com o nome de .lircrc. Você vai precisar saber o
nome das teclas do seu controle que estão no arquivo /etc/lircd.conf, se você configurou seu
controle com o irrecord, então você deve se lembrar do nome que deu para as teclas, senão abra a arquivo /etc/lircd.conf e veja os nomes.

Criando o arquivo:

# cd ~
# vi .lircrc


# Inicio do Arquivo
# button = Nome do Botão
# prog = irexec (cliente que se conecta ao lircd para receber os comandos do controle e iniciar um aplicativo
# config = Nome do programa/Linha de Comando

# Ao digitar a tecla "100" do meu controle é aberto o site do VOL:
begin
        button = 100
        prog   = irexec
        config = firefox www.vivaolinux.com.br &
end

# Ao digitarmos a seqüência de números "1,2,3 e 5" o computador é desligado:
begin
        button = 1
        button = 2
        button = 3
        button = 5
        prog   = irexec
        config = poweroff
end

# Abaixo controlamos o XMMS:
# Próxima música da lista
begin
        button = ff
        prog   = irexec
        config = xmms -f &
end

# Música Anterior
begin
        button = rew
        prog   = irexec
        config = xmms -r &
end

# STOP
begin
        button = stop
        prog   = irexec
        config = xmms -s &
end

# PLAY
begin
        button = play
        prog   = irexec
        config = xmms -p &
end

#PAUSE
begin
        button = pause
        prog   = irexec
        config = xmms -t &
end

# Diminuir o volume
begin
        button = voldown
        prog   = irexec
        config = aumix -w -5
end

# Aumentar o Volume
begin
        button = volup
        prog   = irexec
        config = aumix -w +5
end
# Fim do Arquivo 

Agora vamos iniciar o irexec:

# irexec -d

Teste se seu micro responde aos comandos definidos no arquivo! 


Qualquer coisa poste ai!!!!!!!!!!!!!!
"Penso 99 vezes e nada descubro. Deixo de pensar, mergulho no silêncio, e a verdade me é revelada." (Albert Einstein)
Abraços Will

koianiskatsi

Creio que o ubuntu ainda está um pouco atrasado para esse tipo de aplicação. mas no resto ela compensa. ;D

Willdoidao

koianiskatsi vou descordar de vc mas o ubuntu não está nem um pouco atras de nenhuma outra distribuição em, relação ao LIRC pois o pacote de programas é o mesmo, como falei fiz minha iniciação cientifica baseado nele e usei o gentoo,kurumin,kalango,debian e a o resultado foi o mesmo.
"Penso 99 vezes e nada descubro. Deixo de pensar, mergulho no silêncio, e a verdade me é revelada." (Albert Einstein)
Abraços Will

slytroya

 Não tive muita sorte ^^

Citarslytroya@Locomotive:~$ sudo irrecord meucontrole.infra

irrecord -  application for recording IR-codes for usage with lirc

Copyright (C) 1998,1999 Christoph Bartelmus(lirc@bartelmus.de)

irrecord: could not get file information for /dev/lirc
irrecord: default_init(): No such file or directory
irrecord: could not init hardware (lircd running ? --> close it, check permissions)
slytroya@Locomotive:~$

AMD Sempron 1.6 Ghz, PCChips M861G, NVIDIA TNT2 32Mb
Samsung 256+256Mb RAM, Seagate SATAII 500Gb
Ubuntu 9.04

Willdoidao

Cara pelo que vc postou aconteceu pq não havia a pasta vamo sdo começo então:
Devemos carregar os módulos do LIRC:

# modprobe lirc_dev
# modprobe lirc_serial

Se ocorrer algum erro no carregamento dos módulos:
Certifique-se que não existe nenhum processo utilizando a porta serial escolhida para o LIRC.
No meu caso tive que executar o comando abaixo antes do carregamento dos módulos, pois na inicialização o kernel ativa algumas configurações na porta serial que não são compatíveis com o LIRC:

# setserial /dev/ttyS0 uart none

Substitua o /dev/ttyS0 pela porta serial correta!
Tente passar os parâmetros da porta no carregamento do módulo lirc_serial:

# modprobe lirc_serial irq=4 io=0x3f8

Verifique se os módulos estão carregados:

# lsmod | grep lirc
lirc_serial 12000  0
lirc_dev    12644  1 lirc_serial

Antes de mais nada, você vai precisar de um controle remoto. Pegue qualquer um: da sua TV, Som, DVD etc.

Rode o programa mode2:

# mode2

Aponte seu controle para o receptor e pressione algumas teclas. Você deve obter uma saída semelhante a esta:

space 674
pulse 391
space 1727
pulse 393
space 672
pulse 358

OK, nosso receptor está funcionado!


após isso log como root e execute o irrecord meucontrole.infra
caso não funcione poste aqui novamente!!!!!
"Penso 99 vezes e nada descubro. Deixo de pensar, mergulho no silêncio, e a verdade me é revelada." (Albert Einstein)
Abraços Will

slytroya

 Dessa vez tive mais progresso.

"# modprobe lirc_dev" - Deu certo, nenhum problema.
"# modprobe lirc_serial" - Nesse aqui deu aquele erro dizendo que a porta devia estar ocupada. Acho que foi o mesmo que aconteceu com você.

Então rodei:

"# setserial /dev/ttyS1 uart none" - Deu certo, entrei com o modprobe lirc_serial e também funcionou.
"# modprobe lirc_serial irq=4 io=0x3f8" - Sem problemas.
"# lsmod | grep lirc" - Como saída apareceu:

Citarlirc_serial            15620  0
lirc_dev              15860  1 lirc_serial

Foi só quando tentei utilizar o mode2 que as coisas não deram certo.

Citarslytroya@Locomotive:~$ mode2
mode2: error opening /dev/lirc
mode2: No such file or directory

E como sudo a resposta é a mesma.

Caramba Will você entende bastante mesmo do Lirc. To fazendo essas coisas meio que às cegas, não entendendo muito o que estou fazendo, só por cima. Creio que o problema seja o seguinte: Tem algum processo controlando o receptor do controle antes do Lirc, porque ontem eu tentei dar um Stop nele e o controle continuou funcionando. O Ubuntu já deve vir com algum suporte para receptores; desculpe se eu estiver dizendo besteiras ^^. Obrigado!
AMD Sempron 1.6 Ghz, PCChips M861G, NVIDIA TNT2 32Mb
Samsung 256+256Mb RAM, Seagate SATAII 500Gb
Ubuntu 9.04

Willdoidao

Nem esquenta cara, todo mundo tá aprendendo aqui!!!
vc verificou se existe o arquivo no /dev/lirc ???
Cara se vc poder esperar até sabado to montando um tuto de lirc para o ubuntu ai vou estar no meu micro (que tem o ubunutu) e posso passar mais intrução. Mas faz um ultimo teste desistala tudo do lirc e depois baixa o pacote desse link:

http://easynews.dl.sourceforge.net/sourceforge/lirc/lirc-0.7.2.tar.gz
# tar -xzvf lirc-0.7.2.tar.gz
# cd lirc-0.7.2
# ./setup.sh


Será iniciado um utilitário de configuração:

1. Driver Configuration

Escolha: Home-Brew (16x50 UART compatible serial port), após será solicitado a escolha da porta serial e por fim em Driver Especific Options marque: With transmitter diode e Software Generated Carrier.

2. Software Configuration

Marque: Compile tools for X-Windows

3. Save configuration & run configure

Após concluído o processo, vamos compilar e instalar o programa:

# make
# make install


Instala e depois segue as dicas que passei caso não funfe avise ai!!!!

"Penso 99 vezes e nada descubro. Deixo de pensar, mergulho no silêncio, e a verdade me é revelada." (Albert Einstein)
Abraços Will

slytroya

Infelizmente tive que tirar a placa de captura do meu computador, então não posso mais tentar.

Obrigado pela ajuda de todos! Se um dia voltar a usar tentarei aprender mais sobre o Lirc. É um programa muito interessante, útil, que vale a pena usar.

Abraços!
AMD Sempron 1.6 Ghz, PCChips M861G, NVIDIA TNT2 32Mb
Samsung 256+256Mb RAM, Seagate SATAII 500Gb
Ubuntu 9.04