Wiki - Freifunk Pinneberg

Freies WLAN im Kreis Pinneberg

Benutzer-Werkzeuge

Webseiten-Werkzeuge


alfred

Dies ist eine alte Version des Dokuments!


Alfred

siehe: http://www.open-mesh.org/projects/alfred/wiki

Produktiv wird die Version 2015.0 eingesetzt.

Es gibt bereits neuere Versionen 2015.1, 2015.2 sowie 2016.x. Wir setzen sie aber noch nicht für den Produktivbetrieb ein, es gibt anscheinend Probleme:

can't bind: Cannot assign requested address
Failed to open interfaces

Das Verhalten tritt auf, wenn die Link-Lokale IPv6-Adresse des Bridge-Interfaces (über den Parameter -i) nicht zu der MAC-Adresse paßt. Vermutlich kann als Workaround die MAC-Adresse für das betreffende Interface mit bridge_hw <MAC> fixiert werden.

Wenn man das nicht macht, führt das Hinzufügen von bat0 zur Bridge dazu, daß die Bridge die MAC vom bat0-Interface übernimmt.

Details: In der Funktion netsock_open in netsock.c wird in Version 2015.0 ein bind mit in6addr_any gemacht. In den darauffolgenden Versionen geht der bind auf die Interface-Adresse, die allerdings mit mac_to_ipv6(&interface→hwaddr, &interface→address); ermittelt wurde. Insbesondere bei Bridge-Interfaces schlägt dieses aus o.a. Gründen fehl.

Voraussetzungen

aptitude install git cmake pkg-config ca-certificates

Für Version 2016.5 zusätzlich:

aptitude libnl-genl-3-dev

Quellen herunterladen und entpacken

cd /usr/local/src
aptitude install libcap-dev
wget http://downloads.open-mesh.org/batman/stable/sources/alfred/alfred-2015.0.tar.gz
tar xzf alfred-2015.0.tar.gz
cd alfred-2015.0

Anschließend bauen. Den GPS-Daemon brauchen wir nicht

make CONFIG_ALFRED_GPSD=n
make install CONFIG_ALFRED_GPSD=n

Informationen für Debian Wheezy:

Alfred-JSON

Wird nur auf dem Server benötigt wo der Meshviewer läuft. Schadet ansonsten aber auch nicht.

Wichtig: Bei einem fehlerhaften JSON wird eine Warnung ausgegeben. Dieses Verhalten sollte noch verbessert werden, indem:

  • ein Schalter -q „Quiet“ eingebaut wird
  • der Fehler genauer eingegrenzt wird, damit der betreffende Knoten ggf. markiert werden kann

Tip: Falls das klonen mit Git einen CA SSL Fehler wirft, kann man den umgehen mit:

 git config --global http.sslVerify false
aptitude install libjansson-dev zlib1g-dev
git clone https://github.com/ffnord/alfred-json.git
cd alfred-json
mkdir build
cd build
cmake ../
make
make install

Übersicht über die Alfred-Datenstrukturen

Datenblock 158 / alle 5 Minuten? Beispiel Beschreibung
network mac
addresses
mesh_interfaces
mesh <interface> interfaces wireless
exitvpn provider mullvad nur für Gate
country NL nur für Gate
node_id
hostname ffpi-test01
hardware model
nproc 1
owner contact bernd@example.com
location latitude
longitude
altitude Nutzung noch unklar
system site_code ffpi
role node
software fastd enabled
version v17
port 10000
autoupdater enabled
branch stable
batman-adv version 2015.0
compat
firmware base
release
Datenblock 159 / jede Minute? Beschreibung
uptime
memory buffers
cached
total
free
traffic tx packets
dropped
bytes
rx packets
bytes
forward packets
bytes
mgmt_tx packets
bytes
mgmt_rx packets
node_id
rootfs_usage
idletime
gateway
clients wifi
total
processes total
running
loadavg
mesh_vpn groups backbone peers <peername> established
peers Nur Gate, Anzahl fastd VPN Peers

TODO RESTORE

alfred.1484428983.txt.gz · Zuletzt geändert: 14.01.2017 22:23 von havelock