Difference between revisions of "Mesh/Flashing extender nodes"

no edit summary
Line 63: Line 63:
   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


== Nanostation M2 ==


=== Firmware check failure ===
== Extender Detection ==
 
Log into your home node via SSH, and tail <tt>/var/log/messages</tt>
 
  Sun May  8 00:51:08 2016 daemon.debug notdhcpserver: eth0.3: Physical disconnect detected
  Sun May  8 00:51:08 2016 daemon.debug notdhcpserver: Listening on interface eth0.3:
  Sun May  8 00:51:08 2016 daemon.debug notdhcpserver:  client IP: 100.64.37.3
  Sun May  8 00:51:08 2016 daemon.debug notdhcpserver:  client netmask 26
  Sun May  8 00:51:12 2016 daemon.debug notdhcpserver: eth0.3: Recieved HEARTBEAT for interface that hadn't been ACKed.
  ...
  Sun May  8 00:54:00 2016 daemon.debug notdhcpserver: eth0.3: Recieved HEARTBEAT for interface that hadn't been ACKed.
  Sun May  8 00:54:00 2016 daemon.info hostapd: priv5: STA 80:e6:50:0e:fe:6e WPA: group key handshake completed (RSN)
  Sun May  8 00:54:04 2016 daemon.debug notdhcpserver: eth0.2: Received lease request
  Sun May  8 00:54:04 2016 daemon.debug notdhcpserver: eth0.3: sending response (with ssl certificate)
  Sun May  8 00:54:32 2016 daemon.debug notdhcpserver: eth0.3: Received ACK
  Sun May  8 00:54:32 2016 daemon.debug notdhcpserver: eth0.3: Running up hook script
  Sun May  8 00:54:32 2016 daemon.debug notdhcpserver: eth0.3: Received redundant ACK
  Sun May  8 00:54:32 2016 daemon.debug notdhcpserver: eth0.3: Received redundant ACK
 
There should be a debug message in the log from notdhcpserver concerning the extender node.
 
== Troubleshooting ==
 
=== USB to Serial Connection ===
 
If you experience trouble flashing your device via the web interface, or via the TFTP image upload method, you'll want to establish a serial connection to troubleshoot further. Methods for flashing your device involving a serial connection may become more common as devices adopt configurations to lock down [http://www.networkworld.com/article/3038722/mobile-wireless/manufacturers-start-to-lock-down-wi-fi-router-firmware-thanks-fcc.html wi-fi router firmware] to prevent flashing.
 
The following notes describe steps to interface with a Nanostation M5 (NSM5) via the serial interface.
 
==== Order a USB to Serial Converter ====
 
USB to serial converter devices exist at a cost of $4 - $8 online, with much lower pricing and longer delivery times if ordered from China. Search for "USB to UART TTL", including "5 pin" in the search. Make sure the specifications do not mention anything other than 3.3 volts.
 
==== Connecting to Serial ====
 
You will need to connect the following pins from the converter to the pins on the device.
 
* Ground (GND)
* Serial Out (Transmit / TX)
* Serial In (Receive / RX)
 
Begin by connecting the Ground of the converter to the Ground of the device. Next connect the Transmit/TX of the converter to the Receive/RX of the device, then connect the Receive/RX of the converter to the Transmit/TX of the device.
 
Nanostation M5 (NSM5) Example:
 
[[File:CP2102-usb-to-serial-converter.jpg|400px|KEDSUM® CP2102 Module STC Download Cable USB 2.0 to TTL 6PIN Serial Converter For STC]]
 
[[File:Ubiquity-NSM5-serial-connectors.jpg|400px|Ubiquiti Nanostation NSM5 - Serial pins with connections]]
 
==== Serial Communications Program ====
 
You need to install a serial communication program. Linux users can use Minicom.
 
  sudo apt-get install minicom
 
By default the Minicom program will attempt to use /dev/tty8, and will also attempt to initialize the device (expecting a modem) by default.
 
  $ minicom
  minicom: cannot open /dev/tty8: Permission denied
 
Run the program so that it starts the program on the USB converter that is connected by adding <tt>-D /dev/ttyUSB0</tt>, and specify that it should skip initialization by adding <tt>-o</tt>.
 
You can also specify from the command line that it use the baud rate and '8N1' settings specified below by including <tt>-b 115200 -8</tt>.
 
  sudo minicom -D /dev/ttyUSB0 -o -b 115200 -8
 
