0% found this document useful (0 votes)
15 views

Maxwell mesh documentation

Uploaded by

iabhua
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
15 views

Maxwell mesh documentation

Uploaded by

iabhua
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 5

https://tinyurl.

com/MaxwellMeshDoc

Maxwell Mesh Wifi Documentation


Introduction
This is an open-source mesh wifi system by DrAndyHaas, based on OpenWRT, with all code available here.
There is one "hub" node that connects via an ethernet cable to the internet. The other "satellite" nodes connect to
this hub node, either wirelessly or via wired backhaul connections. They don't need to connect to the hub directly,
but can connect through other mesh nodes. The mesh system figures out, dynamically, the best way to route
ethernet traffic from each mesh node to the others. Clients then connect to the mesh, again either wirelessly or
via wired connections. To them, the mesh looks like one big ethernet switch.

There was a successful CrowdSupply campaign in late 2020. You can also now buy Maxwell nodes on eBay.

For problems, comments, or suggestions, please create an issue on GitHub.

Setup Instructions
1. Set up the main hub node
● Plug in one of the nodes to power and turn it on
● Plug an ethernet cable from the WAN port on the node to a LAN port on your modem (*see Note 1 below)
● It should become the hub within a minute or so, and you can connect via wifi to HaasMeshWifi (pw:
working12345) and load the hub's monitor page at http://192.168.2.1 (no password by default)

2. Set up additional satellite nodes


● Plug in another node to power and turn it on, within wifi range of the hub (*see Note 2 below)
● Once the new satellite node connects to your mesh, it should get a new static IP address (first available
after 192.168.2.1) and show up on the hub's monitor page
● I suggest writing down each new node's IP address and a note about where the node will live, like
"192.168.2.4 - master bedroom"
● Set up additional nodes by repeating this step

3. Change names and passwords (optional)


● From the hub's monitor page, in the "Modify mesh node setup" section:
1. Update the root pw that you use to log in on all nodes (also updates ssh keys)
2. Update the ssid and pw (the one devices will connect to) on all nodes
3. Update the mesh name and pw (the one mesh nodes connect to each other on) on all nodes
Please don't use spaces or other special characters!

4. Connect client devices, and add wired ethernet backhaul (optional)


● Either connect clients wirelessly to the mesh using the SSID and password you set above, or plug them
into a LAN port (not an ethernet backhaul mesh port!) on a mesh node using an ethernet cable
● To add wired ethernet backhaul of mesh data between two mesh nodes, plug an ethernet cable between
ethernet backhaul ports (not LAN ports!) on the nodes

Note 1: There was a bug in the settings for the units shipped from CrowdSupply for the Archer c7 (v2?) dual-band
units. If the WAN port on your Archer c7 does not work, and the node does not become a hub when plugged into
your modem:
● Connect via wifi to HaasMeshNewNode (pw: working12345) and go to the Network/Switch page at
http://192.168.2.19/cgi-bin/luci/admin/network/switch
● Change "off" -> "tagged" for column "CPU (eth0)" for row "VLAN ID 2", then click "Save & Apply"

Note 2: If you've changed the mesh name or password from the default (HaasMesh working12345):
● Connect via wifi to HaasMeshNewNode (pw: working12345) and go to the new node's monitor page at
http://192.168.2.19 (no password by default), and update the mesh name and pw to that of your mesh
● Alternatively, just set the mesh name and pw for the existing mesh back to the defaults temporarily while
you set up new nodes, from the hub's monitor page
● You can also just connect new nodes via ethernet backhaul, by connecting a cable between an ethernet
backhaul port on the new node and an ethernet backhaul port on an existing mesh node

Monitor Page
Mesh nodes and internet connection
Shows current connection status to the internet in the first table, by pinging a couple of internet sites. If the pings
are successful, a green dot is shown, otherwise it's red. The ping times to the sites are also shown.

Shows the known mesh nodes in the second table, and whether mesh monitor data has been seen in the last few
minutes, and also whether pings to each node are currently successful.

