wikiroute

networking recipes

User Tools

Site Tools


wireless_mesh

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
wireless_mesh [2014/10/18 12:33] – [3- Software Requirements] samerwireless_mesh [2014/10/19 22:03] (current) – [4- Configuring the Wireless Nodes with B.A.T.M.A.N] samer
Line 5: Line 5:
  
 ===== -- Hardware Requirements =====  ===== -- Hardware Requirements ===== 
 +Mesh networking performance is directly related to the number of available radio channels. Particularly, a mesh node with one wireless LAN chipset is able to transmit and receive on a single channel. As a result, a wireless mesh network rarely can fully exploit the aggregate bandwidth available in the radio spectrum provisioned by the standards. For a scientific explanation of this problem, please refer to this [[http://www.ecsl.cs.sunysb.edu/multichannel/ | research team page]].  
 +
 +In order to overcome this problem, we implement in this project low cost multi-channel mesh devices consisting of a wireless router with an additional WLAN adapter. A typical equipment list that can be used for implementing the project is presented in the following:
   * TP-Link [[http://www.tp-link.com/en/products/details/?model=TL-MR3020#spec | MR3020]] wireless router.   * TP-Link [[http://www.tp-link.com/en/products/details/?model=TL-MR3020#spec | MR3020]] wireless router.
   * USB WLAN adapter based on the [[http://www.amazon.com/niceEshop-Wireless-802-11-Adapter-Antenna/dp/B008IZQCGK/ref=pd_bxgy_pc_img_y | Ralink RT5370]] chipset.    * USB WLAN adapter based on the [[http://www.amazon.com/niceEshop-Wireless-802-11-Adapter-Antenna/dp/B008IZQCGK/ref=pd_bxgy_pc_img_y | Ralink RT5370]] chipset. 
Line 11: Line 14:
 ===== -- Installing the Wireless Nodes =====  ===== -- Installing the Wireless Nodes ===== 
  
-Make sure you have the [[http://downloads.openwrt.org/attitude_adjustment/12.09/ar71xx/generic/openwrt-ar71xx-generic-tl-mr3020-v1-squashfs-factory.bin | attitude adjustment]] release of OpenWRT on your TP-LINK MR3020. For more information on how to flash the firmware on your router, please refer to [[makerfaire | this article]]. +Make sure you have the [[http://downloads.openwrt.org/attitude_adjustment/12.09/ar71xx/generic/openwrt-ar71xx-generic-tl-mr3020-v1-squashfs-factory.bin | attitude adjustment]] release of OpenWRT on your TP-LINK MR3020. For more information on how to flash the firmware on your router and take basic control, please refer to [[makerfaire | this article]]. 
-Perform an update of the package list and proceed to install the necessary packages supporting the USB WLAN adapter.+ 
 +Start by updating the package list and installing the necessary packages for the USB WLAN adapter.
  
 <code bash>  <code bash> 
Line 19: Line 23:
 </code> </code>
  
 +[{{ :mr3020-wifi-adapter.jpg?nolink&300 | Figure 1. MR3020 with WLAN adapter }}]
 +
 +Plug the WLAN adapter on the USB port of your routeur and verify that is detected:
 <code bash>  <code bash> 
 root@MeshNode:~# wifi detect root@MeshNode:~# wifi detect
Line 42: Line 49:
 </code>  </code> 
  
 +Now, copy the detected WiFi modules into the wireless configuration of your MR3020.
 <code bash>  <code bash> 
 root@MeshNode:~# wifi detect > /etc/config/wireless     root@MeshNode:~# wifi detect > /etc/config/wireless    
 </code>  </code> 
 +
 +Your wireless configuration file should be similar to the following:
  
 <file autoconf /etc/config/wireless>  <file autoconf /etc/config/wireless> 
Line 84: Line 94:
 </file> </file>
  
 +Check that both antennas are working:
 <code bash>  <code bash> 
 root@MeshNode:~# wifi up root@MeshNode:~# wifi up
Line 90: Line 101:
 Configuration file: /var/run/hostapd-phy1.conf Configuration file: /var/run/hostapd-phy1.conf
 Using interface wlan1 with hwaddr 00:e0:4c:81:88:8a and ssid "OpenWrt2" Using interface wlan1 with hwaddr 00:e0:4c:81:88:8a and ssid "OpenWrt2"
-</code> +</code> 
 + 
 +<WRAP info> 
 +The USB WLAN adapter does not seem to be supported in the latest Barrier Breaker relaease of OpenWRT. Additional packages are installed correctly but the adapter is not detected as a WLAN module. 
 +</WRAP> 
 + 
 +===== -- Configuring the Wireless Nodes with B.A.T.M.A.N=====  
 +Start by installing the B.A.T.M.A.N package on your router: 
 +<code bash> 
 +root@MeshNode:~# opkg install kmod-batman-adv 
 +</code> 
 + 
 +Modify your wireless configuration to activate a mesh interface in ad-hoc mode on radio0, an interface in AP mode on radio1, as in the following: 
 + 
 +<file autoconf /etc/config/wireless> 
 +config wifi-device 'radio0' 
 +      option type 'mac80211' 
 +      option macaddr 'f8:d1:11:bd:62:ce' 
 +      option hwmode '11ng' 
 +      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 txpower '27' 
 +      option country 'US' 
 +      option channel '9' 
 + 
 +config wifi-iface 'wmesh' 
 +      option device 'radio0'   
 +        option mode 'adhoc'      
 +        option ssid 'mesh'                    
 +        option encryption 'none'                         
 +        option network 'mesh'                                  
 +        option ifname 'adhoc0'   
 +        option bssid 'f8:d1:11:bd:62:ce' 
 +                                                 
 +config wifi-device 'radio1' 
 +      option type 'mac80211' 
 +      option channel '5' 
 +      option macaddr '00:e0:4c:81:88:8a' 
 +      option hwmode '11ng' 
 +      option htmode 'HT20' 
 +      list ht_capab 'GF' 
 +      list ht_capab 'SHORT-GI-20' 
 +      list ht_capab 'SHORT-GI-40' 
 +      list ht_capab 'RX-STBC1' 
 + 
 +config wifi-iface 
 +        option device 'radio1' 
 +        option mode 'ap'       
 +        option ssid 'tinode1' 
 +        option encryption 'none' 
 +        option network 'tinet' 
 +</file> 
 + 
 +<WRAP info> 
 +Due to the compatibility problems of the USB WLAN adapters, it is preferable to configure the corresponding radio interface in AP mode and leave the internal chipset of the MR3020 router in ad-hoc mode.   
 +</WRAP> 
 + 
 +Use the following network configuration: 
 + 
 +<file autoconf /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 interface 'lan' 
 +      option type 'bridge' 
 +      option proto 'static' 
 +      option ipaddr '192.168.1.66' 
 +      option netmask '255.255.255.0' 
 +      option gateway '192.168.1.1' 
 +      list dns '192.168.1.1' 
 +      list dns '8.8.8.8' 
 +      option _orig_ifname 'eth0 wlan0 wlan1' 
 +      option _orig_bridge 'true' 
 +      option ifname 'eth0' 
 + 
 +config interface 'mesh' 
 +      option ifname 'adhoc0' 
 +      option mtu '1528' 
 +      option proto 'batadv' 
 +      option mesh 'bat0' 
 + 
 +config interface tinet 
 +      option ifname   bat0 
 +      option type     bridge 
 +      option proto    static 
 +      option ipaddr   11.11.11.1 
 +      option netmask  255.255.255.0 
 +</file> 
 + 
 +Make sure that ''bat0'' interface is declared in ''/etc/config/batman-adv'' as in the following: 
 +<file autoconf /etc/config/batman-adv> 
 +config 'mesh' 'bat0' 
 +      option 'interfaces' 'mesh' 
 +      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' 
 +</file> 
 + 
 +Activate the DHCP server on you acces point interface ''tinet'': 
 +<code bash> 
 +config dhcp 
 +      option start '100' 
 +      option leasetime '12h' 
 +      option limit '150' 
 +      option interface 'tinet' 
 +</code> 
 +Reboot your router, ... 
wireless_mesh.1413628400.txt.gz · Last modified: 2014/10/18 12:33 by samer