In Minicom, CTRL-A to get settings, then Press O, to access settings
 
Go to Serial Port Setup, use these settings:
 
* Set the serial device (should be /dev/tty/USB0)
* Baud Rate (Bits Per Second): 115200
* Settings '8N1' (short hand for 8 bits, no parity, 1 stop bit)
* Turn off hardware and software flow control
 
Reboot the device, and it will let you drop into a command line. You will then have to figure out how to enable the network from the boot loader (Uboot or Redboot) and transfer the firmware to the device to flash it.
 
==== Interupting Boot ====
 
The device will not detect the key you press unless Minicom is configured properly.
 
* To access the Help screen, Press CTRL-A, then press Z.
* To access the configuration/settings, press CTRL-A, then press O.
 
From the configuration window, select to view the 'Serial port setup'
 
  $ sudo minicom -D /dev/ttyUSB0 -o -b 115200 -8
  Welcome to minicom 2.7
 
  OPTIONS: I18n
  Compiled on Jan  1 2014, 17:13:19.
  Port /dev/ttyUSB0, 21:47:56
 
  Press CTRL-A Z for help on special keys
 
              +-----[configuration]------+
              | Filenames and paths      |
              | File transfer protocols  |
              | Serial port setup        |
              | Modem and dialing        |
              | Screen and keyboard      |
              | Save setup as dfl        |
              | Save setup as..          |
              | Exit                    |
              +--------------------------+
 
  +-----------------------------------------------------------------------+
  | A -    Serial Device      : /dev/ttyUSB0                              |
  | B - Lockfile Location    : /var/lock                                |
  | C -  Callin Program      :                                          |
  | D -  Callout Program      :                                          |
  | E -    Bps/Par/Bits      : 115200 8N1                                |
  | F - Hardware Flow Control : Yes                                      |
  | G - Software Flow Control : No                                        |
  |                                                                      |
  |    Change which setting?                                              |
  +-----------------------------------------------------------------------+
 
By default the Hardware Flow Control will be enabled. Press 'F' to disable Hardware Flow Control. Press ENTER to exit the Serial port setup window, and then select EXIT to go back to the program.
 
At this point plug in the Ethernet cable to the 'Main' Ethernet port, with the other end connected to the 'POE' port on the Power Over Ethernet adapter that came with the device. As the device boots up, you'll see output similar to the following.
 
You'll need to make sure to press a key before it boots the default image.
 
=== Picostation M2HP ===
 
