Libre Mesh: Unterschied zwischen den Versionen

Aus Vosp.info
Wechseln zu:Navigation, Suche
(Die Seite wurde neu angelegt: „ == Download == https://chef.altermundi.net/ls/libre-mesh/r44952/1509/ar71xx/“)
 
 
(29 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
 +
Router: [[Openwrt]] | [[LEDE]] | [[Libre Mesh]] | [[qMp]]
  
 +
* http://libremesh.org/
 +
* https://github.com/libremesh/lime-sdk
 +
 +
== Installation ==
 +
 +
* auf dem Laptop
 +
<source lang=bash>
 +
 +
# https://lede-project.org/docs/guide-developer/install-buildsystem#examples_of_package_installations
 +
apt-get install build-essential libncurses5-dev gawk git subversion libssl-dev gettext unzip zlib1g-dev file python
 +
 +
git clone  https://github.com/libremesh/lime-sdk
 +
cd lime-sdk
 +
 +
# schau nach welche Profile existieren
 +
./cooker --profiles=ar71xx/generic
 +
 +
# kompiliere und erstelle eine image vom profile tl-wdr4300-v1 der Architektur  ar71xx/generic
 +
./cooker -c ar71xx/generic --flavor=lime_default --profile=tl-wdr4300-v1
 +
# ...........
 +
Collected errors:
 +
* opkg_install_cmd: Cannot install package lime-full.
 +
Makefile:140: recipe for target 'package_install' failed
 +
make[2]: *** [package_install] Error 255
 +
make[2]: Leaving directory '17.01.2/ar71xx/generic/ib'
 +
Makefile:110: recipe for target '_call_image' failed
 +
make[1]: *** [_call_image] Error 2
 +
make[1]: Leaving directory '17.01.2/ar71xx/generic/ib'
 +
Makefile:196: die Regel für Ziel „image“ scheiterte
 +
make: *** [image] Fehler 2
 +
make: Verzeichnis „17.01.2/ar71xx/generic/ib“ wird verlassen
 +
 +
-> Firmware not cooked, something wrong happened on the ImageBuilder compilation process
 +
 +
# noch mal nur mit einem prozessor thread (J=1) und im Verbose Mode (V=s)
 +
V=s J=1 ./cooker -c ar71xx/generic --flavor=lime_default --profile=tl-wdr4300-v1
 +
 +
# ....
 +
-> Firmware for target ar71xx/generic, profile PROFILE=tl-wdr4300-v1 and flavor lime_default cooked!
 +
Find the binaries in output/ar71xx/generic/tl-wdr4300-v1/lime_default directory
 +
 +
 +
# verschiedene "Gerüche" zum kompilieren/kochen
 +
more  flavors.conf
 +
 +
# danach schau in output/ ...
 +
# * wichtig factory für leere router und sysupgrade für vorinstallierte lede/qmp
 +
cd output/ar71xx/generic/tl-wdr4300-v1/lime_default/
 +
 +
# starte simple webserver
 +
python -m SimpleHTTPServer 8001
 +
 +
 +
# auf dem router
 +
mount_root
 +
 +
 +
cd /tmp/
 +
wget 192.168.1:8001:/***sysupgrade.bin
 +
sysupgrade -n ***sysupgrade.bin
 +
 +
 +
 +
./cooker --communities
 +
cd communities/
 +
git pull
 +
 +
cd ../
 +
V=s J=1 ./cooker -c ar71xx/generic --flavor=lime_default --profile=tl-wdr4300-v1 --community=klimacamp/common
 +
 +
</source>
 +
 +
* auf dem Router
 +
** router aus und kabel rausmachen
 +
** starten
 +
** reset beim blinken bis ganz schnell blinkt
 +
** kabel reinmachen
 +
** statische ip 192.168.1.* vergeben am laptop
 +
 +
<source lang=bash>
 +
 +
telnet 192.168.1.1
 +
cd /tmp/
 +
wget http://192.168.1.79:8001/lede-17.01.2-klimacamp-common-ar71xx-generic-tl-wdr4300-v1-squashfs-sysupgrade.bin
 +
sysupgrade -n lede-17.01.2-klimacamp-common-ar71xx-generic-tl-wdr4300-v1-squashfs-sysupgrade.bin
 +
 +
</source>
 +
 +
 +
 +
 +
* Browser:
 +
** http://thisnode.info
 +
** http://
 +
 +
 +
== Hardware ==
 +
[[wdr4300]]
 +
 +
== Notizen ==
 +
* ein kompiliertes image mit einer mac kommen auf alle router, so wird gewährleistet das für die clients das roaming möglich ist
 +
* intranet
 +
** netzwerkkabel router stecker (wdr4300 gelb) sind wie die wlan connectens
 +
** wlan für clients
 +
** wlan (vlan/hidden) fürs mesh
 +
 +
 +
 +
 +
== Encrypted Mesh ==
 +
Problem ist zur Zeit das beim lime-sdk das konfigurieren des verschlüsselten Mesh nicht funktioniert (AP und Mesh laufen beide standardmäßig auf 2ghz & 5ghz als workaround haben wir es getrennt
 +
 +
*Für unseren TP WDR 43000:
 +
** communities/nc/iee80211s-hotfix-tp/etc/config/lime-defaults
 +
 +
 +
<source lang=bash>
 +
config lime system
 +
option hostname 'NC-%M4%M5%M6'
 +
option domain 'mesh.nc.local'
 +
option keep_on_upgrade 'libremesh base-files-essential /etc/sysupgrade.conf'
 +
 +
config lime network
 +
option primary_interface eth0
 +
option main_ipv4_address '10.5.0.0/21'
 +
option main_ipv6_address '2801:01e8:2::/64'
 +
option bmx6_mtu '1500'
 +
list protocols ieee80211s
 +
list protocols lan
 +
list protocols anygw
 +
list protocols batadv:%N1
 +
list protocols bmx6:13
 +
list protocols olsr:14
 +
list protocols olsr6:15
 +
list protocols olsr2:16
 +
list resolvers 4.2.2.2  # b.resolvers.Level3.net
 +
list resolvers 141.1.1.1 # cns1.cw.net
 +
list resolvers 2001:470:20::2 # ordns.he.net
 +
option bmx6_over_batman false
 +
option bmx6_pref_gw none
 +
option bmx7_over_batman false
 +
option anygw_mac "aa:aa:aa:%N1:%N2:aa"
 +
 +
config lime wifi
 +
        option channel_2ghz '11'
 +
        option channel_5ghz '48'
 +
        option htmode_5ghz 'HT40'
 +
        list modes 'ap'
 +
        list modes 'ieee80211s'
 +
        option ap_ssid 'OpenAP'
 +
        option ap_encryption 'psk2+ccmp'
 +
        option ap_key 'password'
 +
        option ieee80211s_mesh_fwding '0'
 +
        option ieee80211s_mesh_id 'Mesh'
 +
        option ieee80211s_encryption 'psk2+ccmp'
 +
        option ieee80211s_key 'otherpassword'
 +
 +
</source>
 +
 +
** communities/nc/iee80211s-hotfix-tp/etc/uci-defaults/99-nchotfix-wireless
 +
 +
<source lang=bash>
 +
#!/bin/sh
 +
sed -i "/config wifi-iface 'lm_wlan1_ap_radio1'/a \ \ \ \ option disabled '1'" /etc/config/wireless
 +
sed -i "/config wifi-iface 'lm_wlan0_mesh_radio0'/a \ \ \ \ option disabled '1'" /etc/config/wireless
 +
wifi down
 +
wifi up
 +
</source>
 +
 +
 +
** communities/nc/iee80211s-hotfix-tp/
 +
 +
<source lang=bash>
 +
lime_nc="lime-full lime-debug  -dnsmasq -wpad-mini wpad-mesh"
 +
</source>
 +
 +
** cooker
 +
<source lang=bash>
 +
V=s J=1 ./cooker -c ar71xx/generic --flavor=lime_nc --profile=tl-wdr4300-v1 --community=nc/iee80211s-hotfix-tp
 +
</source>
 +
 +
 +
*Für unseren ubnt-unifiac-lite:
 +
wie  TP WDR 43000 ausser:
 +
communities/nc/iee80211s-hotfix-uq/etc/uci-defaults/99-nchotfix-wireless
 +
<source lang=bash>
 +
#!/bin/sh
 +
sed -i "/config wifi-iface 'lm_wlan0_ap_radio0'/a \ \ \ \ option disabled '1'" /etc/config/wireless
 +
sed -i "/config wifi-iface 'lm_wlan1_mesh_radio1'/a \ \ \ \ option disabled '1'" /etc/config/wireless
 +
wifi down
 +
wifi up
 +
</source>
 +
 +
** cooker
 +
<source lang=bash>
 +
V=s J=1 ./cooker -c ar71xx/generic --flavor=lime_nc --profile=ubnt-unifiac-lite --community=nc/iee80211s-hotfix-uq</source>
 +
* http://libre-mesh.org/
 
== Download ==
 
== Download ==
 
https://chef.altermundi.net/ls/libre-mesh/r44952/1509/ar71xx/
 
https://chef.altermundi.net/ls/libre-mesh/r44952/1509/ar71xx/
 +
 +
 +
 +
 +
== Packete Zum Kompelieren hinzufügen die noch nicht zur verfügung stehen ==
 +
 +
=== In das Repository wechseln z.B. ===
 +
<source lang=bash>
 +
cd lime-sdk/
 +
 +
cp feeds.conf.default feeds.conf.default.local
 +
</source>
 +
===ändern auf Masterbranch===
 +
<source lang=bash>
 +
vim feeds.conf.default.local
 +
#src-git libremesh https://github.com/libremesh/lime-packages.git;17.06
 +
src-git libremesh https://github.com/libremesh/lime-packages.git;master
 +
 +
 +
cp libremesh.sdk.config libremesh.sdk.config.local
 +
</source>
 +
===Hinzufügen des Paketes===
 +
<source lang=bash>
 +
vim  libremesh.sdk.config.local
 +
CONFIG_PACKAGE_lime-smart-wifi=m
 +
 +
cd feeds/libremesh
 +
 +
git status
 +
$ Auf Branch 17.06
 +
$ Ihr Branch ist auf demselben Stand wie 'origin/17.06'.
 +
 +
git checkout master
 +
 +
 +
</source>
 +
 +
=== Kompilieren ===
 +
<source lang=bash>
 +
./cooker -b ar71xx/generic
 +
</source>
 +
 +
 +
 +
 +
== Script ==
 +
Script um endbenutzer auf meshnodes anzuzeigen
 +
<source lang=bash>
 +
#!/bin/bash
 +
 +
#variablen
 +
ncLocalMeshNode='10.5.0.1'
 +
 +
 +
ncSsh='ssh -o StrictHostKeyChecking=no '
 +
#lösche bekannte kennung des entfernten nodes
 +
ssh-keygen -f ~/.ssh/known_hosts -R "$ncLocalMeshNode"
 +
 +
 +
#endlosschleife,
 +
while [ true ] ; do
 +
 +
        #speicher datum in variable
 +
        d=$(date +%Y-%m-%d_%H:%M:%S)
 +
 +
        echo
 +
        echo $d
 +
 +
        #sende und empfange pakete an host und ip
 +
        ping -c 1  heise.de | grep ttl
 +
        ping -c 1  8.8.8.8 | grep ttl
 +
 +
        #frage meshrouter im meshnetzwerk ab
 +
        for node  in `$ncSsh root@$ncLocalMeshNode bmx7  -c s=o  | grep : | awk '{print $2}'  | grep [a-z]`
 +
        do
 +
                echo $node
 +
 +
                #zeige anzahl der verbundenen endgeräte auf dem jeweiligen node               
 +
                $ncSsh root@$node cat /tmp/dhcp.leases | wc -l
 +
        done       
 +
       
 +
done
 +
</source>
 +
 +
 +
== fehlerhafte problematische Einstellungen ==
 +
 +
 +
=== channels bei 2 GHz ===
 +
* nicht funktioniert hat auf dem wdr4300 channel 13
 +
 +
=== channels bei 5 GHz ===
 +
 +
* mesh hat nicht funktioniert bei den channels 64 oder 100
 +
* funktioniert haben 36, 44
 +
 +
* lime/lime-sdk/communities/.../.../etc/config/lime-defaults
 +
<source >
 +
# ....
 +
config lime 'wifi'
 +
        option channel_5ghz '36'
 +
# ...
 +
</source>
 +
 +
 +
=== mesh_id mit sonderzeichen ===
 +
 +
folgende mesh hat nicht funktioniert:
 +
 +
FRITZ!Box 7590 XD
 +
 +
* lime/lime-sdk/communities/.../.../etc/config/lime-defaults
 +
<source >
 +
# ....
 +
config lime 'wifi'
 +
        option ieee80211s_mesh_id meshssid
 +
# ...
 +
</source>

Aktuelle Version vom 20. April 2020, 09:10 Uhr

Router: Openwrt | LEDE | Libre Mesh | qMp

Installation

  • auf dem Laptop
# https://lede-project.org/docs/guide-developer/install-buildsystem#examples_of_package_installations
apt-get install build-essential libncurses5-dev gawk git subversion libssl-dev gettext unzip zlib1g-dev file python

git clone  https://github.com/libremesh/lime-sdk
cd lime-sdk

# schau nach welche Profile existieren
./cooker --profiles=ar71xx/generic

# kompiliere und erstelle eine image vom profile tl-wdr4300-v1 der Architektur  ar71xx/generic
./cooker -c ar71xx/generic --flavor=lime_default --profile=tl-wdr4300-v1
# ...........
Collected errors:
 * opkg_install_cmd: Cannot install package lime-full.
Makefile:140: recipe for target 'package_install' failed
make[2]: *** [package_install] Error 255
make[2]: Leaving directory '17.01.2/ar71xx/generic/ib'
Makefile:110: recipe for target '_call_image' failed
make[1]: *** [_call_image] Error 2
make[1]: Leaving directory '17.01.2/ar71xx/generic/ib'
Makefile:196: die Regel für Ziel „image“ scheiterte
make: *** [image] Fehler 2
make: Verzeichnis „17.01.2/ar71xx/generic/ib“ wird verlassen

-> Firmware not cooked, something wrong happened on the ImageBuilder compilation process

# noch mal nur mit einem prozessor thread (J=1) und im Verbose Mode (V=s)
V=s J=1 ./cooker -c ar71xx/generic --flavor=lime_default --profile=tl-wdr4300-v1

# ....
-> Firmware for target ar71xx/generic, profile PROFILE=tl-wdr4300-v1 and flavor lime_default cooked!
Find the binaries in output/ar71xx/generic/tl-wdr4300-v1/lime_default directory


# verschiedene "Gerüche" zum kompilieren/kochen
more  flavors.conf

# danach schau in output/ ... 
# * wichtig factory für leere router und sysupgrade für vorinstallierte lede/qmp 
cd output/ar71xx/generic/tl-wdr4300-v1/lime_default/

# starte simple webserver
python -m SimpleHTTPServer 8001


# auf dem router
mount_root


cd /tmp/
wget 192.168.1:8001:/***sysupgrade.bin
sysupgrade -n ***sysupgrade.bin
 


./cooker --communities
cd communities/
git pull

cd ../
V=s J=1 ./cooker -c ar71xx/generic --flavor=lime_default --profile=tl-wdr4300-v1 --community=klimacamp/common
  • auf dem Router
    • router aus und kabel rausmachen
    • starten
    • reset beim blinken bis ganz schnell blinkt
    • kabel reinmachen
    • statische ip 192.168.1.* vergeben am laptop
telnet 192.168.1.1
cd /tmp/
wget http://192.168.1.79:8001/lede-17.01.2-klimacamp-common-ar71xx-generic-tl-wdr4300-v1-squashfs-sysupgrade.bin
sysupgrade -n lede-17.01.2-klimacamp-common-ar71xx-generic-tl-wdr4300-v1-squashfs-sysupgrade.bin




Hardware

wdr4300

Notizen

  • ein kompiliertes image mit einer mac kommen auf alle router, so wird gewährleistet das für die clients das roaming möglich ist
  • intranet
    • netzwerkkabel router stecker (wdr4300 gelb) sind wie die wlan connectens
    • wlan für clients
    • wlan (vlan/hidden) fürs mesh



Encrypted Mesh

Problem ist zur Zeit das beim lime-sdk das konfigurieren des verschlüsselten Mesh nicht funktioniert (AP und Mesh laufen beide standardmäßig auf 2ghz & 5ghz als workaround haben wir es getrennt 
  • Für unseren TP WDR 43000:
    • communities/nc/iee80211s-hotfix-tp/etc/config/lime-defaults


config lime system
	option hostname 'NC-%M4%M5%M6'
	option domain 'mesh.nc.local'
	option keep_on_upgrade 'libremesh base-files-essential /etc/sysupgrade.conf'

config lime network
	option primary_interface eth0
	option main_ipv4_address '10.5.0.0/21'
	option main_ipv6_address '2801:01e8:2::/64'
	option bmx6_mtu '1500'
	list protocols ieee80211s
	list protocols lan
	list protocols anygw
	list protocols batadv:%N1
	list protocols bmx6:13
	list protocols olsr:14
	list protocols olsr6:15
	list protocols olsr2:16
	list resolvers 4.2.2.2   # b.resolvers.Level3.net
	list resolvers 141.1.1.1 # cns1.cw.net
	list resolvers 2001:470:20::2 # ordns.he.net
	option bmx6_over_batman false
	option bmx6_pref_gw none
	option bmx7_over_batman false
	option anygw_mac "aa:aa:aa:%N1:%N2:aa"

config lime wifi
        option channel_2ghz '11'
        option channel_5ghz '48'
        option htmode_5ghz 'HT40'
        list modes 'ap'
        list modes 'ieee80211s'
        option ap_ssid 'OpenAP'
        option ap_encryption 'psk2+ccmp'
        option ap_key 'password'
        option ieee80211s_mesh_fwding '0'
        option ieee80211s_mesh_id 'Mesh'
        option ieee80211s_encryption 'psk2+ccmp'
        option ieee80211s_key 'otherpassword'
    • communities/nc/iee80211s-hotfix-tp/etc/uci-defaults/99-nchotfix-wireless
#!/bin/sh
sed -i "/config wifi-iface 'lm_wlan1_ap_radio1'/a \ \ \ \ option disabled '1'" /etc/config/wireless
sed -i "/config wifi-iface 'lm_wlan0_mesh_radio0'/a \ \ \ \ option disabled '1'" /etc/config/wireless
wifi down 
wifi up


    • communities/nc/iee80211s-hotfix-tp/
lime_nc="lime-full lime-debug  -dnsmasq -wpad-mini wpad-mesh"
    • cooker
 V=s J=1 ./cooker -c ar71xx/generic --flavor=lime_nc --profile=tl-wdr4300-v1 --community=nc/iee80211s-hotfix-tp


  • Für unseren ubnt-unifiac-lite:

wie TP WDR 43000 ausser:

communities/nc/iee80211s-hotfix-uq/etc/uci-defaults/99-nchotfix-wireless
#!/bin/sh
sed -i "/config wifi-iface 'lm_wlan0_ap_radio0'/a \ \ \ \ option disabled '1'" /etc/config/wireless
sed -i "/config wifi-iface 'lm_wlan1_mesh_radio1'/a \ \ \ \ option disabled '1'" /etc/config/wireless
 wifi down 
 wifi up
    • cooker
 V=s J=1 ./cooker -c ar71xx/generic --flavor=lime_nc --profile=ubnt-unifiac-lite --community=nc/iee80211s-hotfix-uq

Download

https://chef.altermundi.net/ls/libre-mesh/r44952/1509/ar71xx/



Packete Zum Kompelieren hinzufügen die noch nicht zur verfügung stehen

In das Repository wechseln z.B.

cd lime-sdk/

cp feeds.conf.default feeds.conf.default.local

ändern auf Masterbranch

vim feeds.conf.default.local 
#src-git libremesh https://github.com/libremesh/lime-packages.git;17.06
src-git libremesh https://github.com/libremesh/lime-packages.git;master


cp libremesh.sdk.config libremesh.sdk.config.local

Hinzufügen des Paketes

vim  libremesh.sdk.config.local
CONFIG_PACKAGE_lime-smart-wifi=m

cd feeds/libremesh

git status 
$ Auf Branch 17.06
$ Ihr Branch ist auf demselben Stand wie 'origin/17.06'.

git checkout master

Kompilieren

./cooker -b ar71xx/generic



Script

Script um endbenutzer auf meshnodes anzuzeigen

#!/bin/bash

#variablen
ncLocalMeshNode='10.5.0.1'


ncSsh='ssh -o StrictHostKeyChecking=no '
#lösche bekannte kennung des entfernten nodes
ssh-keygen -f ~/.ssh/known_hosts -R "$ncLocalMeshNode"


#endlosschleife, 
while [ true ] ; do

        #speicher datum in variable
        d=$(date +%Y-%m-%d_%H:%M:%S)

        echo
        echo $d

        #sende und empfange pakete an host und ip
        ping -c 1   heise.de | grep ttl
        ping -c 1   8.8.8.8 | grep ttl

        #frage meshrouter im meshnetzwerk ab
        for node  in `$ncSsh root@$ncLocalMeshNode bmx7  -c s=o  | grep : | awk '{print $2}'  | grep [a-z]`
        do
                echo $node

                #zeige anzahl der verbundenen endgeräte auf dem jeweiligen node                
                $ncSsh root@$node cat /tmp/dhcp.leases | wc -l
        done        
        
done


fehlerhafte problematische Einstellungen

channels bei 2 GHz

  • nicht funktioniert hat auf dem wdr4300 channel 13

channels bei 5 GHz

  • mesh hat nicht funktioniert bei den channels 64 oder 100
  • funktioniert haben 36, 44
  • lime/lime-sdk/communities/.../.../etc/config/lime-defaults
# ....
config lime 'wifi'
        option channel_5ghz '36'
# ...


mesh_id mit sonderzeichen

folgende mesh hat nicht funktioniert:

FRITZ!Box 7590 XD
  • lime/lime-sdk/communities/.../.../etc/config/lime-defaults
# ....
config lime 'wifi'
        option ieee80211s_mesh_id meshssid
# ...