Firmware MT13x9

Como usar a porta serial dos players baseados em chipset Mediatek 1389

Texto publicado em 11/09/2005 e atualizado em 22/09/2008

Atenção: Se seu aparelho é um modelo novo que usa memória flash do tipo serial, você precisará ler isto aqui também.

Aparelhos de DVD com DivX baseados em chipset Mediatek 1389 tem uma característica única: seu firmware pode ser lido ou gravado com o auxílio de um cabo ligado ao computador. Mesmo que o aparelho tenha ficado totalmente inoperante e aparentemente morto por causa de um upgrade de firmware desastrado feito via CD, a atualização por cabo continuará funcionando e poderá “ressuscitar” o aparelho. Eu mesmo já trouxe de volta do “céu dos DVD players” vários aparelhos, meus e de pessoas que contrataram os meus serviços.

Até o presente momento, os únicos aparelhos do mercado brasileiro que sabidamente usam chipset Mediatek MT1389 são:

  • LG DK194G
  • LG DV256K
  • LG DK8321N
  • LG DK9923N
  • LG DVD9913N
  • LG DVD9513N
  • LG DV397H – Requer a leitura também disto aqui.
  • LG DV383
  • Proview DVP-858
  • Proview DVP-801
  • Proview DVP-801L
  • Proview DVP-816
  • Punktal PK-DV246 (vendido na fronteira com o Uruguai)
  • Pioneer 575/578
  • Pioneer 588
  • Pioneer DV 383
  • Powerpack X600
  • Philco DV-PIX20
  • Philips DVP5100
  • Philips DVP5980K (Todos os Philips DVP598x são presumidamente Mediatek)
  • Philips DVP3040K – Apenas o lote com número de série xx1Axxxxxxxxxx
  • Philips DVP5965K (Todos os Philips DVP596x são presumidamente Mediatek)
  • Philips DVP3254 (K, KX e KMX);
  • Philips DVP5990
  • Philips PET 725
  • Philips HTS 3300
  • Lenoxx DV-406
  • JTEC MTK7000
  • Suzuki SZ915
  • Eletrovision EV407 – Cuidado! A Eletrovision muda o que tem dentro sem mudar o modelo!
  • Eletrovision EV597 – Requer a leitura também disto aqui. Cuidado! A Eletrovision muda o que tem dentro sem mudar o modelo!

O que você precisa:

  • Software MTKTOOL (ou MT1389 Flasher) – Atenção: nem sempre a versão mais recente do Mtktool é a melhor.
  • Software MTKRemaker;
  • Um PC com uma porta serial livre;
  • Um cabo especial de fácil obtenção.

Para conectar o PC ao seu DVD player, você precisa de um cabo especial. O cabo é tecnicamente muito simples: trata-se de um cabo serial de três fios com um conversor CMOS -> RS232

Eu fiz meu próprio conversor com um CI HIN232, um punhado de capacitores e alimentei com os 5V da porta USB do meu micro (isso dispensa o 78L05). Por sorte, você não precisa construir seu próprio conversor, porque alguns cabos de comunicação seriais para telefones celulares, do tipo usado para transferir toques e fotos, servem perfeitamente!

Em meus testes, eu usei os cabos dos telefones Siemens C45 e C55. Os cabos tem conectores diferentes, mas internamente são a mesma coisa.

Notas:

Nem todos os cabos de celular servem para esse propósito e a maioria esmagadora dos que serve é do tipo serial.

Não tente conectar o PC diretamente ao DVD player sem o cabo adequado. Ao PC você não fará mal algum, mas provavelmente fritará a porta serial do chip Mediatek e talvez inutilize o aparelho para sempre. O PC segue o padrão RS232 e, geralmente, suas portas seriais apresentam tensões de -12V a +12V. A porta serial Mediatek vai de 0 a +3.2V, por isso é preciso usar um adaptador apropriado.

O cabo serial de celular não requer alimentação externa, porque usa componentes de baixíssimo consumo sendo assim possível alimentá-lo com os próprios sinais da porta serial. Mas se você for construir seu próprio cabo provavelmente só vai encontrar componentes de consumo “normal” que precisarão de alimentação externa.

A soldagem requerida na placa pode ser delicada. No DVP5100, por exemplo, os pontos são muito pequenos e próximos. Se você não tem experiência com soldagem eletrônica pode provocar um dano sério à placa, curto-circuitando trilhas adjacentes com solda ou descolando as ilhas por excesso de calor. No DK8321 a soldagem é mais fácil, mas em compensação você tem que desmontar praticamente todo o aparelho para chegar aos pontos de soldagem no fundo da placa.

