Difference between revisions of "Node Setup"

Jump to navigation Jump to search
(→‎Flashing the Firmware: Transclude instructions for flashing the radio)
 
(3 intermediate revisions by the same user not shown)
Line 83: Line 83:
 
== Flashing the Firmware ==
 
== Flashing the Firmware ==
  
=== Enter Factory Reset Mode ===
+
{{#lst:Ubiquiti UAP AC Mesh|flash-uap-ac-mesh}}
 
 
# Unplug the ethernet from the antenna (This turns it off.)
 
# Use a paper clip to hold in the reset button
 
# Plug the ethernet back in to the antenna, holding the paperclip steady as you do
 
# Continue holding the paper clip until the light on the side of your UAP AC Mesh starts blinking OFF/WHITE/BLUE (should take about 30 seconds)
 
 
 
=== Set Up a Static IP Address ===
 
 
 
# Assign your computer a static IP address of 192.168.1.25/24
 
## '''Windows:''' [https://winaero.com/blog/set-static-ip-address-windows-10/ Setting a static IP address in Windows 10]
 
## '''Mac:''' [https://osxdaily.com/2010/12/17/set-static-ip-address-mac/ Setting a static IP address in OSX]
 
## '''Linux:''' [https://linuxize.com/post/how-to-configure-static-ip-address-on-ubuntu-18-04/#configuring-static-ip-address-on-ubuntu-desktop Setting a static IP address in Ubuntu 18.04 desktop]
 
 
 
=== Downgrade Ubiquiti AirOS ===
 
 
 
Because we are "jailbreaking" the Ubiquiti router, we have to downgrade to an older version of their proprietary firmware first. Using a tool called TFTP, we can do this quite simply.
 
 
 
# Download [https://dl.ui.com/unifi/firmware/U7PG2/3.7.58.6385/BZ.qca956x.v3.7.58.6385.170508.0957.bin version 3.7 of Ubiquiti's AirOS]
 
# Rename the firmware file to <code>firmware.bin</code>, as the device will look for this file name
 
# Launch a command prompt/terminal, and enter the following, one line at a time:
 
<pre>
 
tftp
 
</pre>
 
<pre>
 
tftp> connect 192.168.1.20
 
tftp> binary
 
tftp> rexmt 1
 
tftp> timeout 60
 
tftp> put firmware.bin
 
Sent x bytes in x seconds
 
</pre>
 
The LED will flash at varying speeds, then it will turn solid when complete.
 
 
 
* If you don't see something like what's shown above (maybe your "Transfer timed out.), go back and make sure that the light on the side of your UAP AC Mesh is blinking in the pattern indicated above. If not, start again from [[#Enter Factory Reset Mode]]
 
* If the light is blinking properly, make sure that your static IP address was assigned properly. If not, start again from [[#Set Up a Static IP Address]]
 
* If you are still having trouble transferring firmware to the device, reach out for help in the chatroom. Someone will help you get unstuck.
 
 
 
=== Install the Mass Mesh Firmware ===
 
<ol>
 
<li>
 
Download the latest Mass Mesh radio firmware [https://downloads.massmesh.net/snapshots/images/meshradio/ubnt_unifiac-mesh/openwrt-massmesh-meshradio-ath79-generic-ubnt_unifiac-mesh-squashfs-sysupgrade.bin here.]
 
</li>
 
<li>Statically assign your computer the IP address <code>192.168.1.25</code> (You may already have this complete, if you're following this whole guide start to finish.)
 
    <ul>
 
        <li>See [[#Set Up a Static IP Address]] if needed.</li>
 
    </ul>
 
</li>
 
<li>
 
<b>Open a terminal/command prompt.</b> You will need it in order to copy/paste the commands shown below.
 
</li>
 
<li>Copy the Mass Mesh firmware onto the device:
 
    <ul>
 
        <li> <pre>scp openwrt-ar71xx-generic-ubnt-unifiac-lite-squashfs-sysupgrade.bin ubnt@192.168.1.20:/tmp/</pre></li>
 
    </ul>
 
</li>
 
<li>SSH into the device and log in with the default username and password <code>ubnt / ubnt</code>
 
    <ul>
 
        <li><pre>ssh ubnt@192.168.1.20</pre></li>
 
    </ul>
 
</li>
 
<li>Then write the firmware to <code>kernel0</code> and <code>kernel1</code> by entering the following into the terminal, line by line:
 
    <ul>
 
        <li>
 
            <pre>BZ.v3.7.40# mtd write /tmp/openwrt-ar71xx-generic-ubnt-unifiac-lite-squashfs-sysupgrade.bin kernel0
 
BZ.v3.7.40# mtd -r write /tmp/openwrt-ar71xx-generic-ubnt-unifiac-lite-squashfs-sysupgrade.bin kernel1</pre>
 
        </li>
 
        <li>You should see something like the following:</li>
 
        <li>
 
            <pre>BZ.v3.7.40# mtd write /tmp/openwrt-ar71xx-generic-ubnt-unifiac-lite-squashfs-sysupgrade.bin kernel0
 
Unlocking kernel0 ...
 
Erasing kernel0 ...
 
Writing from /tmp/openwrt-ar71xx-generic-ubnt-unifiac-lite-squashfs-sysupgrade.bin to kernel0 ...  [e/w]
 
 
 
BZ.v3.7.40# mtd -r write /tmp/openwrt-ar71xx-generic-ubnt-unifiac-lite-squashfs-sysupgrade.bin kernel1
 
Unlocking kernel1 ...
 
Erasing kernel1 ...
 
Writing from /tmp/openwrt-ar71xx-generic-ubnt-unifiac-lite-squashfs-sysupgrade.bin to kernel1 ...  [e/w]</pre>
 
        </li>
 
    </ul>
 
</li>
 
<li>Type <code>reboot</code> into the terminal, and hit enter. The radio will now restart. Please wait upwards of 5+ minutes during this "first boot" process. When the device is working properly, you should see a wifi network named "MassMesh.org"
 
</ol>
 
  
 
'''Congratulations!''' You have now installed all the firmware you need. Set the radio aside, and pick up in [[#Assembly]]
 
'''Congratulations!''' You have now installed all the firmware you need. Set the radio aside, and pick up in [[#Assembly]]
Line 179: Line 97:
 
{{Note|You still have to do [[First Time Setup]] in order to access the Internet.}}
 
{{Note|You still have to do [[First Time Setup]] in order to access the Internet.}}
  
# [[First Time Setup]]
+
Once you have followed the [[First Time Setup]] guide, you can continue to the steps below. This is necessary to securely connect your mesh node to the Internet. For more information about how the mesh network(s) work, see [[Network Architecture]].
 +
 
 +
== Connecting to an Internet Gateway ==
 +
{{#lst:First Time Setup|autoygg_firstsetup}}

Latest revision as of 09:42, 13 September 2020

A wireless mesh node consists of a "mesh node," "antenna," and an Internet connection. (Unless you're joining an existing neighborhood network, in which case you will connect to the Internet that way.)
An example wireless mesh node with tags to match up to the diagram. See #Assembly for more details.

In these instructions, we will cover how to deploy a mesh node that is privacy-enabled by default, and allows you to share an Internet connection with your neighbors. The whole setup process takes about 2 hours from start to finish. The necessary hardware is listed below, and instructions for everything from flashing the firmware to placing the antenna are covered.

Preparation

Note: Set yourself up for success, and introduce yourself in one of our chat rooms before you begin. Something will go wrong during the setup process, and it's best to have experienced friends ready to help when it does.

Definitions

  • Mesh Node: A mesh node is the smallest unit on a mesh network. Every mesh node is a router, and is critical for delivering the online traffic of its neighbors. For more details about how mesh networks and neighborhood networks work internally, please see the Network Architecture page.
  • Firmware: Firmware is the first thing that you will install on your mesh node. Firmware is just like the operating system on your computer (Linux, Windows, Mac, etc.) Firmware is what allows us to install applications, manage users, and all the other things you can do on a functioning computer. The firmware that we use on our network is a customized version of OpenWrt.
  • Antenna/Radio: The antenna (or radio) is what allows your mesh node to communicate with other mesh nodes. Our antennas communicate in free spectrum at 2.4Ghz and 5Ghz -- just like the wi-fi in your home or workplace.
  • Router: A router is any computer that is responsible for "routing" information on a network. All the mesh nodes on our network can also be called routers.
  • Gateway: A gateway or gateway server is a computer (usually a big one) that acts as a bridge between two networks. In order to provide a high level of security on our network, all of our mesh nodes reach the Internet through a gateway server. For more details about how mesh networks and neighborhood networks work internally, please see the Network Architecture page.

Considerations

  • Time: about 2 hours
  • Cost: about $150
  • Internet Access: If you do not already have Internet access, you will need to find a neighbor (on your same street) who is willing to set up a mesh node at their home too, and work out a deal to share their Internet connection fairly.
  • Difficulty: The instructions contained on this website are quite technical, and may be incomplete in some places. Most of these instructions were written with Linux users in mind. If you are using another operating system (like Windows or Mac,) some "googling" may be necessary to get through them. As stated above, it's good to have friends. Introduce yourself in any of our chat channels if you want some help getting started!

Materials

Standard Mesh Node

To set up a standard mesh node that broadcasts a secure Internet connection in all directions, you will need to obtain the following equipment:

Custom Mesh Nodes

If you know what kind of hardware you want, and this 'aint it, please see the recommended Hardware Bundles, or browse the full list of Devices.

The steps to get a mesh node up and running are as follows:

  1. Flash the firmware on your mesh node (Raspberry Pi 4 is recommended)
  2. Flash the firmware on your mesh radio (UAP AC Mesh is recommended in most cases)
  3. Assemble the wireless mesh node
  4. Configure a secure Internet gateway connection

Install the Mesh Node Firmware

Materials & Software

Tip: Download and install the appropriate version of the Raspberry Pi Imager for your computer before continuing.


Flashing the Firmware

  1. Download the latest stable version of Mass Mesh's free firmware here
    1. Following along with an Espresso Bin v5? Download your firmware from here instead!
  2. Open the Raspberry Pi Imager (Download and install it from here if you haven't yet.)
  3. Select "Choose OS"
    1. Select "Choose OS"
  4. Scroll to the bottom of the list, and select "Use Custom"
    1. Scroll to the bottom of the list, and select "Use Custom"
  5. Find the Mass Mesh firmware you just downloaded, and select it from the filesystem.
  6. Once you have selected the appropriate firmware, select "Choose SD Card"
    1. Once you have selected the appropriate firmware, select "Choose SD Card"
  7. You should see something like the following. Go ahead and select that card. (You probably only see one, but use the size of the card as a hint if you see several.)
    1. Go ahead and select that card. (You probably only see one, but use the size of the card as a hint if you see several.)
  8. Once you have selected the OS and the SD Card, select "Write." You will see a warning like the one shown below... Go ahead and select "Yes."
    1. Once you have selected the OS and the SD Card, select "Write."
    2. You will see a warning like this... Go ahead and select "Yes."
  9. You should see a screen like the following. Click "Continue," and remove the SD card from your computer.
    1. Click "Continue," and remove the SD card from your computer.
  10. Plug the micro SD card into your Raspberry Pi 4.
    1. Plug in the SD card with the gold side up, like shown here:
    2. Plug in the SD card with the gold side up


Congratulations!!! You have successfully prepared your Raspberry Pi 4b to act as a secure mesh node. Set it aside for now while we prepare the other hardware. We will assemble it at the end in #Assembly.

Troubleshooting/Progress Check

To troubleshoot the install so far, please follow the Mesh Node Troubleshooting guide. That guide will cover how to connect your laptop directly to the mesh node and make sure everything is set up as it should be. This can be helpful on your first install, or when you suspect the antenna (not set up yet) to be causing issues.

Install the Mesh Radio Firmware

The steps to install firmware on the antenna are a bit different than they were for the Raspberry Pi. For one thing, the antenna does not have an SD card. So, we will have to install the firmware by connecting to the antenna with our laptop. Please see page 6 of the "Node Installation Guide" for instructions on plugging in the antenna. After you have followed the instructions there, connect your computer to the port marked "LAN" on your PoE injector. We are now ready to begin installing the firmware.

Materials

Flashing the Firmware

Enter TFTP Mode
  1. Unplug the ethernet from the antenna (This turns it off.)
  2. Use a paper clip to hold in the reset button
  3. Plug the ethernet back in to the antenna, holding the paperclip steady as you do
  4. Continue holding the paper clip until the light on the side of your UAP AC Mesh starts blinking OFF/WHITE/BLUE (should take about 30 seconds)
Set Up a Static IP Address

The next step is to assign your computer a static IP address of 192.168.1.25/24.

  1. Windows: Setting a static IP address in Windows 10
  2. Mac: Setting a static IP address in OSX
  3. Linux: Setting a static IP address in Ubuntu 18.04 desktop
Sending Firmware via TFTP
  1. Download version 3.7 of Ubiquiti's AirOS
  2. Rename the firmware file to firmware.bin, as the device will look for this file name
  3. Launch a command prompt/terminal, and enter the following, one line at a time:
tftp
tftp> connect 192.168.1.20
tftp> binary
tftp> rexmt 1
tftp> timeout 60
tftp> put firmware.bin
Sent x bytes in x seconds


The LED will flash at varying speeds, then it will turn solid when complete. After writing the firmware, the device automatically reboots. This will take a few minutes to complete, and when done the device will be pingeable at 192.168.1.20.

  • The radio will timeout if left in tftp mode for too long. If the transfer is unsuccessful, try power cycling the radio and entering tftp mode again.
  • If you don't see something like what's shown above (maybe your "Transfer timed out.), go back and make sure that the light on the side of your UAP AC Mesh is blinking in the pattern indicated above. If not, start again from #Enter Factory Reset Mode
  • If the light is blinking properly, make sure that your static IP address was assigned properly. If not, start again from #Set Up a Static IP Address
  • If you are still having trouble transferring firmware to the device, reach out for help in the chatroom. Someone will help you get unstuck.

Install the Mass Mesh Firmware

  1. Download the latest Mass Mesh radio firmware here.
  2. Statically assign your computer the IP address 192.168.1.25 (See #Set Up a Static IP Address if needed.)
  3. Open a terminal/command prompt. You will need it in order to copy/paste the commands shown below.
  4. Copy the Mass Mesh firmware onto the device (default password is ubnt):
    • scp openwrt-massmesh-meshradio-ath79-generic-ubnt_unifiac-mesh-squashfs-sysupgrade.bin ubnt@192.168.1.20:/tmp/
  5. SSH into the device and log in with the default username and password ubnt / ubnt
    • ssh ubnt@192.168.1.20
  6. Then write the firmware to kernel0 and kernel1 by entering the following into the terminal, line by line:
    • BZ.v3.7.40# mtd write /tmp/openwrt-massmesh-meshradio-ath79-generic-ubnt_unifiac-mesh-squashfs-sysupgrade.bin kernel0
      BZ.v3.7.40# mtd -r write /tmp/openwrt-massmesh-meshradio-ath79-generic-ubnt_unifiac-mesh-squashfs-sysupgrade.bin kernel1
    • You should see something like the following:
    • BZ.v3.7.40# mtd write /tmp/openwrt-massmesh-meshradio-ath79-generic-ubnt_unifiac-mesh-squashfs-sysupgrade.bin kernel0
      Unlocking kernel0 ...
      Erasing kernel0 ...
      Writing from /tmp/openwrt-massmesh-meshradio-ath79-generic-ubnt_unifiac-mesh-squashfs-sysupgrade.bin to kernel0 ...  [e/w]
      
      BZ.v3.7.40# mtd -r write /tmp/openwrt-massmesh-meshradio-ath79-generic-ubnt_unifiac-mesh-squashfs-sysupgrade.bin kernel1
      Unlocking kernel1 ...
      Erasing kernel1 ...
      Writing from /tmp/openwrt-massmesh-meshradio-ath79-generic-ubnt_unifiac-mesh-squashfs-sysupgrade.bin to kernel1 ...  [e/w]
  7. If the device does not reboot by itself, type reboot into the terminal, and hit enter. The radio will now restart. Please wait upwards of 5+ minutes during this "first boot" process. When the device is working properly, you should see a wifi network named "MassMesh.org"


Congratulations! You have now installed all the firmware you need. Set the radio aside, and pick up in #Assembly

Assembly

To assemble your mesh node, please follow this PDF guide. It can be downloaded for your convenience.

File:New Node Install Guide.pdf

Next Steps

Note: You still have to do First Time Setup in order to access the Internet.

Once you have followed the First Time Setup guide, you can continue to the steps below. This is necessary to securely connect your mesh node to the Internet. For more information about how the mesh network(s) work, see Network Architecture.

Connecting to an Internet Gateway

Mass Mesh runs a public Internet Gateway at the address 200:83a1:3b1a:e7af:4b46:6169:8435:9280. If you would like to use it to connect to the internet, put that address in the autoygg gateway field and click SAVE & APPLY:

The Autoygg settings screen with the Mass Mesh gateway configured.

At this point, the Status page will show you are not connected:

The Autoygg status screen with the Mass Mesh gateway configured, but not connected.

Before you can connect to the internet via the Mass Mesh gateway, one of our volunteers will need to add your node to the accesslist on the gateway server. You can request this in the Mass Mesh AP Hosts chat room. Please provide your Yggdrasil IPv6 address when you do so, which is available on the Yggdrasil node status page:

Your static IPv6 address is unique to your Yggdrasil node, and never changes.

Once your node is added to our accesslist, you can hit the Connect button and if that goes well, the status page will look similar to this:

The Autoygg status screen with the Mass Mesh gateway configured and connected.