Saltar para conteúdo


Foto
* * * * * 1 votos

JTAG ARM CPU - HTC Magic 32a/32b


  • Por favor inicie sessão para responder
14 respostas a este tópico

#1 OpenSys

OpenSys

    Membro

  • Membros
  • PipPip
  • 12 mensagens

Mensagem publicada 11 January 2011 - 22:56

Olá pessoal,hoje vou explicar como fazer um JTAG a um HTC Magic.Claro que esta operação e complexa e requer conhecimentos de electrónica, bem como uma boa técnica de soldadura.O JTAG recuperara o smart phone de bricks causadas por problemas do flash de uma nova radio, aproveitando por isso de uma consola serie da HTC pelo cabo usb a 115200 8N1.Optei por construir a board jtag por ser bem mais barato mas se quiserem podem comprar um o usb o FT2232 FTDI JTAG, e depois só ligar os cabos.O modulo JTAG que aqui vou apresentar e por por LPT (db25) o que origina a que a transferência dos dados seja lenta, demorará cerca de 55 minutos a passar os 21MB da imagem da Radio.Não precisam disto caso tenham fastboot' class='bbc_url' title='Link Externo' rel='nofollow external'>http://www.androidpt.info/index.php?title=Fastboot']fastboot ou recovery' class='bbc_url' title='Link Externo' rel='nofollow external'>http://www.androidpt.info/index.php?title=Recovery']recovery!Convém ler claro o post oficial:http://wiki.cyanogenmod.com/index.php?title=JTAG_for_Dream/MagicFicheiros necessários:Radio 32Ahttp://android.vslin..._3.22.20.17.imgRadio 32Bhttp://android.vslin...-2_22_23_02.imgopenocd 0.40 Windows (não testado, m$ sucks)http://android.vslin...enocd-0.4.0.zipopenocd 0.40 Linuxhttp://android.vslin...d-0.4.0.tar.bz2openocd config para o htc magic:http://android.vslin.../jtag/magic.cfgEsquema JtagImagem colocadaBoard:Imagem colocadaO lm317 é para gerar os 2.6 volts exactos (e 2.60~2.62 não > 2.62).A board pode ser alimentada via usb ou transformador dc.Substitui o IC por um 74HC245n que não é SMD e suporta tensões maiores que 2V.Pinout JTAG no htc magic:Imagem colocadaNota: O RTCK não é necessárioNota1: O TRST têm que ter 2.6v.Nota2: O Ground é as chapas de protecção do magicNota3: O comprimento do cabo jtab da placa ao magic não poderá ter mais do que 20cm, pela velocidade e pelos erros de transmissão.Fios ligados:Imagem colocadaImagem colocadaSe não gostarem podem comprar este mod: http://www.gsm-techn...categories.htmlCompilar o openocd:./configure --enable-oocd_trace --enable-parport --enable-verbose-jtag-io --enable-verbosemakemake installColocar o magic em radio debug: pressionar Scroll button+power (obtêm o led azul)exemplo: Imagem colocadaUsb para serie TTL 3.3v:Imagem colocadaPinout da serial port (HTC ExtUSB):_____________| A B C D E |\1 2 3 4 5 6|A: GNDB: NCC: +DATAD: -DATAE: +5v1: +Mic2: +Right3: Switch / Rx / CABLE_IN24: GND / Tx / CABLE_IN15: GND6: +Left podem comprar ou estragar um cabo :)http://www.podgizmo.com ou http://www.sparkfun.comLigar a porta serie:screen /dev/ 115200Consola serie deverão obter depois de escrever um ? para testar se esta ok:NAND_FLASH_READ_ID : MICRON_512MB_FLASH_256MB_SDRAMARM9_BOOT_MODE1Invalid command : ?Exemplo de uma consola com problemas, splash screen freeze:boot reason: PM_KPD_PWR_KEY_ON_RT_ST(PowerOn Status,Boot Reason)=(1,1)NAND_FLASH_READ_ID : MICRON_512MB_FLASH_256MB_SDRAMARM9_BOOT_MODE0, Boot AndroidZWH¨©kµ}¹…¹‘}Áɽ‰•5 Camera 3M[MDDI] Bitmap_Width = 480[MDDI] Bitmap_Height = 640[MDDI] RGB_Capability = 0x8888[MDDI] Mfr_Name = 0xD263[MDDI] Product_Code = 0x0HeapFreeTable[0].StartAddr=0xA03AE180HeapFreeTable[0].Size=0x6A51E80HeapFreeTable[1].StartAddr=0xA0300658HeapFreeTable[1].Size=0x8HeapFreeTable[2].StartAddr=0xA0300EF8HeapFreeTable[2].Size=0x8HeapFreeTable[3].StartAddr=0xA0300F68HeapFreeTable[3].Size=0x18HeapFreeTable[4].StartAddr=0xA0300FACHeapFreeTable[4].Size=0x14HeapFreeTable[5].StartAddr=0xA0301178HeapFreeTable[5].Size=0x8HeapFreeTable[6].StartAddr=0xA0301328HeapFreeTable[6].Size=0x18HeapFreeTable[7].StartAddr=0xA03013A4HeapFreeTable[7].Size=0xC5CEEPROM: read 2032 bytesBoard_PID : 0x2EWlan data header ++++++++++++++++++++ Signature : 0xEE1251UpdateStatus : 0x2UpdateCount : 0x4BodyLength : 0x2F0BodyCRC : 0xB33503CBaDieId(0) : 0x0aDieId(1) : 0x0aDieId(2) : 0x0aDieId(3) : 0x0countryID : 0x30Wlan data header -------------------------- ARM11 Boot Mode: 3Platform: HBOOT-7201Aexecutando o Openocd:openocd -f magic.cfg root' class='bbc_url' title='Link Externo' rel='nofollow external'>http://www.androidpt.info/index.php?title=Root']root@android-desktop:/home/android# openocd -f magic.cfg Open On-Chip Debugger 0.4.0 (2011-01-02-15:41)Licensed under GNU GPL v2For bug reports, read http://openocd.berli...ugs.htmlparport port = 0x0trst_and_srst srst_pulls_trst srst_gates_jtag trst_push_pull srst_open_draindcc downloads are enabledfast memory access is enabledInfo : clock speed 500 kHzInfo : JTAG tap: arm9.cpu tap/device found: 0x301700e1 (mfg: 0x070, part: 0x0170, ver: 0x3)Info : Embedded ICE version 6Info : arm9: hardware has 2 breakpoint/watchpoint unitsInfo : accepting 'telnet' connection from 0target state: haltedtarget halted in ARM state due to debug-request, current mode: Supervisorcpsr: 0x400000d3 pc: 0x00908294MMU: disabled, D-Cache: disabled, I-Cache: disabledError: No working memory available. Specify -work-area-phys to target.Info : no working area available, falling back to memory writesExemplos de Erros devido a má ligação via jtag:root' class='bbc_url' title='Link Externo' rel='nofollow external'>http://www.androidpt.info/index.php?title=Root']root@android-desktop:/home/android# openocd -f magic.cfgOpen On-Chip Debugger 0.4.0 (2011-01-02-15:41)Licensed under GNU GPL v2For bug reports, read http://openocd.berli...ugs.htmlparport port = 0x0trst_and_srst srst_pulls_trst srst_gates_jtag trst_push_pull srst_open_draindcc downloads are enabledfast memory access is enabledInfo : clock speed 500 kHzError: JTAG scan chain interrogation failed: all onesError: Check JTAG interface, timings, target power, etc.Error: JTAG scan chain interrogation failed: all onesError: Check JTAG interface, timings, target power, etc.Command handler execution failedWarn : jtag initialization failed; try 'jtag init' again.e outro:root' class='bbc_url' title='Link Externo' rel='nofollow external'>http://www.androidpt.info/index.php?title=Root']root@android-desktop:/home/android# openocd -f magic.cfgOpen On-Chip Debugger 0.4.0 (2011-01-02-15:41)Licensed under GNU GPL v2For bug reports, read http://openocd.berli...ugs.htmlparport port = 0x0trst_and_srst srst_pulls_trst srst_gates_jtag trst_push_pull srst_open_draindcc downloads are enabledfast memory access is enabledInfo : clock speed 500 kHzInfo : JTAG tap: arm9.cpu tap/device found: 0x201600e1 (mfg: 0x070, part: 0x0160, ver: 0x2)Warn : JTAG tap: arm9.cpu UNEXPECTED: 0x201600e1 (mfg: 0x070, part: 0x0160, ver: 0x2)Error: JTAG tap: arm9.cpu expected 1 of 1: 0x301700e1 (mfg: 0x070, part: 0x0170, ver: 0x3)Warn : Unexpected idcode after end of chain: 32 0x000000feWarn : Unexpected idcode after end of chain: 64 0x000000feWarn : Unexpected idcode after end of chain: 96 0x000000feWarn : Unexpected idcode after end of chain: 128 0x000000feWarn : Unexpected idcode after end of chain: 160 0x000000feWarn : Unexpected idcode after end of chain: 192 0x000000feWarn : Unexpected idcode after end of chain: 224 0x000000feWarn : Unexpected idcode after end of chain: 288 0x000000feWarn : Unexpected idcode after end of chain: 320 0x000000feWarn : Unexpected idcode after end of chain: 384 0x000000feWarn : Unexpected idcode after end of chain: 416 0x000000feWarn : Unexpected idcode after end of chain: 448 0x000000feWarn : Unexpected idcode after end of chain: 480 0x000000feWarn : Unexpected idcode after end of chain: 512 0x000000feWarn : Unexpected idcode after end of chain: 544 0x000000feWarn : Unexpected idcode after end of chain: 576 0x000000feWarn : Unexpected idcode after end of chain: 608 0x000000feError: double-check your JTAG setup (interface, speed, missing TAPs, ...)Info : JTAG tap: arm9.cpu tap/device found: 0x201600c1 (mfg: 0x060, part: 0x0160, ver: 0x2)Warn : JTAG tap: arm9.cpu UNEXPECTED: 0x201600c1 (mfg: 0x060, part: 0x0160, ver: 0x2)Error: JTAG tap: arm9.cpu expected 1 of 1: 0x301700e1 (mfg: 0x070, part: 0x0170, ver: 0x3)Warn : Unexpected idcode after end of chain: 32 0x000000feWarn : Unexpected idcode after end of chain: 64 0x000000feWarn : Unexpected idcode after end of chain: 96 0x000000feWarn : Unexpected idcode after end of chain: 128 0x000000feWarn : Unexpected idcode after end of chain: 160 0x000000feWarn : Unexpected idcode after end of chain: 192 0x000000feWarn : Unexpected idcode after end of chain: 224 0x000000feWarn : Unexpected idcode after end of chain: 256 0x000000feWarn : Unexpected idcode after end of chain: 288 0x000000feWarn : Unexpected idcode after end of chain: 320 0x000000feWarn : Unexpected idcode after end of chain: 352 0x000000feWarn : Unexpected idcode after end of chain: 384 0x000000feWarn : Unexpected idcode after end of chain: 416 0x000000feWarn : Unexpected idcode after end of chain: 448 0x000000feWarn : Unexpected idcode after end of chain: 480 0x000000feWarn : Unexpected idcode after end of chain: 512 0x000000feWarn : Unexpected idcode after end of chain: 544 0x000000feWarn : Unexpected idcode after end of chain: 576 0x000000feWarn : Unexpected idcode after end of chain: 608 0x000000feError: double-check your JTAG setup (interface, speed, missing TAPs, ...)Command handler execution failedWarn : jtag initialization failed; try 'jtag init' again.Programar o bicho por JTAGAbrir um novo terminal e fazer um telnet para entrar no openocd:telnet 127.0.0.1 4444De seguida:haltload_image /home/android/radio.img 0x103B5300resumeshutdownExemplo:root' class='bbc_url' title='Link Externo' rel='nofollow external'>http://www.androidpt.info/index.php?title=Root']root@android-desktop:~$ telnet 127.0.0.1 4444Trying 127.0.0.1...Connected to 127.0.0.1.Escape character is '^]'.Open On-Chip Debugger> halttarget state: haltedtarget halted in ARM state due to debug-request, current mode: Supervisorcpsr: 0x400000d3 pc: 0x00908294MMU: disabled, D-Cache: disabled, I-Cache: disabled> load_image /home/android/radio.img 0x103B5300No working memory available. Specify -work-area-phys to target.no working area available, falling back to memory writes22020096 bytes written at address 0x103b5300downloaded 22020096 bytes in 3109.545410s (6.915 kb/s)> resume> shutdownshutdown command invoked> Connection closed by foreign host. Após o envio vão obter no terminal do openocd:22020096 bytes written at address 0x103b5300downloaded 22020096 bytes in 3109.545410s (6.915 kb/s)shutdown command invokedagora vamos programar, na consola serie escrever:radata 103B5300 01500000Após o comando deverão obter: FA0F129C Format EFS...EFS Block: 234-277Erase Block: 234Erase Block: 235Erase Block: 236Erase Block: 237Erase Block: 238Erase Block: 239Erase Block: 240Erase Block: 241Erase Block: 242Erase Block: 243Erase Block: 244Erase Block: 245Erase Block: 246Erase Block: 247Erase Block: 248Erase Block: 249Erase Block: 250Erase Block: 251Skip Bad Block: 252Erase Block: 253Erase Block: 254Erase Block: 255Erase Block: 256Erase Block: 257Erase Block: 258Erase Block: 259Erase Block: 260Erase Block: 261Erase Block: 262Erase Block: 263Erase Block: 264Erase Block: 265Erase Block: 266Erase Block: 267Erase Block: 268Erase Block: 269Erase Block: 270Erase Block: 271Erase Block: 272Erase Block: 273Erase Block: 274Erase Block: 275Erase Block: 276Erase Block: 277DoneImagens finais da recuperação bem sucedia:Imagem colocadaImagem colocadaDesligar, pressionar return+power e se tiverem sorte e fizerem tudo certojá temos fastboot' class='bbc_url' title='Link Externo' rel='nofollow external'>http://www.androidpt.info/index.php?title=Fastboot']fastboot :PEste projecto poderá dar para recuperar outros aparelhos, é so saber o pinout do JTAG.Espero ter ajudado :POpenSys