De três cabos que comprei, apenas um foi capaz de ler o firmware, embora os três tenham sido capazes de gravar (é o mais importante) normalmente. Ainda não descobri a razão disso.

Comunicação usando cabos USB:

Usar um cabo USB para celulares Siemens é possível, mas um tanto mais complicado e não tem o mesmo resultado que usar um cabo serial. Somente é possível porque os cabos USB Siemens vem com um driver que instala uma porta serial virtual que pode ser acessada pelo MTKtool.

Nos meus testes, usei cabos de dois fabricantes. Em todos os casos, é preciso determinar que a porta serial virtual instalada pelo driver use uma denominação de porta serial livre de COM1 a COM4.

O primeiro, que usava chip Prolific PL-2303, funciona precáriamente. O processo é tão rápido quanto com cabo serial, mas coisas estranhas acontecem, incluindo a reinicialização espontânea do computador durante o processo de upgrade, provocada por erro no arquivo ser2pl.sys (a porta serial virtual instalada pela Prolific), versões 2.0.0.18 e 1.3.0.1. Tanto com o MTktool 1.29 quanto com o 1.31

O segundo, com chip SILABS CP2101, funciona, mas é extremamente lento para o upgrade (versão 4.28.0.2700). Gravar um novo firmware leva cerca de 26 minutos com o cabo USB. E não houve nada que eu pudesse fazer na configuração da porta virtual ou do MTKTool que resolvesse o problema. Mas ler com o cabo USB parece ser tão rápido quanto com o cabo serial. Isso foi testado em dois computadores diferentes, com duas instalações do Windows diferentes.

Resumindo: se não quiser ter dores de cabeça, escolha um cabo serial.

Notas

Geralmente, o driver escolhe uma porta serial livre (COM3, COM4, etc) e “amarra” essa porta serial à porta USB onde o cabo estava conectado quando o driver foi instalado. Se você plugar o cabo em outra porta USB do mesmo micro, ele vai ser redetectado e uma outra porta serial será atribuída a ele. Mas se você voltar a plugar na porta anterior, verá que a porta anterior será assumida. Por causa disso é sempre bom ir no Gerenciador de Dispositivos e se certificar de que porta o cabo está usando.

Ao desplugar o cabo, aguarde alguns segundos antes de plugar novamente.

Acima, o cabo para C55 que comprei.

Em teoria, esse é o mesmo cabo para os modelos Siemens A52, A55, A56, A60, C55, C56, C60, C65, CF62, CT56, M55, MC60, MT55, S55, S56, S57, S65, SL5C, SL55, SL56, 2218, SX1. Note que o próprio cabo já veio marcado como MC60/CF62 embora eu tenha pedido um para C55.

Acima, o cabo do C45.

Em teoria, esse é o mesmo cabo para os modelos Siemens A35, A36, A40, C25, C35, C45, M35, M35i, M50, ME45, MT50, S25, S35, S45, SL-42, SL45 e 3118

Ambos os conectores tem 12 pinos, mas os cabos tem apenas três fios, por isso não há muita margem para erro. Baseando-se pela figura acima, os fios são:

A52, A55, A56, A60, C55, C56, C60, C65, CF62, CT56, M55, MC60, MT55, S55, S56, S57, S65, SL5C, SL55, SL56, 2218, SX1 A35, A36, A40, C25, C35, C45, M35, M35i, M50, ME45, MT50, S25, S35, S45, SL-42, SL45 e 3118
GND 2 (amarelo) 1 (verde)
TX 3 (azul) 5 (azul)
RX 4 (verde) 6 (branco)

Atenção: Eu coloquei as cores dos fios para meu registro apenas. Não se guie por elas, porque as cores mudam de um fabricante de cabo para outro.

Apenas os modelos em negrito foram confirmados pessoalmente por mim.

Abra o conector (o conector do lado do celular nunca é selado), anote que fios vão em que pinos (ou seja, anote a função de cada fio) e dessolde ou corte os fios.

Na placa do DVD player você vai soldar esses fios nos pontos correspondentes, da seguinte forma:

cabo placa
GND GND
TX RX
RX TX

