Piero V.

DSL-504T: qualche appunto per la modifica

Circa di un mese fa avevo lavorato su un DSL-504T e un DWL-G700AP. Avevo anche messo tutte le informazioni sul secondo, mentre sul primo non avevo più scritto niente e vi avevo promesso che l’avrei fatto.

Purtroppo ho avuto molte cose da fare e certe cose me le trascino avanti per molto.

Crediti

Devo ringraziare innanzitutto chi contribuisce al wiki di OpenWRT, questo è un articolo derivato da loro. Quindi è rilasciato secondo licenza Creative Commons 3.0 By Sa. Gli utenti del wiki di OpenWRT sono, in ordine alfabetico, alessandro_s (guida DSL-524T), ath (guida 524T), awm1 (guida 524T), jow (pulizie varie), lorema (guida generica per i DSL-5xxT e DSL-6xxT), manty (guida 524T), netrolller3d (guida 524T), orca (guida 524T), ranma (guida 524T), scruffy (pulizia guida 524T), sutes (guida 504T). Spero di non aver dimenticato nessuno.

Come al solito: non mi prendo alcuna responsabilità sull’applicazione di quanto scritto. Neanche gli utenti sopra citati ne hanno alcuna. Ringrazio per la comprensione.

Vi linko anche le guide:

Preparazione per il flashing

Il flashing fortunatamente non richiede un’interfaccia seriale. Il protocollo usato è FTP. In particolare tramite dei comandi non standard che vanno mandati tramite quote. Perciò procuratevi un client FTP testuale e anche un client telnet. Su Linux dovrebbero già essere installati, così come su Windows XP. Da Windows Vista in poi sono stati rimossi dall’installazione predefinita, potete installarli dai “Componenti di Windows” (Pannello di controllo → Installazione applicazioni).

Per evitare qualsiasi problema vi consiglio di collegare direttamente il computer al router. Inoltre se sapete che potete avere un altro accesso a internet (sia un altro router o un telefono), vi consiglio di tenerlo a disposizione per eventuali problemi.

Per prima cosa scaricate l’immagine che volete installare: se di OpenWRT installate la generica immagine per AR7 (ar7/generic/openwrt-ar7-squashfs.bin), magari la versione 10.03.1. La 12.09 è più pesante. Vi consiglio di scaricare anche il firmware originale, per il quale vi rimando ad altri ottimi siti con d-link forum etc.

Una volta scaricati i file dobbiamo ottenere l’IP del bootloader: apriamo il telnet verso l’indirizzo del router (solitamente 192.168.1.1) con

telnet indirizzo-ip

Vi verranno chiesti username e password. Lo username è sempre root, la password dovrebbe essere admin. Qualora venga rifiutata provate a mettere quella dell’area di amministrazione. Se non ve la ricordate fate un reset (usate il tasto posteriore).

Una volta entrati avrete qualche scritta sul copyright e dovrebbe lampeggiare un cursore. Adesso digitate:

cat /proc/ticfg/env | grep my_ipaddress

Dopo aver premuto invio il software dovrebbe rispondere:

my_ipaddress    192.168.1.1

Questo se è un firmware già modificato, altrimenti qualcosa tipo 10.8.8.8 o 5.8.8.8.

Se avete paura di dimenticarvelo segnatevelo da qualche parte.

Il prossimo passo è impostare la scheda di rete con indirizzo IP statico. Mettete lo stesso indirizzo del router cambiando solo l’ultima cifra. Non ha importanza quale mettete, purché sia diversa. Potete mettere per esempio 192.168.1.2 se l’IP del router era 192.168.1.1. Netmask è 255.255.255.0. Lasciate il resto vuoto.

Prima di procedere al flashing, a seconda del sistema operativo, potrebbe essere necessario cambiare alcune impostazioni: l’implementazione di TCP/IP del bootloader non è proprio standard, perciò è necessario disabilitare alcuni algoritmi di correzione.

Su Linux aprite un terminale di root e date:

echo 0 > /proc/sys/net/ipv4/tcp_frto

Dopo aver dato questo comando tenete il terminale aperto, ci servirà anche dopo.

Per Windows (da Vista in poi) vi rimando alla guida del DSL-524T.

Il flashing

Il flashing richiede un terminale di root su Linux (servono i permessi per modificare le raw socket), un Prompt dei comandi su Windows. Non ho provato su Vista etc, ma forse averlo di amministratore potrebbe far comodo.

Spostatevi nella directory dove avete salvato il firmware con il comando cd mia/directory/delle/cose/salvate.

Adesso preparate il comando ftp ip-del-bootloader (l’IP preso prima), ma non premete invio.

Staccate la corrente al router e ridategliela, quindi date il comando.

Se è andato tutto bene dovrebbe chiedervi username e password: digitate su entrambi adam2. Altrimenti ripetete la procedura fino a quando non ve lo chiede.

