Difference between revisions of "Mesh/Flashing extender nodes"

no edit summary
Line 5: Line 5:
Typically, we use Ubiquiti equipment for our extender nodes. These come with a proprietary firmware called AirOS. Any extender node with version 5.6 of AirOS and above needs to be downgraded to a 5.5.XX version of AirOS version before you can flash it with OpenWRT.  
Typically, we use Ubiquiti equipment for our extender nodes. These come with a proprietary firmware called AirOS. Any extender node with version 5.6 of AirOS and above needs to be downgraded to a 5.5.XX version of AirOS version before you can flash it with OpenWRT.  


First check what version of AirOS your extender node is running, to do this, edit your network settings to reflect the following:
First check what version of AirOS your extender node is running, to do this,  
 
* Edit your network settings to reflect the following:


* Network Manager Method: Manual
* Network Manager Method: Manual
Line 20: Line 22:


* Plug one Ethernet cable into your laptop on one end and into the "LAN" port of the Power-over-Ethernet (PoE) power supply on the other end.
* Plug one Ethernet cable into your laptop on one end and into the "LAN" port of the Power-over-Ethernet (PoE) power supply on the other end.
* Plug another Ethernet cable into your extender node on one end and into the "POE" port of the PoE power supply on the other end.
* Plug another Ethernet cable into your extender node on one end and into the "POE" port of the PoE power supply on the other end.
* Power on the extender node by plugging in the PoE.
 
* Wait for a couple of minutes.
* Power on the extender node by plugging in the PoE and wait for it to boot (may take a few minutes).
* Ensure you're not connected to a wifi network that has an 192.168.1.x IP range. Disconnect/disable your wifi if you're unsure.
 
* In your browser go to http://192.168.1.20
* Make sure you aren't connected to a wifi network that has an 192.168.1.x IP range. Disconnect/disable your wifi if necessary.
 
* In a browser, go to the AirOS web interface at http://192.168.1.20
 
* Log in using the credentials  
* Log in using the credentials  
   username: ubnt  
   username: ubnt  
   password: ubnt
   password: ubnt
* Look at the Firmware information, it may say something like XM.v5.6.6.bin or XW.v5.6.6, based on this download the correct version of AirOS v5.5.10
* Look at the Firmware information, it may say something like XM.v5.6.6.bin or XW.v5.6.6, based on this download the correct version of AirOS v5.5.10


Line 40: Line 47:
|}
|}


* Click the "System" tab.
* Back in the web interface, go to the "System" tab.
* Click the "Browse" button next to the "Upload Firmware" box  
* Click the "Browse" button next to the "Upload Firmware" box  
* Select the firmware image you just downloaded
* Select the firmware image you just downloaded
Line 48: Line 55:
* Let the router finish flashing and wait for it to fully reboot.
* Let the router finish flashing and wait for it to fully reboot.
* After it reboots, you may wanna go back into the web interface to make sure the downgrade was successful before proceeding.
* After it reboots, you may wanna go back into the web interface to make sure the downgrade was successful before proceeding.


XM.v6.0.4 (v6.0.4) firmware version does not appear to be downgradable via the preceding method. Instead you will need to use command-line method as follows,
XM.v6.0.4 (v6.0.4) firmware version does not appear to be downgradable via the preceding method. Instead you will need to use command-line method as follows,
Line 58: Line 64:




== Download the Image File For a Extender Node ==
== Flash the Extender Node ==
Now that you have successfully downgraded the AirOS firmware, we can go ahead with flashing it with our custom build of OpenWRT. Start by downloading our firmware image for your model of extender node,


