Sbloccare modem router Telecom DANT-V TG582Tn (AGTWI)
Un anno fa circa ho acquistato su Ebay il modem/router Technicolor ADSL2+ WIFI marchiato Telecom al ridicolo prezzo complessivo di 20€ . La mia connessione era Telecom e non avevo molto tempo per analizzare tutte le caratteristiche che offrisse il modem in questione, mi serviva subito senza se e senza ma.
Dopo svariati mesi di utilizzo iniziano ad affiorare necessità di controllo del traffico, soprattutto per gestione remota, port-forwarding, etc… e qui sorge il problema.
Da un giorno all’altro mi accorgo che il firmware si è auto-aggiornato, chiedendomi una password all’accesso che non avevo impostato (che poi ho scoperto essere vuota), ma la cosa peggiore che noto è che qualsiasi regola io inserissi, veniva applicata ma non salvata, anche se ricevevo la conferma del salvataggio. Quindi è facile capire che ad ogni riavvio ero punto e a capo.
Oltre a questo problema ho notato che il pulsante “Salva e Riavvia” era pressocchè una presa in giro, ne simulava il riavvio ma nulla accadeva al modem.
Per non parlare del fatto che la pagina di gestione si apriva mooolto lentamente e quasi passava la voglia di gestirlo.
E’ così che ho deciso di sbloccarlo aggiornando il firmware.
Il primo firmware che ho installato è stato LEDE, un fork di OpenWRT. Software spettacolare e completo di tutto, veloce e performante ma con una grossa pecca: in quanto proprietario non include il modulo driver Broadcom per la gestione della connessione ADSL, rendendolo di fatto solo un router, senza più la funzione modem. Da qui la necessità di sostituire il firmware con una versione completa di tutte le funzionalità previste.
Prima di procedere
Prima di iniziare abbiamo bisogno dei seguenti materiali:
- giravite a stella per aprire il modem
- saldatore
- 4 resistenze da 100 Ohm
- sorgente Vcc 3,3 Volt
- un PC con porta parallela
- Windows 7 32 bit o inferiore o linux in alternativa
- Software SPIPGM
- file boot.bin
- HxD editor
- Thomson Upgrade Wizard
- Firmware sbrandizzato (Plusnet – ADSL – TG582n (with USB port) – 8.4.4.J )
Procedimento Hardware
Una volta reperiti tutti i materiali, mettiamoci all’opera!
Prima di procedere tengo a precisare che il modem perderà ogni possibile garanzia e sopratutto non mi assumo alcuna responsabilità dell’uso che facciate di questa guida nè sui danni che eventualmente ne derivino.
Per prima cosa bisogna smontare il modem, svitando le due viti sotto i piedini di gomma, quindi aprendo con delicatezza il coperchio che è chiuso a scatto.
Dopo averlo aperto bisognerà saldare dei fili su alcuni piedini della memoria del modem, così da programmarlo eludendo il blocco scrittura.
Le saldature devono essere effettuate sull’integrato che si vede in foto con tutti i fili già saldati:
e devono seguire il seguente schema:
fonte: https://wiki.openwrt.org/toh/thomson/tg582n |
Fate attenzione al connettore parallelo, quello in schema è il retro di un connettore maschio, quindi se si vogliono connettere i fili direttamente alla porta parallela del PC bisogna invertire la numerazione (1 al posto del 13 e così via). Io infatti ho scelto il collegamento diretto dato che inizialmente ho avuto problemi di riconoscimento del chip che pensavo dipendessero dalla perdita di segnale del cavo.
Se non avete una fonte da 3,3V potete prelevarla dall’alimentatore del PC come in foto (io avevo il mio trasformatore regolabile):
Dopo aver effettuato correttamente tutte le saldature, stando attenti a non cortocircuitare nessun pin (neanche il pin 1 e 2 che vanno entrambi al Vcc), possiamo procedere alla parte software. NON alimentare ancora il chip con i 3.3v (nè tantomeno accendere il modem con la sua alimentazione)
Procedimento Software
Bisogna scompattare il software SPIPGM su un pc con Windows 32 bit (fino a Win 7 – 8) o su un sistema linux. Io personalmente avevo provato ad installare Windows XP su una VM ma, nonostante gli avessi abilitato il riconoscimento della porta parallela con i comandi:
VBoxManage modifyvm Windows7VirtualMachine – -lptmode1 LPT1: VBoxManage modifyvm Windows7VirtualMachine – -lpt1 0x378 7
non sono riuscito comunque a fargli riconoscere il chip e così ho optato per una distribuzione linux.
Dopo averlo scompattato, apriamo qualsiasi console (cmd per windows o la shell di linux) e posizionamoci nella cartella del programma appena scompattata.
Da linux, a chip disalimentato eseguire da root (o con sudo) il comando :
SPIPGM -i
che darà il seguente output:
SPI connected to LPT port at I/O base address: 378h, SCK pulse width: t+0us FlashROM JEDEC ID, type: FFFF00FFh - parity error! unknown manufacturer, unknown chip Status = FFh (SRP, AAI, BP3, BP2, BP1, BP0, WEL, BSY) 1 1 1 1 1 1 1 1 Status register is protected, you will need to set WP#
A questo punto, possiamo alimentare il chip attivando la sorgente da 3.3V (NON tramite il cavo di alimentazione del modem!) e rieseguendo lo stesso comando avremo il seguente output (per windows le opzioni del comando vengono identificate con lo “/”, es. SPIPGMW.EXE /i ):
SPI connected to LPT port at I/O base address: 378h, SCK pulse width: t+0us FlashROM JEDEC ID, type: 1C3017h EON EN25Q64 (16MB) Status = 00h (SRP, AAI, BP3, BP2, BP1, BP0, WEL, BSY) 0 0 0 0 0 0 0 0
Se invece continuate a vedere tutti i bit a 1, significa che ancora non rileva il chip, avrete sbagliato qualcosa nelle saldature o nel collegamento.
A questo punto la prima cosa obbligatoria da fare è un dump del sistema corrente, quindi dobbiamo eseguire il comando:
SPIPGM -d dump.bin
Ultimata la procedura di copia della memoria flash contenente sia il bootloader che il firmware del modem, bisogna editare con un programma tipo “HxD editor” (disponibile al download più su) sia il file dump.bin appena creato, sia il file boot.bin (scaricabile da questo sito) e, una volta aperti bisogna copiare dal dump.bin le seguenti righe e sostituirle sul file boot.bin nella stessa posizione:
da 00020000 a 00020a60
da 000216d0 a 00021710
da 00021af0 a 00021e90
da 0003fde0 a 0003fe40
Ad esempio, per il primo range bisogna selezionare tutte le righe da 00020000 a 00020a60 del file dump.bin e incollarle nella stessa numerazione (incolla e sostituisci) sul file boot.bin.
Questo processo serve per mantenere le informazioni proprie del modem in questione (MAC address, seriale, etc..). Finita la sostituzione di tutti e 4 i gruppi, salvare il file boot.bin e tornare alla shell di comando e digitare:
SPIPGM -e
se il chip è Eon (cFeon) EN25Q128, altrimenti il comando
SPIPGM -eb 0 1
se il chip è Macronix MX25L12835E.
Questo comando cancellerà ogni dato sulla memoria per fare spazio al nostro file boot.bin.
Ultimato questo processo procediamo con la scrittura del file di boot opportunamente copiato nella stessa cartella dell’eseguibile SPIPGMW:
SPIPGM -p boot.bin
(nella foto sopra in realtà stavo ripristinando il file dump.bin dopo che avevo installato il S.O. LEDE di cui ho parlato in precedenza)
Dopo poco darà errore di fine del file, ma è tutto ok. Per tranquillità eseguendo il comando:
SPIPGM -v boot.bin
dovremmo ricevere un OK che ci toglierà ogni dubbio.
A questo punto il grosso è fatto: stacchiamo l’alimentazione da 3.3v al chip, inseriamo in cavo di alimentazione del modem e proviamo ad accenderlo SENZA ancora staccare i cavi di collegamento alla parallela (io per sicurezza li ho lasciati connessi, nell’eventualità bisognava ri-flashare il chip).
Se il led Power dopo qualche secondo diventa arancione fisso, tutto è andato liscio, il nostro modem è pronto a ricevere il firmware sbrandizzato. Se invece non sembra accendersi, qualcosa durante il processo non è andato a buon fine e bisognerà ripetere le operazioni precedenti.
In ultima battuta, connettere il modem via cavo di rete (RJ-45) al PC, scompattare e avviare il software Thomson Upgrade Wizard e cliccando su avanti, dovrebbe rilevare il modem. A questo punto selezionare il firmware che ho linkato sopra (altre versioni disponibili su http://products.plus-payh.co.uk/firmware/ ) e lasciar fare tutto al tool.
Alla fine del caricamento del firmware, potrete collegarvi al vostro bel modem/router al 192.168.1.1 usando come user “admin” e password il seriale del vostro modem (visibile nell’etichetta sotto, es. CPxxxxxx).
Per qualsiasi dubbio commentate pure qui sotto!
Crediti e fonti:
- https://www.ilpuntotecnicoeadsl.com/forum/index.php/topic,74457.0.html
- https://wiki.openwrt.org/toh/thomson/tg582n
- http://products.plus-payh.co.uk/firmware/
Salve, grazie della guida,
mi chiedevo se ci sono alternative per arrivare
ai piedini del PCB con saldatore, e se puoi consigliarmi
un kit e come fare, grazie
So che vendono delle pinze che si agganciano sopra il chip (tipo questa https://www.amazon.it/ARCELI-prova-programmatore-SOIC16-Morsetto/dp/B07QQZ1DJH/) ma non le ho mai utilizzate, mi sono armato di santa pazienza e con la punta piccola del saldatore, perdendo una diottria, ho saldato i pin come da guida.
Salve, guida perfetta e utile!
Volevo sapere, che alternative ci sono se non si possiede una porta LPT sul PC? Un adattatore va bene?
Grazie!
So che vendono adattatori USB to Parallel ma purtroppo non l’ho mai provato, forse funzionerebbe ma ci potrebbe essere la necessità di cambiare il nome delle porte, il PC potrebbe continuare a rilevarla come porta USB anche se i dati poi fluirebbero sulla parallela.
Va bene, grazie!
Comunque ho risolto poichè sulla mia scheda madre è presente un header LPT, quindi basta comprare un adattatore per portarlo fuori nel case o agganciarsi ai vari pin direttamente da lì.
Ciao, innanzitutto un buon anno 2021.
Grazie per il lavoro che hai presentato.
Mi trovo nella condizione di non poter più accedere al router TG582N dopo averlo configurato (in cascata con altro router) e aggiornato il fw.
Premetto che avevo sbrandizzato il router aggiornandolo a v.844j ma non riuscivo ad accedere col cavo a 192.168.1.254, avevo accesso solo in wifi.
Essendo ignorante in materia ho fatto sicuramente qualche, anzi tante cappellate.
Ho un file salvato dal router del fw aggiornato che dovrebbe contenere le sue caratteristiche. Chiedo se c’e’ la possibilità di riscriverlo con il metodo da te adottato, anche se per me sarà complicato fare tutte quelle operazioni, ma tentar non nuoce.
Il mio intento finale era quello di rendere accessibile una stampante in wifi tramite la porta usb del router.
Grazie mille per una risposta.
Ciao, ho sbloccato questo router anche con l’aiuto della tua guida scritta peraltro anche sulla pagina ufficiale di OpenWRT, ma ho usato un programmatore CH314,
Adesso ho dei dubbi su questo https://photos.app.goo.gl/YNmLjCUWXquHaP5G9, come puoi vedere le ripartizioni della memoria non mi permettono di installare nessun pacchetto aggiuntivo, tutta la memoria viene utilizzata per i file temporanei, ho forse io sbagliato qualcosa, oppure è openwrt 23 che partizione la memoria flash in questo modo? inoltre trovo anche strano la capienza, non menzionata nella pagina openwrt, la memoria è una winbond 25q64fvfig, avevo anche pensato, se non posso sistemare le partizioni, ad una Mod con questa https://www.az-delivery.de/cdn/shop/products/spi-reader-micro-speicher-sd-tf-karte-memory-card-shield-modul-771984.jpg?v=1679399214&width=1500, sarebbe fantastico un tuo tutorial a riguardo
Non sono sicuro se leggeri il mio intervento dato il tempo trascorso, ma tentare non nuoce
saluti
Marco
Ciao Marco,
purtroppo come hai visto l’articolo risale a molti anni fa, per cui non sono più aggiornato sulle nuove guide e/o problemi inerenti.
E’ probabile che sia un problema di memoria, prova a vedere se esistono immagini più vecchie e anche più piccole di dimensioni.
Anni fa giocavo con OperWRT su un router Netgear, devo dire che è qualcosa di fantastico. Ma anche allora, avevo problemi di memoria, ho dovuto cercare un’immagine release candidate, modificata ad hoc per memorie più “povere”. Una volta messo su, non ha MAI avuto nessun problema, era diventato un carro armato!
Prova a vedere se trovi qualcosa di simile e riprova. Se riesci a metterlo magari condividi la tua esperienza, sarebbe un gran bell’update!