Piero V.

Fonera con dd-wrt

Disclaimer

Attenzione: l'autore di questo sito anche come autore del tutorial non si prende nessuna responsabilità per la non riuscita della procedura e quindi ai danni all'hardware o alla persona. Nessuno vi obbliga a farla, quindi niente rogne.

Consiglio di leggere del tutto la guida prima di cominciare.

La guida si riferisce alla versione di dd-wrt v24 final/v24 sp1

Attenzione: avrete bisogno di avere la fonera sotto mano: se lavorate off-line, dovete installare anche il server http.
In alternativa, se c'è un altro computer vicno alla fonera ma state lavorando su un altro pc, usate vnc in alcuni passaggi (come ho fatto io…).

Attenzione: dopo il flashing vi ritroverete con qualsiasi dato della Fonera perso e con una rete non protetta. Noi consigliamo sempre di proteggere le vostre reti.

Flashing della Fonera con dd-wrt

Attenzione: Questo documento è la traduzione libera della guida ufficiale del wiki di dd-wrt.

La Fonera è davvero un bel router.

Ecco le sue caratteristiche tecnice (modello 2100):

CPU: Atheros AR531X_COBRA - MIPS 4KEc V6.4 - 183.50 mhz
RAM: Hynix hy57v281620etp-h - 16 MB
Flash: ST(84) H - 25P64V6P - MYS 636 - 8 MB
Ethernet: (1x) Altima AC101 (10/100 Mbit/s) [Auto-MDI(X)]
Wireless: IEEE 802.11b / 802.11g (fino a 54 Mbps)
Connettore Antenna: RP-SMA rimovibile (Reverse SMA)
Antenna: Antenna Omni-Direzionale (2dBi)
Dimensioni: 93.5 mm x 25.5 mm x 70 mm (antenna esclusa)
Alimentazione: 100-240V ~ 50-60 Hz 0.3A in Ingresso. 5V DC, 2.0A in Uscita
Consumo: 4 Watt
Switch di Reset

È completamente compatibile con dd-wrt.

Perché dd-wrt

DD-WRT è un ottimo software e molto professionale.
È basato su linux e quindi ha molti dei suoi software.

Inoltre, voglio ricordare che attualmente fon sta puntando sulla Fonera 2.0, e che non c'è nessun modo per disiscriversi.

Io però la Fonera l'ho presa da eBay, perciò non m'interessa se la dovrei donare a qualcun'altro.

In più, mi sento di dirvi che in Italia far girare col software originale la Fonera va contro al decreto anti-terrorismo: voi date la possibilità a chiunque (iscritto a fon) di entrare nella vostra rete: per lo Stato Italiano questo favorisce i terroristi.

In aggiunta, rivendete la connessione: anche se siete linus, Fon ci guadagna (vi sfrutta perciò), perciò è una rivendita di connessione: molti provider lo vietano da contratto, e dovete essere ISP (o delegati da un ISP stesso) per farlo: servono delle licenze.

Indirizzi IP della guida

Indirizzo della Fonera tramite wi-fi: 192.168.10.1

Indirizzo tramite Lan: 192.168.1.254
Indirizzo del computer (tramite ethernet): 192.168.1.6

Requisiti

  • Una connessione internet attiva o un server http attivo sul computer

Hardware

  • Una Fonera con porta ssh aperta (vedi sotto)
  • Un computer (che diavolerie!) col wifi se non avete la porta ssh aperta, sennò anche senza.
  • In certi casi può servire (aiutare) uno switch

Software (computer)

  • Indirizzo IP statico
  • Un server http se lavorate disconnessi da internet
  • Un server tftp
  • Telnet
  • ClientSSH
  • Un browser web

Scarichiamo il software necessario

Su GNU Linux, potete installarlo tramite i pacchetti.
Attenzione: sconsiglio di usare Fedora perché utilizza SELinux e ha un firewall, perciò è più difficile fare il lavoro.

Su windows come server Tftp installate: Tftpd32

Su Mac il server tftp c'è già.

Su linux e mac per l'ssh c'è già openssh, mentre su windows consiglio di usare PuTTY.

La porta ssh della Fonera

SSH significa Secure Shell ed è un demone degli ambienti unix per utilizzare la shell di una macchina dalla rete.

