BattleMeshV3/NodeConfigScript/Batman here. = batman-adv = '''This one from the WBM2 not needed because of AllNodes-Config-Script''' {{{ #!/usr/bin/bash opkg update opkg install kmod-batman-adv-kernelland set -a HOSTNAME="@PARAM1@" WIRED_IP="@PARAM2@" WIRELESS_IP="@PARAM3@" CHANNEL="@PARAM4@" CELL="@PARAM5@" # setting wireless config DEVICE=`uci get wireless.@wifi-iface[0].device` uci delete wireless.$DEVICE.disabled uci delete wireless.@wifi-iface[0].network #uci delete wireless.@wifi-iface[0].rate uci set wireless.$DEVICE.channel=$CHANNEL uci set wireless.$DEVICE.hwmode=11g uci set wireless.$DEVICE.txpower=20 uci set wireless.@wifi-iface[0].network=wlan uci set wireless.@wifi-iface[0].ssid=wbm_batman uci set wireless.@wifi-iface[0].encryption=none uci set wireless.@wifi-iface[0].bssid=$CELL uci set wireless.@wifi-iface[0].rate=54M uci set wireless.@wifi-iface[0].bgscan=0 uci set wireless.@wifi-iface[0].mode=ahdemo uci set network.wlan=interface uci set network.wlan.proto=static uci set network.wlan.ipaddr=$WIRELESS_IP uci set network.wlan.netmask=255.255.255.0 uci commit wireless && wifi uci commit network #[edit] Configure the daemon # uci set network.batman=interface uci set network.batman.ifname=bat0 uci set network.batman.proto=static uci set network.batman.ipaddr=$WIRELESS_IP uci set network.batman.netmask=255.255.255.0 #uci set network.batman.gateway="" uci set batman-adv-kernelland.general.interface="$DEVICE" ## Enabling syslogging to remote target ## # #uci set system.@system[0].log_ip="$LOG_IP" uci commit reboot exit }}} == start/stop/loglevel config commands == === Enable daemon === {{{ [ -f /etc/init.d/batman-adv-kernelland ] && { /etc/init.d/batman-adv enable /etc/init.d/batman-adv start } || { echo "ERROR: couldn't find batman init scripts, exiting..." exit 1 } }}} === Disable daemon === {{{ [ -f /etc/init.d/batman-adv-kernelland ] && { /etc/init.d/batman-adv stop /etc/init.d/batman-adv disable } }}} === Enable batman-remote-logger === {{{ [ -f /etc/init.d/batman-remote-logger.sh ] && { /etc/init.d/batman-remote-logger.sh enable /etc/init.d/batman-remote-logger.sh start } }}} === Disable batman-remote-logger === {{{ [ -f /etc/init.d/batman-remote-logger.sh ] && { /etc/init.d/batman-remote-logger.sh stop /etc/init.d/batman-remote-logger.sh disable } }}} === Verbose BATMAN log-level === {{{ [ -f /usr/sbin/batctl ] && { batctl ll 3 } }}} === Quiet BATMAN log-level === {{{ [ -f /usr/sbin/batctl ] && { batctl ll 0 } }}} == remote-logger.sh (on each node) WIP, untested yet! == {{{ #!/bin/sh /etc/rc.common START=95 start () { # set up log server for blocking logfiles mkfifo /tmp/batman-adv.log cat << EOF > /tmp/logserver.sh #!/bin/sh while [ 1 ]; do /usr/bin/netcat -l -p 2050 < /tmp/batman-adv.log done EOF # Log-piper cat << EOF > /tmp/log-piper.sh #!/bin/sh while [ 1 ]; do dmesg | batctl l > /tmp/batman-adv.log sleep 3 done EOF chmod 755 /tmp/logserver.sh chmod 755 /tmp/log-piper.sh /tmp/logserver.sh& /tmp/logpiper.sh& } stop () { killall logserver.sh killall log-piper.sh killall netcat rm /tmp/log-piper.sh rm /tmp/logserver.sh rm /tmp/batman-adv.log } }}}