Autor Tópico: Irfake  (Lida 4630 vezes)

0 Membros e 1 Visitante estão vendo este tópico.

Offline Jefferson

  • Zelador
  • Hero Member
  • *****
  • Mensagens: 1854
  • Aprovação: +0/-0
    • Ver Perfil
    • http://ryan.com.br
Irfake
« Online: Maio 05, 2011, 05:26:02 pm »
Neste tópico do moservices você aprende várias coisas:

http://www.moservices.org/forum/viewtopic.php?f=12&t=179

Com o programa "irfake" é possível fazer com que um determinado MP responda aos comandos de controle remoto de outro. Algo muito importante quando você está testando o firmware de outro MP no seu. Cada remoto é definido em uma seção do arquivo irfake.conf

O tópico também explica a estrutura dos códigos do controle remoto, que inclui até o fabricante. O que me leva a crer que não seja possível, mesmo com o irfake, usar um controle remoto genérico, como Philips e Samsung. Parece que precisa ser um controle remoto específico para MP Realtek.

Mais adiante no tópico você verá que existe um trabalho em andamento para tornar o MP Realtek compatível com HDMI CEC (poder operar tudo ligado por HDMI com um remoto só).
http://jefferson-ryan.blogspot.com
http://ryan.com.br

Se o que você escreve não merece sua atenção, vai merecer a atenção de quem?!

Offline RobertoZoom

  • Novato
  • *
  • Mensagens: 5
  • Aprovação: +0/-0
    • Ver Perfil
Re: Irfake
« Responder #1 Online: Junho 04, 2011, 02:34:17 pm »
bom dia a todos,

apenas a dizer que acompanho as contribuições do Ryan para a scene dos players mediatek (tive um philips 3100 e posteriores) e agora realtek 1073 . Estou com um S9 nas mãos (melhor coisa que já fiz) , e esperando chegar um S10 (com leitor de DVD, e parece-me que usa o mesmo firmware, assim vou substituir meu philips) , não sou especialista então vou estar aqui mais tentando colaborar como beta-tester, quando houver alguma modificação nos fws.

aí já deixo um pedido, uma atenção especial na implementação o mais fácil possivel do YAMJ (another movie jukebox) que o Ryan já colocou fotos acima, isto é um must-have que faz a diferença. Outra coisa que não sei se é possivel mudar (ou se é fácil) , os botões do controle remoto são MUITO mal posicionados,  o avanço e retrocesso tem que ser feitos em mínúsculos e mal posiconados botões embaixo, no entanto temos os botôes maiores em forma de pétala que presumiriam-se ser para isto (mas não tem utilidade quando o filme está rodando) , quem sabe atribuir-lhes também a função FF e FW ? . Sei que o trabalho vai no rítimo que tiver que ir, estou apenas dando uns toques, e todos saberemos ser pacientes .

[]s

Editado pela administração
Este tópico foi construído com posts de outro tópico, por isso Roberto Zoom faz referência a informações que estão aqui: http://ryan.com.br/smf/index.php?topic=706.0
« Última modificação: Julho 25, 2011, 11:16:48 pm por Jefferson »

FORUM.RYAN.COM.BR

Re: Irfake
« Responder #1 Online: Junho 04, 2011, 02:34:17 pm »

Offline Jefferson

  • Zelador
  • Hero Member
  • *****
  • Mensagens: 1854
  • Aprovação: +0/-0
    • Ver Perfil
    • http://ryan.com.br
Re: Irfake
« Responder #2 Online: Junho 04, 2011, 09:57:55 pm »
RobertoZoom,

Eu acredito que, usando o irfake, mudar o mapeamento dos botões do controle remoto seja algo trivial.

Porém é essencial que isso possa ser escolhido pelo usuário.

