<?xml version="1.0" encoding="utf-8"?><!DOCTYPE article  PUBLIC '-//OASIS//DTD DocBook XML V4.4//EN'  'http://www.docbook.org/xml/4.4/docbookx.dtd'><article><articleinfo><title>Libre-Mesh</title><revhistory><revision><revnumber>64</revnumber><date>2020-12-15 15:29:49</date><authorinitials>ilario</authorinitials><revremark>update</revremark></revision><revision><revnumber>63</revnumber><date>2017-09-24 10:50:09</date><authorinitials>ilario</authorinitials><revremark>correzione da sha1sum a sha256sum</revremark></revision><revision><revnumber>62</revnumber><date>2017-09-23 23:52:32</date><authorinitials>ilario</authorinitials><revremark>aggiornamento alla release 17.06</revremark></revision><revision><revnumber>61</revnumber><date>2017-05-26 18:10:42</date><authorinitials>ilario</authorinitials></revision><revision><revnumber>60</revnumber><date>2016-12-20 18:50:45</date><authorinitials>ilario</authorinitials></revision><revision><revnumber>59</revnumber><date>2016-05-07 21:19:51</date><authorinitials>ilario</authorinitials></revision><revision><revnumber>58</revnumber><date>2016-01-28 13:43:22</date><authorinitials>ilario</authorinitials><revremark>aggiunta la colonna sui moduli inclusi in lime-full</revremark></revision><revision><revnumber>57</revnumber><date>2015-12-24 10:07:07</date><authorinitials>ilario</authorinitials><revremark>aggiunta dipendenza libssl-dev</revremark></revision><revision><revnumber>56</revnumber><date>2015-12-24 09:28:11</date><authorinitials>ilario</authorinitials><revremark>Aggiornato da BB a CC</revremark></revision><revision><revnumber>55</revnumber><date>2015-10-12 15:31:26</date><authorinitials>ilario</authorinitials></revision><revision><revnumber>54</revnumber><date>2015-09-27 15:48:02</date><authorinitials>ilario</authorinitials></revision><revision><revnumber>53</revnumber><date>2015-09-27 15:29:18</date><authorinitials>ilario</authorinitials></revision><revision><revnumber>52</revnumber><date>2015-09-27 15:07:24</date><authorinitials>ilario</authorinitials></revision><revision><revnumber>51</revnumber><date>2015-09-27 14:32:38</date><authorinitials>ilario</authorinitials></revision><revision><revnumber>50</revnumber><date>2015-09-27 14:29:56</date><authorinitials>ilario</authorinitials></revision><revision><revnumber>49</revnumber><date>2015-09-27 13:44:48</date><authorinitials>ilario</authorinitials></revision><revision><revnumber>48</revnumber><date>2015-09-26 12:34:31</date><authorinitials>ilario</authorinitials></revision><revision><revnumber>47</revnumber><date>2015-09-26 12:31:14</date><authorinitials>ilario</authorinitials></revision><revision><revnumber>46</revnumber><date>2015-09-26 11:59:17</date><authorinitials>ilario</authorinitials></revision><revision><revnumber>45</revnumber><date>2015-08-21 09:34:04</date><authorinitials>ilario</authorinitials><revremark>Aggiunta sezione sul routing a terra</revremark></revision><revision><revnumber>44</revnumber><date>2015-08-07 16:49:31</date><authorinitials>ilario</authorinitials><revremark>Tolta l'indicazione di usare più core per compilare perché potrebbe crear problemi alla prima compilazione.</revremark></revision><revision><revnumber>43</revnumber><date>2015-06-06 12:43:46</date><authorinitials>ilario</authorinitials><revremark>corretto piccolo errore sull'autocompletamento degli ip</revremark></revision><revision><revnumber>42</revnumber><date>2015-05-31 17:38:03</date><authorinitials>ilario</authorinitials><revremark>meglio modificare direttamente il file lime-default nella cartella dove si trova</revremark></revision><revision><revnumber>41</revnumber><date>2015-05-31 11:51:37</date><authorinitials>ilario</authorinitials></revision><revision><revnumber>40</revnumber><date>2015-05-31 11:49:46</date><authorinitials>ilario</authorinitials><revremark>cambiato il file per la configurazione pre-compilazione</revremark></revision><revision><revnumber>39</revnumber><date>2015-05-31 11:26:59</date><authorinitials>ilario</authorinitials><revremark>Rimosso contenuto off-topic e piccole correzioni</revremark></revision><revision><revnumber>38</revnumber><date>2015-04-18 18:17:07</date><authorinitials>dynamic-adsl-94-37-182-191.clienti.tiscali.it</authorinitials></revision><revision><revnumber>37</revnumber><date>2015-04-18 18:14:02</date><authorinitials>dynamic-adsl-94-37-182-191.clienti.tiscali.it</authorinitials></revision><revision><revnumber>36</revnumber><date>2014-12-23 20:44:08</date><authorinitials>dancast78</authorinitials></revision><revision><revnumber>35</revnumber><date>2014-12-23 20:41:52</date><authorinitials>dancast78</authorinitials></revision><revision><revnumber>34</revnumber><date>2014-12-17 16:12:48</date><authorinitials>137.Red-83-45-112.dynamicIP.rima-tde.net</authorinitials></revision><revision><revnumber>33</revnumber><date>2014-12-16 02:34:08</date><authorinitials>137.Red-83-45-112.dynamicIP.rima-tde.net</authorinitials><revremark>usa subnet standard RFC per la documentzione</revremark></revision><revision><revnumber>32</revnumber><date>2014-12-16 02:21:38</date><authorinitials>137.Red-83-45-112.dynamicIP.rima-tde.net</authorinitials></revision><revision><revnumber>31</revnumber><date>2014-12-16 02:16:04</date><authorinitials>137.Red-83-45-112.dynamicIP.rima-tde.net</authorinitials></revision><revision><revnumber>30</revnumber><date>2014-12-15 23:20:22</date><authorinitials>137.Red-83-45-112.dynamicIP.rima-tde.net</authorinitials></revision><revision><revnumber>29</revnumber><date>2014-12-15 23:10:44</date><authorinitials>137.Red-83-45-112.dynamicIP.rima-tde.net</authorinitials></revision><revision><revnumber>28</revnumber><date>2014-12-15 22:41:51</date><authorinitials>137.Red-83-45-112.dynamicIP.rima-tde.net</authorinitials></revision><revision><revnumber>27</revnumber><date>2014-10-13 17:05:56</date><authorinitials>ilario</authorinitials></revision><revision><revnumber>26</revnumber><date>2014-08-14 17:19:27</date><authorinitials>ilario</authorinitials></revision><revision><revnumber>25</revnumber><date>2014-08-14 17:18:06</date><authorinitials>ilario</authorinitials></revision><revision><revnumber>24</revnumber><date>2014-08-14 17:16:46</date><authorinitials>ilario</authorinitials></revision><revision><revnumber>23</revnumber><date>2014-08-14 16:40:46</date><authorinitials>ilario</authorinitials></revision><revision><revnumber>22</revnumber><date>2014-08-14 16:17:03</date><authorinitials>ilario</authorinitials></revision><revision><revnumber>21</revnumber><date>2014-08-14 16:13:40</date><authorinitials>ilario</authorinitials></revision><revision><revnumber>20</revnumber><date>2014-08-14 16:10:20</date><authorinitials>ilario</authorinitials></revision><revision><revnumber>19</revnumber><date>2014-08-14 16:06:49</date><authorinitials>ilario</authorinitials></revision><revision><revnumber>18</revnumber><date>2014-08-14 16:05:53</date><authorinitials>ilario</authorinitials></revision><revision><revnumber>17</revnumber><date>2014-08-14 15:51:39</date><authorinitials>ilario</authorinitials></revision><revision><revnumber>16</revnumber><date>2014-08-14 15:42:53</date><authorinitials>ilario</authorinitials></revision><revision><revnumber>15</revnumber><date>2014-08-14 15:39:07</date><authorinitials>ilario</authorinitials></revision><revision><revnumber>14</revnumber><date>2014-08-14 15:27:57</date><authorinitials>ilario</authorinitials></revision><revision><revnumber>13</revnumber><date>2014-08-14 15:21:49</date><authorinitials>ilario</authorinitials></revision><revision><revnumber>12</revnumber><date>2014-08-14 15:19:28</date><authorinitials>ilario</authorinitials></revision><revision><revnumber>11</revnumber><date>2014-08-14 15:13:56</date><authorinitials>ilario</authorinitials></revision><revision><revnumber>10</revnumber><date>2014-08-14 15:12:15</date><authorinitials>ilario</authorinitials></revision><revision><revnumber>9</revnumber><date>2014-08-14 14:56:42</date><authorinitials>ilario</authorinitials></revision><revision><revnumber>8</revnumber><date>2014-08-14 14:55:52</date><authorinitials>ilario</authorinitials></revision><revision><revnumber>7</revnumber><date>2014-08-14 14:14:04</date><authorinitials>ilario</authorinitials></revision><revision><revnumber>6</revnumber><date>2014-08-13 17:29:27</date><authorinitials>ilario</authorinitials></revision><revision><revnumber>5</revnumber><date>2014-08-12 11:30:05</date><authorinitials>leonaard</authorinitials><revremark>configurazione</revremark></revision><revision><revnumber>4</revnumber><date>2014-08-12 10:59:25</date><authorinitials>leonaard</authorinitials><revremark>link compilazione in ITA e wiki ninuxBO</revremark></revision><revision><revnumber>3</revnumber><date>2014-07-27 16:49:43</date><authorinitials>leonaard</authorinitials><revremark>aggiunto link compilazione</revremark></revision><revision><revnumber>2</revnumber><date>2014-07-11 16:35:11</date><authorinitials>ilario</authorinitials></revision><revision><revnumber>1</revnumber><date>2014-07-11 16:34:56</date><authorinitials>ilario</authorinitials></revision></revhistory></articleinfo><informaltable><tgroup cols="2"><colspec colname="col_0" colwidth="50*"/><colspec colname="col_1"/><tbody><row rowsep="1"><entry colsep="1" rowsep="1" valign="bottom"><para> Il <ulink url="http://libremesh.org/">firmware LibreMesh</ulink> (precedentemente &quot;Libre-Mesh&quot;) è il nuovo sistema operativo per router pensato per le community wireless nato dagli sforzi congiunti di italiani, spagnoli/catalani (Guifi.net) ed argentini (Altermundi) riuniti sotto il nome di, appunto, <ulink url="https://libremesh.org">LibreMesh</ulink>. Precisamente il firmware <ulink url="http://www.nnx.me/Libre-Mesh/LibreMesh#">LibreMesh</ulink> è un insieme di moduli da aggiungere a <ulink url="https://openwrt.org/">OpenWrt</ulink> per gestire il routing dinamico e altre funzioni necessarie ad una rete wireless mesh. </para><para> <ulink url="http://www.nnx.me/Libre-Mesh/LibreMesh#">LibreMesh</ulink> viene attualmente utilizzato in Ninux da: </para><para> - <ulink url="http://verona.ninux.org/">NinuxVerona</ulink> </para><para> - <ulink url="http://wiki.bologna.ninux.org">NinuxBO</ulink></para></entry><entry colsep="1" rowsep="1"/></row></tbody></tgroup></informaltable><para><emphasis role="strong">Questa pagina potrebbe esser non aggiornata, in caso di dubbi fate riferimento alla guida ufficiale in <ulink url="http://libremesh.org/docs/en_quick_starting_guide.html">inglese</ulink>.</emphasis> </para><section><title>Devices supportati da LibreMesh</title><para>Per andare sul sicuro è possibile consultare <ulink url="https://libremesh.org/docs/hardware/index.html">la pagina</ulink> dei router che sono stati ampiamente utilizzati con <ulink url="http://www.nnx.me/Libre-Mesh/LibreMesh#">LibreMesh</ulink> dando buoni risultati. Sulla stessa pagina son riportati i criteri che assicurano un buon funzionamento di <ulink url="http://www.nnx.me/Libre-Mesh/LibreMesh#">LibreMesh</ulink> su altri routers. </para></section><section><title>Prodursi una immagine di LibreMesh</title><para>Come tutti i software open source è possibile creare il proprio file compilato partendo dal codice sorgente. Seguire le istruzioni sulla pagina <ulink url="https://libremesh.org/development.html"/> </para><para>Il prossimo passo è installare, anche detto flashare, l'immagine adatta sul proprio router, come far questo viene accennato più avanti nella sezione &quot;Flashing&quot;. </para></section><section><title>Flashing</title><para>È necessario seguire le <ulink url="https://openwrt.org/toh/start">istruzioni specifiche per ogni modello di router descritte sul sito di OpenWrt</ulink> per l'installazione di <ulink url="http://www.nnx.me/Libre-Mesh/OpenWrt#">OpenWrt</ulink>.  </para></section><section><title>Prima connessione</title><section><title>Da interfaccia web</title><para>-- guida da scrivere -- </para></section><section><title>Da terminale</title><para>Utilizzando il terminale Linux è comodo connettersi utilizzando l'indirizzo <emphasis>thisnode.info</emphasis> che è impostato in tutti i router <ulink url="http://www.nnx.me/Libre-Mesh/LibreMesh#">LibreMesh</ulink>. </para><para>Appena installato <ulink url="http://www.nnx.me/Libre-Mesh/LibreMesh#">LibreMesh</ulink> non ha una password di amministratore, dunque ci si connette via SSH a <emphasis>thisnode.info</emphasis> tramite interfaccia web su <ulink url="http://thisnode.info"/> per impostarla. </para><para>Da interfaccia web è presente un banner che aiuta a impostare la password di amministratore, da terminale invece ci si connette con: </para><screen><![CDATA[ssh root@thisnode.info]]></screen><para>e si imposta la password tramite il comando </para><screen><![CDATA[passwd]]></screen><para>dunque si riavvia con </para><screen><![CDATA[reboot && exit]]></screen><para>e si può proseguire con la configurazione. </para></section></section><section><title>Configurazione</title><section><title>Da interfaccia web</title><para>-- guida da scrivere -- </para></section><section><title>Da terminale</title><para>La configurazione da utilizzare può essere leggermente differente tra le diverse isole, la configurazione di default va bene in generale. </para><para>Date un'occhiata al contenuto del file &quot;/etc/config/lime-node&quot;: </para><screen><![CDATA[cat /etc/config/lime-node]]></screen><para>Il file dovrebbe essere piuttosto vuoto, dunque le opzioni di default sono quelle in uso. Tutte le opzioni commentate si possono trovare nel router in &quot;/docs/lime-example.txt&quot; </para><screen><![CDATA[less /docs/lime-example.txt]]></screen><para>o, sempre sul router, su <ulink url="http://thisnode.info/docs/lime-example.txt"/> o online qui: <ulink url="https://github.com/libremesh/lime-packages/blob/master/packages/lime-docs/files/www/docs/lime-example.txt"/> </para><para>Per modificare il file di configurazione &quot;/etc/config/lime-node&quot; si usa solitamente l'editor di testo vim: </para><screen><![CDATA[vim /etc/config/lime-node]]></screen><para>si abilita la modalità di modifica in vim premendo <emphasis>i</emphasis>, dopo aver modificato il file si esce dalla modalità di modifica premendo <emphasis>Esc</emphasis> e si salva premendo <emphasis>:wq</emphasis> e Invio uno dopo l'altro. </para><para>Ad esempio perché il nome della rete wireless access point sia &quot;ninux.org&quot; e il canale wireless sui 2.4GHz sia il numero 6, nel file &quot;lime&quot; ci deve essere: </para><screen><![CDATA[config lime wifi
        option channel_2ghz '6'
        option ap_ssid 'ninux.org']]></screen><para>oppure per impostare gli ip </para><screen><![CDATA[config lime network
        option main_ipv4_address '10.10.10.11/21'
        option main_ipv6_address '2a00:1:1:1::11/64']]></screen><para>e questa impostazione avrà la priorità rispetto a quella corrispondente contenuta in &quot;lime-defaults&quot;. </para><para>Per applicare le modifiche effettuate nel file <emphasis>/etc/config/lime-node</emphasis> è necessario lanciare: </para><screen><![CDATA[lime-config]]></screen><para>E riavviare l'apparato: </para><screen><![CDATA[reboot]]></screen><section><title>Routing a terra</title><para><ulink url="http://www.nnx.me/Libre-Mesh/LibreMesh#">LibreMesh</ulink> supporta anche il routing a terra (chiamato anche ground routing) un esempio di configurazione è presente nel file <emphasis>/docs/lime-example.txt</emphasis> e consta di poche righe per ogni antenna da gestire. <ulink url="http://wiki.ninux.org/Libre-Mesh/Ground%20routing">Qui</ulink> le istruzioni in italiano. </para></section></section></section><section><title>Aggiornamento</title><section><title>Da interfaccia web</title><para>-- guida da scrivere -- </para></section><section><title>Da terminale</title><para>Per aggiornare <ulink url="http://www.nnx.me/Libre-Mesh/LibreMesh#">LibreMesh</ulink> su un device l'immagine contenente nel nome &quot;sysupgrade&quot; va copiata tramite scp o rsync usando <emphasis>thisnode.info</emphasis>. </para><screen><![CDATA[scp nome_immagine-sysupgrade.bin root@thisnode.info:/tmp]]></screen><para>Dunque si entra sull'antenna con ssh: </para><screen><![CDATA[ssh root@thisnode.info]]></screen><para>si verifica che l'immagine si sia copiata correttamente confrontandola con il file sha256sums presente nella cartella di compilazione: </para><screen><![CDATA[cd /tmp
sha256sum nome_immagine-sysupgrade.bin]]></screen><para>dunque si aggiorna il firmware installato sovrascrivendolo con l'immagine nuova. Ci son due modi per farlo, eliminando la precedente configurazione o preservandola. </para><para>Eliminando la precedente configurazione: </para><screen><![CDATA[sysupgrade -n nome_immagine-sysupgrade.bin]]></screen><para>Preservando la precedente configurazione: </para><screen><![CDATA[lime-sysupgrade nome_immagine-sysupgrade.bin]]></screen></section></section><section><title>Testing</title><para>Potete controllare che due nodi siano connessi controllando le tabelle di routing dei protocolli utilizzati, ossia <ulink url="http://www.open-mesh.org/projects/batman-adv/wiki/Wiki">BATMAN-advanced</ulink> e <ulink url="https://www.irif.fr/~jch/software/babel/">Babeld</ulink>: </para><screen><![CDATA[batctl o
echo dump | nc ::1 30003]]></screen></section><section><title>Debugging</title><para>Essendo <ulink url="http://www.nnx.me/Libre-Mesh/LibreMesh#">LibreMesh</ulink> un firmware ancora sotto intenso sviluppo potrebbe presentare alcuni problemi, gli utenti sono incoraggiati a segnalare i problemi agli sviluppatori in modo che questi possano risolverli. I canali consigliati per la segnalazione e discussione di problemi sono: </para><para>Mailing list: iscrivetevi alla <ulink url="https://lists.libremesh.org/mailman/listinfo/lime-users">mailing list</ulink> e segnalate il problema, preferibilmente ma non obbligatoriamente in inglese. </para><para>Chat room: su Freenode abbiamo una chat room #libremesh-dev che si può più comodamente accedere tramite Element (una app di chat sicura), seguire i link su: <ulink url="https://libremesh.org/communication.html"/> </para><para>Segnalazioni: si può registrarsi sul sito di <ulink url="http://www.nnx.me/Libre-Mesh/GitHub#">GitHub</ulink> dunque segnalare il problema tramite <ulink url="https://github.com/libremesh/lime-packages/issues/new">questa pagina</ulink>. </para></section><section><title>Connessione d'emergenza</title><para>Un metodo che non fallisce quasi mai per connettersi al router è utilizzando l'indirizzo IPv6 Link Local. </para><para>Essendo connessi con un cavo ethernet al router lanciare il comando </para><screen><![CDATA[ping6 ff02::1%eth0]]></screen><para>ping6 potrebbe chiamarsi ping sul vostro sistema, ed eth0 potrebbe chiamarsi enp0s25 o qualcosa del genere. </para><para>Si riceveranno risposte da tutte le interfacce, compresa la propria ed alcune interfacce virtuali sul router. L'IPv6 Link Local che ci interessa si può riconoscere perché contiene alla fine dell'indirizzo il MAC address del router solitamente indicato anche sul router stesso. Ad esempio nel caso il proprio router abbia un mac address dc:9f:db:31:c1:36, vedremo un IPv6 Link Local che lo contiene qui sotto: </para><screen><![CDATA[$ ping6 ff02::1%eth0
PING ff02::1%eth0(ff02::1) 56 data bytes
64 bytes from fe80::21e:8cff:fe66:1e2c: icmp_seq=1 ttl=64 time=0.023 ms
64 bytes from fe80::de9f:dbff:fe37:28a9: icmp_seq=1 ttl=64 time=0.606 ms (DUP!)
64 bytes from fe80::de9f:dbff:fe31:c136: icmp_seq=1 ttl=64 time=0.607 ms (DUP!)
64 bytes from fe80::a8aa:aaff:feaa:aaaa: icmp_seq=1 ttl=64 time=0.851 ms (DUP!)
64 bytes from fe80::de9f:dbff:feee:8bda: icmp_seq=1 ttl=64 time=1.01 ms (DUP!)
64 bytes from fe80::a8aa:aaff:feaa:aaaa: icmp_seq=1 ttl=64 time=1.08 ms (DUP!)
64 bytes from fe80::216:eaff:fec1:7553: icmp_seq=1 ttl=64 time=11.8 ms (DUP!)]]></screen><para>ossia l'IPv6 corrispondente al mac address del nostro device è fe80::de9f:dbff:fe31:c136 e ci si connette utilizzando ssh: </para><screen><![CDATA[ssh root@fe80::de9f:dbff:fe31:c136%eth0]]></screen></section><section><title>Altre guide</title><itemizedlist><listitem><para><ulink url="http://libremesh.org/docs/en_quick_starting_guide.html">Quick Starting Guide</ulink> </para></listitem><listitem><para><ulink url="http://libremesh.org/docs/it_guida_rapida_per_iniziare.html">Guida rapida per iniziare</ulink> </para></listitem><listitem><para><ulink url="http://wiki.bologna.ninux.org/mediawiki/index.php/CompilareDaOpenWrt">Guida Ninux Bologna</ulink> </para></listitem><listitem><para><ulink url="http://libremesh.org/getit.html">Come ottenere il firmware [EN]</ulink> </para></listitem></itemizedlist></section></article>