Autor Tópico: A ressuscitação do firmware pela porta serial e a perda do HDMI...  (Lida 60384 vezes)

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

Offline jmaraujo

  • Seeder
  • Colaboradores
  • Papagaio
  • *
  • Mensagens: 409
  • Aprovação: +41/-0
  • Saudações desde Rivera, Uruguay!!! ;)
    • Ver Perfil
    • Fórum DVP5100K
Sem querer soar alarmista, aqueles usuários com player com chipset Mediatek MT1389 e saída HDMI devem ter cuidados extras ao atualizar o firmware. O motivo é que se a atualização falhar, perde-se a HDCP key impossibilitando o uso da saída HDMI.

O problema já foi reportado no VideoHelp (aqui), no fórum do vb6rocod (aqui) e varias vezes no fórum do DVP5100 (aqui, aqui, aqui, por exemplo)

O cenário é mais o menos o seguinte: O usuário está atualizando o firmware e alguma coisa errada acontece. O player deixa de funcionar e a única saída e a ressuscitação do player via porta serial. O usuário faz a ressuscitação e descobre que a saída HDMI deixou de funcionar (não é possível selecionar a opção HDMI no menu). O motivo é que quando é feita a ressuscitação via porta serial, a HDCP key é apagada. Sem a key o player desabilita a opção do HDMI. Os firmwares oficiais da Philips e os firmwares modificados basados no firmware original do website da Philips (vb6rocod, por exemplo), não incluem a HDCP key.

A única solução para recuperar o HDMI é carregar um firmware extraído vía porta serial de um player que esteja com o HDMI funcionando corretamente.

Por tanto quem tiver um player Mediatek com HDMI e puder extrair o firmware completo via cabo serial estaria fazendo uma ajuda muito grande a comunidade. Acho que o Jefferson não teria reparos em que os firmware sejam anexados a este tópico. Caso contrario podem usar um serviço como o Rapidshare. No fórum do DVP5100 já logramos coletar firmwares backups completos para o 3962 e o 5990 europeu. Amanha eu posto eles aqui ou em algum outro servidor.

Saudações!
Juan M.

Offline rictad

  • Hacker Honorário
  • Colaboradores
  • Papagaio
  • *
  • Mensagens: 285
  • Aprovação: +59/-0
    • Ver Perfil
Re: A ressuscitação do firmware pela porta serial e a perda do HDMI...
« Responder #1 Online: Setembro 25, 2009, 10:00:22 pm »
Então foi isso que aconteceu ao meu DV397H. Após uma atualização por cabo, a HDMI nunca mais funcionou.

jmaraujo, a lógica é a seguinte?
A HDCP key fica em uma região da EEPROM fora da área ocupada pelo firmware (assim como as opções selecionáveis pelo usuário). A atualização do firmware via CD não apaga a EEPROM inteira, apenas sobrepõe o código. Já a atualização pela porta serial inicialmente apaga a EEPROM inteira, zerando a HDCP key. Com a extração do firmware de um player com a HDMI funcional teremos a cópia inteira da EEPROM e quem sabe poderemos localizar a HDCP key, por comparação. Assim, será possível incluí-la no firmware, anexando a região ao código.

Porém, o zeurt havia falado que alguns players possuem sequências que, se digitadas corretamente no controle, permitem habilitar ou desabilitar a HDMI. Essa é outra solução, não? Pois deve haver esse recurso para a assitência técnica poder "consertar" um player com firmware corrompido.
« Última modificação: Setembro 25, 2009, 10:04:08 pm por rictad »

FORUM.RYAN.COM.BR

Re: A ressuscitação do firmware pela porta serial e a perda do HDMI...
« Responder #1 Online: Setembro 25, 2009, 10:00:22 pm »

Offline jmaraujo

  • Seeder
  • Colaboradores
  • Papagaio
  • *
  • Mensagens: 409
  • Aprovação: +41/-0
  • Saudações desde Rivera, Uruguay!!! ;)
    • Ver Perfil
    • Fórum DVP5100K
Re: A ressuscitação do firmware pela porta serial e a perda do HDMI...
« Responder #2 Online: Setembro 25, 2009, 10:31:08 pm »
É, eu cheguei a mesma conclusão.  :)

Um usuário do OpenMTK disse que é possível adicionar o bloque HDCP ao firmware, então eu enviei uma MP para ele, pra ver se ele explica pra gente como é que se faz o procedimento...

Outra opção seria olhar no código fonte...

Saudações!

Offline Jefferson

  • Zelador
  • Hero Member
  • *****
  • Mensagens: 1854
  • Aprovação: +0/-0
    • Ver Perfil
    • http://ryan.com.br