Dica: Se o cabo estiver conectado ao PC e um programa de comunicação estiver corretamente configurado, você poderá identicar quem é o RX tocando no mesmo. O PC mostrará a recepção de dados aleatórios enquanto você estiver tocando no fio RX, desde que este não esteja conectado a mais nada. Pode ser necessário que você esteja descalço e tocando com o pé no chão para que esse teste funcione.

Você precisará saber, no seu aparelho, onde fica a porta serial e qual a seqüencia dos fios. Isso varia de aparelho para aparelho. Para obter essas informações sobre o Philips DVP5100 e LG DK8321N, que são aparelhos que eu possuo, consulte meus reviews correspondentes.

Importante: Se você está em um processo de copiar o firmware original, jamais manipule a porta serial (nem sequer toque nela ou nos fios ligados a ela) com o aparelho ligado na tomada. Essa operação pode apagar o firmware e você não vai querer que isso aconteça se você ainda não fez uma cópia.

Abaixo, um exemplo de como fica quando soldado no Phlips DVP5100:

Mas é recomendável que você não solde o cabo do celular diretamente à placa. Eu estou preferindo soldar um cabo mais fino, comprido e flexível, que me permita fazer as conexões fora do aparelho, como no exemplo abaixo:

Acima, eu usei um pedaço de flat cable colorido. Você está vendo a placa de Karaokê do DVP5100 solta porque o único orifício no fundo do aparelho grande o suficiente para a passagem do cabo é o que fica embaixo dela. O nó no fio é para “travar” o cabo, impedindo que o ponto de solda “sinta” os movimentos feitos externamente. Depois de passar o cabo pelo orifício é só parafusar a placa de volta em seu lugar.

Para conectar o flat cable ao cabo do celular, estou usando um conector sindal:

Atenção: Desligue o aparelho da tomada enquanto estiver fazendo qualquer coisa com a porta serial. Usar ferro de solda na porta serial ou simplesmente pegar na ponta dos fios com o DivX player ligado na tomada pode apagar o firmware!

Serviços Prestados

Se você preferir, eu posso fazer o serviço no seu aparelho. Custa R$50 +fretes. Pode não valer a pena para você, dependendo de quanto o aparelho custou (ou quanto custa um novo), mas é isso que custa o meu tempo.

Atenção: Se você tiver um aparelho que eu nunca tive em mãos, faço o serviço de graça. Leia os termos aqui.

Calcule o frete usando a calculadora dos correios. Use como CEP destino: 50000-000. Se você achar que o custo total não vale a pena e você vai jogar o aparelho fora, entre em contato, porque talvez eu possa adquirir o seu aparelho.

Para baratear o frete, você pode me enviar apenas a placa CPU, desde que seja de um aparelho que eu possua ou compatível (Philips DVP3040, Philips DVP5100, Philips DVP5960, Philips DVP5980, Lenoxx DV-406, LG 8XXX, LG DK194g, Punktal PK-DV246 e Proview DVP858 ).

Eu devolvo o aparelho com o firmware que você escolher. Posso também personalizar a tela de background de acordo com sua preferência, usando um JPG enviado por você ou copiando de um outro firmware.

Condições: Eu prefiro prestar esse serviço apenas em aparelhos “clinicamente mortos” por uma instalação desastrada de firmware. Só me envie seu aparelho se tiver total confiança em meus serviços. Eu não posso aceitar reclamações do tipo “o aparelho não tinha esse problema antes!”

Se não aceita 100% das minhas condições, procure outra pessoa ou faça o serviço você mesmo. Todas as instruções estão nesta página.

Formas de pagamento aceitas:

Nota: Eu costumava vender apenas o cabo, mas depois de comprar 10 cabos que vieram todos defeituosos e levar calote do vendedor, deixei de comprá-los.

Os interessados devem enviar e-mail para . Não use este e-mail para nenhum outro contato, sob nenhum pretexto; pois se o fizer será devidamente ignorado e adicionado à minha “lista negra”. Você foi avisado!

Certifique-se de que seu cabo está OK antes de começar

Vai poupar muita dor de cabeça se você tiver certeza de que seu cabo está funcionando antes de conectá-lo ao player. Para fazer isso, simplesmente encoste RX com TX na extremidade CMOS do cabo e transmita algo com um programa de comunicação qualquer, como o Hyperterminal. Se o cabo estiver bom, tudo o que você transmitir deverá ser ecoado de volta.

