Aggiunta del supporto alla JTAG dell'AGPWI

  • 8 Risposte
  • 4984 Visite

0 Utenti e 1 Visitatore stanno visualizzando questo topic.

Offline Daniele Castro

  • Nuovo Iscritto
  • *
  • 25
Aggiunta del supporto alla JTAG dell'AGPWI
« il: 02 Giugno 2020, 00:33 »
Buona sera,
dopo aver aggiunto il supporto ufficiale ad OpenWrt per l'AGPWI mi sono deciso a cercare di sfruttare la JTAG presente in esso. Durante il mio corso di studi magistrali ho studiato la JTAG e, quindi, credo di avere le conoscenze basilari per potermi addentre nell'utilizzo pratico dei essa.

Anni fa, più o meno nel 2015, credo di aver letto in giro/capito che il problema con l'AGPWI era che i tool di cui si disponeva non erano in grado di riconoscere la JTAG dell'AGPWI. Ci sono aggiornamenti in merito?
Ho visto che qualcuno è riuscito ad accedere alla JTAG dell'AGTWI in questo forum:
https://forum.archive.openwrt.org/viewtopic.php?id=46784

In base alle mie conoscenze della JTAG l'unico file necessario all'utilizzo di questa è il .bsdl che generalmente non è noto per i dispositivi come i SoC Broadcom o è distribuito in una sua forma "light" come per i dsPIC della Microchip in cui hanno rimosso dal .bsdl tutte le parti inerenti alle circuiterie DFT/BIST atte a testare il microcontrollore in fase di produzione.

Immagino, comunque, che anche per i router come l'AGPF per cui la JTAG era utilizzata al fine di riprogrammare la flash, il .bsdl non fosse disponibile. Allora mi chiedo: "come hanno fatto ad usare la JTAG dell'AGPF? si può fare reverse engineering per trovare quale posizione della scan chain corrisponde ai PIN della flash senza rischiare di dannegiare il SoC?

Immaginando di creare un tool per trovare quanto spiegato sopra, farei una cosa che shifta un '1' ogni volta e manda in output il valore ai PIN col comando JTAG EXTST fin quando ai PIN della flash non misuro un '1' logico.
Magari invece di shiftare un solo '1' e tanti '0', shifterei tutto il contenuto della scanchain e lo rimanderei in dietro con il solo bit che intendo testare cambiato ad '1'. Ma quanto descritto non rischia di danneggiare il SoC? mi sembra troppo intuitivo perchè nessuno abbia avuto la stessa idea prima.

Quindi vi chiedo:

Ci sono novità in merito alla JTAG dell'AGPWI? anche solo per fare un po di debugging, non necessariamente per riprogrammare la flash, ho un programmatore CH341A che posso tranquillamente usare qualora volessi riprogrammare la flash.

Accetto qualunque tipo di consiglio vogliate dispensarmi:
sono nuovo della JTAG in termini pratici. Al momento mi sono equipaggiato di un'interfaccia JTAG basata su FTDI FT232HQ che si chiama CJMCU-232H e stavo leggendo in rete come utilizzare OpenOCD e UrJTAG con essa. Notavo, con mio stupore, che per usare questi tool sembra non sia necessario passare come argomento il file .bsdl, anzi sembra questi siano capaci di riconoscere il targhet da sè.
Sono questi i tool più appropriati da usare? ne avete di migliori da consigliare?

Ho anche tirato fuori dal case dell'AGPWI i fili della JTAG in modo "elegante" assieme a quelli della UART, un GPIO e due voltage reference PINs  (Vdd e Vss).

Spero possiate darmi una mano :)



« Ultima modifica: 02 Giugno 2020, 00:42 da Daniele Castro »

Offline larsen64it

  • VIP
  • *****
  • 2696