The extender nodes that we currently support are:
The extender nodes that we currently support are:
Line 65: Line 72:
! Name !! Notes !! OpenWRT Doc !! Firmware Image
! Name !! Notes !! OpenWRT Doc !! Firmware Image
|-
|-
| Ubiquiti Nanostation M2 and M5 || Newer models need [[#Downgrading_to_earlier_AirOS|AirOS downgrade]] before flashing!  Note that this will almost certainly require a USB to Serial connection (see below).|| [https://wiki.openwrt.org/toh/ubiquiti/nanostationm5 OpenWRT Docs] || firmware: [https://builds.sudomesh.org/builds/chaos_calmer/ar71xx.extender-node/openwrt-ar71xx-generic-ubnt-nano-m-squashfs-factory.bin pre 2015 M5 versions and all M2 versions] or [https://builds.sudomesh.org/builds/sudowrt/fledgling/0.2.0/ar71xx.extender-node/openwrt-ar71xx-generic-ubnt-nano-m-xw-squashfs-factory.bin 2015-2016 M5 versions]
| Ubiquiti Nanostation M2 and M5 || Newer models need [[#Downgrading_to_earlier_AirOS|AirOS downgrade]] before flashing!  Note that this will almost certainly require a USB to Serial connection (see below).|| [https://wiki.openwrt.org/toh/ubiquiti/nanostationm5 OpenWRT Docs] || firmware: [https://builds.sudomesh.org/builds/sudowrt/fledgling/0.2.2/ar71xx.extender-node/openwrt-ar71xx-generic-ubnt-nano-m-squashfs-factory.bin pre 2015 M5 versions and all M2 versions] or [https://builds.sudomesh.org/builds/sudowrt/fledgling/0.2.2/ar71xx.extender-node/openwrt-ar71xx-generic-ubnt-nano-m-xw-squashfs-factory.bin 2015-2016 M5 versions]
|-
|-
| Ubiquiti Picostation 2 || Previous generation 802.11g (not the same as M2) || [https://wiki.openwrt.org/toh/ubiquiti/picostation2 OpenWRT Docs] || [https://builds.sudomesh.org/builds/sudowrt/fledgling/0.2.0/ath25.extender-node/openwrt-ath25-ubnt2-pico2-squashfs.bin firmware image]
| Ubiquiti Picostation 2 || Not being built in current firmware release, Previous generation 802.11g (not the same as M2) || [https://wiki.openwrt.org/toh/ubiquiti/picostation2 OpenWRT Docs] || [https://builds.sudomesh.org/builds/sudowrt/fledgling/0.2.2/ath25.extender-node/openwrt-ath25-ubnt2-pico2-squashfs.bin firmware image]
|-
|-
| Ubiquiti Picostation M2 || || [https://wiki.openwrt.org/toh/ubiquiti/picostationm2 OpenWRT Docs] || [https://builds.sudomesh.org/builds/sudowrt/fledgling/0.2.0/ar71xx.extender-node/openwrt-ar71xx-generic-ubnt-bullet-m-squashfs-factory.bin firmware image]
| Ubiquiti Picostation M2 || || [https://wiki.openwrt.org/toh/ubiquiti/picostationm2 OpenWRT Docs] || [https://builds.sudomesh.org/builds/sudowrt/fledgling/0.2.2/ar71xx.extender-node/openwrt-ar71xx-generic-ubnt-bullet-m-squashfs-factory.bin firmware image]
|-
|-
| Ubiquiti Nanobeam M2 and M5 || NBE‑M2‑13 and NBE‑M5‑16 work but some (earlier?) NBE‑M5‑19 have ethernet port issues. Newer models need [[#Downgrading_to_earlier_AirOS|AirOS downgrade]] before flashing! || [https://wiki.openwrt.org/toh/ubiquiti/nanobeam OpenWRT Docs] || [https://builds.sudomesh.org/builds/sudowrt/fledgling/0.2.0/ar71xx.extender-node/openwrt-ar71xx-generic-ubnt-loco-m-xw-squashfs-factory.bin firmware image]
| Ubiquiti Nanobeam M2 and M5 || NBE‑M2‑13 and NBE‑M5‑16 work but some (earlier?) NBE‑M5‑19 have ethernet port issues. Newer models need [[#Downgrading_to_earlier_AirOS|AirOS downgrade]] before flashing! || [https://wiki.openwrt.org/toh/ubiquiti/nanobeam OpenWRT Docs] || [https://builds.sudomesh.org/builds/sudowrt/fledgling/0.2.2/ar71xx.extender-node/openwrt-ar71xx-generic-ubnt-loco-m-xw-squashfs-factory.bin firmware image]
|-
|-
| Ubiquiti Nanobridge M2 and M5 || || Same as pre-2015 Nanostation M || [https://builds.sudomesh.org/builds/sudowrt/fledgling/0.2.0/ar71xx.extender-node/openwrt-ar71xx-generic-ubnt-nano-m-squashfs-factory.bin firmware image]
| Ubiquiti Nanobridge M2 and M5 || || Same as pre-2015 Nanostation M || [https://builds.sudomesh.org/builds/sudowrt/fledgling/0.2.2/ar71xx.extender-node/openwrt-ar71xx-generic-ubnt-nano-m-squashfs-factory.bin firmware image]
|-
|-
| Ubiquiti Bullet M2 and M5 || || [https://wiki.openwrt.org/toh/ubiquiti/bullet OpenWRT Docs] || [https://builds.sudomesh.org/builds/sudowrt/fledgling/0.2.0/ar71xx.extender-node/openwrt-ar71xx-generic-ubnt-bullet-m-squashfs-factory.bin firmware image]
| Ubiquiti Bullet M2 and M5 || || [https://wiki.openwrt.org/toh/ubiquiti/bullet OpenWRT Docs] || [https://builds.sudomesh.org/builds/sudowrt/fledgling/0.2.2/ar71xx.extender-node/openwrt-ar71xx-generic-ubnt-bullet-m-squashfs-factory.bin firmware image]
|}
|}
More firmware images can be found at http://builds.sudomesh.org/builds/sudowrt/fledgling/0.2.2/ar71xx.extender-node/
Also, if you are flashing for practice or testing, you can try using the dev-builds here, http://builds.sudomesh.org/dev-builds/, NOTE: USE WITH CARE, THESE PROVIDE SSH ACCESS WITH A DEFAULT PASSWORD AND SHOULD NOT BE USED FOR DEPLOYMENT NODES


* Configure your wired ethernet interface as instructed in the previous sections
* Plug one Ethernet cable into your laptop on one end and into the "LAN" port of the Power-over-Ethernet (PoE) power supply on the other end.


== Flash the Extender Node ==
* Plug another Ethernet cable into your extender node on one end and into the "POE" port of the PoE power supply on the other end.


* Configure your wired ethernet interface to use IP: 192.168.1.10, subnet: 255.255.255.0
* Plug one Ethernet cable into your laptop on one end and into the "LAN" port of the power-over-ethernet power supply on the other end.
* Plug another Ethernet cable into your node/router on one end and into the "POE" port of the power-over-ethernet power supply on the other end.
* Push a pin into the reset hole and hold it.
* Push a pin into the reset hole and hold it.
* With the pin held down, plug in the power to the power-over-ethernet power supply.
* With the pin held down, plug in the power to the extender node, either by plugging in it's ethernet cable or by powering on the PoE.
* Watch the lights on the antenna - they will all flash together a few times, then they will flash up and down.
 
* Continue holding down the pin, watch the lights on the antenna - they will all flash together a few times and then flash back-and-forth in what is affectionately known as cha-cha mode (or more accurately, TFTP mode).
 
* Once the lights on the antenna are flashing up and down, you can let go of the pin.
* Once the lights on the antenna are flashing up and down, you can let go of the pin.


You should be able to ping the extender at 192.168.1.20.
* You should be able to ping the extender at 192.168.1.20.


   $ ping 192.168.1.20
   $ ping 192.168.1.20
Line 96: Line 107:
   64 bytes from 192.168.1.20: icmp_seq=2 ttl=64 time=0.826 ms
   64 bytes from 192.168.1.20: icmp_seq=2 ttl=64 time=0.826 ms


In your Linux terminal, type:
* Open a terminal (Linux or Mac?) and run the following:


   git clone https://github.com/sudomesh/ubi-flasher
   git clone https://github.com/sudomesh/ubi-flasher
Line 103: Line 114:
   ./flasher.js '<path to firmware>'
   ./flasher.js '<path to firmware>'


The terminal will tell you "The firmware has been successfully sent to the router. In a few seconds, the router should begin flashing its four status LEDs sweeping from left to right, then right to left (or up down, down up). This means that the router is flashing itself with the new firmware. Once the router goes back to having only the power LED lit, the router has been successfully flashed."
* The terminal should return the following,
  The firmware has been successfully sent to the router. In a few seconds, the router should begin flashing its four status LEDs sweeping from left to right, then right to left (or up down, down up). This means that the router is flashing itself with the new firmware. Once the router goes back to having only the power LED lit, the router has been successfully flashed."


Wait until the antenna has only the power LED lit and you're done.
* Wait until the antenna has only the power LED lit and you're done.


Reconfigure your machine with the following static network configuration.
* Reconfigure your machine with the following static network configuration.


* IP Address: 172.22.0.10
* IP address: 172.22.0.10  
* Subnet mask:  255.255.255.0
* Subnet mask:  255.255.255.0
* Gateway: 0.0.0.0
* Gateway: 0.0.0.0
Or use the commands
  sudo ip link set <eth_interface> down
  sudo ip addr add 172.22.0.10/24 dev <eth_interface>
  sudo ip link set <eth_interface> up
where <eth_interface> is the name of your ethernet interface found using `ip addr` (common names include eth0, enp3s0, ...)


See Network Configuration Guides: [https://sudoroom.org/wiki/Mesh/Network%20Configuration%20for%20Linux Linux] [https://sudoroom.org/wiki/Mesh/Network%20Configuration%20for%20MacOS%20X Mac]
See Network Configuration Guides: [https://sudoroom.org/wiki/Mesh/Network%20Configuration%20for%20Linux Linux] [https://sudoroom.org/wiki/Mesh/Network%20Configuration%20for%20MacOS%20X Mac]
Line 123: Line 142:
   64 bytes from 172.22.0.2: icmp_seq=3 ttl=64 time=0.398 ms
   64 bytes from 172.22.0.2: icmp_seq=3 ttl=64 time=0.398 ms


Once configured with our firmware, an extender node will not start broadcasting an SSID until it is plugged into a home node because it must first get a mesh IP address.


== Extender Detection ==
== Extender Detection ==
95

edits