PDA

View Full Version : [GUIDA] Recuperare un router TP-Link brickato


pindol
07-05-2016, 14:43
Router Tp-Link brickato come riportarlo in vita.

Salve ragazzi, scrivo questo post perchè nei giorni scorsi mi son trovato con il problema di un router Tp-Link (per l’esattezza Archer C7) brickato, dopo l'installazione di un custom firmware per la precisione dd-wrt.

Voglio perciò condividere con voi la mia esperienza in modo che se qlc di voi si ritrovasse nella stessa situazione, trovi qui una guida semplice e veloce in italiano, senza doversi andare a spulciare decine di pagine di forum inglesi.

Partiamo subito con la guida quindi:




1° Metodo de-brick con il programma TFTP


1) Se il vostro router Tp-link (non assicuro che funzioni con tutti i modelli) è brickato, potete provare per prima cosa con un ripristino via software usando il programma TFTP (che potete trovare qui: http://tftpd32.jounin.net/ ).

Una volta scaricato il programma, dovete cambiare i settings della vostra scheda di rete (da preferenze scheda di rete), in questo modo:

IP: 192.168.0.66 (in alcuni casi l’indirizzo può essere 192.168.1.66)
Subnet mask: 255.255.255.0
Gateway: 192.168.0.1 (potete lasciarlo anche libero)


2) Fatto questo aprite il programma FTPT, in server interface assicuratevi di essere nel indirizzo ip appena impostato ovvero 192.168.0.66, ed andate nella tab “Log Viewer”.

Ora dovete collegare il router al vostro pc (senza accenderlo), a questo punto trovate sul router il pulsante di reset premetelo e allo stesso tempo avviate il router tramite il suo pulsante on/off se ne è sprovvisto semplicemente collegate l’alimentazione. Se avete fatto tutto correttamente dovreste vedere sul “log viewer” una serie di informazioni come queste:

http://s32.postimg.org/4n95xjnlx/logviewer.png

Queste informazioni ci restituiscono un dato molto importante ovvero il file che sta cercando il router per essere installato, nell’immagine (che per comodità ho preso da un’altro forum) il nome del file è wdr4300v1_tp_recovery.bin (per il router WDR4300), mentre ad esempio nel mio caso il nome del file era ArcherC7v1_tp_recovery.bin, perchè appunto si tratta di un Archer C7 versione 1, se voi ad esempio avete un Archer C7 versione 2 il file si chiamerà ArcherC7v2_tp_recovery.bin e via dicendo.

La cosa fondamentale che vi basta sapere è che voi dovrete rinominare il file del firmware che andremo a scaricare esattamente come scritto su TFTP (maiuscole e minuscole comprese).


3) Andiamo a scaricare il firmware ufficiale del nostro dispositivo Tp-Link direttamente sul sito della Tp-link (qui il link diretto per Archer C7 versione 2: http://www.tp-link.it/download/Archer-C7_V2.html#Firmware

Nella maggiorparte dei casi il firmware che scaricherete conterrà alla fine la parola “boot”. Se il firmware contiene questa parola, dovremo modificarlo se invece non la contiene saltate pure il punto 4 e andate direttamente al 5.

Una volta scaricato il firmware, rinominiamolo per semplicità “ciao.bin” o qualsiasi nome facile per voi.


4) Fatto questo dobbiamo procurarci una shell bash (il metodo più semplice se avete mac o linux è avviare il terminale), per windows invece è un po’ più complicato (anche se windows 10 al momento in cui scrivo, dovrebbe includere una shell bash in un prossimo aggiornamento).

Ad ogni modo procuratevi in qualche modo una shell bash, al limite se avete solo un pc windows scaricatevi e avviate una distro linux da cd.

Una volta che avete la vostra bella shell, entrate tramite shell nella cartella che contiene il vostro firmware “ciao.bin” e scrivete quanto segue:

dd if=ciao.bin of=MODELLOROUTER_tp_recovery.bin skip=257 bs=512

Detta in soldoni questo comando elimina il bootloader dal firmware.

Attenzione, voi ovviamente dopo il comando “of=” dovete scrivere il nome che poco prima ci ha fornito TFTP.


5)Bene fatto tutto questo (se non vi siete ancora stufati di leggere) siamo praticamente a cavalo.

