Flashing: differenze tra le versioni
(Aggiunta nota sui nodi) |
Nessun oggetto della modifica |
||
Riga 1: | Riga 1: | ||
EigenNet e' un firmware per reti comunitarie basato su OpenWrt, per soddisfare le esigenze di tante | EigenNet e' un firmware per reti comunitarie basato su OpenWrt, per soddisfare le esigenze di tante comunità, 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. | * master - ramo di sviluppo instabile, attualmente usa batman-adv per la costruzione della rete mesh a layer 2. | ||
Riga 18: | Riga 18: | ||
Scegliere la release di OpenWrt da usare, raccomandiamo di usare Attitude Adjustement (12,04). | 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. | 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 [[https://dev.openwrt.org/wiki/GetSource le istruzioni su questa pagina]] | * Scaricare il sorgente di OpenWrt seguendo [[https://dev.openwrt.org/wiki/GetSource le istruzioni su questa pagina]] | ||
Riga 65: | Riga 65: | ||
<*> eigennet-reghack.............................. Regulatory domain unlocker | <*> eigennet-reghack.............................. Regulatory domain unlocker | ||
</pre> | </pre> | ||
Se una voce è segnata con --- vuol dire che è stata selezionata da un | 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 pacchetto fondamentale è ''eigennet-autoconf'' che farà la magia di configurare l'antenna. | ||
Il resto è opzionale e dipende dal caso specifico | Il resto è opzionale e dipende dal caso specifico | ||
Riga 110: | Riga 110: | ||
Per evitare di brikkare l'antenna (ovvero renderla un mattone buono solo per i muretti) bisogna verificare che le immagini siano state ottenute correttamente. Questo è utile sopratutto quando si scaricano via web. | Per evitare di brikkare l'antenna (ovvero renderla un mattone buono solo per i muretti) bisogna verificare che le immagini siano state ottenute correttamente. Questo è utile sopratutto quando si scaricano via web. | ||
Per controllare l'integrità delle immagini si usa l'md5sum che è una stringa che identifica inequivocabilmente un file, è ricavata da esso attraverso il calcolo dell' hash. | Per controllare l'integrità delle immagini si usa l'md5sum, che è una stringa che identifica inequivocabilmente un file, è ricavata da esso attraverso il calcolo dell' hash. | ||
Posizionatevi nella cartella delle immagini e date il seguente comando | Posizionatevi nella cartella delle immagini e date il seguente comando | ||
cat md5sums | grep $(md5sum <nome del file immagine> |cut -d' ' -f1) | cat md5sums | grep $(md5sum <nome del file immagine> |cut -d' ' -f1) | ||
Riga 116: | Riga 116: | ||
blacksmith@efesto bin/ar71xx $ cat md5sums | grep $(md5sum openwrt-ar71xx-generic-ubnt-nano-m-squashfs-sysupgrade.bin|cut -d' ' -f1) | 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 | d87a2d913951baed3709022d5575242a *openwrt-ar71xx-generic-ubnt-nano-m-squashfs-sysupgrade.bin | ||
Allora il file è corretto e potete procedere altrimenti riscaricatelo. | Allora il file è corretto e potete procedere; altrimenti riscaricatelo. | ||
=== Flashing === | === Flashing === | ||
Prendere l'immagine che ci serve dentro la cartella bin | Prendere l'immagine che ci serve dentro la cartella bin | ||
Riga 126: | Riga 126: | ||
L'immagine da usare dipende dal modello dell'antenna, tipicamente sarà un'antenna di Ubiquiti, [[http://wiki.openwrt.org/toh/start#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. | L'immagine da usare dipende dal modello dell'antenna, tipicamente sarà un'antenna di Ubiquiti, [[http://wiki.openwrt.org/toh/start#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 | Nel caso di primo flashing, 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: | A seconda del metodo scelto per il flashing si dovrà procedere in diversi modi: | ||
Riga 143: | Riga 143: | ||
==== Metodo TFTP ==== | ==== Metodo TFTP ==== | ||
Per il sysupgrade è meglio usare [[Flashing#Metodo_SSH]] | 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. | 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 | 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. | *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 | *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 | *Accanto alla porta ethernet sull'antenna c'è un piccolo foro con un pulsantino non visibile dall'esterno, con l'aiuto di una graffetta premetelo. | ||
*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 | *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 | *L'antenna adesso risponde all'IP 192.168.1.21 | ||
*Posizionatevi nella cartella che contiene l'immagine e controllate l'md5sum | *Posizionatevi nella cartella che contiene l'immagine e controllate l'md5sum | ||
Riga 158: | Riga 158: | ||
put <nome dell' immagine> | put <nome dell' immagine> | ||
Attendere che l'antenna si riavvii 3-4 volte. | Attendere che l'antenna si riavvii 3-4 volte. | ||
Quando l'antenna smetterà di riavviarsi e i led non cambieranno in continuazione avrete finito. | Quando l'antenna smetterà di riavviarsi e i led non cambieranno in continuazione, avrete finito. | ||
==== Metodo SSH ==== | ==== Metodo SSH ==== | ||
Riga 172: | Riga 172: | ||
*Dare il comando | *Dare il comando | ||
sysupgrade /tmp/<nome immagine> | sysupgrade /tmp/<nome immagine> | ||
Solitamente bisogna passare anche il parametro -n in modo che non salvi le configurazioni precedenti. | Solitamente bisogna passare anche il parametro -n, in modo che non salvi le configurazioni precedenti. | ||
=== Ottenere l'ipv6 locale dell'antenna === | === Ottenere l'ipv6 locale dell'antenna === | ||
Per avere l'ipv6 locale e poter entrare in ssh nella vostra antenna digitate: | Per avere l'ipv6 locale e poter entrare in ssh nella vostra antenna digitate: |
Versione delle 17:26, 23 feb 2014
EigenNet e' un firmware per reti comunitarie basato su OpenWrt, per soddisfare le esigenze di tante comunità, 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
WARNING: Per avere una conoscenza di base dei termini usati si rimanda alle pagine Glossario e HowToRete
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.
Validazione dell'immagine
Per evitare di brikkare l'antenna (ovvero renderla un mattone buono solo per i muretti) bisogna verificare che le immagini siano state ottenute correttamente. Questo è utile sopratutto quando si scaricano via web.
Per controllare l'integrità delle immagini si usa l'md5sum, che è una stringa che identifica inequivocabilmente un file, è ricavata da esso attraverso il calcolo dell' hash. Posizionatevi nella cartella delle immagini e date il seguente comando
cat md5sums | grep $(md5sum <nome del file immagine> |cut -d' ' -f1)
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.
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, 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
Le antenne Ubiquiti hanno installato airOs, un firmware proprietario di Ubiquiti che recentemente ha reso più difficile la personalizzazione dello stesso. Da sempre usiamo OpenWRT per le nostre immagini essendo un progetto OpenSource
Vediamo come usare l'interfaccia web per installare OpenWRT:
- Collegare l'antenna al POE inserendo il cavo ethernet nella porta POE
- Collegare il POE al computer usando un cavo ethernet inserendolo nella porta LAN
- Attaccare il cavo della corrente
- Aprire un browser all'indirizzo 192.168.1.21 autenticarsi con il login di default scritto sulla scatola, dovrebbero essere
user: ubnt password: ubnt
- Nella tab System sezione Device Maintenance premere su Update e caricare l'immagine del firmware factory dopo aver verificato l'md5sum
- Attendere il riavvio
Metodo TFTP
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 premetelo.
- 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
- Posizionatevi nella cartella che contiene l'immagine e controllate l'md5sum
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.
Metodo SSH
Solo per sysupgrade PREREQUISITI: Essere in possesso della chiave dei nodi, chiedi ad eigenLab come.
- Aprire un terminale
- Entrare nella cartella delle immagini
- Validare l'immagine
- Caricare l'immagine sull'antenna con scp
scp <immagine validata> root@[<ipv6 locale dell'antenna>%<interfaccia di rete>]:/tmp
- Entrare nell'antenna con
ssh root@<ipv6 locale dell'antenna>%<interfaccia di rete>
- Dare il comando
sysupgrade /tmp/<nome immagine>
Solitamente bisogna passare anche il parametro -n, in modo che non salvi le configurazioni precedenti.
Ottenere l'ipv6 locale dell'antenna
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 usarlo dovete usare la forma <ipv6 link local>%<interfaccia di rete>
fe80::49ff:fef8:2148%eth0
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.