#2 stiker

stiker

    Membro

  • Membros
  • PipPip
  • 178 mensagens

Mensagem publicada 11 January 2011 - 22:59

offtopic, estas a usar o xlinx?http://www.androidpt.com/public/style_emoticons/AndroidSmall/emo_im_tongue_sticking_out.png

#3 Magic

Magic

    Mestre de Android

  • Former Staff
  • PipPipPipPipPipPip
  • 5995 mensagens

Mensagem publicada 11 January 2011 - 23:34

Boas OpenSys,Parabéns pelo post, mas para mim isso é Chinês... http://www.androidpt...tyle_emoticons/AndroidSmall/emo_im_winking.png

OnePlus 6 powered by Android


#4 OpenSys

OpenSys

    Membro

  • Membros
  • PipPip
  • 12 mensagens

Mensagem publicada 13 January 2011 - 12:49

Boas OpenSysParabéns pelo post, mas para mim isso é Chinês... http://www.androidpt...tyle_emoticons/AndroidSmall/emo_im_winking.png

Obrigada, Não é nada chinês, é algo melhor que chinês ;)

#5 DUSK

DUSK

    Membro

  • Banidos
  • PipPip
  • 154 mensagens

Mensagem publicada 22 February 2011 - 05:33

Este é o processo que utilizam na fabrica, claro que com jtag usb que demora cerca de metade do tempo senão menos http://www.androidpt...tyle_emoticons/AndroidSmall/emo_im_winking.png . Os da vodafone trazem todos époxi em volta ao cpu....os chinocas só dificultam a vida ah malta.Bom post....mais simples não ah.

