|


|
DivX
Players de Mesa (standalone)
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:
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.
|
.jpg)
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.
.jpg)
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
.jpg)
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:
.jpg)
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:
.jpg)
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):
.jpg)
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:
Voltar
para o Portal DVD/DivX do meu site
|