È spesso usato in macchine come server o appunto macchine embedded.

Se la tua Fonera ha già ssh abilitato, salta questa sezione.

La Fonera ha un sever SSH che tuttavia non è abilitato di default.

Sul blog di Paolo Gatti trovate una guida per fare il downgrade della Fonera alla versione 0.7.1r1 / 0.7.0r4.

Io utilizzato senza timore il secondo consiglio.

Aprite un editor di file di testo semplici (gnote, kate etc su gnu linux, notepad per windows…) e salvate questo contenuto su un file html (salva con nome → nome file: mio_file.html):

<html>
<head>
</head>
<body>
<center>
<form method="post" action="http://192.168.10.1/cgi-bin/webif/connection.sh " enctype="multipart/form-data">

<input name="username" value="$(/etc/init.d/dropbear)" size="68" >
<input type="submit" name="submit" value="Submit" onClick="{this.form.wifimode.value='";' + this.form.wifimode.value +';"'}" />

</form>
<small>Created by <a href="http://uselesshacks.com/?p=23">Useless Hacks</a></small>
</body>
</html>

Se la Fonera dovesse avere un indirizzo IP sul wireòess diverso da 192.168.10.1, dovete cambiarlo sull'attributo action di form.

Quando questa pagina è pronta, apritela sul browser e cliccate Submit.
È essenziale che questa operazione venga fatta da Wireless perché la fonera rifiuta la connessione tramite LAN.
Ora accedete alla Fonera via ssh.

Su linux e mac o altri sistemi unix aprite il terminale e digitate: ssh root@192.168.10.1

Su windows aprite putty e connettetevi a 192.168.10.1 sulla porta 22.
Ora digitate:

mv /etc/init.d/dropbear /etc/init.d/S50dropbear

Poi aprite l'editor vi su /etc/firewall.user:

vi /etc/firewall.user

