OpenWrt RaspPi
Come avviare il device con software OpenWRT
OpenWrt è il firmware interno per dispositivi embedded utilizzato per la gestione del traffico. Nel nostro caso utilizzeremo OpenWRT dentro a un calcolatore domestico, effettuando un test hardware per il Raspberry Pi modello B.
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.
Progetti avviati da noi
- installazione e configurazione di OpenWRT
Specifiche Hardware
Prima di esplorare il sistema OpenWrt, andiamo a conoscere qual'è l'hardware che abbiamo a disposizione nella nostra device:
- CPU: 700 MHz ARM1176JZF-S core (famiglia ARM11)
GPU: Broadcom VideoCore IV,[37] OpenGL ES 2.0, 1080p30 H.264 high-profile decode
- RAM (SDRAM): 512 MB
- Memoria (SD esterna): da 2 GB in su..
- Wireless: NO, ma possibile dongle USB-WIFI
- Porta Ethernet WAN/LAN 10/100
- Porta USB 2.0 per collegare due device esterni
- Output video: Connettore RCA per il video composito, HDMI
- Output audio: 3,5 mm jack, HDMI
- Periferiche di basso livello: 2x13 header pins for GPIO, SPI, I²C, UART, +3,3 Volt, +5 Volt
Manuale d'uso
Il manuale si può scaricare a questo link
Scaricare la versione corretta del firmware
Per installare OpenWrt nel router, la prima cosa da fare è andare a vedere le indicazioni presenti e dedicate per il nostro device, descritte nel sito di OpenWrt. Per trovare la versione corretta per questo device dobbiamo cercare le corrispondenze esatte dell'hardware in uso:
- Questa è la pagina del Firmware per OpenWRT che poi vi rimanderà alla pagina di download del firmware vero e proprio.
- Da questa pagina scaricherete il firmware openwrt-brcm2708-sdcard-vfat-ext4.img.
Installazione OpenWRT
Con questa procedura, andremo ad installare la versione OpenWrt Barrier Breaker 14.07.
Scrittura della SD con l'utilizzo del terminale del PC
Non essendo possibile installare OpenWrt direttamente da un'interfaccia web del device, in quanto non ha un firmware interno che lo permetta, dovremo procedere a scrivere il firmware scaricato direttamente sulla SD che useremo nel Raspberry Pi. Per scrivere il firmware sulla SD, procedere in questo modo:
- inserite la SD nel lettore del vostro PC;
- formattate la SD in formato VFAT;
- da terminale, posizionatevi nella cartella dove avete scaricato precedentemente il firmware;
- con l'utente root, utilizzate il comando dd per copiare il file immagine sulla SD, che avrete già identificato in precedenza (sdb,sdc..):
$ dd if=/home/nome_utente/Scaricati/openwrt-brcm2708-sdcard-vfat-ext4.img of=/dev/sdb bs=2M conv=fsync
Primo accesso via browser
L'accesso all'interfaccia web OpenWRT denominata luci ed è disponibile all'indirizzo http://192.168.1.1 , con user root e SENZA password iniziale.
Connessione e avvio servizio SSH
ATTENZIONE: Solo dopo l'avvenuto inserimento della password di login tramite la procedura via web, il servizio SSH verrà automaticamente abilitato!!
Il router aggiornato, può essere contattato via SSH all'indirizzo 192.168.1.1 . Per testare questa possibilità, aprite un terminale e digitate:
$ ssh root@192.168.1.1
Questa modalità di connessione vi farà conoscere un modo diverso di accedere al vostro device. I Cisco Admin ne sanno qualcosa in merito! :)
Comunicazione via SSH
La connessione via web tra il device e il client genererà automaticamente una chiave SSH al primo login.
Il device inizialmente potrebbe metterci un po di tempo durante la generazione delle chiavi. Nel caso il device vi butti fuori dalla connessione del browser, riprovate a connettervi dopo aver atteso un minuto o due.
Al primo avvio OpenWrt ci metterà un po di tempo prima di rendere disponibile la connessione via web, 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. La configurazione può essere effettuata più facilelmente via web, dato che per la connessione via SSH è necessario aver configurato la password di amministrazione del device.
Se lo fate da terminale, dopo aver editato e salvato questo file, per applicare la nuova configurazione digitate:
$ /etc/init.d/network restart
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 interfacce vengono chiamate loopback, lan and wwan. Le interfacce fisiche associate con queste interfacce logiche sono: eth0, eth1 e wwan. È possibile crearne ed inserirne di ulteriori e diverse, secondo gli scopi e necessità desiderate.
Ripristino del device e ricaricamento 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 device ha 7 vite come i gatti e sarà possibile reinstallare nuovamente il firmware, attraverso la riscrittura della memoria SD, come indicato nel paragrafo precedente.