A propósito, é bom citar uma outra característica interessante do firmware Realtek: Embora mudar os menus que você vê pela TV não seja fácil, é possível instalar uma grande variedade de opções acessíveis pela interface web do aparelho. Isso já pode ser "testado" usando o firmware alternativo de Xanti. E uma das muitas opções que podemos instalar pode ser definir que mapeamento você deseja.

Em resumo: dificilmente nós vamos fazer um firmware com o mapeamento trocado, porque isso vai atrapalhar outros usuários. Porém é praticamente certo que coloquemos essa opção na interface web. 
http://jefferson-ryan.blogspot.com
http://ryan.com.br

Se o que você escreve não merece sua atenção, vai merecer a atenção de quem?!

Offline Jefferson

  • Zelador
  • Hero Member
  • *****
  • Mensagens: 1854
  • Aprovação: +0/-0
    • Ver Perfil
    • http://ryan.com.br
Re: Irfake
« Responder #3 Online: Julho 24, 2011, 09:18:09 pm »
Com o irfake instalado no firmware é possível comandar o S9 para entrar em um menu automaticamente ao ser ligado. Por exemplo, se você quase sempre entra no menu MOVIES é um saco ter que apertar 4 vezes o botão RIGHT e depois o ENTER, sempre.

Isso pode ser contornado editando o arquivo /usr/local/etc/rcS. No final do arquivo acrescente as seguintes linhas:

Código: [Selecionar]
echo 'e0f1bf00' > /sys/devices/platform/VenusIR/fakekey
sleep 1
echo 'e0f1bf00' > /sys/devices/platform/VenusIR/fakekey
sleep 1
echo 'e0f1bf00' > /sys/devices/platform/VenusIR/fakekey
sleep 1
echo 'e0f1bf00' > /sys/devices/platform/VenusIR/fakekey
sleep 1
echo 'e1e1bf00' > /sys/devices/platform/VenusIR/fakekey
Infelizmente o comando sleep do Linux não tem suporte a pausa de fração de segundo, assim o processo irá levar 4 segundos. Não adianta remover as pausas porque o aparelho não suporta receber comandos na máxima velocidade do shell.

Vou tentar encontrar um meio simples de dar uma pausa fracionária, de preferência usando algo já incluso no s9.

« Última modificação: Julho 25, 2011, 10:44:23 pm por Jefferson »
http://jefferson-ryan.blogspot.com
http://ryan.com.br

Se o que você escreve não merece sua atenção, vai merecer a atenção de quem?!

Offline rictad

  • Hacker Honorário
  • Colaboradores
  • Papagaio
  • *
  • Mensagens: 285
  • Aprovação: +59/-0
    • Ver Perfil
Re: Irfake
« Responder #4 Online: Julho 25, 2011, 09:14:24 pm »
Com o irfake instalado no firmware é possível comandar o S9 para entrar em um menu automaticamente ao ser ligado. Por exemplo, se você quase sempre entra no menu MOVIES é um saco ter que apertar 4 vezes o botão RIGHT e depois o ENTER, sempre.

Isso pode ser contornado editando o arquivo /usr/local/etc/rcS. No final do arquivo acrescente as seguintes linhas:

echo 'e0f1bf00' > /sys/devices/platform/VenusIR/fakekey
sleep 1
echo 'e0f1bf00' > /sys/devices/platform/VenusIR/fakekey
sleep 1
echo 'e0f1bf00' > /sys/devices/platform/VenusIR/fakekey
sleep 1
echo 'e0f1bf00' > /sys/devices/platform/VenusIR/fakekey
sleep 1
echo 'e1e1bf00' > /sys/devices/platform/VenusIR/fakekey

Infelizmente o comando sleep do Linux não tem suporte a pausa de fração de segundo, assim o processo irá levar 4 segundos. Não adianta remover as pausas porque o aparelho não suporta receber comandos na máxima velocidade do shell.

Vou tentar encontrar um meio simples de dar uma pausa fracionária, de preferência usando algo já incluso no s9.

Olá Ryan!

