OpenWrt WRT54GL: differenze tra le versioni
(→Ripristino del firmware) |
(→Ripristino del firmware) |
||
Riga 127: | Riga 127: | ||
=== Ripristino del firmware === | === Ripristino del firmware === | ||
In alcuni casi, potrà capitare che l'aggiornamento del firmware non vada a buon fine, rendendo il router del tutto inutilizzabile.<br> | In alcuni casi, potrà capitare che l'aggiornamento del firmware non vada a buon fine, rendendo il router del tutto inutilizzabile.<br> | ||
− | Questo problema viene spesso descritto come '''bad upgrade''' o '''router bricked''', che significa '''aggiornamento non andato a buon fine''' o '''router | + | Questo problema viene spesso descritto come '''bad upgrade''' o '''router bricked''', che significa '''aggiornamento non andato a buon fine''' o '''router danneggiato'''.<br><br> |
Nessun problema. Questo tipo di router ha 7 vite come i gatti e sarà possibile reinstallare nuovamente il firmware, attraverso l'uso del protocollo TFTP.<br> | Nessun problema. Questo tipo di router ha 7 vite come i gatti e sarà possibile reinstallare nuovamente il firmware, attraverso l'uso del protocollo TFTP.<br> | ||
Come spesso accade se il router non riesce a caricare correttamente il firmware, la spia POWER presente sul router non smetterà mai di lampeggiare (lo fa normalmente all'accensione, fino al completamento del caricamento del sistema operativo.<br> | Come spesso accade se il router non riesce a caricare correttamente il firmware, la spia POWER presente sul router non smetterà mai di lampeggiare (lo fa normalmente all'accensione, fino al completamento del caricamento del sistema operativo.<br> |
Versione delle 17:34, 1 ago 2014
Come liberare il router WRT54GL dal firmware proprietario
OpenWrt è il firmware interno per dispositivi embedded utilizzato per la gestione del traffico. Nel nostro caso utilizzeremo OpenWRT dentro un router domestico, effettuando un test hardware per il Cisco Linksys Wireless-G Broadband Router WRT54GL v1.1.
OpenWrt è Linux based e include un kernel Linux come i BusyBox. Ha all'interno un gestore di pacchetti chiamato opkg (simile al pacchetto apt di ubuntu).
Prima di installare OpenWrt nel router, è necessario sapere se il device è compatibile con OpenWrt, per averne la certezza è necessario vedere se il modello è compreso nella Tabella degli hardware di OpenWrt.
Specifiche Hardware
Prima di esplorare il sistema OpenWrt, andiamo a conoscere qual'è l'hardware che abbiamo a disposizione nella nostra device:
- CPU: Broadcom BCM5352 @ 200 MHz
- RAM: 16 MB
- Memoria Flash: 4 MB
CONTROLLO VELOCE - per essere sicuri che l'hardware contenuto sia esatto, possiamo controllare le specifiche del modello leggendo il prefisso del numero di serie del device, utilizzando queste informazioni.
Nel nostro caso l'hardware viene supportato completamente da OpenWrt, ma ci sono alcuni limitazioni dovute al tipo di memoria flash utilizzata. Vedi:
- http://wiki.openwrt.org/toh/linksys/wrt54g#hardware
- - https://forum.openwrt.org/viewtopic.php?id=28223
La soluzione per il nostro casco è ben documentata. Verrà utilizzato il firmware OpenWrt 10.03.1-rc6 (nome in codice "backfire").
Scaricare la versione corretta del firmware
Per installare OpenWrt nel router, la prima cosa da fare è andare a vedere le indicazioni presenti e dedicate al nostro modello Linksys, descritte nel sito di OpenWrt. Per questa marca di router troviamo molte versioni disponibili di OpenWrt, ma per trovare la versione corretta dobbiamo cercare il modello esatto:
- La versione stabile di OpenWrt è la Kamilaze, anche se troviamo presente la versione Backfire con qualche bug e qualche instabilità negli adattamenti di attitude.
- La versione che viene normalmente raccomandata è la 8.09 con Kamilaze, mentre la versione più aggiornata del firmware è la brcm-2.4
- Durante questo test installeremo la versione brcm-2.4 Backfire
- La CPU è una Broadcom con il prefisso bcrm
In questo link, viene evidenziato il supporto sia per la versione brcm-2.4 che per la brcm47xx
La differenza tra la versione brcm-2.4 e brcm47xx viene spiegata qui
Per ognuna di esse, è possibile scaricare il file immagine, che termina con l'estensione .bin
Se sono disponibili sia i file JFFS2 che SquashFS, è preferibile utilizzare l'immagine di tipo SquashFS
Andando a vedere lo storico della versione possiamo determinare se la versione 8.09 sia la migliore e e quali siano le differenze nelle versioni kamikaze, backfire e le configurazioni attitude.
L'immagine che verrà utilizzata per il nostro test è: http://downloads.openwrt.org/backfire/10.03.1/brcm-2.4/openwrt-wrt54g-squashfs.bin, corrispondente alla versione brcm-2.4 Backfire.
Installazione
Tramite l'interfaccia web del router Linksys
È possibile installare OpenWrt direttamente dall'interfaccia web del router Linksys. Se state effettuando la prima installazione fatelo utilizzando questa interfaccia, è il modo più semplice e veloce.
Procedura
- Scaricate il file immagine del firmware openwrt-wrt54g-squashfs.bin dalla cartella brcm-2.4 del sito, nel vostro PC. Trovate il file immagine su: http://downloads.openwrt.org/backfire/10.03.1/brcm-2.4/
- Nel browser aprite l'indirizzo http://192.168.1.1/Upgrade.asp, oppure entrate manualmente nelle pagine web del router dopo aver effettuato il login, puntando nella pagina http://192.168.1.1 → Administration → Firmware Upgrade
- Fate l'upload del firmware, utilizzando il file openwrt-wrt54g-squashfs.bin nel router, prelevandolo dalla vostra cartella locale di download.
- Attendete 2 minuti. Il router si riavvierà automaticamente dopo aver completato l'aggiornamento.
Connessione via Telnet
Il router aggiornato, può essere conattato via Telnet all'indirizzo 192.168.1.1. Per testare questa possibilità, aprite un terminale e digitate:
$ telnet 192.168.1.1
Questa modalità di connessione vi farà conoscere un modo diverso di accedere al vostro router. I Cisco Admin ne sanno qualcosa in merito! :)
Connessione via browser
L'interfaccia web luci sarà disponibile all'indirizzo http://192.168.1.1 .
Servizi Telnet e SSH
ATTENZIONE: Solo dopo l'avvenuto inserimento della password di login, il servizio Telnet verrà disabilitato e il servizio SSH verrà abilitato!!
Servizio TFTP
Ora assicuratevi che il servizio tftp sia disponibile. Digitate questi comandi in telnet/ssh. Questo vi assicura che il servizio tftp sia disponibile, nel caso in cui il vostro router si danneggi.
$ nvram set boot_wait=on $ nvram set wait_time=10 $ nvram commit && reboot
N.B.: in generale per i modelli WRT54G* la variabile per impostare il tempo d'attesa per l'avvio del router è boot_time. Sembra che per questo particolare modello (WRT54GL) la variabile corretta sia invece wait_time come indicato sopra ( link di riferimento).
Comunicazione via SSH
La connessione via web tra il router e il client genererà automaticamente una chiave SSH al primo login.Il router inizialmente potrebbe metterci un po durante la generazione delle chiavi. Nel caso vi butti fuori, riprovate dopo un minuto o due. Al primo bootup OpenWrt ci metterà un po di tempo prima di rendersi disponibile alla connessione, in quanto deve configurare per la prima volta ed avviare i suoi file di sistema oltre a generare le chiavi SSH; il server SSH non si avvierà fino a quando la generazione delle chiavi non sarà terminata.
Configurazione
La configurazione di rete è scritta in /etc/config/network. I valori iniziali di questo file per la nostra configurazione dovranno essere:
#### VLAN configuration config switch eth0 option vlan0 "0 1 2 3 5*" option vlan1 "4 5" #### Loopback configuration config interface loopback option ifname "lo" option proto static option ipaddr 127.0.0.1 option netmask 255.0.0.0 #### LAN configuration config interface lan option type bridge option ifname "eth0.0" option proto static option ipaddr 192.168.1.1 option netmask 255.255.255.0 #### WAN configuration config interface wan option ifname "eth0.1" option proto dhcp
Dopo aver editato e salvato questo file, per applicare la nuova configurazione digitate:
$ /etc/init.d/network restart
Configurazione Switch
La sezione dello Switch che troviamo di seguito nel file è responsabile del funzionamento di una parte dell'hardware, facendola apparire come un'interfaccia indipendente. La parte di configurazione che specifica la caratteristiche dello switch, è la seguente:
#### VLAN configuration
config switch eth0
option vlan0 "0 1 2 3 5*" option vlan1 "4 5"
Nella configurazione seguente: I numeri da 0-5 rappresentano i numeri delle porte, dove per la VLAN0 si prevedono le porte da 0 a 5* e per la VLAN1 vengono incluse le porte 4 e 5. Il simbolo * nella porta 5* indica il PVID.
Come visualizzato nella grafica, in questo caso lo switch separa le porte LAN dalle WAN.
Interfacce
Gli altri parametri nel file di configurazione di rete descrivono le interfacce. Le interfacce sono reti logiche, alle quali possono essere configurati i vari indirizzi IP, le rotte e altre magie.
Le 3 interfacce vengono chiamate loopback, lan and wan. Le interfacce fisiche associate con queste interfacce logiche sono: lo, eth0.0 and eth0.1.
Ripristino del firmware
In alcuni casi, potrà capitare che l'aggiornamento del firmware non vada a buon fine, rendendo il router del tutto inutilizzabile.
Questo problema viene spesso descritto come bad upgrade o router bricked, che significa aggiornamento non andato a buon fine o router danneggiato.
Nessun problema. Questo tipo di router ha 7 vite come i gatti e sarà possibile reinstallare nuovamente il firmware, attraverso l'uso del protocollo TFTP.
Come spesso accade se il router non riesce a caricare correttamente il firmware, la spia POWER presente sul router non smetterà mai di lampeggiare (lo fa normalmente all'accensione, fino al completamento del caricamento del sistema operativo.
Nonostante questo problema, riusciremo a connettere comunque il nostro router attraverso il cavo di rete.
- connettiamo il nostro PC con un cavo di rete ad una delle 4 porte del router;
- inseriamo nel nostro PC questa configurazione statica per la connessione ethernet:
IP: 192.168.1.2 netmask: 255.255.255.0 gateway: 192.,168.1.1
poi apriamo un terminale e digitiamo:
ping 192.168.1.1
e noteremo che il nostro router ci sta rispondendo, segno che la connessione ethernet è funzionante.
A questo punto, sempre attraverso il terminale, ci spostiamo nella cartella (esempio, Download) che contiene il firmware da inserire nel router:
$ cd /home/utente/Download
e sinceriamoci dell'esistenza del fine .bin con il comando:
$ ls -la *.bin
e vedremo il file esistente:
$ ls -la *.bin -rw-rw-r-- 1 utente utente 2428960 ago 1 15:38 openwrt-wrt54g-squashfs.bin
a questo punto siamo pronti per importare il file del firmware nel router, con i seguenti comandi:
tftp 192.168.1.1 tftp> binary tftp> put code.bin Sent 2428960 bytes in 23.8 seconds tftp>A questo punto il gioco è fatto. Se tutto è andato a buon fine, il router si sarà riavviato e avrete finalmente aggiornato con successo il vostro router Cisco Linksys WRT54GL con il firmware desiderato.