Depois de “bricar” — transformar num tijolo de alta tecnologia — meu celular Wei Dream (Y803 com chip MT6516), precisei gravar novamente o sistema através da operação de “flashing“, ou seja, gravar o sistema Linux+Android na memória flash do aparelho. Para isto, tive que construir um cabo de conversão USB-serial. Este cabo também serve para quem trabalha com placas de microcontroladores como Arduino, placas com processadores como Raspberry Pi, além de modems e pontos de acesso que tenham conexão serial. Isto é particularmente útil porque os computadores atuais não vêm mais com saídas seriais.
O “System-on-Chip” (SoC) MT6516 da empresa taiwanesa MediaTek tem uma maneira já obsoleta de gravar o sistema Android ou Windows Mobile: primeiro deve-se carregar o preloader, um programa básico, através de um cabo USB-serial ligado à saída do fone de ouvido. Depois, o preloader carrega o resto do sistema através do cabo microUSB normal. Os novos chips MT6513 e MT6573 usam apenas o cabo microUSB.
Este cabo serial é encontrável no mercado chinês, mas eu fiz um sem gastar ou esperar muito. Comprei pelo Mercado Livre um cabo compatível com Nokia CA-42, que tem embutido um chip PL2303 conversor USB-serial TTL (3,3 v). Estes cabos custam barato porque estão obsoletos. A Nokia descontinuou este tipo de conector, chamado de Pop-Port, em 2007. Comprei com um lance de 5 reais, mais 12 reais de frete pelos Correios. Alguns têm o preço fixo de cerca de 16 reais.
Para instalar um plug de áudio stereo TRS 3,5 mm — Tip-Ring-Sleeve, chamado de P2, no Brasil — cortei perto do plug do telefone e desencapei a ponta dos cabinhos, para localizar as conexões corretas pelas cores. Usei um multímetro digital para isto, desses chineses que custam 15 reais. Conforme a foto, me guiando pelas cores, soldei os cabinhos do resto do cabo USB ao plug P2. Achei o esquema de pinagem disponível na internet: Tip=TX, Ring=RX (ambos do ponto de vista do cabo), Sleeve=GND (ver “Referências”). O principal cuidado é que o pino 6 é TX no plug e se conecta à entrada RX do telefone; o pino 7 é RX no plug e se conecta ao TX no telefone. Algumas ilustrações na rede mostravam o plug do cabo mas usavam a denominação do telefone. Esta imprecisão me confundiu, inicialmente, e soldei os cabos trocados. A primeira foto deste artigo esclarece exatamente quais as ligações.
Usei o programa de comunicação Hyperterminal do Windows para testar se o cabo foi corretamente montado. Usei a técnica de loopback: liguei o echo local, coloquei um resistor de 100 omhs entre TX e RX, conectei e digitei algo no Hyperterminal. Os caracteres saíram duplicados conforme o esperado. Mas isto não foi garantia de que os fios estivessem na ordem correta. Os programas de flashar o MT6516 não reconheciam o cabo. Quando troquei a posição de RX e TX, funcionou. Para testar, conectei ao celular Wei Dream, tirei a bateria, recoloquei a bateria e liguei o aparelho. Pelo Hyperterminal, apareceu a palavra “READY”.
Antes de usar o cabo CA-42, fiz a mesma operação com um cabo compatível com Nokia DKU-5 com um chip Texas Instrument TUSB 3410. Este cabo talvez sirva para projetos de microeletrônica, mas não funciona com os programas de flashing do MT6516. Estes exigem um cabo com chip PL2303.
Reconhecimento pelos sistemas operacionais
O Linux reconhece imediatamente estes cabos, quando conecto-os nas entradas USB. Por exemplo, o PL2303 escreve no log:
kernel: [ 8691.332045] usb 4-2: new full-speed USB device number 2 using uhci_hcd mtp-probe: checking bus 4, device 2: "/sys/devices/pci0000:00/0000:00:1a.1/usb4/4-2" mtp-probe: bus: 4, device: 2 was not an MTP device kernel: [ 8691.642774] usbcore: registered new interface driver usbserial kernel: [ 8691.642795] USB Serial support registered for generic kernel: [ 8691.642851] usbcore: registered new interface driver usbserial_generic kernel: [ 8691.642854] usbserial: USB Serial Driver core kernel: [ 8691.646456] USB Serial support registered for pl2303 kernel: [ 8691.646812] pl2303 4-2:1.0: pl2303 converter detected kernel: [ 8691.658207] usb 4-2: pl2303 converter now attached to ttyUSB0 kernel: [ 8691.658241] usbcore: registered new interface driver pl2303 kernel: [ 8691.658244] pl2303: Prolific PL2303 USB to serial adaptor driver gpsd.hotplug: add /dev/ttyUSB0 gpsdctl: gpsd_control(action=add, arg=/dev/ttyUSB0) gpsdctl: launching gpsd -F /var/run/gpsd.sock kernel: [ 8730.248081] usb 4-2: USB disconnect, device number 2 kernel: [ 8730.248350] pl2303 ttyUSB0: pl2303 converter now disconnected from ttyUSB0 kernel: [ 8730.248378] pl2303 4-2:1.0: device disconnected
O TUSB 3410 reportou:
kernel: [23270.217722] ti_usb_3410_5052 2-6.3:1.0: TI USB 3410 1 port adapter converter detected kernel: [23270.217738] ti_usb_3410_5052: probe of 2-6.3:1.0 failed with error -5 kernel: [23270.218985] ti_usb_3410_5052 2-6.3:2.0: TI USB 3410 1 port adapter converter detected kernel: [23270.219065] usb 2-6.3: TI USB 3410 1 port adapter converter now attached to ttyUSB0 mtp-probe: checking bus 2, device 10: "/sys/devices/pci0000:00/0000:00:1d.7/usb2/2-6/2-6.3" mtp-probe: bus: 2, device: 10 was not an MTP device modem-manager[1120]: <info> (ttyUSB0) opening serial port... modem-manager[1120]: <info> (ttyUSB0) closing serial port... modem-manager[1120]: <info> (ttyUSB0) serial port closed
O Linux reconhece automaticamente os chips e instala a porta serial /dev/ttyUSB0, o que descomplica tudo. O Windows, no entanto, precisa dos drivers apropriados. Felizmente, eles são fáceis de serem encontrados na rede. Baixe-os aqui:
Referências
- MT6516 flashing tutorial. <http://bm-smartphone-reviews.blogspot.com.br/2011/02/mtk-hd2-hd9-flashing-tutorial.html>
- [GUIDE]Chinese phone CPU MTK6516 based Windows Mobile Android. <http://forum.xda-developers.com/showthread.php?t=1528264>
- DIY USB to Serial Cable For $3! <http://www.uchobby.com/index.php/2009/10/04/diy-usb-to-serial-cable-for-3>
- USB to TTL audio cable. <http://www.alibaba.com/showroom/usb-ttl-to-3.5mm-audio-cable.html>
- Nokia ST pop-port LIKE-DKU-5 or CA-42 cable schematic pinout. <http://pinouts.ru/CellularPhonesCables/nokia_dku-5_cable_pinout.shtml>
- FTDI Chip, USB TTL Serail cables. <http://www.ftdichip.com/Products/Cables/USBTTLSerial.htm>
Olá José.
Tenho um celular LG A275. Será que ele tem serial 232 tbém ???
Obrigado.
álvaro.
Olá, alvin!
Se for chip Mediatek, tem. Se não for, é possível que tenha. Os fabricantes tem que ter uma maneira de botar o firmware na ROM. E RS-232 é o meio mais basicão de fazer isto. O difícil é saber os protocolos de comunicação e o formato das ROM. Se não for Android, é mais difícil ainda.
Este Tipo de cabo funciona para flashear aparelhos do modelo A9220? Obrigado!
Olá, Rodrigo!
Para os chips mais novos da MediaTek, este método não é mais necessário. Tudo pode ser feito pelo cabo MicroUSB, com o programa apropriado (para Windows).
Olá. Estou tendo problemas para formatar a NAND Flash, do meu A611 (Contem o MT6516). Não sei se montei corretamente o cabo (GND, TX, RX). Você tem o esquema correta? Gostaria muito de sua ajuda para resolver este problema. Obrigado. >>>> http://produto.mercadolivre.com.br/MLB-487353267-conversor-usb-serial-ttl-rs232-pl2303-porta-com-virtual-_JM
Olá, Erick!
O esquema está na foto do artigo acima. Usei um multiteste para verificar se os cabos estão corretos. Comece descobrindo o terra (Ground). Depois ligue os outros. Se não funcionar, troque de posição TX e RX.
Tem que ser rápido na hora de flashar porque a porta UART só fica aberta por 5 segundos quando se coloca a bateria. Isto pode ser visto no gerenciador de dispositivos do Windows, nos dispositivos seriais. A porta aparece e logo desaparece. Clique no botão de download e coloque a bateria rápido.
Então José.
O meu problema não é fazer o “download”, o problema é formatar mesmo. É necessário formatar, antes de instalar uma rom nova. A minha dificuldade é zerar tudo, e começar de novo. Ele dá erro de UART.
Obrigado.
Você testou o cabo com o Hyperterminal do Windows? Apareceu “READY” quando colocou a bateria no celular?
Boa noite, eu preciso muito de uma cabo assim montado, você teria um desse para vender?
Obrigado e parabéns pelo tutorial.
Olá, Junior!
Infelizmente, não tenho.
Se eu comprar esse adaptador eu posso utiliza-lo para a função?? ele possui o mesmo chipset
http://produto.mercadolivre.com.br/MLB-450967896-modulo-usb-serial-ttl-rs232-pl2303-_JM
Pode usar, sim. É o mesmo chip. Entra direto na entrada USB. Você só terá de fazer o cabo para ligar na bancada.