These tables refresh automatically every 30 seconds. To stop/restart refreshing, use the button above the tables.

The hub maintains a list of known nodes, even if they are not currently active. Clicking a node's IP address takes
you to the monitor page on that node. To remove a node from this list, click on a red dot on the hub's monitor
page, and confirm to remove the node. It'll be added again automatically whenever it is seen again, or that IP
address can be used when adding a new node.

You can click a green dot to flash an LED on that node on/off 10 times, for 1 second each, so you can identify it.

Test download from internet


Downloads a 10MB file and shows you the output. Useful as a quick test that you can actually access the internet
in a useful way, and gives a very rough sense of download bandwidth.

Speedtest of internet
Does a real speedtest, using Ookla servers, like speedtest.net does. You need to install the speedtest software
first on the node by clicking the "Run" button, then run it again to actually run the speedtest. It's big (requires
some python etc.), about 15MB, so not installed by default, and the script will only install it if there's at least 25 MB
of flash space free.

Bandwidth between me and nodes


Runs an iperf3 check of bandwidth between the node and all others, in each direction.

Super-cool network map


Makes the super-cool network map, which shows the mesh nodes, clients, connections between each, wireless
channels and signal strengths for the connections. Just click the link when it becomes available after hitting the
"Run" button.
Trace of path to each node
Tells you what path through the network is currently taken to get from this node to each other node.

Routing decision table for this node


Shows you all possible paths from this node to each other node, their qualities, and which ones are currently
chosen to be in use.

Tails of mesh node logs


Shows you a tail of the logfile on each node.

Modify mesh node setup


If you run any of these commands on the hub node, it updates all nodes.
Root Login Password: Changes the root login password that's used when logging into each node on the web
interface, or via ssh. It also sets up ssh keys on the nodes so that the hub can ssh/scp to each node without
passwords, which is needed for some actions, so run this first!
Access Point SSID and Password: Updates the SSID and password that clients use to connect to the mesh.
Hidden Mesh Name and Password: Updates the mesh SSID and password that mesh nodes use to connect to
each other via wifi and join the mesh.

Other misc setup


Update these scripts from github: Gets the latest version of the monitor webpage and all backend scripts and
code from github and installs it on the node. If you run this on the hub node, it updates all nodes.
Update the firmware from dropbox: Gets the latest firmware from dropbox for this kind of node and installs it on
the node. If you run this on the hub node, it updates all nodes. It is smart enough to not update the firmware on a
node unless new firmware is available.
Reboot node(s): Reboots the node. If you run this on the hub node, it reboots all nodes. If you want to just reboot
the hub, use the OpenWRT reboot page.
Reset node(s) to factory state: Resets the node to the original state as if you'd just installed the firmware on it
fresh. If you run this on the hub node, it resets all nodes to their factory state.

Rotate Luma ethernet ports: Rotates the behavior of the ethernet ports on the Luma. See "Device details" section
below.

Menu bar at top of page


At the top of the page is a set of drop down menus that come standard in OpenWRT, along with the HaasMesh
custom menu item that takes you back to this monitor page. Explore the other menu items, such as detailed
Status Info, Realtime Traffic, Realtime Connections, Wifi Configuration, Firewall Configuration, etc. OpenWRT is
an infinitely extendable system, and only the basics are installed by default. Peruse the full documentation here.

Device Details
Maxwell has several hardware router models available with different capabilities. All models can be used together
in any combination in the same mesh network.
There are dual-band routers with one 2.4 GHz radio and one 5 GHz radio, and there are tri-band routers with one
2.4 GHz radio and two 5 GHz radios. There is an access point set up on each radio for clients to connect to, all
with the same SSID and password. The mesh is set up on a 5 GHz radio, fixed to channel 149. The other radio(s)
are set to find a channel in their band automatically with the least noise and interference.