Ora dobbiamo spegnere il router, riaccendiamo il programma TFTP (se lo avevamo spento), verifichiamo che la server interface sia 192.168.0.66, e poi clicchiamo su “browse” e andiamo a selezionare la cartella dove c’è il nostro firmware, per essere sicuri di aver selezionato la cartella giusta potete cliccare su “Show dir” e controllate che effettivamente il file MODELLOROUTER_tp_recovery.bin sia presente.

Ora veniamo al caricamento sul router del firmware vero e proprio, premiamo come in precedenza il pulsante reset e accendiamo il router, continuate a tener premuto il pulsante reset per 4-5 secondi finchè non vedete comparire una finestra pop-up che indica il caricamento da parte di TFTP del firmware.

Se avete fatto tutto bene sul “log viewer” di TFTP dovreste vedere l’avvenuto caricamento, non vi resta ora che aspettare qualche minuto e il router si dovrebbe riavviare installando il firmware e il vostro dispositivo tornerà in vita.






2° Metodo, ripristino via chiavetta USB seriale TTL


A) Alle volte come nel mio caso il ripristino via software non funziona, ci dobbiamo procurare quindi una chiavetta USB-TTL, cercate su internet (da ebay ad esempio) una chiavetta CP2102 e fate attenzione che abbia il doppio voltaggio a 5v e a 3,3v. E’ fondamentale che la chiavetta abbia un output a 3,3v altrimenti brucerete sicuramente la seriale sul router.

Se non siete sicuri di cosa state comprando mandatemi un mp che vi mando il link della chiavetta che ho acquistato io, così andate sul sicuro.

Una volta che vi siete procurati la chiavetta (con relativi cavi), siamo pronti a de-brickare il nostro router.


B) Per prima cosa, controllate che la vostra chiavetta sia riconosciuta dal computer, altrimenti installate i driver. Una volta installati andate in “gestione dispositivi” di windows, e sotto la voce porte verificate su che porta COM è installato il vostro dispositivo usb, sotto un immagine di esempio (in questo caso COM3).

http://gimx.fr/img/screenshots/WinCP2102.gif


C) Fatto questo scaricate puTTy (qui link: http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html), una volta aperto settatelo su “serial” dandogli come porta COM quella del dispositivo e speed 115200 come in foto (in questa foto è porta COM7 ma la vostra potrebbe esser differente):

https://c2.staticflickr.com/6/5153/14583631924_7b47f3351f.jpg

dopodichè sempre in puTTy trovate sul menu a sinistra la voce serial, entrate e verificate che i dati inseriti siano: speed 115200, data bits 8, stop bits 1 e importante flow control impostatelo su NONE come nell’immagine di esempio:

https://c2.staticflickr.com/6/5492/14585464085_4c64b5043f.jpg

Lasciamo un’attimo stare puTTy e pensiamo a collegare la chiavetta al router.


D)Collegate alla chiavetta i cavi RX (ricezione) TX (trasferimento) e GRD (terra), allo stesso modo collegate alle seriale del router, questi 3 cavi, come in figura.

http://s32.postimg.org/bztdfv4w5/tl_wdr7500_serial_pinout.jpg

ATTENZIONE: ovviamente l’RX collegato alla chiavetta, va collegato sul TX del router e viceversa, in modo che i dispositivi possano comunicare.


E) Una volta fatto quanto segue, avviate puTTy, cliccando su “Open” e accendente il router, (che deve essere connesso al pc anche tramite cavo di rete).

Se tutto è andato per il meglio dovreste vedere su puTTy, una serie di scritte, probabilmente se il vostro router è brickato continuerà a fare il boot ininterrottamente. Ora è tempo di essere velocissimi, scrivete il comando “tpl” (senza virgolette) e date invio.

Se siete stati abbastanza veloci dovreste aver fermato il boot loop, dovreste vedere un qualcosa di questo tipo:

http://s32.postimg.org/insbevdl1/putty1.jpg

Con questo puTTy ci dice che sta cercando un file dal nome 6F01A8C0.bin proveniente dal server 192.168.1.100


F) Sappiamo ora come dobbiamo configurare l’ip della nostra scheda di rete, andiamo quindi in impostazioni della scheda di rete e cambiamo i paramentri ipv4 in questo modo:

IP: 192.168.1.100
Subnet mask: 255.255.255.0
Gateway: 192.168.1.1

