Le seguenti 502 parole non sono state trovate nel dizionario di 1275 termini (includendo 1275 LocalSpellingWords) e sono evidenziate qui sotto:
12pin   abbastanza   ac3bf1   accessibile   addirittura   Address   aggiornare   alimentare   alimentazione   alla   allora   almeno   alternativa   altri   Altrimenti   altro   andiamo   annulleranno   aperto   aspirare   assemblato   at   attachment   attento   attraverso   automaticamente   Autore   autore   avanti   aver   avere   avete   aveva   avvio   B25   backup   basta   bastare   bcm4712   Beh   bene   benvenuti   bisogna   bisogno   board   bocca   Boundary   Broadcom   buchi   cable   card   caricherà   cattiva   causati   cavi   cavo   ce   cercando   cfe   chiamata   chiamato   Chiarimenti   chiedetemi   chip   cio   ciò   cm   collega   Collega   collegamento   collegare   collegati   collegato   commento   Compila   compilati   compileresti   compito   completamento   comprarne   comprato   compreso   connettore   conoscere   contenga   conviene   cooperare   coperchio   copia   copie   cosa   cose   costo   costruire   Costruire   costruito   crashava   Credo   Dairy   danni   dare   db25   debrick   deciso   dentro   descriverò   desiderato   destinazione   destra   dettagliata   Devi   direttamente   disabilitato   dissaldarli   diventare   Divertitevi   divulgare   docs   documentazione   done   dopo   dot   dove   dovevo   dovrebbe   dovrete   dovuto   durante   ecco   Ecco   economico   ed   eliminare   eliminate   eliminazione   eng   enter   erase   esegue   estremità   ethernet   fabbricatore   facile   facili   fai   far   farai   fare   Fare   farlo   farà   fate   fato   File   file   files   fino   firmasse   firmware   flash   Flash   flashare   flashate   for   forma   forse   Fortunatamente   foto   funziona   funzionare   funzionato   funzioni   furbo   garanzia   gia   girare   giurava   Giusto   giusto   gmail   guida   Guida   hai   Hairy   hairydairymaid   hanno   Ho   ho   idea   immagine   Immagini   impaziente   impiegarci   impiegherà   importante   inappropriato   inclusi   incluso   indicazioni   indispensabile   iniziato   inserito   intatti   Intel   intelligente   interno   intero   inziare   io   Io   irrisorio   ita   Italiano   jp2   jpg   jtag   Jtag   kernel   Kernel   lamentarvi   Language   lato   lavorare   layout   leggendo   lento   li   licenza   lightbulb   Linksys   Lista   lo   loro   lp   lupo   M47   magari   maggior   Maid   Makefile   makefile   manca   mappano   maschio   me   memory   meno   menzionati   mercato   metodo   Mi   mi   mia   mie   minimo   mio   modi   modo   molte   momento   mossa   natura   ne   necessarie   necessario   nomi   normale   nota   Nota   notare   notate   note   nullo   nvram   Né   né   obiettivo   Odio   offrire   ogni   ohm   ok   opzione   opzioni   ora   ottima   ovvero   ovviamente   P1   P2   paio   parallel   parallela   parallele   parallelo   parla   parlare   parole   Parti   parti   partire   passi   passivo   pc   pdf   peggior   peggiori   pensato   perche   perché   persone   però   pezzi   pezzo   piangere   piastra   piccolo   pienamente   pieni   pin   piu   po   pochissimo   poi   porta   porte   posizione   posto   potrebbe   potrà   Prendi   preoccupatevi   prepara   preso   probabilmente   procedure   prodotti   progetto   programma   progresso   pronti   pronto   propri   proprietaria   prossimo   provate   puo   puoi   Puoi   quali   qualsisi   quasi   Quattro   quei   quelli   questi   qui   read   recovery   recuperare   recuperarlo   reflashare   refreshata   renderanno   resetterà   resistenze   responsabili   resuscitare   Resuscitare   riavviare   richiudere   ricordare   ricordo   rieseguite   riflashare   rilasciare   rilasciato   rilascio   riportate   risiedere   ritenuti   riuscivo   rmmod   router   routines   saldabili   saldare   saldato   saldature   salvare   salvata   sarebbe   sbloccare   scaduta   Scan   scarto   scelta   schema   schemi   schermo   scoperto   scritti   scritto   scrivere   scriverò   scrivi   scusate   segnale   segnali   segue   seguire   seguite   sei   semplice   sempre   senza   seriale   serve   sezione   sfortunatamente   sicuro   siete   Sii   sinistra   sito   situazione   sopra   sorgente   sorgenti   spazio   specifiche   spero   standard   starete   stata   stato   stile   subito   Suggerisco   sui   sull   Sull   sullo   Suppongo   supporto   svolgere   svuotato   T54   T54g   table   tar   tempo   terribile   tftp   ti   Timer   tipi   tipo   tools   Tradotto   trasporta   troppo   trovare   trovato   tue   tuo   ultimo   unico   unità   usage   usare   usati   uso   utile   utility   utilizzerebbe   v2   vari   vecchia   vecchio   vedere   vedrai   velocemente   venire   via   visto   voglia   volete   volte   vorrai   vostro   vuoi   Watchdog   Whole   wholeflash   Wiggler   write   Wrt   wrt   wrt54g   Xilinx   yahoo  