The ethernet ports differ a bit between the various hardware models:
● For the Archer A7/C7 and Linksys EA8300:
○ The two eth ports farthest from the WAN port are for eth backhaul (to connect to other eth
backhaul ports on other mesh nodes)
○ The two eth ports closest to the WAN port are for LAN (to provide access for wired clients)
○ The "internet" port is the WAN port (to connect to your modem/internet)
● For the outdoor EW72 node:
○ The "LAN" port (on the left when facing the back of the unit, which is also what the POE ethernet
cable is usually plugged into) is for eth backhaul (and for powering the unit)
○ The "WAN" port (on the right) is for LAN (to provide access for wired clients)
○ There is no WAN port (who has their internet modem outside?!)
○ The usual setup would be like the picture below, with the POE adapter plugged in inside your
Wall AC
house,
Some and the ethernet cable running
other to the node on the outside of
Included your house. You can optionally
power
Maxwell
add node cable from yourPOE
another ethernet adapter
Maxwell mesh to the POE adapter for ethernet backhaul -
otherwise the outdoor node will use wifi to connect to your mesh.
Outdoor node
Eth
backhaul POE LAN LAN WAN

ethernet cable
optional
ethernet cable

● For the Luma:


○ The "out" port is for LAN (to provide access for wired clients) by default
○ The "in" port is the WAN port (to connect to your modem/internet) by default
○ There is no eth backhaul port by default
○ Use the "Rotate Luma ethernet ports" button on the node's monitor page to rotate these
■ running it once would make out:backhaul, in:LAN, no WAN
■ running it again would make out:WAN, in:backhaul, no LAN
■ running it again would make out:LAN, in:WAN, no backhaul (as was the case by default)
● For the Wifi6 Belkin RT3200 / Linksys E8450:
○ The two eth ports farthest from the WAN port (1 and 2) are for LAN (to provide access for wired
clients)
○ The two eth ports closest to the WAN port (3 and 4) are for eth backhaul (to connect to other eth
backhaul ports on other mesh nodes)
○ The "Internet" port is the WAN port (to connect to your modem/internet)

Tips / Troubleshooting:
● Fully unfold/extend all antennae before turning on the node.

● Note that once a new node connects to the hub (or becomes the hub), it stops broadcasting SSID
HaasMeshNewNode and switches to providing HaasMeshWifi by default.

● If a new node is not showing up on the main hub page at http://192.168.2.1, connect via wifi to
HaasMeshNewNode (pw: working12345) and see it at http://192.168.2.19 and debug. For instance, go to
http://192.168.2.19/cgi-bin/luci/admin/network/wireless and check the wifi connection strengths to other
nodes. You need at least a signal strength of -75 dBm (in both directions) for a mesh node to connect.

● All nodes work out the best path to/from all other nodes. The hub does not have to be in the middle. The
only thing special about the hub is that it is the gateway to the outside internet.

● You can ssh to any of the nodes like "ssh [email protected]"

● Make sure to set/change the root pw on all nodes first, using the hub's monitor page. Other commands
rely on the hub being able to ssh smoothly to the nodes.
In case you change them some other way, here's how to remove the password from each node:
○ ssh into each node and execute "passwd -d root"
○ If you don't know how to do that, log in to each node's web page interface
■ Go to system, custom commands from the top bar menu
■ Click the configure tab
■ Add a new command with the line: "passwd -d root"
■ Click save and apply
■ Then go back to the commands tab and execute your new command
○ Once you've removed the pw for all nodes (including the hub), go to the hub monitor page and use
the "set nodes password" box to set the pw for all nodes
○ Then commands from the hub monitor page will work on the nodes securely

● Maxwell mesh uses a subnet of "192.168.2.x" by default. This means your modem upstream connected to
the hub via ethernet must be on a different subnet for routing to work properly. For instance, it should have
an IP address like 192.168.1.1 or 192.168.0.1 or 192.168.10.1, but not anything in the 192.168.2.x range.

● Nodes don't have to be within wireless range of each other if they're connected with ethernet backhaul.

● Hold the reset button 1-5 seconds and then release it to reboot, 6-10 seconds or more for factory reset.

● For the outdoor node, wifi has been seen to crash when N is enabled for 2.4GHz. Switching it to just use
20 MHz fixes it.

You might also like