Versione 10 del 2013-04-29 08:44:45

Nascondi questo messaggio
Italiano English
Modifica History Actions

FirmwareScooreggione

Scooreggione !

Questo firmware è basato su piccole modifiche a OpenWRT Attitude Adjustment I sorgenti qui: https://github.com/ninuxorg/attitude_adjustment/

Aggiornare da un precedente AirOS o Sburratone

0) Entrare in SSH sul device

1) Fai un backup di tutte le tue config in  /etc/persistent  magari ti serve per il futuro. Segnati il canale configuarato e la potenza usata.

2) Mettersi nella cartella tmp

 cd /tmp/ 

3) Scaricare il firmware con il comando wget

 wget http://URLFIRMWARE -O /tmp/fwupdate.bin 

dove URL FIRMWARE è una di queste a seconda del device che devi flashare: http://stud.netgroup.uniroma2.it/~saverio/scooreggione-AA-v2/ dovete scegliere l'immagine con la dicitura factory nel nome.

4) Controllare l'MD5 per vedere il firmware è valido o corrotto

 md5sum /tmp/fwupdate.bin 

deve venire il risultato giusto che trovi in questo file:

http://stud.netgroup.uniroma2.it/~saverio/scooreggione-AA-v2/md5sums

5) Se il risultato MD5 è corretto lanciare il seguente comando per aggiornare:

 /sbin/ubntbox fwupdate.real -m /tmp/fwupdate.bin -d

6) Dopo il reboot il device ha sulla LAN indirizzo IP 192.168.1.1, puoi entrare in SSH con utente root password root. La radio di default è spenta.

Aggiornamento da una versione precedente di Scooreggione o OpenWRT

Potete usare l'immagine con scritto nel nome sysupgrade ed usare il tool sysupgrade di OpenWRT http://wiki.openwrt.org/doc/howto/generic.sysupgrade

La configurazione viene mantenuta con l'upgrade, ma alcuni servizi vengono disabilitati:

* DHCP server * nodogsplash * Polipo * qos

Dopo il sysupgrade fate ripartire i servizi che vi servono, esempio:

/etc/init.d/dhcp start
/etc/init.d/dhcp enable

Importante nota sul flash di Scooreggione

Dopo il flash (sia da AirOS sia via sysupgrade) uno script di tipo uci-default che viene lanciato solo al primo boot sistema i drivers wireless per usare il corretto country code per il nostro paese.

appena flashato se fate iw list | grep MHz vedrete una lista di canali possibili, che potrebbe essere incompleta

prima di fare il primo reboot date al device il tempo di fare il boot completamente (circa 1 minuto), basta vede col comando ps che non ci siamo script di boot ancora in esecuzione, oppure con il comando uptime assicuratevi che il sistema sia up da almeno 2 minuti.

dopo il primo reboot se ripetete il comando iw list | grep MHz vedrete che adesso i corretti canali sono utilizzabili sul firmware scooreggione

Comandi utili

Per vedere se avete station associate al vostro AP, o se siete station e volete capire se vi siete associati, scrivete:

iw wlan0 station dump

