Howto Installazione DD-WRT sulla Fonera
Da PtLUG Wiki.
Contents |
Introduzione
La Fonera è un piccolo ed efficiente router wifi che viene venduto sul sito di Fon a tutti coloro che vogliono aderire al loro progetto di condivisione della connessione wireless. Il firmware del router è basato sul progetto opensource OpenWrt, ma presenta alcune limitazioni che lo rendono adatto solo ad un utilizzo nel progetto Fon e non come normale router. Il progetto DD-WRT si basa su OpenWrt, implementando moltissime funzioni aggiuntive, ed è disponibile anche un porting di questo software anche per la piccola Fonera. In questo articolo viene spiegato come installarlo in modo da ottenere un vero e proprio router wireless.
Requisiti
Prima di iniziare l'intera procedura è necessario controllare di aver scaricato tutto il software necessario. Durante il lavoro sul terminale della Fonera, potrebbe infatti non essere disponibile la connessione ad Internet, visto che dovremo configurare l'interfaccia di rete in modo particolare. Sarà inoltre opportuno sincerarsi di aver correttamente configurato il server TFTP sulla nostra macchina, prima di procedere.
Riassumendo, i requisiti per installare DD-WRT sulla Fonera sono i seguenti:
- 1 PC con installato possibilmente Linux
- 1 interfaccia di rete fissa
- 1 cavetto ethernet di tipo cross
- 1 Fonera opportunamente modificata
- 1 server TFTP (di seguito le istruzioni per configurarlo su Ubuntu Linux)
- OpenWrt per abilitare il RedBoot: openwrt-ar531x-2.4-vmlinux-CAMICIA.lzma
- File di configurazione di OpenWrt: out.hex
- DD-WRT Firmware: firmware (cliccare su "Vote" e poi entrare nelle cartelle beta --> FONERA --> 2007 0721. E' necessario scaricare solo i file root.fs e vmlinux.bin.l7)
Installazione e configurazione di TFTP su Ubuntu
L'installazione di TFTPd su Ubuntu Linux è abbastanza semplice. Per prima cosa è necessario scaricare ed installare il pacchetto con il seguente comando (eseguito da utente root):
apt-get install tftpd-hpa
Poi dobbiamo mettere i file che vogliamo "servire" all'interno della cartella /var/lib/tftpboot/ (nel nostro caso dovremmo inserirci i file root.fs e vmlinux.bin.l7).
Dopo aver messo i file nella directory dobbiamo impostare i seguenti permessi:
chown -R nobody:nogroup /var/lib/tftpboot
Infine dobbiamo modificare il file /etc/default/tftpd-hpa e modificarlo con le seguenti impostazioni:
#Defaults for tftpd-hpa RUN_DAEMON="yes" OPTIONS="-l -s /var/lib/tftpboot"
Infine dobbiamo avviare il servizio, tramite il seguente comando:
/etc/init.d/tftpd-hpa start
A questo punto il server TFTP è pronto per accettare le richieste che gli faremo in seguito.
Abilitare RedBoot
Per poter installare DD-WRT sulla Fonera, dobbiamo prima abilitare la console RedBoot. Dobbiamo collegare il nostro PC alla Fonera tramite il cavo cross ethernet che ci siamo procurati. Dopo aver connesso il cavo, configuriamo la scheda ethernet del nostro PC con le seguenti impostazioni:
- IP: 169.254.255.2
- Subnet: 255.255.0.0
- Default Gateway: 169.254.255.1
A questo punto dobbiamo copiare OpenWrt sulla Fonera, con il seguente comando:
scp openwrt-ar531x-2.4-vmlinux-CAMICIA.lzma root@169.254.255.1:/tmp
Una volta copiato il file, dobbiamo collegarci alla Fonera tramite SSH:
ssh -l root 169.254.255.1
Quando siamo dentro alla fonera dobbiamo scrivere i seguenti comandi:
cd /tmp mtd -e vmlinux.bin.l7 write openwrt-ar531x-2.4-vmlinux-CAMICIA.lzma vmlinux.bin.l7 reboot
A questo punto la Fonera si riavvierà e RedBoot sarà abilitato. Dopo aver riavviato la Fonera, dobbiamo ripetere la stessa procedura (in maniera molto simile) anche per il file out.hex che contiene la configurazione per RedBoot:
scp out.hex root@169.254.255.1:/tmp
Dobbiamo poi entrare nella Fonera con SSH ed eseguire i seguenti comandi:
cd /tmp mtd -e "RedBoot config" write out.hex "RedBoot config" reboot
RedBoot è adesso correttamente configurato nella Fonera.
Installazione del Firmware DD-WRT
In questa fase dobbiamo riconfigurare nuovamente la scheda ethernet del nostro PC, utilizzando questa volta le seguenti impostazioni:
- IP: 192.168.1.166
- Subnet: 255.255.255.0
- Default Gateway: 169.254.255.1
Configurata la scheda, dobbiamo collegarci tramite telnet alla Fonera:
telnet 192.168.1.254 9000
Ad un certo punto dovrebbe apparire la console di RedBoot. Quando la Fonera è pronta per ricevere i comandi, dobbiamo scrivere quanto segue:
ip_address -l 192.168.1.254/24 -h 192.168.1.166 fis init
Premere "y" quando viene fatta una domanda e proseguire con gli altri comandi:
load -r -v -b 0x80041000 root.fs fis create -b 0x80041000 -f 0xA8030000 -l 0x002C0000 -e 0x00000000 rootfs load -r -v -b 0x80041000 vmlinux.bin.l7 fis create -r 0x80041000 -e 0x80041000 -l 0x000E0000 vmlinux.bin.l7 fis create -f 0xA83D0000 -l 0x00010000 -n nvram reset
Nota: ogni comando "fis create" richiede circa 10 minuti per essere eseguito. Durante l'esecuzione la console non viene aggiornata con lo stato corrente dell'applicazione, quindi non preoccupatevi se sembra che tutto si sia bloccato, ma attendete la fine dell'esecuzione di ogni comando.
A questo punto la Fonera è diventata un router wireless con DD-WRT a tutti gli effetti! Per gli aggiornamenti successivi (nel caso escano nuove versioni di DD-WRT per la Fonera), si consiglia di utilizzare l'apposita interfaccia web di DD-WRT (raggiungibile all'indirizzo http://192.168.1.1 ) e di utilizzare il file fonera-firmware.bin per l'aggiornamento.
Ripristino del Firmware originale di FON
Che cosa dobbiamo fare se volessimo riportare la nostra Fonera allo stato originale? Fortunatamente è possibile con alcuni passaggi simili ai precedenti.
Dobbiamo per prima cosa aprire un terminale sul proprio PC e scaricare il firmware originale dal sito di Fon:
wget http://downloads.fon.com/firmware/current/fonera_0.7.1.3.fon
Togliamo i primi 520 byte dal file scaricato:
tail --bytes +520 fonera_0.7.1.3.fon > fonera_0.7.1.3.tar.gz
Scompattiamo il file:
tar xfvz fonera_0.7.1.3.tar.gz
Mettiamo questi due file all'interno della directory /var/lib/tftpboot
cp rootfs.squashfs /var/lib/tftpboot cp kernel.lzma /var/lib/tftpboot
Connettiamoci alla console RedBoot della Fonera:
telnet 192.168.1.254 9000
ed eseguiamo i seguenti comandi:
ip_address -l 192.168.1.254/24 -h 192.168.1.166
fis init
load -r -v -b 0x80040450 rootfs.squashfs
fis create -b 0x80040450 -f 0xA8030000 -l 0x00700000 -e 0x00000000 rootfs
load -r -b %{FREEMEMLO} kernel.lzma
fis create -r 0x80041000 -e 0x80041000 vmlinux.bin.l7
fis load -l vmlinux.bin.l7
exec
A questo punto la Fonera dovrebbe essere tornata allo stato originale.
Autore
Questo articolo è stato scritto da Andrea Grandi.