Re: A ressuscitação do firmware pela porta serial e a perda do HDMI...
« Responder #3 Online: Setembro 26, 2009, 12:43:47 am »
O motivo é que quando é feita a ressuscitação via porta serial, a HDCP key é apagada. Sem a key o player desabilita a opção do HDMI. Os firmwares oficiais da Philips e os firmwares modificados basados no firmware original do website da Philips (vb6rocod, por exemplo), não incluem a HDCP key.

Eu lembro vagamente de ter alertado para essa possibilidade há muito tempo. Possivelmente foi quando estávamos fazendo modificações no firmware do Proview DVP-858 (quando eu encontrar onde foi, posto aqui). Mas como ninguém relatou perda da HDMI na época, acabei esquecendo completamente dessa possibilidade.

Por tanto quem tiver um player Mediatek com HDMI e puder extrair o firmware completo via cabo serial estaria fazendo uma ajuda muito grande a comunidade. Acho que o Jefferson não teria reparos em que os firmware sejam anexados a este tópico.

Não, eu não vejo problema algum.
« Última modificação: Setembro 26, 2009, 01:05:59 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: A ressuscitação do firmware pela porta serial e a perda do HDMI...
« Responder #4 Online: Setembro 26, 2009, 01:05:17 am »
jmaraujo, a lógica é a seguinte?
A HDCP key fica em uma região da EEPROM fora da área ocupada pelo firmware (assim como as opções selecionáveis pelo usuário). A atualização do firmware via CD não apaga a EEPROM inteira, apenas sobrepõe o código. Já a atualização pela porta serial inicialmente apaga a EEPROM inteira, zerando a HDCP key. Com a extração do firmware de um player com a HDMI funcional teremos a cópia inteira da EEPROM e quem sabe poderemos localizar a HDCP key, por comparação. Assim, será possível incluí-la no firmware, anexando a região ao código.

Vocês parecem estar fazendo confusão entre a EEPROM e a FLASH EEPROM (que chamamos habitualmente apenas de FLASH).

A EEPROM é um componente de 8 pinos, geralmente de uns 2KB, onde ficam armazenadas todas as opções do usuário e (no caso dos Philips) a identificação do sub-modelo, entre outras informações. A EEPROM, até onde sei, NUNCA é apagada, qualquer que seja o modo de instalação do firmware. Existem, entretanto, firmwares que inicializam (pré-configuram) determinadas regiões da EEPROM imediatamente antes ou imediatamente depois de um upgrade por CD, mas nunca (até onde vai meu entendimento atual do processo) no upgrade por cabo.

A FLASH EEPROM é o componente geralmente de 48 pinos e 1MB ou mais de capacidade onde é armazenado o firmware. Opções de usuário não podem ser armazenadas na FLASH (não há como lê-las sob demanda), mas uma HDCP KEY pode, porque só é lida uma vez, ao ligar o aparelho.

Tanto a atualização pela porta serial quanto a atualização por CD apagam a FLASH inteira antes de fazer a gravação. Simplesmente não é possível sobrepor dados em uma FLASH do tipo usado em DVD players (embora em pendrives seja).

É tecnicamente possível que a flash possa ser apagada por setores e que um dos processo de gravação preserve um desses setores, mas eu preciso ler os datasheets das FLASH usadas nesses aparelhos antes de dizer se isso é possível.

Quanto ao lugar onde fica armazenada a HDCP KEY, eu me lembro de ter dito, há muito tempo, que desconfiava que fosse aquele monte de bytes estranhamente localizado após o checksum (que deveria ser o último conjunto de bytes no arquivo) no DVP-858. E deixei clara a minha preocupação porque uma ou mais ferramentas usadas regularmente por nós para editar os firmwares considera que o arquivo acaba no checksum, salvando o firmware sem esses bytes.

Eu preciso encontrar onde foi que eu falei isso.
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: A ressuscitação do firmware pela porta serial e a perda do HDMI...
« Responder #5 Online: Setembro 26, 2009, 01:17:26 am »
Um dos lugares onde falei sobre minha suspeita foi este (07/07/2007):

http://www.htforum.com/vb/archive/index.php/t-47704-p-11.html
Citar
Citar
Alguem saberia dizer porque o firmware disponibilizado pela proview possui aproximadamente 2Mb e a versao 2.0 Eneris, aproximadamente 1.4Mb ?

Isso é relativamente "normal".

O tamanho da memória flash no Proview é 2MB. Quando se faz uma leitura do firmware via cabo, o programa lê até o último byte, mesmo que tenha um monte de nada lá. Isso é o que chamamos de "versão serial".