Após o início de qualquer leitura ou escrita, o aparelho sempre fica travado e é necessário desligá-lo da tomada e ligá-lo novamente para que ele volte a funcionar

Para que a comunicação seja possível, a CPU precisa estar energizada. Para que isso ocorra, pode ser necessário apenas que o aparelho esteja plugado na tomada, mas alguns precisam disso e que o aparelho também esteja fora de standby (ou seja, que você plugue na tomada e aperte o botão LIGA). Sempre tente as duas opções.

Exemplos:

  • LG DK8321N – Precisa estar fora de standby
  • Philips HTS 3300 – Precisa estar fora de standby
  • LG DK9923N – Só precisa estar plugado na tomada
  • Philips DVP5100 – Só precisa estar plugado na tomada
  • LG DK194G – Só precisa estar plugado na tomada

Um jeito simples de saber se a CPU está energizada é ligar o aparelho e, depois de uns 30 segundos, colocar o dedo sobre a CPU. Se estiver morna, está energizada.

Nota: Não é aconselhável que você inicie um processo com um disco no loader. Em um dos meus testes, fiz uma leitura do firmware sem nem dar importância ao que o player estava fazendo. Uma hora depois percebi um ruído estranho no quarto (era madrugada) e segui-o até o DK8321N. Notei então que eu não desligará o aparelho após a leitura e este ainda estava travado. O laser ainda estava ligado, o motor do disco estava parado e o barulho que eu estava ouvindo aparentemente vinha do sistema que controla a posição do laser, que possivelmente “endoidou” por ter sido interrompido durante uma leitura.

A mesma coisa ocorreu outro dia com o DVP5100. Eu iniciei um processo quando tinha acabado de ligar o aparelho e com isso o motor de tracionamento ficou o tempo todo girando.

Bastou resetar os aparelhos para tudo voltar ao normal, mas é melhor evitar.

Óbviamente, vamos testar o processo fazendo primeiro um backup, antes de gravar.

Inicie o MtkTool

Tudo o que você precisa fazer é:

1)Selecionar a porta serial

2)Clicar em “Backup”

Ao selecionar a porta, Mtktool imediatamente ativa os sinais DTR e RTS da porta serial, mas em um cabo construído por você mesmo você não precisa deles. Apenas TX, RX e GND são realmente usados na comunicação. Os sinais DTS e RTS são levantados permanentemente apenas para alimentar cabos seriais que são alimentados pela própria porta (como os de celulares). Isso, claro, somente funciona com circuitos de baixíssimo consumo, porque a porta serial não foi feita para alimentar coisa alguma.

A primeira coisa que o MtkTool faz ao iniciar-se a comunicação é indicar exatamente o modelo de chip flash que é usado no aparelho. O aparelho interromperá imediatamente qualquer coisa que esteja fazendo.

A leitura do firmware de 2MB leva cerca de três minutos a 115200bps. Não faz diferença se Verify está marcado para o tempo de leitura. Se o chip flash no seu aparelho for da EON o processo será mais rápido.

Se você receber uma mensagem “BaudRate AutoSet Fail! Please reset the taget board“, não há comunicação nenhuma entre o software e o aparelho.

Se o seu processo ficar parado em “Init OK”, ou “Start to upgrade” você nem começou a se comunicar. As causas podem ser muitas. Entre elas:

  • Se você tem certeza de que seu cabo está OK, inverta RX com TX e tente novamente;
  • Tem certeza de que o aparelho está ligado? Quando você está no meio de várias tentativas de recuperar um aparelho “morto” é muito fácil se confundir e esquecer de ligar o aparelho;
  • Desligue o aparelho da tomada, aguarde alguns segundos e ligue novamente. A simples manipulação dos fios conectados à serial do aparelho pode travar a CPU. Já aconteceu mais de uma vez comigo e sempre na instalação do cabo (a primeira tentativa de comunicação, mesmo com tudo ligado certinho, não funciona).
  • Experimente reduzir o comprimento da parte não blindada do seu cabo, ou usar um cabo inteiramente blindado;
  • Experimente desligar qualquer fonte de interferência eletromagnética próxima, como lâmpadas fluorescentes e motores;

Problemas no processo de upgrade

