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>
Boa tarde José Antônio, belo trabalho. Poderia me ajudar informando se é possível converter a saída micro usb de um samrtphone android para rs232 direto? Caso não funcionaria como no seu caso pela entrada P2? Em ambos os caso não necessito de driver posso tratar direto na porta usb como no seu caso? Obrigado. osny@acfinfo.com.br
Olá, Osny!
Talvez seja possível o que você quer. Vai depender do firmware do telefone. Os fabricantes precisam de uma I/O serial, para instalar e configurar osistema. Já mexi em alguns telefones e tablets mais modernos que implementam uma serial via USB, para se flashar ROM.
Jose Antonio, primeiramente parabens pela perseverança e genialidade! Estou com um problema que me deixou bastante frustrado. Adquiri um MT6577 clone do galaxy note2, e fiz uma formataçao nada experta por uma ferramenta “Smart Phone Flash Tool”. Ele formatou a NVRAM bin, o que matou de vez o celular! agora nao consigo fazer mais nada nem root. Imaginei que se a ferramenta tem a opçao deste tipo de formataçao, entao teria a soluçao no proprio software, mas nao! Nand Flash nao reconhece entao fica impossivel restaurar qualquer arquivo. Mas consigo fazer reconhecer a usb (porta vcom7).
Olá, Hernane!
Mandei o meu idêntico para a assistência técnica e, como não tinha conserto, eles me mandaram outro. Estou esperando. Quando chegar, farei cópia da ROM e posto aqui.