Ottimo, siete nel bootloader. È arrivato il momento di sistemare gli offset delle partizioni. Non è sempre necessario (in caso di router già modificato non dovrebbe esserlo) ma facciamolo lo stesso:

quote "SETENV mtd1,0x90010000,0x903f0000"

Potreste voler verificare le partizioni secondo gli schemi delle guide di OpenWRT con il comando quote GETENV md1 e per tutte le altre. È assolutamente vietato invece toccare le partizioni del bootloader e della configurazione D-Link. La configurazione originale va mantenuta perché usata direttamente dal bootloader per il suo indirizzo. Comunque se le toccate rischiate di brickare il vostro router (ovvero renderlo un inutile mattoncino) e l’unico modo per ripristinarlo è usare la JTAG. Insomma, non è molto conveniente farlo, soprattutto perché non richiesto.

Ora impostiamo alcune variabili per il flashing:

quote "MEDIA FLSH"
binary
debug
hash

Con questi comandi entriamo in modalità flashing, impostiamo il trasferimento binario, abilitiamo il debug e la stampa di un hash (#) per ogni tot byte inviati con successo (la dimensione dipende dal vostro sistema operativo. Mi pare 1KiB in Linux e 2KB in Windows). Questi ultimi due in particolare sono utilissimi per capire se siamo riusciti o no nel flashing.

È arrivato il momento di inviare effettivamente il nuovo firmware:

put "openwrt-ar7-squashfs.bin" "openwrt-ar7-squashfs.bin mtd4"

Qualora il trasferimento dovesse interrompersi ve ne accorgereste subito perché gli hash non sono aggiunti e i led della lan rimangono completamente accesi. A volte basta avere un po’ di pazienza, altre volte bisogna proprio ripetere la procedura da capo. Interrompere la procedura in questo istante non danneggia il router: potrete ancora eseguire questa procedura. Invece non ricordo se il firmware già installato riuscirà a fare il boot. Comunque sia quando è effettivamente finito il vostro client dovrebbe informarvi.

Una volta completato con successo il trasferimento, diamo questi due ultimi comandi:

quote REBOOT
quit

Dovreste essere tornati al terminale o al CMD.

Comunque la procedura di flashing non è ancora finita: non staccate il router fino a quando il led status non fa un battito di cuore. Per battito di cuore si intende proprio come farebbe un cuore, ovvero due lampeggi vicini, poi un tempo di attesa un po’ più lungo e ricomincia il ciclo.

Primo login

Cambiate indirizzo IP al vostro computer: potete metterlo dinamico o statico appartenente alla classe 192.168.1.0/24.

Adesso fate il primo login: o tramite browser (password vuota) oppure tramite telnet. In entrambi i casi l’indirizzo IP da usare è 192.168.1.1.

Una volta fatto il login cambiate password, dopodiché, se siete in telnet uscite, e riavviate il router. Adesso dovrebbe essere a posto.

Vi riassumo il procedimento per il telnet:

telnet 192.168.1.1

Dovrebbe apparire una cosa simile a questa:

Trying 192.168.1.1...
Connected to 192.168.1.1.
Escape character is '^]'.
 === IMPORTANT ============================
  Use 'passwd' to set your login password
  this will disable telnet and enable SSH
 ------------------------------------------
  _______                     ________        __
 |       |.-----.-----.-----.|  |  |  |.----.|  |_
 |   -   ||  _  |  -__|     ||  |  |  ||   _||   _|
 |_______||   __|_____|__|__||________||__|  |____|
          |__| W I R E L E S S   F R E E D O M
 Backfire (10.03.1, r29592) ------------------------
  * 1/3 shot Kahlua    In a shot glass, layer Kahlua
  * 1/3 shot Bailey's  on the bottom, then Bailey's,
  * 1/3 shot Vodka     then Vodka.
 ---------------------------------------------------
root@OpenWrt:/#

Con la 12.09 le scritte sono leggermente diverse.

Digitate passwd root, quindi digitate due volte la password da voi scelta e premete Ctrl + D per uscire.

Procedimento terminato

Complimenti, avete appena installato OpenWRT.

Per il resto della configurazione vi lascio al wiki di OpenWRT, che è fatto benissimo.

Mi sarebbe piaciuto mettere la configurazione ADSL, peccato che non sia riuscito a farla funzionare, né con OpenWRT, né con altri firmware, incluso quello originale.

Mi sa che è proprio rotto il router oppure essendo vecchio non tollera molto la mia linea, oppure, nonostante si dica che con i driver giusti funzioni anche su ADSL2+ (usata da Telecom anche per le 7 mega) in realtà non va.

Se riuscite a farlo andare magari scrivetemelo in un commento.

Comunque ormai secondo me la tecnologia ADSL è morta. Siamo tutti in attesa della fibra ottica 😊 . Quella è l’unica che funziona bene. Da mia sorella a Torino con Fastweb mi pareva di sognare talmente andava bene.