#6 Flanker

Flanker

    Novato

  • Membros
  • Pip
  • 2 mensagens

Mensagem publicada 31 August 2011 - 15:20

Olá OpenSys,Tenho um TMN A1. (Huawei 8230)Numa tentativa de actualização da ROM penso ter danificado o boot - inadevertidamente utilizei uma ROM da T-Mobile para o 8220. Agora ao ligar surgem apenas riscas brancas e pretas no visor.Com a combinação de teclas que permitem flashar uma nova ROM a partir do SD (desligar chamada + volume up + power) surge o seguinte erro no log do cartão sd:**** SD download log ****Failure: MD5_RSA verify failure.Failure: operation did not succeed.Failure: operation did not succeed.Failure: operation did not succeed.Failure: operation did not succeed.Failure: operation did not succeed.dload_sd_ram_data_proc->(retry >= DLOAD_RETRY) failed!Com a combinação que permite o fastboot não consigo perceber se entra nesse modo, já que o ecrã apresenta apenas as riscas brancas e pretas que mencionei em qualquer dos modos em que ligue o telemóvel. Penso que a ROM que coloquei não possui os drivers dos modos gráficos correctos para o boot.A minha pergunta é a seguinte:Esta solução que apresentou é adaptável ao TMN A1 (Huawei 8230)?Será possivel através deste processo - JTAG - forçar a introdução de uma boot.img que permita o arranque do fastboot ou do recovery?Desde já o meu obrigado por qualquer ajuda ou opinião,Flanker

