Location: NodeWorldCup
Date and Time: Saturday, February 9, 2013, Noon to 5pm
Scribe: You
Roll Call: Them



The above is for reference. Russell has pre-flashed the Acctons as far as this. The remainder of the notes indicate the steps needed to install and configure batman-adv on the Accton's to participate in a mesh.

  1. configure Accton:
    1. turn off firewall
      /etc/init.d/firewall disable
    2. turn off dnsmasq
      /etc/init.d/dnsmasq disable
    3. set a password (this will disable telnet, so remember the password you give it!)
    4. edit /etc/config/system to assign a hostname (helps to remind you what device you are logged into)
      config system
              option hostname 'meshnode-11-2'
              option timezone 'PST8PDT'
    5. edit /etc/config/wireless
      vi /etc/config/wireless
      • enable the radio
        # option disabled 1
      • set a unique SSID for the ap mode
        config wifi-iface
                option device   radio0
                option network  lan
                option mode     ap
                option ssid     meshnode-11.2    
                option encryption none
    6. configure network interfaces to either dynamic or static so that you can log in to the device *and* reach package archives on the internets (if dynamic, configure upstream router to provide a consistent ip address)
      vi /etc/config/network
      config interface lan
              option ifname   eth0
              option type     bridge
              option proto    static
              option ipaddr
              option netmask
              option gateway
              option dns
      Note that the SSID in the step above was derived from the static IP address assigned here, that way we can tell what we are connecting to. The network is derived from a the network I was connected to when I did this configuration, we may want to choose 10.11.25.x during the playday, but it should correspond to the network the device is connected to while configuration is performed. It is important to coordinate the IP addresses you are assigning. If you assign a static IP address, please WRITE IT ON THE WHITE BOARD so others can see what is already in use!
    7. reboot
    8. ssh in
      ssh root@
    9. confirm you can get to the internets from the Accton
      ping google.com
    10. fix /etc/opkg.conf, the first line should be this:
      src/gz barrier_breaker http://iris.personaltelco.net/~russell/openwrt/r35525-atheros
    11. update package metadata (the metadata is stored to a RAM-based filesystem, so it must be repeated after a reboot if you want to install more packages)
      opkg update
    12. install batman-adv:
      opkg install kmod-batman-adv
      you should see:
      Installing kmod-batman-adv (3.3.8+2013.0.0-2) to root...
      Downloading http://iris.personaltelco.net/~russell/openwrt/r35525-atheros/kmod-batman-adv_3.3.8+2013.0.0-2_atheros.ipk.
      Installing kmod-lib-crc16 (3.3.8-1) to root...
      Downloading http://iris.personaltelco.net/~russell/openwrt/r35525-atheros/kmod-lib-crc16_3.3.8-1_atheros.ipk.
      Installing kmod-crypto-crc32c (3.3.8-1) to root...
      Downloading http://iris.personaltelco.net/~russell/openwrt/r35525-atheros/kmod-crypto-crc32c_3.3.8-1_atheros.ipk.
      Installing kmod-crypto-hash (3.3.8-1) to root...
      Downloading http://iris.personaltelco.net/~russell/openwrt/r35525-atheros/kmod-crypto-hash_3.3.8-1_atheros.ipk.
      Installing kmod-lib-crc32c (3.3.8-1) to root...
      Downloading http://iris.personaltelco.net/~russell/openwrt/r35525-atheros/kmod-lib-crc32c_3.3.8-1_atheros.ipk.
      Configuring kmod-crypto-hash.
      Configuring kmod-lib-crc16.
      Configuring kmod-crypto-crc32c.
      Configuring kmod-lib-crc32c.
      Configuring kmod-batman-adv.
    13. (optional) install some other useful tools:
      opkg install wireless-tools iwinfo ip
    14. add a mesh interface to /etc/config/wireless:
      config wifi-iface
              option  device  radio0
              option  network mesh        
              option  mode    adhoc                
              option  ssid    ptp-mesh                        
              option  encryption none                               
    15. this interface needs a larger than normal MTU to accomodate the batman-adv wrappers, so add this stanza to /etc/config/network:
      config 'interface' 'mesh'
              option 'proto' 'none'
              option 'mtu' '1528'
    16. insert an "interfaces" line in /etc/config/batman-adv
      config 'mesh' 'bat0'
              option 'interfaces' 'wlan0-1'
              option 'aggregated_ogms'
    17. add bat0 to the lan bridge in /etc/config/network
      config interface lan
              option ifname   "eth0 bat0"
              option type     bridge
    18. logout and disconnect
    19. repeat for next Accton, then plug in power-only to previously configured Accton and see if you can ping it over the mesh
    20. do a happy dance

Note, you should avoid having multiple nodes participating in the same mesh and connected to a common ethernet network at the same time (at least historically), for fear of bridge loops (packets going around in circles until the network melts). If there are multiple teams working on separate meshes, choose different wireless channels (defined in the first stanza of /etc/config/wireless).

Open Questions: