Vai al contenuto

Flashing

Da EigenWiki.
Versione del 3 feb 2014 alle 09:34 di Svalo (discussione | contributi) (Aggiunta metodo tftp e base del 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.

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 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.

Metodo SSH