Flashing
EigenNet e' un firmware per reti comunitarie basato su OpenWrt, per soddisfare le esigenze di tante comunita' viene sviluppato in diversi branch di cui i principali sono:
* master - ramo di sviluppo instabile, attualmente usa batman-adv per la costruzione della rete mesh a layer 2.
* pisa - branch adatto alle esigenze della comunita' di Pisa, e' basato su commit stabili di master.
* roma - ramo sviluppato da arkanet per la comunita' di Roma basato su master ma usa OLSRd per il routing a layer 3.
Compilare il firmware
Il codice è disponibile su gitorious.org, un sito di hosting per progetti opensource. Per ottenerlo si deve usare git.
WARNING: Questa guida è stata testata solo su antenne Ubiquiti e con sistemi operativi Linux. I comandi usati vengono digitati in un emulatore di terminale,tipicamente si trova in Menu->Accessori->Terminale
Ottenere il codice
Scegliere la release di OpenWrt da usare, raccomandiamo di usare Attitude Adjustement (12,04).
Vengono descritti i passi anche per antenne che usano driver madwifi anche se si tratta di antenne abbastanza vecchie e le antenne acquistate recentemente (circa dopo il 2012) avranno quasi di sicuro una scheda wireless che usa ath9k.
- Scaricare il sorgente di OpenWrt seguendo [le istruzioni su questa pagina]
Configurazione
- Aggiungere il feed dei sorgenti di eigenNet ( sostituire "CartellaOpenWRT" e "NomeBranch" con i nomi veri ). Questo serve per avere i pacchetti sviluppati appositamente per la rete.
''Dopo aver digitato git clone.....'' cd CartellaOpenWRT cp feeds.conf.default feeds.conf echo 'src-git zzzeigennet git://gitorious.org/eigennet/packages.git;NomeBranch' >> feeds.conf scripts/feeds update -a scripts/feeds install -a
- Scegliere le proprie impostazioni di compilazione (i pacchetti di eigenNet si trovano sotto il menu' "Administration" )
make menuconfig
Questo comando aprirà un'interfaccia semi-grafica che permette di configurare l'immagine per l'antenna. La selezione è fatta usando lo spazio (nei campi dove possibile (M) indica la compilazione come modulo, ciò comporta che il componente è dinamicamente caricato all'occorrenza mentre (*)Indica che il componente è sempre disponibile.
- Per prima cosa bisogna scegliere l'architettura:
Per farlo bisogna entrare nella prima voce di menu
se non siete sicuri dell'architettura ed avete comprato l'antenna da entro il 2012 potete tranquillamente selezionare
(X) Atheros AR7xxx/AR9xxx
Altrimenti per antenne più anziane selezionate
(X) Atheros AR231x/AR5312
- Nella sezione eigennet si possono scegliere diversi tool, sia grafici che WebUI (interfaccia web) per la gestione della rete, dai test di banda ai puntamenti.
Location: -> Administration --> eigennet
Qui avrete diverse scelte con le relative descrizioni:
<*> eigennet-autoconf.................................... Auto Config Package --- eigennet-bwtest............................... Bandwidth Measurement Tool <*> eigennet-bwtest-webui........... Bandwidth Measurement Tool Web Interface < > eigennet-firewall....................................... Layer 2 Firewall < > eigennet-gw4server.................................. IPv4 Gateway Checker < > eigennet-httpinfo.......................... Export info via HTTP protocol < > eigennet-pointing................................. Antenna Pointing Tools < > eigennet-pointing-webui............. Antenna pointing tools Web Interface <*> eigennet-reghack.............................. Regulatory domain unlocker
Se una voce è segnata con --- vuol dire che è stata selezionata da un'altro pacchetto, in questo caso bwtest-webui necessita di bwtest che viene automaticamente selezionato. Il pacchetto fondamentale è eigennet-autoconf che farà la magia di configurare l'antenna. Il resto è opzionale e dipende dal caso specifico
- Per avere i test di banda si deve abilitare nella sezione
->Base System -->Bysybox --->Networking Utilities ---->nc ----->[*] Netcat server options (-l)
Che serve per avere la flag -l (listen) su netcat
- Per prima cosa bisogna scegliere l'architettura:
Per farlo bisogna entrare nella prima voce di menu
se non siete sicuri dell'architettura ed avete comprato l'antenna da entro il 2012 potete tranquillamente selezionare
-
Per sicurezza controllare che in
Location: -> Kernel modules -> Network Support --- kmod-batman-adv......................................... B.A.T.M.A.N. Adv [ ] enable verbose debug logging [*] enable bridge loop avoidance [*] enable distributed arp table [*] enable network coding [requires promisc mode support] [*] enable batctl
Le voci siano selezionate come da esempio.
- Una volta finito di configurare bisogna uscire premendo il tasto <Esc> fino a risalire tutti i menu ed arrivare al dialogo
Do you wish to save your new OpenWrt configuration?
- Salvare
Compilare
Per compilare il firmware si può passare al comando
make
Anche l'opzione -j <numero di core fisici +1> per parallelizzare la compilazione e velocizzarla.
Flashing
Prendere l'immagine che ci serve dentro la cartella bin
cd CartellaOpenWRT/bin/
- In caso di driver ath9k
cd ar71xx
- In caso di driver madwifi
cd atheros
L'immagine da usare dipende dal modello dell'antenna, tipicamente sarà un'antenna di Ubiquiti, [qui] la tabella delle antenne coi relativi articoli, in ogni articolo è scritta l'immagine da usare. NON usare l'immagine con la dicitura jffs2 a meno che non sappiate cosa state facendo.
Nel caso di primo flashing allora bisognerà usare l'immagine con la dicitura factory altrimenti andrà scelta quella con la dicitura sysupgrade.
A seconda del metodo scelto per il flashing si dovrà procedere in diversi modi:
Metodo WebUI (solo per factory)
Metodo TFTP (Sia factory che sysupgrade)
Per il sysupgrade è meglio usare Flashing#Metodo_SSH Questo metodo consiste nell'inserire nell'antenna messa in una modalità particolare l'immagine del firmware e lasciare che l'antenna si scriva da sola.
Praparazione
- Prendere l'antenna e collegare il POE (il parallelepipedo nero che si attacca alla corrente) alla corrente, collegare il cavo ethernet al computer ed inserirlo nella porta con scritto LAN del POE.
- Inserire il cavo ethernet nell'antenna ma NO==== Metodo WebUI (solo per factory) ====N nel POE
- Accanto alla porta ethernet sull'antenna c'è un piccolo foro con un pulsantino non visibile dall'esterno, con l'aiuto di una graffetta premere il pulsantino.
- Tenendo premuto il pulsantino connettere il cavo ethernet dell'antenna alla porta POE e aspettare, dopo pochi secondi l'antenna inizierà ad emettere una sequenza di luci che si riperterà. Adesso l'antenna è in Recovery Mode
- L'antenna adesso risponde all'IP 192.168.1.21
Pposizionatevi nella cartella che contiene l'immagine e (se la avete scaricata da blacksmith.eigenlab.org) controllate che l'md5sum sia uguale a quello riportato nel file md5sums nella cartella bin con il comando
cat md5sums | grep $(md5sum <nome del file immagine> |cut -d' ' -f1)
L'md5sum è una stringa che identifica inequivocabilmente un file, è ricavata da esso attraverso il calcolo dell' hash. Se il comando da come output per esempio
blacksmith@efesto bin/ar71xx $ cat md5sums | grep $(md5sum openwrt-ar71xx-generic-ubnt-nano-m-squashfs-sysupgrade.bin|cut -d' ' -f1) d87a2d913951baed3709022d5575242a *openwrt-ar71xx-generic-ubnt-nano-m-squashfs-sysupgrade.bin
Allora il file è corretto e potete procedere altrimenti riscaricatelo. In un terminale digitate:
tftp 192.168.1.21 verbose binary put <nome dell' immagine>
Attendere che l'antenna si riavvii 3-4 volte. Quando l'antenna smetterà di riavviarsi e i led non cambieranno in continuazione avrete finito.
Per avere l'ipv6 locale e poter entrare in ssh nella vostra antenna digitate:
ping6 ff02::1%<nome dell'interfaccia di rete>
Escludete il vostro ipv6 link locale, se non lo conoscete digitate
ip -6 a s <nome dell'interfaccia di rete>
E guardate quello che comincia con fe80::
Per esempio
blacksmith@efesto bin/ar71xx $ ip -6 a s eth0 eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qlen 1000 inet6 2a00:1508:1:f010::3350/64 scope global valid_lft forever preferred_lft forever inet6 fe80::49ff:fef8:2148/64 scope link
Quello scritto in grassetto è il vostro ipv6 locale.
Per sicurezza controllate che il MAC address dell'antenna e l'ipv6 dell'antenna abbiamo alcune ultime cifre in comune. Segnate da una parte l'ipv6 dell'antenna.