Fatto questo, seguite il punto 3 della guida precedente per scaricare e rinominare il firmware, (in teoria non dovrebbe servire modificare il bootloader, in caso il ripristino del dispositivo non andasse a buon termine riprovate con un firmware senza bootloader seguendo la guida al punto 4).

Scaricato il firmware dal sito Tp-Link scompattiamolo e rinominiamolo esattamente come ci chiede puTTy, in questo caso lo rinomineremo in 6F01A8C0.bin

Accendiamo il programma TFTP (link nella guida sopra), verifichiamo che la server interface sia 192.168.1.100, e poi clicchiamo su “browse” e andiamo a selezionare la cartella dove c’è il nostro firmware, per essere sicuri di aver selezionato la cartella giusta potete cliccare su “Show dir” e controllate che effettivamente il file 6F01A8C0.bin sia presente.


G) A questo punto torniamo su puTTy e eseguiamo il comando “tftpboot”, e se avete fatto tutto correttamente nei passaggi precendenti dovreste vedere che puTTy sta caricando il firmware sul dispositivo in particolare dovreste vedere la scritta Loading: seguita da una serie di #### fino a caricamento completato.

http://s32.postimg.org/538ue74at/putty2.jpg

Ci siete quasi, una volta che puTTy avrà caricato il nuovo firwmare vi comunicherà un’altra importante cosa. vi indicherà un numero esadecimale (HEX) tra le parentesi, nel caso riportato in immagine (che è uguale alla maggiorparte dei casi) l’esadecimale è 7b0000, se il vostro è diverso ricordate di mettere il vostro HEX nei comandi a seguire.

A questo punto sempre da puTTy lanciamo il comado:
erase 0x9f020000 +7b0000

puTTy a questo punto effettuerà la cancellazione di alcuni settori e alla fine vi restituirà “Erased xxx sector”

ora lanciamo il secondo comando

cp.b 0x81000000 0x9f020000 +7b0000

fatto questo puTTy vi dirà che sta copiando dei dati nella flash e poi vi darà il “done” quando ha finito.


H) Ora siete avete finalmente ripristinato il vostro router, su puTTy date il comando “reset” per riavviarlo e se tutto è andato per il verso giusto dovreste vedere che si riavvia normalmente senza loop di boot.

Ora torniamo sulle impostazioni della scheda di rete, rimettiamo i settaggi su “ottieni automaticamente”, diamo l’ok, poi sempre nella scheda di rete, clicchiamo sul destro, andiamo su “Stato” e poi “Dettagli” e controlliamo a che indirizzo è il Gateway che corrisponde al nostro router de-brickato (solitamente è uguale all’indirizzo che avevate prima di brickarlo).

Ora non vi resterà che connettervi via browser all’ip del gateway e controllare che funzioni tutto.


Spero che questa guida sia utile per chi si trova con un Tp-link brickato e non sa come muoversi.

E’ una guida scritta in fretta quindi se avete dubbi o domande su alcuni passaggi in cui magari sono stato un po’ sbrigativo chiedete pure qui sotto.

Lascio qui anche dei video in inglese che vi mostrano le procedure sopra descritte così capirete meglio i passaggi anche in video:





VIDEO

1° Metodo recupero Software: https://youtu.be/0k1sxwX5pMk

2° Metodo recupero con chiavetta USB TTL:
Parte 1: https://youtu.be/t35Pei_eb6o
Parte 2: https://youtu.be/wCwBvoueBG4



Il contenuto di questo post è rilasciato con licenza Creative Commons Attribution-Noncommercial-Share Alike 2.5 (https://creativecommons.org/licenses/by-nc-sa/2.5/it/)


Pindol

SinapsiTXT
15-08-2016, 13:23
Potrebbe funzionare anche su un modello W8970 v. 1.2?

pindol
15-08-2016, 13:56
non saprei dovresti fare una prova, magari comincia con il primo metodo e vedi se va

pindol

SinapsiTXT
15-08-2016, 15:02
non saprei dovresti fare una prova, magari comincia con il primo metodo e vedi se va

pindol

Il primo metodo non sembra andare perché nel log viewer non visualizzo nulla. In questo caso dovrei passare al secondo metodo e quindi comprare il cavo usb-ttl? Secondo te se qualcun altro utente dovesse riuscire a dirmi l'esatto nome che prova a caricare il router potrei comunque provare con il metodo 1?

pindol
18-08-2016, 10:32
Il primo metodo non sembra andare perché nel log viewer non visualizzo nulla. In questo caso dovrei passare al secondo metodo e quindi comprare il cavo usb-ttl? Secondo te se qualcun altro utente dovesse riuscire a dirmi l'esatto nome che prova a caricare il router potrei comunque provare con il metodo 1?

prova a seguire questa guida:

https://wiki.openwrt.org/toh/tp-link/td-w8970

SinapsiTXT
18-08-2016, 11:15
prova a seguire questa guida:

https://wiki.openwrt.org/toh/tp-link/td-w8970

Ti ringrazio ma ho già sistemato come ho scritto nel t3d ufficiale del router :)