se volete vederlo aggiornato ogni 2 secondi (ad esempio per fare un puntamento:

watch iw wlan0 station dump

se cambiate una config in /etc/config/wireless basta dare il comando wifi per applicare la nuova config

E' bene leggere questa documentazione: http://wiki.openwrt.org/doc/uci/wireless

Policy Routing

Questo firmware si fa uso di policy routing. Al boot OLSR viene configurato automaticamente per usare queste tabelle

RtTable 111
RtTableDefault 112

E dentro il tuo /etc/rc.local ha questi comandi:

#110 Local routes
#111 RtTable
#112 RtTableDefault
#113 Special Table for /1
#114 blackholes table

#Copy local routes only from table main 254 to table 110
ip route show table 254 | grep -Ev ^default | grep -Ev ^blackhole | while read ROUTE ; do
MASK=`echo "${ROUTE}" | awk '{print $1}' | awk -F/ '{print $2}'`
if [ "$MASK" -ne 16 ] ; then
ip route add table 110 $ROUTE
fi
done

#First evaluate local routes
ip rule add from all lookup 110 pref 3

#Private routes to OLSR table
ip rule add to 10.0.0.0/8 table 111 pref 4
ip rule add to 172.16.0.0/12 table 111 pref 4
ip rule add to 192.168.0.0/16 table 111 pref 4

#Ninux IP Addresses to OLSR table
ip rule add to 176.62.53.0/24 table 111 pref 4

#Evaluate blackholes
ip rule add from all table 114 pref 5

#Send traffic of public addresses to BGP border routers
ip rule add from 176.62.53.0/24 table 113 pref 6

#Lookup default route first from user and then from OLSR
ip rule add from all lookup 254 pref 7
ip rule add from all lookup 112 pref 8

#Blackhole private aggregates
ip route add blackhole 10.0.0.0/8 table 114
ip route add blackhole 172.16.0.0/12 table 114
ip route add blackhole 192.168.0.0/16 table 114

#Blackhole Ninux aggregate
ip route add blackhole 176.62.53.0/24 table 114

exit 0

Per vedere la tabella di routing imparata via OLSR usa il comando

ip route show table 111

o in breve

ip r s t 111

per vedere la default imparata via OLSR è uguale ma la tabella è la 112

Esempio di configurazione come AP

TODO: fare IPv6

root@OpenWRT:~# cat /etc/config/network 

config interface 'loopback'
        option ifname 'lo'
        option proto 'static'
        option ipaddr '127.0.0.1'
        option netmask '255.0.0.0'

config interface 'lan'
        option ifname 'eth0'
        option proto 'static'
        option ipaddr '10.CAP.0.x'
        option netmask '255.255.255.0'
        option dns '8.8.8.8'

config interface backbone
        option ifname 'wlan0'
        option proto 'static'
        option ipaddr '172.16.CAP.x'
        option netmask '255.255.0.0'
        option dns '8.8.8.8'

config interface 'wan'
        option ifname 'eth1'
        option proto 'none'

root@OpenWRT:~# cat /etc/config/wireless 

config wifi-device 'radio0'
        option type 'mac80211'
        option channel '100'
        option distance '1000'  ###distanza link in metri
        option hwmode '11na'
        option macaddr '00:15:6d:8c:93:86'
        list ht_capab 'SHORT-GI-40'
        list ht_capab 'TX-STBC1'
        list ht_capab 'RX-STBC1'
        list ht_capab 'DSSS_CCK-40'
        option htmode 'HT40+'  ###Canale a 40 Mhz
        option noscan '1'

config wifi-iface
        option device 'radio0'
        option network 'backbone'
        option mode 'ap'
        option isolate '1'
        option ssid 'ninux.org'
        option encryption 'none'

Esempio Configurazione come STA

root@OpenWRT:~# cat /etc/config/network

config interface 'loopback'
        option ifname 'lo'
        option proto 'static'
        option ipaddr '127.0.0.1'
        option netmask '255.0.0.0'

config interface 'lan'
        option ifname 'eth0'
        option proto 'static'
        option ipaddr '10.CAP.x.y'
        option ip6addr '2001:4c00:893b:CAP::xxxx/64'
        option netmask '255.255.255.0'
        option dns '8.8.8.8'

config interface 'backbone'
        option ifname 'wlan0'
        option proto 'static'
        option ipaddr '172.16.CAP.x'
        option netmask '255.255.0.0'
        option ip6addr '2001:4c00:893b:1:CAP::x/128'

config interface 'wan'
        option ifname 'eth1'
        option proto 'none'

root@OpenWRT:~# cat /etc/config/wireless

config wifi-device 'radio0'
        option type 'mac80211'
        option hwmode '11na'
        option distance '1000'     ###Distanza in metri per ACK timeout,
        option macaddr '00:27:22:38:d0:f1' ###Non cambiare, è il mac della tua antenna
        list ht_capab 'SHORT-GI-40'
        list ht_capab 'TX-STBC'
        list ht_capab 'RX-STBC1'
        list ht_capab 'DSSS_CCK-40'
        option htmode 'HT40+'  ###Setta il canale a 40Mhz
        option noscan '1'

config wifi-iface
        option device 'radio0'
        option network 'backbone'
        option mode 'sta'  #STATION, non specificare channel
        option ssid 'ninux.org'
        option bssid 'aa:bb:cc:ee:ff' ###LOCK to this AP
        option encryption 'none'

root@OpenWRT:~#

Features di Scoorreggione

  • Based on OpenWRT AA
  • tinc to 1.0.21
  • Implementing Routing operation inside the OLSR router as described in the Ninux Architecture

6olsr e 4olsr

Stampano il contenuto del txtinfo plugin di olsr

li potete usare anche con argomenti, esempio:

4olsr links
6olsr hna

Compilare

git clone git@github.com:ninuxorg/attitude_adjustment.git
cd attitude_adjustment
git checkout scooreggione
 ./scripts/feeds update && ./scripts/feeds install -a
git checkout .config
make