Mesh con 802.11s e OpenWrt: differenze tra le versioni

Da EigenWiki.
Vai alla navigazione Vai alla ricerca
(Prima versione)
 
(Aggiunto esempio di configurazione interfaccia)
 
(3 versioni intermedie di uno stesso utente non sono mostrate)
Riga 14: Riga 14:
Ad esempio, per assemblare un'immagine per una Ubiquity Nanostation M5 (XM), rimuovendo tutti i pacchetti non necessari (<code>ppp, odhcpd, dnsmasq, firewall4</code>), sostituendo altri con quelli in grado di supportare 802.11s (<code>wpad-mesh-openssl, mesh11sd</code>), ed aggiungendo alcuni pacchetti utili per configurare il dispositivo e migliorarne le prestazioni (<code>shadow, zram-swap</code>) è possibile usare il comando:
Ad esempio, per assemblare un'immagine per una Ubiquity Nanostation M5 (XM), rimuovendo tutti i pacchetti non necessari (<code>ppp, odhcpd, dnsmasq, firewall4</code>), sostituendo altri con quelli in grado di supportare 802.11s (<code>wpad-mesh-openssl, mesh11sd</code>), ed aggiungendo alcuni pacchetti utili per configurare il dispositivo e migliorarne le prestazioni (<code>shadow, zram-swap</code>) è possibile usare il comando:


<code>
  make image PROFILE=ubnt_nanostation-m \
  make image PROFILE=ubnt_nanostation-m \
     PACKAGES="-ppp -ppp-mod-pppoe -odhcpd -odhcp6c odhcpd-ipv6only -firewall4 \
     PACKAGES="-ppp -ppp-mod-pppoe -odhcpd -odhcp6c odhcpd-ipv6only -firewall4 \
         -wpad-basic-wolfssl -dnsmasq wpad-mesh-wolfssl mesh11sd sudo shadow zram-swap" \
         -wpad-basic-wolfssl -dnsmasq wpad-mesh-wolfssl mesh11sd sudo shadow zram-swap" \
     FILES="files"
     FILES="files"
</code>
 
dove <code>files</code> è la directory contenente file aggiuntivi da aggiungere all'immagine.
 
Fatto ciò è necessario configurare l'interfaccia wireless, ad esempio ponendo un file in <code>/etc/uci-defaults</code>, dove verrà eseguito al primo avvio. Un esempio di file di tale tipo può essere il seguente:
 
uci set wireless.radio0.channel='36'
uci set wireless.radio0.htmode='HT40'
uci set wireless.radio0.disabled='0'
uci set wireless.default_radio0.disabled='1'
iface=$(uci add wireless wifi-iface)
uci -q batch << EOI
set wireless.$iface.network='mesh'
set wireless.$iface.device='radio0'
set wireless.$iface.mode='mesh'
set wireless.$iface.ifname='mesh0'
set wireless.$iface.network='lan'
set wireless.$iface.mesh_id='nome-della-rete-mesh'
set wireless.$iface.encryption='sae'
set wireless.$iface.key='password-della-rete-mesh'
EOI
uci commit wireless
/etc/init.d/wireless restart
/etc/init.d/mesh11sd restart
 
Il file di configurazione di <code>mesh11sd</code> si trova in <code>/etc/config/mesh11sd</code>, e la versione distribuita con OpenWrt è già sufficiente a far funzionare il collegamento.


Un'implementazione "quick and dirty" si può trovare sulla repo https://git.eigenlab.org/Juma7C9/openwrt-meshed
Un'implementazione "quick and dirty" si può trovare sulla repo https://git.eigenlab.org/Juma7C9/openwrt-meshed

Versione attuale delle 16:51, 5 apr 2023

Informazioni generali

Data una versione sufficientemente recente di OpenWrt è possibile creare una rete mesh usando direttamente lo standard IEEE 802.11s. Le principali informazioni sono ottenibili direttamente dalla relativa pagina di OpenWrt.

Preparazione firmware

Ciò che rimane da fare è configurare un'immagine di OpenWrt con i giusti pacchetti, o meglio, preparare un'immagine già pronta all'uso.

Per fare ciò, è possibile usare ImageBuilder, che consente di assemblare un'immagine a partire dai pacchetti precompilati dai repo di OpenWrt, senza perciò dover compilare da capo l'immagine e la relativa toolchain.

Come documentato in dettaglio nella relativa pagina, è necessario scaricare e scompattare l'immagine imagebuilder della stessa architettura e versione del proprio device, ed invocare il comando make con gli opportuni argomenti.

Ad esempio, per assemblare un'immagine per una Ubiquity Nanostation M5 (XM), rimuovendo tutti i pacchetti non necessari (ppp, odhcpd, dnsmasq, firewall4), sostituendo altri con quelli in grado di supportare 802.11s (wpad-mesh-openssl, mesh11sd), ed aggiungendo alcuni pacchetti utili per configurare il dispositivo e migliorarne le prestazioni (shadow, zram-swap) è possibile usare il comando:

make image PROFILE=ubnt_nanostation-m \
   PACKAGES="-ppp -ppp-mod-pppoe -odhcpd -odhcp6c odhcpd-ipv6only -firewall4 \
        -wpad-basic-wolfssl -dnsmasq wpad-mesh-wolfssl mesh11sd sudo shadow zram-swap" \
   FILES="files"

dove files è la directory contenente file aggiuntivi da aggiungere all'immagine.

Fatto ciò è necessario configurare l'interfaccia wireless, ad esempio ponendo un file in /etc/uci-defaults, dove verrà eseguito al primo avvio. Un esempio di file di tale tipo può essere il seguente:

uci set wireless.radio0.channel='36'
uci set wireless.radio0.htmode='HT40'
uci set wireless.radio0.disabled='0'
uci set wireless.default_radio0.disabled='1'

iface=$(uci add wireless wifi-iface)
uci -q batch << EOI
set wireless.$iface.network='mesh'
set wireless.$iface.device='radio0'
set wireless.$iface.mode='mesh'
set wireless.$iface.ifname='mesh0'
set wireless.$iface.network='lan'
set wireless.$iface.mesh_id='nome-della-rete-mesh'
set wireless.$iface.encryption='sae'
set wireless.$iface.key='password-della-rete-mesh'
EOI
uci commit wireless

/etc/init.d/wireless restart
/etc/init.d/mesh11sd restart

Il file di configurazione di mesh11sd si trova in /etc/config/mesh11sd, e la versione distribuita con OpenWrt è già sufficiente a far funzionare il collegamento.

Un'implementazione "quick and dirty" si può trovare sulla repo https://git.eigenlab.org/Juma7C9/openwrt-meshed