Differenze

Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.

Link a questa pagina di confronto

jtag [2010/01/06 07:19]
megabri
jtag [2013/10/31 20:55]
Linea 1: Linea 1:
-===== Mini guida su come recuperare i nostri bene amati Fritz!Box in caso di perdita di bootloader o Environment. ===== 
  
-__**BOZZA**__ ​ 
- 
-**ATTENZIONE** 
- Tutto quello che farete è a vostro rischio e pericolo. 
- 
-===== Requisiti Software ===== 
- 
-1a) **Utenti Windows**: Scaricate il materiale software per Windows nella sezione "​Procedure di Recupero"​ del repository, dal link di seguito indicato: [[http://​www.anime80.com/​repository/​index.php?​option=com_remository&​Itemid=53&​func=select&​id=47|jtag-utility.zip]]. 
- 
-//OPPURE// 
- 
-1b) **Utenti Linux**: Scaricate il materiale software per Linux nella sezione "​Procedure di Recupero"​ del repository, dal link di seguito indicato: [[http://​www.anime80.com/​repository/​index.php?​option=com_remository&​Itemid=53&​func=fileinfo&​id=107|wrt54g_Debrick_Utility_v49_Linux.zip]]. 
- 
-===== Requisiti Hardware ===== 
- 
-2) Vi occorre un circuito adatto per questo tipo di operazione e ce ne sono di diversi tipi, come descritto qui sotto: 
- 
-**A) Circuito semplice con 4 resistenze da 100 ohm e 2 da 330 ohm:** 
- 
-{{:​1.jpg|}} ​ 
- 
-**B) Circuito pronto acquistabile su ebay a pochi soldi:** 
- 
-{{:2.jpg|}} 
- 
-**C) Se volete, lo potete costruire come predisposto su questo disegno:** 
- 
-{{:3.jpg|}} 
- 
-**E otterrete un lavoro di questo tipo:** 
- 
-{{:​4.jpg|}} ​ 
-{{:5.jpg|}} 
- 
- 
-===== Uso del software debrick sotto Windows ===== 
- 
-1) Scompattiamo il software **jtag-utility.zip** in una directory; 
- 
-2) Registriamo la dll giveio.dll da inserire nel percorso **C:​\windows\system32\drivers\giveio.dll;​** 
- 
-3) Impostiamo come stampante predefinita in Windows : Generic text only; 
- 
-4) Colleghiamo la JTAG al Fritz!Box e alla parallela del pc (entrambi da spenti); 
- 
-5) Apriamo il prompt DOS; 
- 
-6) Facciamo una prova per vedere se il cavo funziona a dovere: ​ 
- 
-''​wrt.exe -probeonly''​ 
- 
-Alimentiamo il fritz e premere invio subito, dovremo vedere la versione della jtag, la cpu e la flash: in questo caso abbiamo fatto un buon lavoro, altrimenti bisogno usare il **feadi-jtag** che si trova sempre nella cartella jtag-utility per identificare il difetto del nostro collegamento,​ una volta accertato il buon funzionamento del cavo, non dobbiamo far altro che flashare il nostro fritz!box. 
- 
-**NOTA:** 
-Il fritz può andare in **dead state**, per mancanza di **mtd4.bin** o **bootloader**,​ tutto dipende da quello che abbiamo toccato per mandarlo in questa condizione e per sapere la mappatura delle partizioni per il modello di router in nostro possesso, andiamo su [[http://​www.fritzbox-forum.com/​fritzbox-f1/​raccolta-info-per-jtag-t411.htm?​highlight=jtag|Questo thread]]. 
-Una volta visitato quel thread, siamo pronti per caricare ciò che ha perso il nostro fritz... ​ 
-**Ad esempio:** Per mandare il bootloader o mtd4.bin, dobbiamo rinominarlo in **custom.bin** e posizionarlo nella nostra directory di lavoro. 
- 
-Per flashare il bootolader di qualunque modello di fritz: 
- 
-''​wrt.exe -flash:​custom /skipdetect /instrlen:5 /​window:​90000000 /​start:​90000000 /​length:​10000''​ 
- 
-Invece per flashare un environmente,​ il discorso cambia... appunto per quello ho detto di consultare la mappatura delle partizioni, ma cmq prendiamo l'​esempio per trasferire mtd4.bin ad un fritz 7170: 
- 
-''​wrt.exe -flash:​custom /skipdetect /instrlen:5 /​window:​90800000 /​start:​907C0000 /​length:​20000''​ 
- 
-  
-Da notare bene start è il più importante. 
- 
-Ulteriori informazioni in lingua Tedesca [[http://​www.ip-phone-forum.de/​showthread.php?​t=111863|Sito madre della procedura]] ​ 
-===== Uso del software debrick sotto Linux ===== 
- 
-NOTA: questa procedura è stata eseguita su un Fritz Box Fon ATA 1020, ma è facilmente replicabile anche per tutti gli altri modelli di fritz, basta stare attenti agli indirizzi di memoria che si impostano come parametri e alla tipologia di memoria flash a bordo del dispositivo da flashare. 
- 
-1) Colleghiamo la JTAG al Fritz!Box e alla parallela del pc (entrambi da spenti); 
- 
-2) Assicurarsi che nel bios il PC abbia la porta parallela abilitata ed impostata su modalità //​Standard//​ (forse funziona anche in modalità ECP ed EPP ma non ho provato). 
- 
-3) Avviare una qualunque distribuzione Linux (io ho usato Ubuntu 9.04) 
- 
-4) Scompattiamo il software **[[http://​www.anime80.com/​repository/​index.php?​option=com_remository&​Itemid=53&​func=fileinfo&​id=107|wrt54g_Debrick_Utility_v49_Linux.zip]]** in una cartella; 
- 
-5) Apriamo una shell e posizionamoci all'​interno della cartella dove è stato scompattato il software; 
- 
-6) Alimentiamo il fritz; 
- 
-7) Facciamo una prova per verificare che tutti i collegamenti funzionano correttamente:​ 
- 
-''​sudo ./wrt54g -probeonly''​ 
- 
-Dovremo vedere la versione della jtag, la cpu e la flash. 
- 
-Se vi arriva questo messaggio di errore: //''​Failed to lock /​dev/​parport0:​ No such device or address''//​ 
- 
-eseguite questo comando (NOTA: l'​effetto non è permanete, occorre ripeterlo all'​avvio di ogni sessione): 
- 
-''​sudo rmmod lp''​ 
- 
-e quindi ripetere il comando di probe. Con questo saremo sicuri che hardware e software stanno funzionando e possiamo andare avanti. 
- 
-8) Controllare il modello della flash guardando il chip relativo sulla scheda del vostro fritz e selezionare quella supportata dal software. 
-Per avere l'​elenco completo delle flash supportate scrivere: 
- 
-''​sudo ./​wrt54g''​ 
- 
-Il parametro /fc:31 che è adatto alla flash del Fritz Box Fon ATA 1020 (flash da 4 Mbyte). 
- 
-9) A scopo precauzionale eseguiamo il backup del bootloader (mtd2.bin): 
- 
-''​sudo ./wrt54g -backup:​custom /silent /​window:​90000000 /​start:​90000000 /​length:​10000 /​fc:​31''​ 
- 
-10) Prima di programmare occorre rinominare il file binario in CUSTOM.BIN (ricordo che Linux è case sensitive e questo nome di file è cablato dentro il software) 
- 
-11) Programmazione della partizione del bootloader 
- 
-''​sudo ./wrt54g -flash:​custom /silent /​window:​90000000 /​start:​90000000 /​length:​10000 /​fc:​31''​ 
- 
-Per quanto riguarda le altre partizioni (mtd3, mtd4, ecc..), riferirsi agli indirizzamenti relativi al proprio dispositivo (la raccolta di address è disponibile a [[http://​www.fritzbox-forum.com/​fritzbox-f1/​raccolta-info-per-jtag-t411.htm?​highlight=jtag|questo thread]]) e seguire i passi 9, 10 e 11 sostituendo correttamente gli indirizzi e la lenght. 
-===== Compilazione del software debrick sotto Linux ===== 
- 
-Nello zip [[http://​www.anime80.com/​repository/​index.php?​option=com_remository&​Itemid=53&​func=fileinfo&​id=107|wrt54g_Debrick_Utility_v49_Linux.zip]] sono presenti sia sorgenti che file eseguibile del programma. Se qualcuno ha la curiosità di volerselo compilare da solo, viene indicata di seguito una piccola guida //for dummies//. 
- 
-P.S. Nel mio caso è stato necessario compilare i sorgenti, in quanto nella versione v4.8 di questo software (HairyDairyMaid_WRT54G_Debrick_Utility_v48) era presente un bug di buffer overflow relativo alla operazione di backup della flash (descritto a [[https://​dev.openwrt.org/​ticket/​4514|questo link]]) che è stato corretto nella v4.9. 
- 
-Per questa guida è stata utilizzata la distribuzione Ubuntu 9.04, ma i passi da seguire sono abbastanza generali: 
- 
-1) Assicurarsi che il sistema sia completamente aggiornato: 
- 
-''​ 
-sudo apt-get update 
- 
-sudo apt-get upgrade 
- 
-sudo apt-get dist-upgrade 
-''​ 
- 
-2) Istallare il compilatore GCC: 
- 
-''​sudo apt-get install g++''​ 
- 
-3) Scompattare il software [[http://​www.anime80.com/​repository/​index.php?​option=com_remository&​Itemid=53&​func=fileinfo&​id=107|wrt54g_Debrick_Utility_v49_Linux.zip]] in una cartella; 
- 
-4) Aprire una shell e posizionarsi all'​interno della cartella dove è stato scompattato il software; 
- 
-5) Lanciare la compilazione semplicemente con il comando: 
- 
-''​make''​ 
- 
-Il makefile già presente provvederà a configurare la compilazione secondo le indicazioni dell'​autore del programma. 
-Il risultato sarà il file eseguibile **wrt54g**. 
- 
- --- //[[naf]] 2009/11/07 18:29// 
- --- //​[[megabri]] 2010/01/04 14:56// 
jtag.txt · Ultima modifica: 2013/10/31 20:55 (modifica esterna)
GNU Free Documentation License 1.3
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0