Algumas implementações do sleep aceitam ponto flutuante, como .5 ou .2. Se esse não for o caso, pode-se tentar o comando usleep. O usleep funciona como o sleep, porém em microssegundos: usleep 1000000 = sleep 1.

Caso o comando usleep não esteja disponível no bash dos realtek, podemos fazer uma pequena gambiarra: usar a seguinte linha (com ajustes na quantidade de loops) no lugar de cada sleep:

Código: [Selecionar]
for i in {1..100000}; do :; done
O comando : (dois pontos) é o NOP do bash. No exemplo, o comando será repetido 100 mil vezes. Mas caso isso seja rápido demais e precise ser ajustado para valores muito altos (ou caso o comando : não esteja disponível), podemos modificar um pouco:

Código: [Selecionar]
for i in {1..10000}; do echo > /dev/null; done
ou

Código: [Selecionar]
for i in {1..10000}; do echo ""> /dev/null; done
os comandos echo > /dev/null ou echo "" > /dev/null não produzem nada (como o NOP), mas como requerem um certo processamento, levam mais tempo. Em computadores bem parrudos, 100000 já dura em torno de 2 décimos de segundo. Acho que 10000 vezes (ou menos) nos realtek já vai dar um bom resultado.

Offline Jefferson

  • Zelador
  • Hero Member
  • *****
  • Mensagens: 1854
  • Aprovação: +0/-0
    • Ver Perfil
    • http://ryan.com.br
Re: Irfake
« Responder #5 Online: Julho 25, 2011, 10:43:49 pm »
Obrigado pelas dicas!

Algumas implementações do sleep aceitam ponto flutuante, como .5 ou .2. Se esse não for o caso, pode-se tentar o comando usleep. O usleep funciona como o sleep, porém em microssegundos: usleep 1000000 = sleep 1.


Antes de escrever o post anterior eu já havia testado o sleep fracionário e procurado o usleep, porém eu procurei apenas digitando "help" para ver a lista de comandos, que é esta:

Código: [Selecionar]
Built-in commands:
-------------------
        . : alias bg break cd chdir continue eval exec exit export false
        fg getopts hash help jobs kill let local pwd read readonly return
        set shift times trap true type ulimit umask unalias unset wait


Mas foi bobeira minha confiar nesta lista. É a segunda ou terceira vez que eu esqueço que esses são os comandos acrescentados pelo Busybox. Eu fui testar antes de dizer que não funcionava e o usleep respondeu!

Depois de alguns testes concluí que o intervalo mínimo confiável é de 200ms. O rcS ficou assim:


Código: [Selecionar]
#Teste para entrar no IMS automaticamente
#RIGHT 4 vezes seguido de OK
echo 'e0f1bf00' > /sys/devices/platform/VenusIR/fakekey
usleep 200000
echo 'e0f1bf00' > /sys/devices/platform/VenusIR/fakekey
usleep 200000
echo 'e0f1bf00' > /sys/devices/platform/VenusIR/fakekey
usleep 200000
echo 'e0f1bf00' > /sys/devices/platform/VenusIR/fakekey
usleep 200000
echo 'e1e1bf00' > /sys/devices/platform/VenusIR/fakekey

Ficou ótimo!


Para entrar automaticamente no menu Movies basta excluir os dois primeiros comandos.

Atenção

É importante ter em mente que isso não vai necessariamente acelerar a disponibilidade dos filmes. O objetivo desse "hack" é reduzir o uso repetitivo e maçante do controle remoto. Se seus filmes estiverem no HDD, o tempo necessário para o S9 montá-lo é muito maior e você terá que esperar pela mensagem "HDD Plug-IN" de qualquer maneira.
http://jefferson-ryan.blogspot.com
http://ryan.com.br

Se o que você escreve não merece sua atenção, vai merecer a atenção de quem?!

FORUM.RYAN.COM.BR

Re: Irfake
« Responder #5 Online: Julho 25, 2011, 10:43:49 pm »