Insightful post on [https://www.strugglingcoder.info/index.php/tag/ubnt/ loading FreeBSD image] with help from serial communications. Could be useful with troubleshooting other models.
=== Nanostation M2 ===
==== Firmware check failure ====
 
The following are simply notes. A solution to this issue is still pending.


Flashing the Nanostation M2 (FCC ID: SWX-M2N) using the TFTP rescue mode will result in a Firmware check failure error.
Flashing the Nanostation M2 (FCC ID: SWX-M2N) using the TFTP rescue mode will result in a Firmware check failure error.
Line 144: Line 273:
Attempting to run the same process after performing an official firmware update doesn't resolve the issue.
Attempting to run the same process after performing an official firmware update doesn't resolve the issue.


== Nanostation M5 ==
=== Nanostation M5 ===


=== Firmware check failure ===
==== Firmware check failure ====


Flashing the Nanostation M5 (FCC ID: SWX-NSM5D) using the TFTP rescue mode will result in a Firmware check failure error.
Flashing the Nanostation M5 (FCC ID: SWX-NSM5D) using the TFTP rescue mode will result in a Firmware check failure error.
Line 173: Line 302:
   Firmware check failed! (1)
   Firmware check failed! (1)


==== NSM5 Official Firmware ====
===== NSM5 Official Firmware =====


Official firmware from Ubiquity Nanostation M5 (NSM5)
Official firmware from Ubiquity Nanostation M5 (NSM5)
Line 180: Line 309:
* [http://dl.ubnt.com/firmwares/XW-fw/v5.6.3/XW.v5.6.3.28591.151130.1735.bin airOS for XW board firmware v5.6.3]
* [http://dl.ubnt.com/firmwares/XW-fw/v5.6.3/XW.v5.6.3.28591.151130.1735.bin airOS for XW board firmware v5.6.3]


=== USB to Serial Connection ===
Press a key to during the boot process to make U-Boot drop into the command line.
 
The following notes describe steps to interface with a Nanostation M5 (NSM5) via the serial interface. This may be necessary to manually load firmware onto the device if the web interface or TFTP methods of flashing the firmware become unavailable due to [http://www.networkworld.com/article/3038722/mobile-wireless/manufacturers-start-to-lock-down-wi-fi-router-firmware-thanks-fcc.html manufacturers disabling these methods] of firmware flashing.
 
==== Order a USB to Serial Converter ====
 
USB to serial converter devices exist at a cost of $4 - $8 online, with much lower pricing and longer delivery times if ordered from China. Search for "USB to UART TTL", including "5 pin" in the search. Make sure the specifications do not mention anything other than 3.3 volts.
 
==== Connecting to Serial ====
 
You will need to connect the following pins from the converter to the pins on the device.
 
* Ground (GND)
* Serial Out (Transmit / TX)
* Serial In (Receive / RX)
 
Begin by connecting the Ground of the converter to the Ground of the device. Next connect the Transmit/TX of the converter to the Receive/RX of the device, then connect the Receive/RX of the converter to the Transmit/TX of the device.
 
[[File:CP2102-usb-to-serial-converter.jpg|400px|KEDSUM® CP2102 Module STC Download Cable USB 2.0 to TTL 6PIN Serial Converter For STC]]
 
[[File:Ubiquity-NSM5-serial-connectors.jpg|400px|Ubiquiti Nanostation NSM5 - Serial pins with connections]]
 
==== Serial Communications Program ====
 
You need to install a serial communication program. Linux users can use Minicom.
 
  sudo apt-get install minicom
 
By default the Minicom program will attempt to use /dev/tty8, and will also attempt to initialize the device (expecting a modem) by default.
 
  $ minicom
  minicom: cannot open /dev/tty8: Permission denied
 
Run the program so that it starts the program on the USB converter that is connected by adding <tt>-D /dev/ttyUSB0</tt>, and specify that it should skip initialization by adding <tt>-o</tt>.
 
You can also specify from the command line that it use the baud rate and '8N1' settings specified below by including <tt>-b 115200 -8</tt>.
 
  sudo minicom -D /dev/ttyUSB0 -o -b 115200 -8
 
In Minicom, CTRL-A to get settings, then Press O, to access settings
 
Go to Serial Port Setup, use these settings:
 
* Set the serial device (should be /dev/tty/USB0)
* Baud Rate (Bits Per Second): 115200
* Settings '8N1' (short hand for 8 bits, no parity, 1 stop bit)
* Turn off hardware and software flow control
 
Reboot the device, and it will let you drop into a command line. You will then have to figure out how to enable the network from the boot loader (Uboot or Redboot) and transfer the firmware to the device to flash it.
 
==== Interupting Boot ====
 
The device will not detect the key you press unless Minicom is configured properly.
 
* To access the Help screen, Press CTRL-A, then press Z.
* To access the configuration/settings, press CTRL-A, then press O.
 
From the configuration window, select to view the 'Serial port setup'
 
  $ sudo minicom -D /dev/ttyUSB0 -o -b 115200 -8
  Welcome to minicom 2.7
 
  OPTIONS: I18n
  Compiled on Jan  1 2014, 17:13:19.
  Port /dev/ttyUSB0, 21:47:56
 
  Press CTRL-A Z for help on special keys
 
              +-----[configuration]------+
              | Filenames and paths      |
              | File transfer protocols  |
              | Serial port setup        |
              | Modem and dialing        |
              | Screen and keyboard      |
              | Save setup as dfl        |
              | Save setup as..          |
              | Exit                    |
              +--------------------------+
 
  +-----------------------------------------------------------------------+
  | A -    Serial Device      : /dev/ttyUSB0                              |
  | B - Lockfile Location    : /var/lock                                |
  | C -  Callin Program      :                                          |
  | D -  Callout Program      :                                          |
  | E -    Bps/Par/Bits      : 115200 8N1                                |
  | F - Hardware Flow Control : Yes                                      |
  | G - Software Flow Control : No                                        |
  |                                                                      |
  |    Change which setting?                                              |
  +-----------------------------------------------------------------------+
 
By default the Hardware Flow Control will be enabled. Press 'F' to disable Hardware Flow Control. Press ENTER to exit the Serial port setup window, and then select EXIT to go back to the program.
 
At this point plug in the Ethernet cable to the 'Main' Ethernet port, with the other end connected to the 'POE' port on the Power Over Ethernet adapter that came with the device. As the device boots up, you'll see output similar to the following.
 
You'll need to make sure to press a key before it boots the default image.


   U-Boot 1.1.4-s958 (Jun 10 2015 - 10:56:20)
   U-Boot 1.1.4-s958 (Jun 10 2015 - 10:56:20)
Line 287: Line 321:
   Reset: Normal
   Reset: Normal
   Hit any key to stop autoboot:  0
   Hit any key to stop autoboot:  0
  Hit any key to stop autoboot:  0
   ar7240>  
   ar7240>  


This will cause the [https://wiki.openwrt.org/doc/techref/bootloader/uboot U-Boot] bootloader to drop into a command line.
This will cause the [https://wiki.openwrt.org/doc/techref/bootloader/uboot U-Boot] bootloader to drop into a command line.


==== Running TFTPd ====
===== Running TFTPd =====


Although U-Boot can support two protocols for transfering files, kermit or y-modem, the bootloader does not support the <tt>loadb</tt> or <tt>loady</tt>. Minicom only supports y-modem protocol.
Although U-Boot can support two protocols for transfering files, kermit or y-modem, the bootloader does not support the <tt>loadb</tt> or <tt>loady</tt>. Minicom only supports y-modem protocol.
Line 386: Line 419:
   [  25.660000] done.
   [  25.660000] done.
   [  25.660000] jffs2: notice: (993) jffs2_build_xattr_subsystem: complete building xattr subsystem, 0 of xdatum (0 unchecked, 0 orphan) and.
   [  25.660000] jffs2: notice: (993) jffs2_build_xattr_subsystem: complete building xattr subsystem, 0 of xdatum (0 unchecked, 0 orphan) and.
 
 
    
    
   BusyBox v1.23.2 (2015-11-30 18:48:50 EST) built-in shell (ash)
   BusyBox v1.23.2 (2015-11-30 18:48:50 EST) built-in shell (ash)
Line 409: Line 440:
    
    
   root@sudomesh-node:/#
   root@sudomesh-node:/#
== Picostation M2HP ==
Insightful post on [https://www.strugglingcoder.info/index.php/tag/ubnt/ loading FreeBSD image] with help from serial communications. Could be useful with troubleshooting other models.
== Extender Detection ==
Log into your home node via SSH, and tail <tt>/var/log/messages</tt>
  Sun May  8 00:51:08 2016 daemon.debug notdhcpserver: eth0.3: Physical disconnect detected
  Sun May  8 00:51:08 2016 daemon.debug notdhcpserver: Listening on interface eth0.3:
  Sun May  8 00:51:08 2016 daemon.debug notdhcpserver:  client IP: 100.64.37.3
  Sun May  8 00:51:08 2016 daemon.debug notdhcpserver:  client netmask 26
  Sun May  8 00:51:12 2016 daemon.debug notdhcpserver: eth0.3: Recieved HEARTBEAT for interface that hadn't been ACKed.
  ...
  Sun May  8 00:54:00 2016 daemon.debug notdhcpserver: eth0.3: Recieved HEARTBEAT for interface that hadn't been ACKed.
  Sun May  8 00:54:00 2016 daemon.info hostapd: priv5: STA 80:e6:50:0e:fe:6e WPA: group key handshake completed (RSN)
  Sun May  8 00:54:04 2016 daemon.debug notdhcpserver: eth0.2: Received lease request
  Sun May  8 00:54:04 2016 daemon.debug notdhcpserver: eth0.3: sending response (with ssl certificate)
  Sun May  8 00:54:32 2016 daemon.debug notdhcpserver: eth0.3: Received ACK
  Sun May  8 00:54:32 2016 daemon.debug notdhcpserver: eth0.3: Running up hook script
  Sun May  8 00:54:32 2016 daemon.debug notdhcpserver: eth0.3: Received redundant ACK
  Sun May  8 00:54:32 2016 daemon.debug notdhcpserver: eth0.3: Received redundant ACK
There should be a debug message in the log from notdhcpserver concerning the extender node.
128

edits