DD-WRT: Cosa fare se il router va in brick

Evitiamo il brick…

Sembra banale da dire e rimarcare, ma prestate molta attenzione a non mandare in brick (blocco) il vostro router, altrimenti corre il rischio di diventare un bel soprammobile 😛

1) Regola uno, la più importante: fate molta attenzione nello scegliere il firmware corretto, se flashate il router con uno sbagliato lo renderete inutilizzabile, usate molta accortezza.

2) Evitate le versioni non stabili, alcune volte hanno dato esiti imprevisti senza errori apparenti.

3) Cercate di evitare possibili sbalzi di corrente perchè sono letali durante il flashing del vostro router; meglio utilizzare un gruppo di continuità.

Questa regola vale per ogni operazione di flash, quindi BIOS, periferiche e quant’altro.

Risolviamo il brick… 

… perlomeno ci proviamo 🙂

In primis tentiamo la tecnica del 30/30/30, un cosiddetto hard reset.

  • Scollegate il cavo di rete (RJ45)
  • Tenete premuto per 30 secondi il tasto reset nel retro del router e senza mai rilasciarlo scollegate l’alimentazione elettrica per ulteriori 30 secondi.
  • Ricollegate l’alimentazione sempre col tasto reset premuto ancora 30 secondi, per un totale di 90 totali e continui; da quì il nome della procedura.
  • Rilasciate il tasto reset (vi sarà venuto un crampo :D) e date 10 secondi al router per risettarsi e scollegate l’alimentazione per altri 10 secondi e riconnettete… è finita, giuro! ^^ ora il router dovrebbe essere nuovamente accessibile e a default.

Via TFTP

Occorre un prerequisito importante: il router deve rispondere al ping, altrimenti dovrete tentare via JTAG.

Premete il tasto Windows + R, digitate:

ping -t 192.168.1.1

il parametro -t permetterà di continuare il ping ad oltranza senza fermarsi dopo i classici quattro tentativi; non chiudete la finestra e lasciatelo aperto da una parte.

Windows ha già al suo interno un client TFTP, su XP è attivo di default, mentre da Vista in poi (ramo NT6.x) bisogna attivarlo perchè disabilitato, vediamo come (click per ingrandire):

Clipboard01

Premete il tasto Windows + R, digitate appwiz.cpl, click su Attivazione o disattivazione delle funzionalità di Windows e cercate TFTP Client come nell’immagine di esempio, mettete un flag e date ok.

Se volete una semplice ma funzionale interfaccia grafica c’è questa (portable):

  • Nella sezione Server inserite l’indirizzo IP del router da flashare.
  • Lasciate la sezione Password vuota.
  • Selezionate il file del firmware (attenzione alle dimensioni in base alla ROM del vostro router).
  • Settate i tentativi con un numero variabile a piacimento, più ne mettete meglio è, non si sa mai.

Se agite via prompt (quindi da riga di comando) aprite un ulteriore finestra (Win + R, cmd).

Ora riavviate il router, nel frattempo tenete d’occhio la finestra che cerca continuamente di inviare il ping, questa per un breve lasso di tempo  mostrerà il messaggio di Host di destinazione non raggiungibile ma dopo pochi attimi il router ricomincerà a rispondere al ping: bisogna agire subito e velocemente.

Il TTL (Time To Live) in questa frazione sarà di 100 o 128 invece dei canonici 64; nella prompt aperto poco prima digitate:

tftp -i 192.168.2.1 put dd-wrt.vXX_XXX.XXX

Dove il parametro -i forza a inviare i dati in modalità binaria (binary mode), seguito dall’indirizzo IP del router, put invia il file dall’host  e, infine, sostituite le X con la versione del vostro firmware.

Pazientate qualche minuto (non toccate nulla durante l’operazione di flash) e dovreste trovarvi col router nuovamente funzionante; dopo il flash è consigliato un reset 30/30/30, su esposto.

Dovrete poi cambiare l’IP della scheda di rete (se non utilizzate DHCP) con 192.168.1.x dove X è un numero da 2 a 254, visto che quello predefinito del router è 192.168.1.1.

Il login di default è root e la password admin (ovviamente dovrete cambiarli in un secondo tempo).

Se invece il router fin dal principio non risponde al ping bisogna tentare la strada del JTAG.

Metodo JTAG

Attenzione: via JTAG rischiate di fare danni irreparabili, massima attenzione quindi.

JTAG, acronimo di Joint Test Action Group, è una porta di comunicazione, test e programmazione grazie alla quale potrete rivitalizzare il vostro router.

Dovrete aprire fisicamente il router (attenzione: decade la garanzia) e cercare la JTAG, quì ci sono gli schemi per i router più diffusi.

Ora dovrete saldare un header da 12 pin nella JTAG sulla PCB del router.


