This app was created to make it faster and easier to deploy a basic mesh WiFi network for WireGuard using OpenWRT and batman-adv. The app is powered by Batman-adv (Better Approach To Mobile Adhoc Networking - Advanced) and is designed for seamless integration with TorGuard’s WireGuard apps. However, it can also be used standalone without a VPN.
Mesh WiFi networks are ideal for:
✔ Extending VPN WiFi coverage over large areas
✔ Enhancing connectivity using multiple nodes over WiFi or Ethernet
✔ Improving performance by enabling seamless roaming
✔ Simplifying homelab setups behind WireGuard for managing devices across locations
- Easy server deployment for access point WiFi and backhaul mesh networks
- Supports WPA3 authentication (or open networks)
- Advanced settings: K/V/R, Mobility Domain, RSSI Threshold
- Mesh status dashboard showing Interface, Neighbor Nodes, and Last Seen time
- Client/Node support for DHCP or Static IP & Dumb AP mode
- Auto Firewall & Interface Configuration for Mesh Servers and Clients
- Dumb AP Mesh Nodes can provide Internet access via LAN ports
- Compatible with TorGuard's WireGuard OpenWRT App for VPN-based mesh networks
- Download and install the OpenWRT SDK for your target platform:
git clone https://git.openwrt.org/openwrt/openwrt.git cd openwrt ./scripts/feeds update -a ./scripts/feeds install -a
cd package
git clone https://github.com/torguardvpn/luci-app-easymesh.git
-
Go back to OpenWRT’s root directory:
cd ../
-
Select the package using
make menuconfig
:make menuconfig
- Navigate to
LuCI
→Applications
→luci-app-easymesh
- Select
<M>
to compile it as a module
- Navigate to
-
Compile the package:
make package/luci-app-easymesh/compile V=s
-
Once compiled, the
.ipk
package will be available inbin/packages/.../base/
.
- Download the latest
luci-app-easymesh_3.8.17-r1_all.ipk
from the Releases section. - Navigate to System → Software in OpenWRT's LuCI UI.
- Click Upload Package, select
luci-app-easymesh_3.8.17-r1_all.ipk
, and install it.
opkg update
opkg install /path/to/luci-app-easymesh_3.8.17-r1_all.ipk
- Disable/Delete any active wireless networks in OpenWRT (Go to
Network → Wireless
). - Go to
Network → EasyMesh
- Select "Server" for Mesh Mode.
- Enter your WiFi SSID (This is the main WiFi network all devices will connect to).
- Select the WiFi Radio for the regular AP. (Recommended: Use a different radio than the mesh backhaul for best performance.)
- Select the Mesh Radio and enter a separate SSID. (The app will automatically append
-mesh
to your mesh SSID.) - Enable Password Protection, enter a Mesh Password, and click Save & Apply.
- Click "Reapply EasyMesh Settings" to deploy the APs and activate mesh networking.
🔹 Verify Setup:
- Go to
Network → Wireless
to check that the WiFi networks were added. - Go to
Network → Interfaces
to confirm that the Batman (bat0
) device and (mesh_batman
) interface was added.
- Go to
Network → EasyMesh
on the second router. - Select "Client" for Mesh Mode.
- Enter the same WiFi SSID, Mesh SSID, and Password as the server.
- Ensure you select the same WiFi radio type (AX, AC, b/g/n) for both WiFi SSID and Mesh SSID.
- Click Save & Apply, then click "Reapply EasyMesh Settings".
- Go to
AP Mode
tab and select a hostname (e.g.,node2
,node3
, etc.). - Set to DHCP (recommended for Dumb AP nodes) or configure a Static IP in the same range as your Mesh Server.
- Click Save & Apply, then click "Enable Dumb AP Mode".
- Use the same WiFi SSID, Mesh SSID, and Password for every node.
- Ensure all nodes use the same WiFi radio type (AX, AC, b/g/n).
- Go to
Network → EasyMesh
on the Mesh Server - Go to
Network → Wireless
- Find your Mesh Nodes' IPs in
DHCP Devices
underStatus → Overview
. - Access a node by entering its IP in a browser.
- Go to
Network → TorGuard WireGuard
. - Enter your WireGuard Username & Password.
- Select your preferred WireGuard server location.
- Enable WireGuard and click Save & Apply.
- Click "Start WireGuard" to tunnel all mesh network traffic through the VPN.
No. You can deploy a standard Mesh WiFi network on an OpenWRT router without a VPN in minutes.
You can, but it’s not recommended.
For best performance, use separate radios for each network.
- If running both on the same radio:
- Limitations: Limited channels reduce performance.
- Disable Batman Advanced features: Disable bonding and fragmentation to reduce overhead.
Yes. If using a wired OpenWRT router (x86 device) without mesh support:
- Go to
Network → Interfaces
and manually selectbat0
as the device on themesh_batman
interface.
- If you can't access it via Wifi connect it to your server via LAN cable, then find the node IP under DHCP and connect in a web browser.
- Change settings on each node first.
- Update settings on the Mesh Server last.
- Reapply settings to reconnect all nodes.
🔥 Now your OpenWRT Mesh WiFi is fully set up! 🚀