Autor Tópico: Informações (gerais) relevantes para quem quer mexer no firmware  (Lida 26366 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
Isto é um rascunho. Estou publicando apenas para não acabar virando um rascunho privado. Minhas anotações podem ser úteis para outras pessoas.

Este tópico vai sendo dividido em outros dentro da board de desenvolvimento, dependendo do acúmulo de material.

Também não estou dando atenção a colocar as coisas na ordem que deveriam. Vai ter coisa avançada sendo publicada antes do conhecimento inicial requerido. Um dia eu coloco na ordem apropriada.

Nada do que for explicado aqui deve ser tentado por usuários comuns. Este é um tópico de desenvolvimento.

O chip usado nesses Media Players costuma ser o RTD1073
http://www.realtek.com/products/productsView.aspx?Langid=1&PNid=9&PFid=26&Level=3&Conn=2&ProdID=238


MP = Media Player
dvdplayer = este é o nome do programa que forma toda a interface do MP Realtek
« Última modificação: Julho 26, 2011, 08:29:01 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 Jefferson

  • Zelador
  • Hero Member
  • *****
  • Mensagens: 1854
  • Aprovação: +0/-0
    • Ver Perfil
    • http://ryan.com.br
Re: Informações relevantes para quem quer mexer no firmware
« Responder #1 Online: Maio 05, 2011, 06:15:27 pm »
Este mod feito para o S9, embora tenha vários bugs, serve no mínimo para mostrar o que pode ser feito:

http://dpi.mx/s9mod/2011/04/beta-3-now-available/

O que eu vi:

Acessando o S9 pelo browser, existe um menu levando a quatro programas distintos. É possível configurar o aparelho, editar irfke.conf, exibir informações de processos, matar processos, etc. Tudo com o browser.

E a imagem inicial foi alterada:




Existe uma grande mudança no menu IMS:

« Última modificação: Maio 06, 2011, 12:27:35 am 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?!

FORUM.RYAN.COM.BR

Re: Informações relevantes para quem quer mexer no firmware
« Responder #1 Online: Maio 05, 2011, 06:15:27 pm »

Offline Jefferson

  • Zelador
  • Hero Member
  • *****
  • Mensagens: 1854
  • Aprovação: +0/-0
    • Ver Perfil
    • http://ryan.com.br
Re: Informações relevantes para quem quer mexer no firmware
« Responder #2 Online: Maio 05, 2011, 06:21:27 pm »
É essencial para quem quer mexer com o firmware ter o cabo serial. O mesmo cabo usado na recuperação de players MT13x9 serve para os MP Realtek (mas observe a voltagem).  No caso do DIYOMATE S9 eu publiquei as instruções aqui:

http://ryan.com.br/wp/diyomate-s9-porta-serial/
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: Informações relevantes para quem quer mexer no firmware
« Responder #3 Online: Maio 05, 2011, 06:31:33 pm »
O S9 anuncia qual é a versão do bootloader durante o boot pela serial:

Código: [Selecionar]
Realtek LINUX (DC ALIAS) started...

Venus setting:

    ROSs have 2621440 bytes RAM.

    System CPU has 2 UARTs.

    System CPU uses external timer interrupt.

    Bootloader version: 0000.0202.0021. This version string is of new format.

Eu acho que isso é o que chamariam de "versão 21".
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: Informações relevantes para quem quer mexer no firmware
« Responder #4 Online: Maio 06, 2011, 02:20:19 am »
A configuração básica do aparelho é guardada no arquivo

/usr/local/etc/dvdplayer/Setup/Setup (sem extensão)

Edit: No firmware original V.8.2.05_A02 o arquivo é:
/usr/local/etc/dvdplayer/Setup (sem extensão)

Se esse arquivo não for encontrado, o player entra no modo de primeira inicialização, perguntando o idioma, data-hora e configuração da rede.

Pode ser apagado via telnet ou ftp para resetar o player sem ter que apagar o firmware.

Mas se você criar um firmware onde dvdplayer já entre com uma configuração específica, configure seu aparelho do modo desejado e depois copie o arquivo por ftp e coloque no lugar correto no firmware.

« Última modificação: Julho 25, 2011, 11:20:47 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 Jefferson

  • Zelador
  • Hero Member
  • *****
  • Mensagens: 1854
  • Aprovação: +0/-0
    • Ver Perfil
    • http://ryan.com.br
Re: Informações relevantes para quem quer mexer no firmware
« Responder #5 Online: Maio 06, 2011, 04:55:02 am »
A conexão serial não serve apenas para recuperar um "brick". Ela realmente serve para "debug", porque mensagens de erro são transmitidas por ela.
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: Informações relevantes para quem quer mexer no firmware
« Responder #6 Online: Maio 06, 2011, 05:38:10 pm »
Legal, Ryan! Em relação ao acesso e à estrutura do firmware, é possível indentificarmos várias semelhanças com os STB Broadcom. A experiência com aquele firmware deve ajudar.
« Última modificação: Maio 06, 2011, 07:27:43 pm por rictad »

Offline Jefferson

  • Zelador
  • Hero Member
  • *****
  • Mensagens: 1854
  • Aprovação: +0/-0
    • Ver Perfil
    • http://ryan.com.br
Re: Informações relevantes para quem quer mexer no firmware
« Responder #7 Online: Maio 06, 2011, 09:22:09 pm »
Eu devo ter uns 10 cabos aqui que eu comprei para usar com aparelhos Mediatek e condenei. Quando eu achá-los vou testar no S9  ;D
« Última modificação: Maio 07, 2011, 04:13:55 am 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 Jefferson

  • Zelador
  • Hero Member
  • *****
  • Mensagens: 1854
  • Aprovação: +0/-0
    • Ver Perfil
    • http://ryan.com.br
Re: Informações relevantes para quem quer mexer no firmware
« Responder #8 Online: Maio 06, 2011, 09:47:26 pm »
Sob vários aspectos, aperfeiçoar um MP Realtek é muito mais "fácil" que um Divx Player MT13x9. Modificar o firmware não é tarefa apenas para quem compreende assembly: com um razoável conhecimento de Linux é possível fazer grandes transformações no aparelho, acrescentando e modificando funcionalidades.

A única parte que é território exclusivo de quem está disposto a encarar programação Assembly é modificar o comportamento de dvdplayer. Por exemplo, só em Assembly poderá ser viável:

  • Aproveitar dvdplayer de um aparelho muito diferente (como o da Xtreamer);
  • Mudar a fonte usada nas legendas;
  • Fazer com que a sinopse de um filme seja exibida apertando um botão do remoto quando estamos vendo sua pasta no browser;
  • Aumentar o número de caracteres do nomes exibidos no browser;
  • fazer com que o poster (folder.jpg, por exemplo) de cada pasta seja exibido automaticamente enquanto passeamos pelo browser.

Mas, como eu disse, saber Linux já basta para fazer muita coisa. Como o firmware tem suporte a links simbólicos e NTFS, você nem mesmo fica limitado ao tamanho da flash onboard. É perfeitamente possível (e já é feito em maior ou menor grau na maioria dos firmwares) transferir boa parte do código para o HDD interno. Isso precisa ser feito com algum cuidado, porque o HDD leva algum tempo para ser "montado" e por isso não dá para colocar no HDD código que precisa estar disponível imediatamente. E também é preciso evitar dar um "crash" no aparelho se o HDD interno for removido ou trocado.

Shantic, por exemplo, fez uma coisa interessante. Seu firmware Beta 3 é instalado em duas partes: uma para instalar no aparelho e outra para descompactar no HDD. E a parte no aparelho procura automaticamente pela presença da parte no HDD, evitando o crash.
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: Informações relevantes para quem quer mexer no firmware
« Responder #9 Online: Maio 06, 2011, 11:41:07 pm »
Mas, como eu disse, saber Linux já basta para fazer muita coisa. Como o firmware tem suporte a links simbólicos e NTFS, você nem mesmo fica limitado ao tamanho da flash onboard. É perfeitamente possível (e já é feito em maior ou menor grau na maioria dos firmwares) transferir boa parte do código para o HDD interno. Isso precisa ser feito com algum cuidado, porque o HDD leva algum tempo para ser "montado" e por isso não dá para colocar no HDD código que precisa estar disponível imediatamente. E também é preciso evitar dar um "crash" no aparelho se o HDD interno for removido ou trocado.

Shantic, por exemplo, fez uma coisa interessante. Seu firmware Beta 3 é instalado em duas partes: uma para instalar no aparelho e outra para descompactar no HDD. E a parte no aparelho procura automaticamente pela presença da parte no HDD, evitando o crash.

Eu cheguei a pensar em umas coisas com links simbólicos no firmware do Zinwell. Mas lá não existe suporte a NTFS, o que forçaria o usuário comum usar uma partição em ext3 ou FAT32. Também é possível rodar scripts diretamente no HDD. Mas nos dois casos haveria o incômodo de manter um HDD ou pendrive conectado o tempo todo num aparelho que é originalmente feito para sintonizar TV. Já com o S9, além de ter suporte a NTFS, o normal é ter um storage mesmo. Isso pode ser muito proveitoso.

Esse tipo de firmware híbrido, sistema + aplicações, parece ser excelente para modificações. A lógica deve ser deixar o sistema bootar pela flash e a aplicação (dvdplayer, por exemplo) rodar pelo HDD. E fazer como Shantic deve ter feito: o sistema na flash teria um script para montar o HDD e só depois chamar a aplicação. Muito prático para modificações futuras, inclusive.

FORUM.RYAN.COM.BR

Re: Informações relevantes para quem quer mexer no firmware
« Responder #9 Online: Maio 06, 2011, 11:41:07 pm »