Nascondi questo messaggio
Italiano English
Modifica History Actions

ResuscitareWrtConJtag

Guida per resuscitare un WRT54G con EJTAG

Autore: HairyDairyMaid (a.k.a. lightbulb) (hairydairymaid@yahoo.com)
Tradotto da: ac3bf1 (ac3bf1.org - ac3bf1(at)gmail dot com) for ninux.org (23/05/2006)
debrickWRT54G_EJTAG_eng.pdf (692.3 KB)
debrickWRT54G_EJTAG_ita.pdf (476.3 KB)
Versione PDF Originale - http://www.ac3bf1.org/files/docs/ResuscitareWrtConJtag/debrickWRT54G_EJTAG_eng.pdf
Versione PDF Italiano - http://www.ac3bf1.org/files/docs/ResuscitareWrtConJtag/debrickWRT54G_EJTAG_ita.pdf
Lista Immagini e File:
http://www.ac3bf1.org/files/docs/ResuscitareWrtConJtag/
http://www.ac3bf1.org/files/docs/ResuscitareWrtConJtag/01_wrt.jpg

Chiarimenti:
1) Se utilizzate l’EJTAG o qualsiasi forma di JTAG, lo fate ***ESCLUSIVAMENTE A VOSTRO RISCHIO***.
2) l’autore, la Linksys, possono essere ritenuti responsabili per danni causati a qualsiasi oggetto utilizzando questa guida (incluso il router). [se volete lamentarvi con la Broadcom per non aver rilasciato le specifiche del chip siete benvenuti]
3) Queste procedure annulleranno la garanzia del WRT. (ovviamente però se avete già aperto il coperchio, la garanzia è scaduta).
4) Odio scrivere documentazione – quindi non chiedetemi un'altra guida.

Introduzione
Suppongo che starete leggendo questa guida perché avete un wrt da resuscitare, o perché altri modi per flashare il chip Intel non hanno funzionato fino ad ora.

Beh io sfortunatamente mi sono trovato in questa posizione... cercando di aggiornare il firmware, crashava, e non riuscivo a recuperarlo con nulla. Quindi ho pensato che non dovevo essere l'unico in questa situazione, e che ci sarebbe bisogno di un recovery utilizzando JTAG sulla flash. Ho iniziato a seguire questo progetto e ho subito scoperto che Broadcom era il peggior fabbricatore di chip nel rilasciare informazioni sui propri prodotti, a meno che si firmasse una NDA, e si giurava di non divulgare informazioni relative a Broadcom. (I loro chip sono ok – ma la loro naturaproprietaria” è terribile)

