Top

OpenWrt: connettere il router ad Internet via wifi

OpenWrt è uno dei firmware per modem/router più conosciuti ed utilizzati, supporta un gran numero di dispositivi e ne permette di sfruttarne appieno le potenzialità.

In realtà, se vogliamo essere precisi, OpenWrt non è altro che una distribuzione Linux e come tale permette innumerevoli personalizzazioni, comprese l’ installazione e la gestione di nuovi pacchetti.

Esistono diverse versioni di questo fantastico firmware, alcune sono stabili mentre altre instabili (stable e unstable). Nel momento in cui scrivo le ultime versioni stabili sono Barrier Breaker 14.07 e Attitude Adjustment 12.09 (con Chaos Calmer 15.05 che sta per essere rilasciato).

Una differenza sostanziale tra le stable e le unstable è la completa assenza nelle versioni trunk (o Bleeding Edge, instabili) di un’ interfaccia grafica per la comoda gestione del dispositivo dal browser (visitando l’indirizzo 192.168.1.1 otteniamo “connection refused”). Per ovviare a questo inconveniente dobbiamo installare manualmente LuCI, il pacchetto che si occupa della parte grafica, ma per farlo il router ha bisogno di essere connesso ad Internet (per effettuare alcuni download).

Nessun problema se possiamo collegarci via Ethernet al modem di casa, inseriamo il cavo e tutto dovrebbe funzionare (personalmente non ho provato). I problemi sorgono se vogliamo far connettere il router via wifi perché, per un motivo o per un altro, non abbiamo la disponibilità di una connessione cablata tra router e modem principale (naturalmente, in ogni caso, il computer deve essere connesso via Ethernet al router con OpenWrt).

Quello che dobbiamo fare è modificare alcuni file del firmware impostando noi stessi, manualmente, la connessione e attivando il wifi.

Premesse: il dispositivo che utilizzerò nella guida è un Huawei HG553 (per gli amici Vodafone Station 1) su cui è stata appena effettuata una nuova installazione dell’ultima versione trunk di OpenWrt.

Come detto in precedenza, se dal nostro browser cerchiamo di aprire l’indirizzo del router (in genere 192.168.1.1, ma potrebbe essere diverso) dovremmo ottenere qualcosa di simile:

Connection Refused

La connessione ci è stata rifiutata perché non è il modo giusto di stabilirla: dobbiamo utilizzare telnet o ssh.

Se state utilizzando come SO Windows provvedete ad attivare/installare questi due sistemi, per Mac o Linux semplicemente aprite il terminale.

Per prima cosa digitiamo telnet 192.168.1.1, dovreste entrare senza problemi.

Telnet lo utilizzeremo soltanto per assegnare una password all’utente root (in modo da poterci collegare in seguito via ssh), per farlo diamo passwd e dopo digitiamo (e ridigitiamo) la password. A questo punto possiamo chiudere Telnet con il comando exit.

Passiamo a ssh con il comando (senza spazio prima e dopo la @):

[shell]ssh root @ 192.168.1.1[/shell]

dovrebbe comparire un messaggio simile al seguente:

[shell]The authenticity of host ‘192.168.1.1 (192.168.1.1)’ can’t be established.
RSA key fingerprint is xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx.
Are you sure you want to continue connecting (yes/no)? [/shell]

Scriviamo yes e diamo l’invio. Adesso ci verrà chiesta la password e dopodiché avremo effettuato l’accesso.

Per stabilire una connessione wifi vanno modificati i file /etc/config/wireless e /etc/config/network. Si renderà necessario l’utilizzo dell’editor testuale vi (breve guida).

Iniziamo da /etc/config/wireless, per visualizzarlo diamo vi /etc/config/wireless, il risultato dovrebbe essere qualcosa come:

[shell]
config wifi-device radio0
option type mac80211
option channel 11
option hwmode 11g
option path ‘pci0000:00/0000:00:01.0/ssb0:0’
option htmode
# REMOVE THIS LINE TO ENABLE WIFI:
option disabled 1

config wifi-iface
option device radio0
option network lan
option mode ap
option ssid OpenWrt
option encryption none
[/shell]

modifichiamo il tutto in (le linee da cambiare sono contrassegnate da #)

[shell]
config wifi-device radio0
option type mac80211
option channel ‘canale della rete wifi di casa’ #
option hwmode 11g
option path ‘pci0000:00/0000:00:01.0/ssb0:0’
option htmode
# REMOVE THIS LINE TO ENABLE WIFI:
option disabled ‘0’ #

config wifi-iface
option device radio0
option network ‘wwan’ #
option mode ‘sta’ #
option ssid ‘SSID della rete wifi di casa’ #
option encryption ‘none’ #lasciate none se è senza password o sostituite con wep, psk o psk2 se utilizza rispettivamente WEP, WPA o WPA2
option key ‘password della rete’ #non aggiungete questa riga se avete lasciato none sopra
[/shell]

Dovremmo ottenere qualcosa come:

[shell]
config wifi-device radio0
option type mac80211
option channel ‘6’
option hwmode 11g
option path ‘pci0000:00/0000:00:01.0/ssb0:0’
option htmode
# REMOVE THIS LINE TO ENABLE WIFI:
option disabled ‘0’

config wifi-iface
option device radio0
option network ‘wwan’
option mode ‘sta’
option ssid ‘TISCALI’
option encryption none
[/shell]

Perfetto, salviamo e passiamo a /etc/config/network:

[shell]vi /etc/config/network[/shell]

scendiamo a fine file e aggiungiamo:

[shell]
config ‘interface’ ‘wwan’
option ‘proto’ ‘dhcp’
[/shell]

Abbiamo quasi finito: ora dobbiamo soltanto accendere il wifi del router e installare LuCI:

[shell]
wifi
opkg update
opkg install luci
[/shell]

Visitando nuovamente 192.168.1.1 dovrebbe magicamente comparire il login per l’amministrazione di OpenWrt (l’utente è root mentre la password è quella che avete impostato in precedenza).

LuCI

Powered by WordPress. Designed by WooThemes