Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.
Both sides previous revision Revisione precedente Prossima revisione | Revisione precedente | ||
jtag [2010/01/04 15:16] 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 68: | Linea 71: | ||
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 ===== | ||
- | + | 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. | |
- | + | ||
- | + | ||
- | **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 80: | 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; | ||
- | 7) 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:5 /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// |