From: Petter Reinholdtsen Date: Sun, 10 Nov 2013 21:57:31 +0000 (+0000) Subject: New post. X-Git-Url: http://pere.pagekite.me/gitweb/homepage.git/commitdiff_plain/b3cc2bb5b75ab0928df82bebaceaaf928d1e3ef1?hp=14a233ac9477f269755af2723a835d90aafe30f0 New post. --- diff --git a/blog/data/2013-11-10-openwrt-tl-mr3040-mesh.txt b/blog/data/2013-11-10-openwrt-tl-mr3040-mesh.txt new file mode 100644 index 0000000000..fee1d55138 --- /dev/null +++ b/blog/data/2013-11-10-openwrt-tl-mr3040-mesh.txt @@ -0,0 +1,122 @@ +Title: Running TP-Link MR3040 as a batman-adv mesh node using openwrt +Tags: english, nuug, mesh network +Date: 2013-11-10 23:00 + +

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.