Comunque – dato che Broadcom non aveva voglia di cooperare nel rilasciare il file della Boundary Scan Definition Language (BSDL), e/o le specifiche del chip per il bcm4712, c'era solo una alternativa, ovvero EJTAG. EJTAG utilizzerebbe la stessa porta del JTAG Boundary Scan. Fortunatamente la Broadcom ah inserito il supporto per l'EJTAG 2.0 sul chip bcm4712 utilizzato nel router WRT54G v2. Questo è quello che ho deciso di utilizzare. Io comunque non ho compreso pienamente tutto quello che il EJTAG ha da offrire.

Dato il fatto che l’obiettivo di questo progetto è SOLAMENTE quello di recuperare/reflashare una cattiva flash (alcune o tutte le sue parti) o di fare copie di backup della flash (alcune o tutte le sue parti) – Ho solo scritto questa guida utilizzando il minimo indispensabile di EJTAG per parlare con la flash utilizzando delle routines DMA su EJTAG.
Detto questo andiamo avanti...

Requisiti
Per far resuscitare la flash del tuo router WRT54g v2 utilizzando EJTAG/JTAG hai bisogno solo di due cose:
1) UN cavo parallelo JTAG. Ho costruito il mio per pochissimo utilizzando pezzi di scarto. Altrimenti puoi comprarne uno chiamatoXilinx III parallel JTAG cable” o possibilmente uno stileWiggler.”
2) Software per fare la comunicazione e parlare con la flash. Io ho scritto il mio che rilascio sotto la licenza GPL.
(http://www.ac3bf1.org/files/docs/ResuscitareWrtConJtag/wrt.tar)

Costruire il cavo JTAG
Il cavo JTAG puo essere di vari tipi; comunque, ho deciso di usare uno tipo quello della Xilinx, dato che sono molto facili da costruire, ad un costo irrisorio, o nullo. Puoi comunque utilizzare un cavo JTAG di tipo Wiggler. Dato che il cavo Xilinx l’ho costruito da solo, questo è quello che descriverò:

Parti necessarie:
1) Un connettore parallelo DB25 con i pin saldabili
2) Quattro resistenze da 100-ohm
3) Un vecchio pezzo di cavo da 12 o 14 pin con un connettore ad una estremità (da una vecchia PC card) o puoi usare il cavo che vuoi e saldare le tue parti.
4) Un connettore a 12 pin maschio (da saldare sulla piastra)

Non scriverò una spiegazione molto dettagliata, dato che le foto renderanno il tutto più semplice.

Ecco uno schema semplice per come fare il connettore parallelo e dove mappano i segnali.

http://www.ac3bf1.org/files/docs/ResuscitareWrtConJtag/02_jtag_layout.jpg

Nota:
Non hai bisogno dei pin VCC e TRST sull’interfaccia: il TRST è già incluso (?) sul WRT54G, ecco perche non c’è (il bisogno di avere) il pin TRST sulla board. Ma forse vorrai fare un cavo JTAG generico che funzioni anche con altri apparati (come ho fato io – ma non ce ne + bisogno), anche se hanno un pin TRST. Dato che questo è solo un cavo passivo, fai attenzione a non farlo troppo lungo. 75 cm hanno funzionato per me.

Mi è stato detto che questo tipo di cavo potrebbe non funzionare con tutti i tipi di porte parallele in mercato. Puoi trovare dei link a degli schemi per vari tipi di cavi sul sito JTAG-tools (link?). Comunque, il cavo passivo ha funzionato bene per me ed è probabilmente sufficiente per la maggior parte delle persone.

Sullaltro lato del cavo:

http://www.ac3bf1.org/files/docs/ResuscitareWrtConJtag/03_jtag_table.jpg

(Questo è stato preso dalla guida della Broadcom per il BCM47XX)

Non preoccupatevi per il collegamento del pin 1(TRST) o del pin 11 (RESET) dato che funziona anche senza di quelli. Io li ho collegati me non li ho usati per il WRT54G v2.