Vi serve un cavo JTAG parallelo (DB-25 femmina) (che potete acquistare già fatto per una 10ina di € o costruirvelo da voi) come questo:

Collegate la JTAG alla PCB del router e la parallela al PC.

Ovviamente è necessario anche un apposito software,  HairyDairyMaid Debrick Utility (open source, potete quindi modificarlo a vostro piacimento).

All’interno dell’archivio zip c’è una directory chiamata Windows con all’interno 3 file:

  1. giveio.sys
  2. loaddrv.exe
  3. wrt54g.exe

I primi 2 file vanno copiati nella directory %windir%\system32\drivers del vostro Windows, wrt54g.exe potete metterlo dove volete.

Eseguite loaddrv.exe (come amministratore)

Cliccate su Install e successivamente su Start

Verificate gli interrupts della porta LPT1: premete il tasto Windows + R e digitate:

devmgmt.msc

Si aprirà Gestione periferiche, nella sezione Porte andate nelle proprietà della LPT1, nella scheda Impostazioni della porta selezionate Utilizza qualsiasi interrupt assegnato alla porta.

Aprite il prompt e andate nel percorso del file wrt54g.exe ed eseguitelo per vedere tutti i parametri e opzioni disponibili

Verificate se la connessione JTAG<->LPT è fatta a dovere, digitate:

wrt54g -probeonly

Se tutto è ok verrà rilevato il chip del router.

Ora bisogna cancellare la NVRAM (la memoria non volatile), digitate:

wrt54g -erase:nvram

Se non funziona così dovrete cancellare anche il firmware:

wrt54g -erase:kernel

Ok, ora dovrebbe rispondere al ping, potete quindi riflashare via TFTP come illustrato sopra.

Se le cose non vanno come sperato resta solo un’ultima possibilità, cancellare e sostituire il bootloader (CFE) con:

wrt54g -erase:cfe

Ora cercate il CFE per il vostro router qui o in quest’altro, e fate il reflash:

wrt54g -flash:cfe

Lavelocità di trasmissione dei dati via porta parallela/JTAG non è elevata, pertanto armatevi di pazienza perchè l’operazione durerà abbastanza.

I CFE che scaricherete (visto che provengono da altre periferiche) hanno il MAC address che non combacerà (perchè univoco) con quello del vostro router, pertanto bisognerà editare il file cfe.bin con imgtool_nvram, ovviamente prima di eseguire il flash; il MAC address del router solitamente è scritto sotto lo stesso.

Dovrete cambiare due parametri, et0macaddr è il vostro MAC reale, il0macaddr sarà l’indirizzo MAC più uno, esempio:

nvram set et0macaddr=00:80:4d:63:00:01
nvram set il0macaddr=00:80:4d:63:00:02
nvram commit

Conclusioni

Questi sono i metodi più comuni per riportare in vita il vostro router, diciamo che nella maggioranza dei casi si risolve con uno dei tre motodi quì esposti.

Per info, suggerimenti o mancanze segnalate pure 🙂

Buona fortuna!

 

Related posts:

  1. DD-WRT: Mettiamo Linux nel router
  2. DNS Alternativi: Velocità e sicurezza

Pubblicato il 14 ottobre 2013, in Hardware e tecnologie, Reti, Software con tag , , , , , , , . Aggiungi il permalink ai segnalibri. 1 Commento.

  1. Davide Del Gatto

    Ciao, grazie a Dio ho trovato un italiano che a fatto una bella guida su come resettare un WRT54G tramite il cavo JTAG. ^_^
    Avrei un problema: un mio amico aveva un router Linksys WRT54GL v1.1, e me lo ha regalato perchè lui non ci faceva nulla, ci volevo mettere dentro OpenWRT (premetto non è la prima volta che installo OpenWRT) ma su questo modello sembra impossibile, mi spiego.
    Volevo fare l’upload del file bin tramite tftp, ma la porta UDP risulta chiusa, la porta SSH è aperta ma non so la password, non ho le password nemmeno del browser.
    Ho provato a fare un hard reset, ma senza nessun successo.
    Alla fine mi sono deciso di fare un cavo JTAG, e tutti i comandi rispondono bene, ma come faccio a rimettere OpenWRT con il JTAG?
    Se provo a pingare 192.168.1.1 non ho problemi apparte il TTL=100
    Ho provato anche a cambiare il file CFE.BIN sostituendo i tramite imgtool_nvram e poi l’ho caricato con il cavo JTAG, ma non mi cambia nulla.
    Il LED Power non fa altro che lampeggiare di continuo a ritmo regolare. e tutti gli altri LED sono spenti (eccetto se collego un cavo di rete).

    Aspetto con ansia una tua risposta.

    Ciao Davide

Lascia un commento