Continuing my research into mesh networking, I was recommended to +use TP-Link 3040 and 3600 access points as mesh nodes, and the pair I +bought arrived on Friday. Here are my notes on how to set up the +MR3040 as a mesh node using +OpenWrt.
+ +I started by following the instructions on the OpenWRT wiki for +TL-MR3040, +and downloaded +the +recommended firmware image +(openwrt-ar71xx-generic-tl-mr3040-v2-squashfs-factory.bin) and +uploaded it into the original web interface. The flashing went fine, +and the machine was available via telnet on the ethernet port. After +logging in and setting the root password, ssh was available and I +could start to set it up as a batman-adv mesh node.
+ +I started off by reading the instructions from +Wireless +Africa, which had quite a lot of useful information, but +eventually I followed the recipe from the Open Mesh wiki for +using +batman-adv on OpenWrt. A small snag was the fact that the +opkg install kmod-batman-adv command did not work as it +should. The batman-adv kernel module would fail to load because its +dependency crc16 was not already loaded. I +reported the bug to +the openwrt project and hope it will be fixed soon. But the problem +only seem to affect initial testing of batman-adv, as configuration +seem to work when booting from scratch.
+ +The setup is done using files in /etc/config/. I did not bridge +the Ethernet and mesh interfaces this time, to be able to hook up the +box on my local network and log into it for configuration updates. +The following files were changed and look like this after modifying +them:
+ +/etc/config/network
+ ++ +config interface 'loopback' + option ifname 'lo' + option proto 'static' + option ipaddr '127.0.0.1' + option netmask '255.0.0.0' + +config globals 'globals' + option ula_prefix 'fdbf:4c12:3fed::/48' + +config interface 'lan' + option ifname 'eth0' + option type 'bridge' + option proto 'dhcp' + option ipaddr '192.168.1.1' + option netmask '255.255.255.0' + option hostname 'tl-mr3040' + option ip6assign '60' + +config interface 'mesh' + option ifname 'adhoc0' + option mtu '1528' + option proto 'batadv' + option mesh 'bat0' ++ +
/etc/config/wireless
++ +config wifi-device 'radio0' + option type 'mac80211' + option channel '11' + option hwmode '11ng' + option path 'platform/ar933x_wmac' + option htmode 'HT20' + list ht_capab 'SHORT-GI-20' + list ht_capab 'SHORT-GI-40' + list ht_capab 'RX-STBC1' + list ht_capab 'DSSS_CCK-40' + option disabled '0' + +config wifi-iface 'wmesh' + option device 'radio0' + option ifname 'adhoc0' + option network 'mesh' + option encryption 'none' + option mode 'adhoc' + option bssid '02:BA:00:00:00:01' + option ssid 'meshfx@hackeriet' ++
/etc/config/batman-adv
++ +config 'mesh' 'bat0' + option interfaces 'adhoc0' + option 'aggregated_ogms' + option 'ap_isolation' + option 'bonding' + option 'fragmentation' + option 'gw_bandwidth' + option 'gw_mode' + option 'gw_sel_class' + option 'log_level' + option 'orig_interval' + option 'vis_mode' + option 'bridge_loop_avoidance' + option 'distributed_arp_table' + option 'network_coding' + option 'hop_penalty' + +# yet another batX instance +# config 'mesh' 'bat5' +# option 'interfaces' 'second_mesh' ++ +
The mesh node is now operational. I have yet to test its range, +but I hope it is good. I have not yet tested the TP-Link 3600 box +still wrapped up in plastic.
+ +