Ecco alcune foto del mio cavo parallelo JTAG Xilinx:

http://www.ac3bf1.org/files/docs/ResuscitareWrtConJtag/04_jtag_cable.jpg

(Il cavo piccolo non è necessario)

http://www.ac3bf1.org/files/docs/ResuscitareWrtConJtag/05_jtag_12pin.jpg

La parte del connettore JTAG (da una vecchia PC card)

http://www.ac3bf1.org/files/docs/ResuscitareWrtConJtag/06_jtag_db25.jpg

La Parte del connettore DB25 (notate il modo economico con il quale ho collegato le resistenze direttamente al connettore)

http://www.ac3bf1.org/files/docs/ResuscitareWrtConJtag/07_jtag_db25_b.jpg

Un’altra foto (un po mossa - scusate)

http://www.ac3bf1.org/files/docs/ResuscitareWrtConJtag/08_jtag_done.jpg

Giusto prima di richiudere il connettore DB25

OK – questo dovrebbe bastare – (*Odio* scrivere documentazione)

Una volta che avete il cavo assemblato dovrete saldare un maschio da 12 pin sulla board del WRT54G v2. La mia board aveva i buchi delle saldature gia pieni, quindi ho dovuto dissaldarli e aspirare le saldature. Una volta fatto cio, è stato facile saldare il maschio da 12 pin al suo posto.

http://www.ac3bf1.org/files/docs/ResuscitareWrtConJtag/09_wrt_jp2.jpg

JP2 – è il connettore maschio JTAG (sinistra)
JP1 – è il maschio seriale (destra – da un altro progetto)

http://www.ac3bf1.org/files/docs/ResuscitareWrtConJtag/10_wrt_jp2_b.jpg

Un’altra foto del connettore JTAG saldato (sinistra)
Una volta che il cavo è stato fatto, e il connettore JTAG è saldato al suo posto, sei pronto per collegare il tutto. Ecco un paio di foto mie:

http://www.ac3bf1.org/files/docs/ResuscitareWrtConJtag/11_wrt_jtag.jpg

WRT54G v2 & cavo JTAG pronti all’uso

http://www.ac3bf1.org/files/docs/ResuscitareWrtConJtag/12_wrt_jtag_b.jpg


Ecco il mio cavo JTAG Xilinx collegato e pronto all’uso sul WRT54G v2 (nota: il cavo piccolo non collegato trasporta il segnale / VCC TRST che non serve sul WRT54G v2 ed è per questo che non è collegato)

Il Software
Una volta che il cavo è stato fatto (o è stato comprato) ed è pronto all’uso, allora il software è l’ultimo pezzo. Ho scritto io il mio software che parla sulla porta JTAG attraverso lo standard EJTAG 2.0.

Una cosa da notare è che JTAG (almeno su parallela) è abbastanza lento. Questa è una cosa molto importante da ricordare dato che potrebbe impiegarci molto tempo per flashare l’intero chip in una volta o addirittura l’immagine del kernel. Suggerisco di flashare la CFE (come si voglia) e la NVRAM, poi utilizzate il normale metodo tftp su ethernet per recuperare/riflashare un’altra immagine del kernel.

Ci sono due file sorgenti inclusi (qui e qui) scritti per essere compilati sotto linux:
- wrt54g.c - http://www.ac3bf1.org/files/docs/ResuscitareWrtConJtag/wrt54g.c
- wrt54g.h - http://www.ac3bf1.org/files/docs/ResuscitareWrtConJtag/wrt54g.h

