batman-adv

This one from the WBM2 not needed because of AllNodes-Config-Script


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!

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
}