Libre Mesh: Unterschied zwischen den Versionen
Aus Vosp.info
F (Diskussion | Beiträge) |
F (Diskussion | Beiträge) |
||
(20 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
+ | Router: [[Openwrt]] | [[LEDE]] | [[Libre Mesh]] | [[qMp]] | ||
+ | |||
* http://libremesh.org/ | * http://libremesh.org/ | ||
* https://github.com/libremesh/lime-sdk | * 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 | git clone https://github.com/libremesh/lime-sdk | ||
cd lime-sdk | cd lime-sdk | ||
Zeile 19: | Zeile 25: | ||
Makefile:140: recipe for target 'package_install' failed | Makefile:140: recipe for target 'package_install' failed | ||
make[2]: *** [package_install] Error 255 | make[2]: *** [package_install] Error 255 | ||
− | make[2]: Leaving directory ' | + | make[2]: Leaving directory '17.01.2/ar71xx/generic/ib' |
Makefile:110: recipe for target '_call_image' failed | Makefile:110: recipe for target '_call_image' failed | ||
make[1]: *** [_call_image] Error 2 | make[1]: *** [_call_image] Error 2 | ||
− | make[1]: Leaving directory ' | + | make[1]: Leaving directory '17.01.2/ar71xx/generic/ib' |
Makefile:196: die Regel für Ziel „image“ scheiterte | Makefile:196: die Regel für Ziel „image“ scheiterte | ||
make: *** [image] Fehler 2 | make: *** [image] Fehler 2 | ||
− | make: Verzeichnis | + | make: Verzeichnis „17.01.2/ar71xx/generic/ib“ wird verlassen |
-> Firmware not cooked, something wrong happened on the ImageBuilder compilation process | -> Firmware not cooked, something wrong happened on the ImageBuilder compilation process | ||
Zeile 34: | Zeile 40: | ||
# .... | # .... | ||
-> Firmware for target ar71xx/generic, profile PROFILE=tl-wdr4300-v1 and flavor lime_default cooked! | -> Firmware for target ar71xx/generic, profile PROFILE=tl-wdr4300-v1 and flavor lime_default cooked! | ||
− | Find the binaries in | + | Find the binaries in output/ar71xx/generic/tl-wdr4300-v1/lime_default directory |
Zeile 42: | Zeile 48: | ||
# danach schau in output/ ... | # danach schau in output/ ... | ||
# * wichtig factory für leere router und sysupgrade für vorinstallierte lede/qmp | # * wichtig factory für leere router und sysupgrade für vorinstallierte lede/qmp | ||
− | cd output/ | + | cd output/ar71xx/generic/tl-wdr4300-v1/lime_default/ |
# starte simple webserver | # starte simple webserver | ||
Zeile 60: | Zeile 66: | ||
./cooker --communities | ./cooker --communities | ||
cd 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> | </source> | ||
+ | |||
+ | |||
Zeile 68: | Zeile 95: | ||
** http://thisnode.info | ** http://thisnode.info | ||
** http:// | ** http:// | ||
+ | |||
+ | |||
+ | == Hardware == | ||
+ | [[wdr4300]] | ||
== Notizen == | == Notizen == | ||
Zeile 79: | Zeile 110: | ||
+ | == 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/ | * 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
Inhaltsverzeichnis
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
- Browser:
- http://thisnode.info
- http://
Hardware
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
# ...