Compila questi come compileresti qualsisi altro file sorgente sotto linux. Ho anche incluso un semplice makefile
(http://www.ac3bf1.org/files/docs/ResuscitareWrtConJtag/Makefile). Una volta che questo è fatto, sei quasi pronto per utilizzare il software.

Un paio di cose prima:
1) Sii certo che la porta parallela sia “accessibile” – dai il comando “rmmod lp” se necessario.
2) Collega sempre il cavo alla parallela del pc e alla board del WRT PRIMA di alimentare il WRT
3) Sii furbofai un backup prima di flashare o eliminare qualsiasi cosa. (Non venire a piangere se non lo fai)
4) Di nuovo – flashare su parallela è un processo lento – (si molto piu lento che su ethernet) – non diventare impaziente.


Per eseguire il software scrivi:

./wrt54g <enter>

E vedrai quanto segue:


   wrt54g: read/write flash memory via EJTAG
   usage: wrt54g [option]
      -backup:cfe
      -backup:nvram
      -backup:kernel
      -backup:wholeflash
      -erase:cfe
      -erase:nvram
      -erase:kernel
      -erase:wholeflash
      -flash:cfe
      -flash:nvram
      -flash:kernel
      -flash:wholeflash


Queste sono le opzioni con le quali puoi far girare il programma. Facendo partire il programma con una qualsiasi delle opzioni lo farai eseguire immediatamente, e lo farai eseguire fino al completamento (quindi attento all’opzione scelta!)

Un paio di note:
- Fare il backup del Kernel o della WholeFlash impiegherà molto tempo (gia l'ho detto – no?)
- L’immagine da flashare deve risiedere nella stessa directory del programma
- L’immagine da flashare deve essere chiamata in uno dei seguenti modi: CFE.BIN, NVRAM.BIN, KERNEL.BIN, WHOLEFLASH.BIN
- Ogni volta che si esegue un backup l’immagine verrà salvata con uno di questi nomi: CFE.BIN.SAVED, NVRAM.BIN.SAVED, KERNEL.BIN.SAVED, WHOLEFLASH.BIN.SAVED
- Ogni volta che flashate una porzione della flash con questa utility, l’utility prima farà un erase di quella parte della flash
- Eseguire un comando per flashare NON farà automaticamente i backup di ciò che è dentro la destinazione. E’ compito tuo fare i backup prima.


IMPORTANTE
Prendi il tempo per fare i backup di ogni sezione prima di fare qualsiasi altra cosa. Questa è una cosa intelligente da fare in caso si peggiori la situazione dopo; e magari ti conviene salvare quei backup in un posto sicuro. Credo che, se mi ricordo bene, l’immagine CFE.BIN.SAVED (la porzione della CGE nella flash) contenga il MAC Address SPECIFICO del router.


OK – ora che avete visto le opzioni che bisogna conoscere, manca una cosa prima di eseguire il programma...

Devi scrivere il comando richiesto per intero e giusto prima di dare l’invio, collegare l’alimentazione al WRT54G. In altre parole prepara e collega il JTAG al pc e al router con l’alimentazione del router SCOLLEGATA, poi scrivi il comando desiderato, collega l’alimentazione al router e dai l’invio. Il comando dovrebbe inziare a lavorare e si potrà vedere il progresso sullo schermo.

*** NOTA IMPORTANTE ***
Ogni volta che rieseguite il programma, seguite le indicazioni sopra riportate – è importante dato che il WRT54G v2 ha un Watchdog Timer al suo interno che resetterà tutto in un momento inappropriato se non può essere disabilitato dal software.

Un ultimo commento – se eliminate la NVRAM – molte volte è quanto basta per sbloccare (?) la flash; provate questo prima. Inoltre – se la CFE e il KERNEL sono intatti allora caricherà(?) una copia refreshata della NVRAM nel suo spazio una volta svuotato (al prossimo avvio).

E’ un’ottima idea riavviare l’unità durante le operazioni (backup/eliminazione/flash) e svolgere i passi menzionati prima velocemente dopo aver collegato l’alimentazione al router.

OK – ne ho abbastanza di scrivere documentazione – quindi spero che sia stata utile! In bocca al lupo nel resuscitare il vostro router WRT54G v2.

Divertitevi!
- hairydairymaid (a.k.a. lightbulb)