Grazie ancora per la disponibilità e l'ottima guida scritta (che purtroppo non ho avuto modo di testare con il mio router).

daryo24
12-10-2016, 12:30
nel caso del w8970 v1 i pin sono al contrario, quello nel "quadratino" è Vcc

Vince85
12-10-2016, 20:29
nel caso del w8970 v1 i pin sono al contrario, quello nel "quadratino" è Vcc

Come hai fatto a scoprirlo?

daryo24
22-10-2016, 12:38
Come hai fatto a scoprirlo?

Altre guide, tipo openwrt per citare la piu accreditata e famosa. Ma soprattutto specifiche del modello, non mi fido mai troppo delle guide generiche.

https://wiki.openwrt.org/toh/tp-link/td-w8970#uart_boot

daryo24
22-10-2016, 12:40
Io nonostante aver seguito la guida per un W8970 V1 non riesco a flashare la rom originale, mi viene restituito un errore, kernel panic

ralph61
25-10-2016, 19:58
ciao,ho provato anch'io come da guida..ma nel momento in cui ho dato il comando (erase 0x9f020000 +7b0000) e' mancata un attimo la corrente,risultato:quando avvio il router su putty vedo due o tre informazioni tipo rom ecc che pero' vanno avanti all'infinito,in pratica non posso piu' avere il prompt per i comandi....che faccio lo butto o c'e' qualche sistema per recuperarlo?

daryo24
26-10-2016, 12:39
ciao,ho provato anch'io come da guida..ma nel momento in cui ho dato il comando (erase 0x9f020000 +7b0000) e' mancata un attimo la corrente,risultato:quando avvio il router su putty vedo due o tre informazioni tipo rom ecc che pero' vanno avanti all'infinito,in pratica non posso piu' avere il prompt per i comandi....che faccio lo butto o c'e' qualche sistema per recuperarlo?

Puoi provare a scrivere la rom, o con una basetta e raspberry oppure usando la modalita di uboot che consentono i processori lantiq. dopo aver caricato nella ram uboot, lo flashi. la procedura prevede di mettere a massa una resistenza per avviare questa modalita.

https://forum.openwrt.org/viewtopic.php?pid=341622#p341622

ralph61
26-10-2016, 13:00
Puoi provare a scrivere la rom, o con una basetta e raspberry oppure usando la modalita di uboot che consentono i processori lantiq. dopo aver caricato nella ram uboot, lo flashi. la procedura prevede di mettere a massa una resistenza per avviare questa modalita.

https://forum.openwrt.org/viewtopic.php?pid=341622#p341622

Ti ringrazio per l'informazione,appena posso vedo di provare

ralph61
27-10-2016, 20:17
Ti ringrazio per l'informazione,appena posso vedo di provare

Ho provato la seconda opzione ma e' troppo difficoltoso saldare in un punto cosi' piccolo .....peccato

adino78
16-01-2018, 16:18
Salve, sono nuovo e ringrazio anticipatamente perche siete stupendi.
Mi trovò a recuperare il router rm3420 tplink v.2, ho seguito tutta la guida, ma ad un certo punto non riesco più a procedere, praticamente i nodi che non mi sono chiari sono i seguenti, quando vado a caricare il firmware originale tramite tftp32 non mi compare nessun log viewer, e quando accendo il router dopo aver impostato IP etc etc, e dato il comando veloce tpl mi da loading..T T T e continua a caricare T T T all'infinito.
Vi sarei grato se qualcuno mi potesse aiutare prima di comprarne un'altra.
PS. Qualcuno mi potrebbe dare indicazioni più dettagliate su come procedere in shell non sono molto pratico di linux etc. Grazie a tutti