#7 Magic

Magic

    Mestre de Android

  • Former Staff
  • PipPipPipPipPipPip
  • 5995 mensagens

Mensagem publicada 31 August 2011 - 16:47

Boas Flanker,antes demais bem-vindo ao aPT, quando puderes passa nas apresentações...Quanto a tua questão presumo que seja possivel, deixa lá ver o que dizem os peritos... ;)

OnePlus 6 powered by Android


#8 OpenSys

OpenSys

    Membro

  • Membros
  • PipPip
  • 12 mensagens

Mensagem publicada 31 August 2011 - 18:16

Olá Flanker,Verifica 1º se tens recovery ou fastboot, se sim estas safo.Com certeza que poderá dar, terás de confirmar se suporta o cpu do TMN A1.Terás também de ter os pinos do jtag, ou ver se existe um adaptador para ele ja feito.Acho que com o TMN A1 vais ter muito trabalho, e gastos de material para o device que é.Minha opinião: compra outro.OpenSys

#9 Flanker

Flanker

    Novato

  • Membros
  • Pip
  • 2 mensagens

Mensagem publicada 02 September 2011 - 10:37

Boas novamente,Antes de mais obrigado pela vossa atenção. :P Quanto ao TMN A1 está sem fastboot e recovery.Vi numa página web chinesa alguém que recuperou o U8220 por jtag com informação do pinout, mas não percebo que hardware e software usou. Neste momento a página está em baixo.http://android.modaco.com/topic/345372-jtag-pinouts-of-u8220/http://www.eastsea.com.cn/bbs/viewthread.php?tid=2896546Estava interessado em recuperá-lo porque já tenho grande parte do material para fazer o jtag descrito no artigo, e porque o TMN A1 também já não se encontra à venda.De qualquer forma acho que vou comprar outro modelo. Alguma sugestão? Estava a namorar o Optimus Boston...Obrigado pela ajuda,FlankerP.S. Ainda se aceitam ajudas para recuperar o A1 se tiverem paciência e tempo. Acho que vai ficar na categoria de hobby ou como cumulativo de experiência. :P