Já na "versão CD" essa parte desnecessária é eliminada e o arquivo fica apenas do tamanho do código. O mtkRemaker automaticamente salva em versão CD.

Porém no caso do proview existe um pequeno detalhe: Existe um bloco de informação extra depois do código "normal" que é eliminado também quando gravamos uma "versão CD". Esse bloco supostamente tem as chaves HDCP do aparelho.

Eu digo "supostamente" porque eneris já lançou mais de uma vez em "versão CD" e ninguém que usou fez nenhum comentário sobre problemas com HDCP.

Alguns programas que nós usamos não sabem lidar com esse bloco e o descartam. O MtkRemaker 0.2 final, por exemplo, descarta o bloco, mas a versão mais recente o preserva.

São tantos programas e versões que acontece de a gente se perder no meio do processo e usar algum que descarta o bloco acidentalmente.

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: A ressuscitação do firmware pela porta serial e a perda do HDMI...
« Responder #6 Online: Setembro 26, 2009, 02:18:50 am »
Acabo de fazer uma checagem que me lembrou de por que eu não havia levado essa minha teoria adiante.

Os dois firmwares originais existentes para o DVP-858 tem dois estranhos blocos de dados muito depois do suposto fim do firmware (o checksum).

Porém nenhum dos firmwares Philips para DVP5980 tem esses blocos. Isso inclui o firmware extraído por Rafalibrenz de seu aparelho quando este ainda era "virgem".

Se, considerando um DVP5980 que tenha perdido a HDMI, colocar o BIOS firmware de Rafa não resolver o problema...


Edit: "BIOS"!? Eu escrevi mesmo "BIOS"!?
« Última modificação: Setembro 26, 2009, 03:01:31 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 rictad

  • Hacker Honorário
  • Colaboradores
  • Papagaio
  • *
  • Mensagens: 285
  • Aprovação: +59/-0
    • Ver Perfil
Re: A ressuscitação do firmware pela porta serial e a perda do HDMI...
« Responder #7 Online: Setembro 26, 2009, 02:41:00 am »
Vocês parecem estar fazendo confusão entre a EEPROM e a FLASH EEPROM (que chamamos habitualmente apenas de FLASH).

É, a confusão foi minha. De fato, as opções do usuário não ficam na FLASH. :dashhead1:
Mas o restante pode ser daquele jeito mesmo: a HDCP Key fica no espaço que sobra na FLASH, após código do firmware.

Porém nenhum dos firmwares Philips para DVP5980 tem esses blocos. Isso inclui o firmware extraído por Rafalibrenz de seu aparelho quando este ainda era "virgem".

Se, considerando um DVP5980 que tenha perdido a HDMI, colocar o BIOS de Rafa não resolver o problema...
Aí teríamos que ver se o DVP5980 não é um caso diferente. Pode-se tentar um teste ao contrário: alguém atualizar o DVP5980 por cabo com o firmware original e com o arquivo apenas no tamanho exato do firmware para ver se a HDMI continua funcionando.
« Última modificação: Setembro 26, 2009, 02:44:01 am por rictad »

Offline Jefferson

  • Zelador
  • Hero Member
  • *****
  • Mensagens: 1854
  • Aprovação: +0/-0
    • Ver Perfil
    • http://ryan.com.br
Re: A ressuscitação do firmware pela porta serial e a perda do HDMI...
« Responder #8 Online: Setembro 26, 2009, 02:50:42 am »
Aí teríamos que ver se o DVP5980 não é um caso diferente.

Eu estava justamente verificando isso.

Eu tenho três modelos comigo com HDMI

Proview DVP-858
Philips DVP5960
Philips DVP5980

Os dois primeiros tem um chip EEPROM extra (dois no total), supostamente dedicado ao chip HDMI.
O DVP5980 tem apenas um chip EEPROM. E é o mesmo (24C08 - 1KB) do DVP5100, que não tem HDMI.
« Última modificação: Setembro 26, 2009, 03:05:21 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: A ressuscitação do firmware pela porta serial e a perda do HDMI...
« Responder #9 Online: Setembro 26, 2009, 02:52:23 am »
Pode-se tentar um teste ao contrário: alguém atualizar o DVP5980 por cabo com o firmware original e com o arquivo apenas no tamanho exato do firmware para ver se a HDMI continua funcionando.

Eu faria esse teste ainda hoje. Mas eu não tenho nenhuma TV com HDMI, por isso sequer posso dizer se o HDMI de meus aparelhos funciona.
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: A ressuscitação do firmware pela porta serial e a perda do HDMI...
« Responder #9 Online: Setembro 26, 2009, 02:52:23 am »