adino78
17-01-2018, 12:49
Salve Pindol mi puoi aiutare

PowerEdge
26-05-2018, 12:31
Buongiorno e grazie anticipatamente per la collaborazione.

Ho un cadavere in oggetto che, al primo avvio, mostra l'interfaccia web dove chiede le credenziali, ma non fa accedere. Dopo il primo tentativo non la mostra più ma da' un errore tipo http 500 o similare.

Via telnet risponde e fa accedere, ma essendo stato resettato ai valori di default, non è possibile utilizzarlo in nessun modo.

Qualche suggerimento?

Regards
G

david-1
23-07-2020, 15:05
Una volta scaricato il programma, dovete cambiare i settings della vostra scheda di rete (da preferenze scheda di rete), in questo modo:

IP: 192.168.0.66 (in alcuni casi l’indirizzo può essere 192.168.1.66)
Subnet mask: 255.255.255.0
Gateway: 192.168.0.1 (potete lasciarlo anche libero)


2) Fatto questo aprite il programma FTPT, in server interface assicuratevi di essere nel indirizzo ip appena impostato ovvero 192.168.0.66, ed andate nella tab “Log Viewer”.




Io son già fermo qua.... il programma mi propone 127.0.0.1 o altri IP ma che iniziano con 169.xxx ecc

Ho un TP-Link Archer C7 v2

PS: ho messo 192.168.1.66 perchè il router collegato ad una altro router vedo prende un IP 192.168.1.186

pindol
23-07-2020, 15:20
Io son già fermo qua.... il programma mi propone 127.0.0.1 o altri IP ma che iniziano con 169.xxx ecc

Ho un TP-Link Archer C7 v2

PS: ho messo 192.168.1.66 perchè il router collegato ad una altro router vedo prende un IP 192.168.1.186

Devi prima resettare il router (dovrebbe esserci un tastino da premere con una penna o uno spillo, mentre è attaccato alla corrente, così si ripristina e torna al range di indirizzi di default ovvero 192.168.0.1

poi secondo me riesci a vederlo.

Pindol

david-1
23-07-2020, 16:16
quando dici di collegare il router al pc.... il mio non ha entrata RJ45... è un notebook moderno.....

pindol
23-07-2020, 20:05
quando dici di collegare il router al pc.... il mio non ha entrata RJ45... è un notebook moderno.....

male :-D,

ci sono comunque adattatori usb-ethernet mi pare, senza ethernet non fai nulla

Pindol

david-1
24-07-2020, 02:38
Allora... ho risolto, in un modo un pò fortunato ma ho risolto.
Espongo il mio caso perchè magari serve d'aiuto, già che stavo rinunciando a recuperare il router, un TP-Link Archer C7 v2.

Ho scaricato il programma TFTP e ho seguito il passo 1 senza problemi.
Il problema è sorto al punto 2 perchè non c'è stato verso, sul “log viewer” non appariva mai nulla. Qua la botta di fortuna.... Pindol, grazie ancora per la tua guida, ha scritto il nome del file che dovrebbe apparire, ossia il file che il router cerca per avviarsi. Fortunatamente Pindol aveva un Archer C7, quindi mi sono fidato e ho sperato che il file fosse proprio il ArcherC7v2_tp_recovery.bin

E così è stato.... ho scaricato il fw ufficiale (punto 3) e poi sono passato direttamente al punto 4, tentando di caricare il fw ufficiale rinominato ArcherC7v2_tp_recovery.bin.

All'improvviso è apparso il popup ed è iniziato il caricamento: pochi minuti e il router funzionava perfettamente.


Per finire la storia, devo spiegare come ho brickato il router: settimane fa avevo caricato il fw DD-WRT, che andava bene, ma per alcune questioni tecniche avevo deciso di tornare al fw stock... e li si è incasinato tutto. Grazie a Dio avevo fatto un backup prima di passare al DD-WRT quindi, dopo aver de-brickato il router ho fatto il restore e.... meraviglia, tutto come un tempo!!!

Grazie Pindol :)

pindol
25-07-2020, 22:23
bravo,

tutto è bene ciò che finisce bene

Pindol