#10 Magic

Magic

    Mestre de Android

  • Former Staff
  • PipPipPipPipPipPip
  • 5995 mensagens

Mensagem publicada 02 September 2011 - 14:25

Boas Flanker,Gostava de poder ajudar, mas ... :SPassa nas apresentações ASAP :P

OnePlus 6 powered by Android


#11 fuso

fuso

    Novato

  • Membros
  • Pip
  • 1 mensagens

Mensagem publicada 03 February 2012 - 19:29

Olá OpenSys antes de mais excelente tutorial do melhor que ja vi, parabénsolha estou com problemas num htc magic, assim que o ligo fica sempre a reiniciar e não vai nem para o recovery nem para o fastboot...se ainda tiveres isso tudo e se te enviar o telefone podes dar-lhe um jeitinho?Hugo [email protected]

#12 mapcruz

mapcruz

    Novato

  • Membros
  • Pip
  • 4 mensagens

Mensagem publicada 17 August 2012 - 10:01

Boas, tenho um problema similar ao do Fuso, tenho um htc magic sapphire e está rooteado só com as trocas de roms, recovery e spl´s brickei o telemóvel e gostaria de saber se alguém pode-me ajudar a recuperá-lo com jtag.
[email protected]
Obrigado

#13 androidptdusk

androidptdusk

    Membro

  • Banidos
  • PipPip
  • 13 mensagens

Mensagem publicada 17 August 2012 - 10:37

Se quiseres posso-te tratar disso.
Cumprimentos

#14 mapcruz

mapcruz

    Novato

  • Membros
  • Pip
  • 4 mensagens

Mensagem publicada 17 August 2012 - 10:41

skype?
gtalk?

#15 cereal86

cereal86

    Membro

  • Membros
  • PipPip
  • 242 mensagens
  • LocalizaçãoCoimbra
  • Galaxy Note 3 (N9005)

Mensagem publicada 24 January 2013 - 00:38

Isso parece que foi um copy paste autêntico! Está uma confusão! Alguém que componha o texto, que faça a lista de peças necessárias e quanto é que ficará!

Vendo: nada | Feedback