Show pagesourceOld revisionsBacklinksBack to top × Table of Contents 802.11s based wireless mesh network Status Config Wireless Hardware Support Using the command line (CLI) Verify Block single peer from meshing More background 802.11s based wireless mesh network 802.11s is an open-source standard for connecting wireless devices without having to set up infrastructure. It operates on Layer 2 and makes sure that all nodes can see each other on a bridged Layer 2 network (as if they were all plugged into a switch). Any Layer 3 infrastructure will work on top of this. An IP router and DHCP clients will work well. More sophisticated infrastructure can be implemented depending upon the use case. (eg Batman, Bird, OLSR etc.) Status 802.11s works reliably with OpenWrt 19.07 and later, including authentication and encryption, assuming that there is hardware/driver support and that wpad-mesh-openssl (or equivalent) has been installed. A possible ARP relay bug was reported that supposedly prevented mesh nodes more than a single hop from each other from converging into a single mesh. This was however a configuration issue where it was not possible to set the mesh_gate_announcements parameter in the wireless config file. This parameter had to be set manually using the iw utility, after startup and again after a network restart. The mesh11sd package is now available to dynamically set and reset mesh parameters using the UCI config. See: The Mesh11sd Project Config It is necessary to remove wpad, depending which one is installed by default: opkg remove wpad-mini opkg remove wpad-basic opkg remove wpad-basic-wolfssl Install dependencies (wpad-mesh-* instead): opkg install wpad-mesh-openssl # or wpad-mesh-wolfssl As of September 2019, wpad-openssl or wpad-wolfssl are also sufficient for 802.11s use and are the full version of wpad. Notes: wpad-basic-wolfssl only has 802.11r and 802.11w support. wpad-mesh-openssl and wpad-mesh-wolfssl only have 802.11r/w and 802.11s support. wpad-openssl and wpad-wolfssl are the full version of wpad and have 802.11k/v/r/w and 802.11s support. The full version of wpad means that nothing was trimmed to reduce its size like the basic or mesh versions. Edit /etc/config/wireless and make sure: radio0 is not disabled radio0 is configured to be compatible on each device that should join the mesh (same channel, same mesh ID, same password) add an iface entry along these lines: config wifi-iface 'mesh' option network 'mesh' option device 'radio0' option mode 'mesh' option mesh_id 'your-mesh-name' # anything, this connects the nodes into one mesh (plus the password if there's any) option encryption 'psk2/aes' # or 'none' option key 'your-secret-password' Note: Access by client devices is achieved by bridging the 'ap' and the 'mesh' interfaces. If you want to run a routing protocol like OLSR on your mesh, disable 802.11s's built-in routing with option mesh_fwding '0' . For a complete list of mesh parameters you can inspect the values of the following variables in mac80211.sh Source: MP_CONFIG_INT MP_CONFIG_BOOL MP_CONFIG_STRING Alternatively, you can issue the command # iw dev <devname> get mesh_param to obtain a list of available mesh parameters, but without documentation. Then reinitialize wifi and see if it worked: # wifi # logread -l 20 -f # iw dev wlan0 station dump Wireless Hardware Support Support for 802.11s (type mesh) depends on wireless driver. Most up to date open source drivers work. Note that some drivers may advertise they support mesh but is not. For example ath10k-ct driver doesn't support it, you should remove both ct module and firmware and install non ct versions to get mesh support. Use the following to determine if your hardware supports 802.11s mesh. iw list | grep "Supported interface modes" -A 9 ... Supported interface modes: * IBSS * managed * AP * AP/VLAN * WDS * monitor * mesh point * P2P-client * P2P-GO ... Example: ath9k in router iw list ... valid interface combinations: * #{ managed, WDS } <= 2048, #{ AP, mesh point } <= 8, #{ P2P-client, P2P-GO } <= 1, #{ IBSS } <= 1, total <= 2048, #channels <= 1, STA/AP BI must match * #{ IBSS, AP, mesh point } <= 1, total <= 1, #channels <= 1, STA/AP BI must match, radar detect widths: { 20 MHz (no HT), 20 MHz } ... Example: ath9k_htc USB Stick iw list ... valid interface combinations: * #{ managed, P2P-client } <= 2, #{ AP, mesh point, P2P-GO } <= 2, total <= 2, #channels <= 1 ... Using the command line (CLI) iw is a nl80211 based CLI configuration utility for wireless devices.Read more... Create a new interface “mesh0” iw phy phy0 interface add mesh0 type mp mesh_id mymesh Confirm that the new interface exists ifconfig -a | grep mesh0 mesh0 Link encap:Ethernet HWaddr 00:18:39:14:48:B5 Bring up your mesh0 interface ifconfig mesh0 up Assign the interface an IP address, e.g. 10.0.0.1 ifconfig mesh0 10.0.0.1 By default, mesh points will use channel 1 and automatically attempt to create peer links with mesh nodes with the same mesh ID and channel. Verify Use the iw command to display peer links or a table of reachable nodes in your mesh iw dev $MESH_IFACE station dump iw dev $MESH_IFACE mpath dump Example: iw dev $MESH_IFACE station dump Station 00:15:6d:84:14:10 (on mesh) inactive time: 1320 ms rx bytes: 352 rx packets: 4 tx bytes: 174 tx packets: 2 signal: -61 dBm tx bitrate: 1.0 MBit/s mesh llid: 32577 mesh plid: 15969 mesh plink: ESTAB Station 00:15:6d:84:14:09 (on mesh) inactive time: 3370 ms rx bytes: 1064 rx packets: 12 tx bytes: 545 tx packets: 7 signal: -53 dBm tx bitrate: 1.0 MBit/s mesh llid: 41036 mesh plid: 24435 mesh plink: ESTAB Block single peer from meshing This may require the iw-full package! Block a peer from meshing using its MAC address iw dev $MESH_IFACE station set $MAC_TO_BLOCK plink_action block Verify using section above (iw dev $MESH_IFACE station dump) mesh plink: BLOCKED Unblock: iw dev $MESH_IFACE station set $MAC_TO_UNBLOCK plink_action open according to this source plink_action is not persisted across reconnects of mesh links. More background good background article from CWNP https://wireless.wiki.kernel.org/en/developers/Documentation/ieee80211/802.11s Open80211s Mailing List This website uses cookies. By using the website, you agree with storing cookies on your computer. Also you acknowledge that you have read and understand our Privacy Policy. If you do not agree leave the website.OKMore information about cookies Last modified: 2022/04/07 15:08by bluewavenet