Differenze

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

Link a questa pagina di confronto

Both sides previous revision Revisione precedente
Prossima revisione
Revisione precedente
jtag [2010/01/04 15:12]
megabri Added the procedure to compile and use the sw debrick under linux
jtag [2013/10/31 20:55] (versione attuale)
Linea 6: Linea 6:
  Tutto quello che farete è a vostro rischio e pericolo.  Tutto quello che farete è a vostro rischio e pericolo.
  
-**Requisiti:**+===== 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]].+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// //OPPURE//
  
-1b) Utenti Linux: Scaricate il materiale software per Linux nella sezione "​Procedure di Recupero"​ del repository, dal link di seguito indicato: ​HairyDairyMaid_WRT54G_Debrick_Utility_v49.zip+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: 2) Vi occorre un circuito adatto per questo tipo di operazione e ce ne sono di diversi tipi, come descritto qui sotto:
Linea 33: Linea 35:
 {{:5.jpg|}} {{:5.jpg|}}
  
-**Uso del software debrick sotto Windows:**+ 
 +===== Uso del software debrick sotto Windows ​=====
  
 1) Scompattiamo il software **jtag-utility.zip** in una directory; 1) Scompattiamo il software **jtag-utility.zip** in una directory;
Linea 63: Linea 66:
  
 ''​wrt.exe -flash:​custom /skipdetect /instrlen:5 /​window:​90800000 /​start:​907C0000 /​length:​20000''​ ''​wrt.exe -flash:​custom /skipdetect /instrlen:5 /​window:​90800000 /​start:​907C0000 /​length:​20000''​
 +
    
 Da notare bene start è il più importante. 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]] ​ 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 =====
  
- +NOTAquesta 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.
-**Uso del software debrick sotto Linux:**+
  
 1) Colleghiamo la JTAG al Fritz!Box e alla parallela del pc (entrambi da spenti); 1) Colleghiamo la JTAG al Fritz!Box e alla parallela del pc (entrambi da spenti);
Linea 77: Linea 81:
 3) Avviare una qualunque distribuzione Linux (io ho usato Ubuntu 9.04) 3) Avviare una qualunque distribuzione Linux (io ho usato Ubuntu 9.04)
  
-4) Scompattiamo il software **HairyDairyMaid_WRT54G_Debrick_Utility_v49** in una cartella;+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 ​/​HairyDairyMaid_WRT54G_Debrick_Utility_v4;+5) Apriamo una shell e posizionamoci all'​interno della cartella ​dove è stato scompattato il software;
  
 6) Alimentiamo il fritz; 6) Alimentiamo il fritz;
  
-6) Facciamo una prova per vedere se il cavo funziona a dovere+7) Facciamo una prova per verificare che tutti i collegamenti funzionano correttamente: 
 ''​sudo ./wrt54g -probeonly''​ ''​sudo ./wrt54g -probeonly''​
 +
 Dovremo vedere la versione della jtag, la cpu e la flash. 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):
  
-**NOTA:** +''​sudo rmmod lp''​
-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:+e quindi ripetere ​il comando ​di probe. Con questo saremo sicuri che hardware e software stanno funzionando e possiamo andare avanti.
  
-''​wrt.exe -flash:custom /skipdetect /instrlen:5 /​window:​90000000 /​start:​90000000 /​length:​10000''​+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:
  
-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:+''​sudo ​./​wrt54g''​
  
-**wrt.exe -flash:custom /skipdetect ​/instrlen:/window:90800000 ​/start:907C0000 ​/length:20000** +Il parametro /fc:31 che è adatto alla flash del Fritz Box Fon ATA 1020 (flash da 4 Mbyte). 
-  + 
-Da notare bene start è il più importante.+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:
  
-3) +''​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//  --- //[[naf]] 2009/11/07 18:29//
  --- //​[[megabri]] 2010/01/04 14:56//  --- //​[[megabri]] 2010/01/04 14:56//
jtag.1262614350.txt.gz · Ultima modifica: 2013/10/31 20:51 (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