+
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.
+
+