Re:Aggiunta del supporto alla JTAG dell'AGPWI
« Risposta #1 il: 02 Giugno 2020, 04:48 »
Mi pare da capire che tu sia un po' come un cane da tartufi e credo che questa pagina tu l'abbia già fiutata:
https://sudonull.com/post/20384-We-overclock-JTAG-router
Spero che ti possa essere utile.

Offline Daniele Castro

  • Nuovo Iscritto
  • *
  • 25
Re:Aggiunta del supporto alla JTAG dell'AGPWI
« Risposta #2 il: 03 Giugno 2020, 00:17 »
Credo tu ti riferisca al fatto che ho fiuto per per le cose che possono complicarmi la vita inutilmente  :facepalm: :D
Comunque, scherzi a parte, ero passato su quella pagina ma non l'avevo attenzionata a dovere! noto giusto ora che ha scritto un driver per interfacciarsi ad OpenOCD ed usa un router col bcm6328 con un PCB molto simile esteticamente all'AGPWI... peccato che il link alla sua repo github sia down  :(
Inoltre avvia OpenOCD da OpenWrt e non dal PC e non compila col kernel il modulo GPIO... sembra voglia fare del router un'interfaccia JTAG piuttosto che usarne una su di esso...  :doh:

Comunque grazie mille per il link!

P.S. se non sbaglio tu hai lavorato all'AGTOT... io ne ho uno in più a cui ho saldato già la seriale... se mi sai dire quali sono i PIN della JTAG gli saldo sopra un pin header ed infastidisco pure lui  8)
« Ultima modifica: 03 Giugno 2020, 03:30 da Daniele Castro »

Offline DoRaeMoN

  • Nuovo Iscritto
  • *
  • 38
Re:Aggiunta del supporto alla JTAG dell'AGPWI
« Risposta #3 il: 03 Giugno 2020, 02:58 »
ciao daniele, credo che questo sia un mirror del repo che stai cercando: https://github.com/minkione/openocd-1

ps. per un certo periodo siamo stati colleghi alla triennale

Offline larsen64it

  • VIP
  • *****
  • 2696
Re:Aggiunta del supporto alla JTAG dell'AGPWI
« Risposta #4 il: 03 Giugno 2020, 04:19 »
Lavorato è una parola grossa. Sono tutto fuorché un esperto di jtag, ma da quello che ne so far andare la jtag su un technicolor è un impresa persa i partenza.
https://github.com/mattmattandmatt/sky-sr102-router/tree/master/_debrick-ejtag-bcm963168

Offline Daniele Castro

  • Nuovo Iscritto
  • *
  • 25
Re:Aggiunta del supporto alla JTAG dell'AGPWI
« Risposta #5 il: 04 Giugno 2020, 03:16 »
ciao daniele, credo che questo sia un mirror del repo che stai cercando: https://github.com/minkione/openocd-1

ps. per un certo periodo siamo stati colleghi alla triennale

Ciao, grazie per la repo! fatti vivo in privato così posso vedere chi sei :)

Offline Daniele Castro

  • Nuovo Iscritto
  • *
  • 25
Re:Aggiunta del supporto alla JTAG dell'AGPWI
« Risposta #6 il: 04 Giugno 2020, 03:19 »
da quello che ne so far andare la jtag su un technicolor è un impresa persa i partenza.
Perchè?

Offline larsen64it

  • VIP
  • *****
  • 2696
Re:Aggiunta del supporto alla JTAG dell'AGPWI
« Risposta #7 il: 04 Giugno 2020, 08:23 »
Spero di essere smentito ma non conosco nessuno che abbia avuto un controllo completo con la jtag. Spero che tu sia il primo.
https://forum.dd-wrt.com/phpBB2/viewtopic.php?p=982065

Offline zoomx

  • Esperto
  • ****
  • 589
Re:Aggiunta del supporto alla JTAG dell'AGPWI
« Risposta #8 il: 07 Giugno 2020, 13:51 »
Sull'AGPF e la VodafoneStation 1 la JTAG è stata usata per riprogrammare la memoria flash, forse l'accesso era diretto e non passava per la CPU?