LOG: Start to upgrade
LOG: Flash Type – MXIC(MX29LV160/1(A)T)
LOG:Check & Backup…
LOG: Erasing….
LOG:Restore…
LOG: Updating….
LOG: begin : Mon Feb 06 00:33:34 2006
process 1
process 2
process 3
process 4
process 5
ERR: verify flash failed!
Fail Addr : 0
retry 5
Se o processo de update terminar como ao lado, você tem um problema na comunicação. Estou tendo diversos problemas como esse com um lote novo de cabos que comprei. No momento, a “solução” está sendo trocar de cabo.

Se a comunicação ocorre, mas sempre dá algum tipo de erro, teste com todas as versões do MtkTool e do Mtkcomm possíveis antes de desistir. Se a comunicação nem começa, o problema não é no software.

LOG: Start to backup
LOG: Init OK
LOG: Flash Type - Unknown Flash Memory
LOG: Reading....
“Unknown Flash Memory” significa que o player respondeu à identificação do chip flash, mas o código de resposta não está na sua lista de chips suportados. Experimente com versões mais recentes do Mtktool ou com o mtkCom. Na maioria das vezes é apenas um chip que o MtkTool não conhece. Note que o MtkCom pode ser ensinado a reconhecer novos chips editando-se MtkCom.INI.

Em alguns casos, a gravação pode saltar de, por exemplo, 85% a 100% de uma vez, sem acusar erros. Isso é normal e acontece quando o final do arquivo está vazio (cheio de “FF”s)
Evite usar o computador durante o processo. Ele ficará lento (isso é normal, mesmo para um P4 1.7) e, se for sobrecarregado, o processo poderá travar.

Importante: Após o término do backup, abra o arquivo no MTK Remaker. Se o programa avisar que o checksum está incorreto ou, pior, que o arquivo “não é um firmware mtk”, o backup está corrompido e precisa ser refeito!

Se tentar uma segunda vez e o firmware continuar corrompido, experimente usar outra versão do MtkTool, mesmo uma mais antiga. Eu mantenho as versões 1.29, 1.31, 2.35 e 2.42. O DVP3040K, por exemplo, só funciona com o mtktool 1.31. Outros aparelhos só funcionarão com o MtkCom.

Salve todas as suas tentativas de backup em arquivos separados

Quando terminar, o aparelho sempre estará travado. Desligue da tomada, aguarde alguns segundos e ligue novamente.

Como localizar a porta serial do aparelho

Importante: Em todo o tempo que trabalho analisando esses aparelhos baseados em Mediatek, ainda não consegui encontrar nenhum que não tivesse uma porta serial. Ela pode não estar identificada e até só ser visível examinando a placa por baixo, mas sempre está lá.

Isso requer um multímetro (preferencialmente o que tem teste de continuidade sonoro), paciência e mãos firmes.

Primeiro, você deve procurar um agrupamento qualquer de quatro pontos de solda ou orifícios na placa. Em alguns casos você encontrará uma marcação semelhante a “GND, TX, RX e 3.3V” próxima a esses pontos, mas não espere que seja tão fácil. Talvez você encontre o agrupamento, mas terá que identificar se é realmente a porta serial.

Se olhando a placa por cima você não conseguir encontrar a porta de jeito nenhum, experimente retirar a placa e observar por baixo. Alguns aparelhos tem uma indicação em silk-screen por baixo indicando onde é a porta, enquanto em outros a porta está mesmo do lado de baixo da placa e não é acessível por cima.

Abaixo, a porta serial dos LGs (quase todos que lêem DivX são iguais):

Para saber mais sobre a porta serial dos LG, leia minha página correspondente.

Agora, a porta do DVP5100, que também pode ser vista em outras imagens desta página:

Geralmente, os pontos das extremidades são GND e +3.3V. Você poderá identificá-los simplesmente medindo continuidade para a alimentação do chip EEPROM (que em geral é a mesma). Já os pontos RX e TX estão diretamente conectados respectivamente ao pinos 106 e 107 do chip MT1389.

22/09/08: No chip MT1389-F (Proview DVP801), que é menor que o tradicional mas maior que o MT1389-L, a porta serial fica nos pinos 97 e 98.

Se você não entendeu nada do que eu disse acima, desista de fazê-lo sozinho e passe estas instruções para alguém que entenda.

Meus agradecimentos ao MaBreaker por ter criado ferramentas que tornam a tarefa de modificar firmwares acessível a pobres mortais como eu, ao MTZ por popularizar a idéia de que a recuperação era possível e a todos os hackers da comunidade Mt13x9.

Leia também:

6 comments to Como usar a porta serial dos players baseados em chipset Mediatek 1389

Leave a Reply

You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>