decommentate (togliete il #) a queste righe:

iptables -t nat -A prerouting_rule -i $WAN -p tcp –dport 22 -j ACCEPT
iptables -A input_rule -i $WAN -p tcp –dport 22 -j ACCEPT

Se non ci sono dovete aggiungerle voi, cliccando i e poi il tasto incolla dal vostro terminale (o digitarle a manina) e poi cliccate esc.

Mi permetto di consigliare di aggiungere la visione dell'interfaccia grafica dalla lan: cliccate i e inserite

iptables -t nat -A prerouting_rule -i $WAN -p tcp –dport 80 -j ACCEPT
iptables -A input_rule -i $WAN -p tcp –dport 80 -j ACCEPT

Per salvare e uscire dall'editor premere esc, poi digitare:

:wq (invio)

Eccellente. Ora avete la porta ssh aperta. Continuiamo.

Scarichiamo i file necessari

Scarichiamo i file linux.bin dall’area download di dd-wrt per la versione v24 final o
la v24 sp1.

Ora spostiamo questo file nella root del server tftp.

Se usate il server http del vostro computer

Su unix/linux/mac/bsd/qualasi altro sistema operativo che abbia una shell testuale decente:

  1. Aprite la shell
  2. Digitate:
cd /root/del/tuo/server/http
wget http://Fonera.info/camicia/openwrt-ar531x-2.4-vmlinux-CAMICIA.lzma
wget http://Fonera.info/camicia/out.hex
  1. Passate al punto succesivo

Si windows: scarica qui file che sono dopo il comando wget sulla root del tuo server http.

Abilitiamo l'accesso a RedBoot (il bootloader della Fonera)

Scarichiamo il nuovo kernel

Connettetevi tramite ssh alla Fonera (vedi come fare sopra).

Se usate il server http del vostro computer:

cd /tmp
wget http://192.168.1.6/openwrt-ar531x-2.4-vmlinux-CAMICIA.lzma
mtd -e vmlinux.bin.l7 write openwrt-ar531x-2.4-vmlinux-CAMICIA.lzma vmlinux.bin.l7
reboot

Invece, se non usate il server http:

cd /tmp
wget http://Fonera.info/camicia/openwrt-ar531x-2.4-vmlinux-CAMICIA.lzma
mtd -e vmlinux.bin.l7 write openwrt-ar531x-2.4-vmlinux-CAMICIA.lzma vmlinux.bin.l7
reboot

In entrambi i casi, la Fonera si riavvierà, e voi perderete la connessione con questa. Aspettate che sia di nuovo operativa.

Riscriviamo la configurazione di RedBoot

Riconnettetevi tramite ssh alla Fonera.

Se usate il server http del vostro computer:

cd /tmp
wget http://192.168.1.6/out.hex
mtd -e "RedBoot config" write out.hex "RedBoot config"

reboot

Invece, se non usate il server http:

cd /tmp
wget http://Fonera.info/camicia/out.hex
mtd -e "RedBoot config" write out.hex "RedBoot config"

reboot

In entrambi i casi, la Fonera si riavvierà, ma questa volta dovete essere reattivi e accedere subito a RedBoot.
N. B.: il nome RedBoot è case sensitive.

Accedete a RedBoot

Aprite il terminale su tutti i sistemi posix o il prmpt dei comandi su windows (start → esegui → cmd).
Digitate senza cliccare invio:

telnet 192.168.1.254 9000

Come già detto, non cliccate invio.
Staccate la presa dell'alimentazione dalla Fonera.
Ora riconnettetela, ma cliccate invio entro 10 secondi!

Benvenuti in RedBoot

Complimenti, ora siete in RedBoot.

Prima di brickare la fonera, assicuratevi che il server tftp sia in funzione!

Ora digitate:

ip_address -l 192.168.1.254/24 -h 192.168.1.6

Non cambiate il primo indirizzo IP!! Cambiate solo il secondo.

Flashing vero e proprio

Attenzione: questa è una parte delicata.
Digitate:

RedBoot> fis init
About to initialize [format] FLASH image system - continue (y/n)? y
*** Initialize FLASH Image System
... Erase from 0xa87e0000-0xa87f0000: .
... Program from 0x80ff0000-0x81000000 at 0xa87e0000: .
RedBoot> load -r -b 0x80041000 linux.bin
Using default protocol (TFTP)
Raw file loaded 0x80041000-0x80662fff, assumed entry at 0x80041000
RedBoot> fis create linux

L'ultimo comando, può durare tanto! Non perdete assolutamente la pazienza.

La sua risposta dovrebbe essere:

... Erase from 0xa8030000-0xa8652000: ...................................................................................................
... Program from 0x80041000-0x80663000 at 0xa8030000: ...................................................................................................
... Erase from 0xa87e0000-0xa87f0000: .
... Program from 0x80ff0000-0x81000000 at 0xa87e0000: .

Ora digitate:

RedBoot> fconfig
Run script at boot: true
Boot script:
.. fis load -l vmlinux.bin.l7
.. exec
Enter script, terminate with empty line
>> fis load -l linux
>> exec

>>
Boot script timeout (1000ms resolution): 10
Use BOOTP for network configuration: false
Gateway IP address:
Local IP address: 192.168.1.254
Local IP address mask: 255.255.255.0
Default server IP address: <blank>
Console baud rate: 9600
GDB connection port: 9000
Force console for special debug messages: false
Network debug at boot time: false
Update RedBoot non-volatile configuration - continue (y/n)? y
... Erase from 0xa87e0000-0xa87f0000: .
... Program from 0x80ff0000-0x81000000 at 0xa87e0000: .
RedBoot>reset

Fine

Ora il processo dovrebbe essere finito.

La Fonera prenderà da sola l'indirizzo IP 192.168.1.1 perciò se avete un router che ha lo stesso indirizzo, o lo spegnete, o collegate la Fonera direttamente al computer (sempre che non sia già connessa).

Aprite un browser e digitate: 192.168.1.1.

Ora vi si dovrebbe aprire l'interfaccia grafica di dd-wrt.

Se fosse così, complimenti!!

Ora procedete alla configurazione.

Lo username di default è root e la password è admin.

Buon ertimento. Ora però la rete wi-fi, è senza protezione ed è unita alla Lan.

Consiglio il sito ufficiale di dd-wrt per i vari tutorial.

Qualcosa è andato storto

Ricorda, questo sito non ne è responsabile
Se qualcosa fosse andato storto, leggi la guida originale e controlla di aver fatto tutto.

Se ci fossero degli errori nella guida, segnalatemelo.

Altrimenti, cercate su google: Fonera interfaccia seriale e buona fortuna.