Ubiquiti NanoStation 5

NanoStation 5, NanoStation Loco 5, LiteStation 5 and PicoStation 5

The following devices are not NanoStations but these devices use the same image as well. They most probably require snapshot builds.

  • LiteStation 5 - uses openwrt-atheros-ubnt5-squashfs.bin . Steps for flashing are the same as NanoStation 5

Flash like most ubiquiti devices:

Download this image: http://downloads.openwrt.org/backfire/10.03.1-rc4/atheros/openwrt-atheros-ubnt5-squashfs.bin Push the reset button and then plug the power to the device keeping the button pushed. The leds will start blinking red and yellow, you can now release the reset button. Now you can tftp the image to 192.168.1.20

Models of the Ubiquiti NanoStation family are quite similar to each other so the same images and instructions can be used for the listed devices.

Datasheets for all models are available from Ubiquiti.

Hardware

  • Bootloader: RedBoot
  • CPU: Atheros AR2313A
  • CPU Speed: 180 Mhz
  • Flash size: 4 MB (PicoStation 5 - 8 MB)
  • RAM: 16 MB (PicoStation 5 - 32 MB)
  • Wireless: Atheros 802.11a (in AR5112A)
  • Ethernet: 1 port connected to the CPU
  • Power: passive POE (pairs 4,5+; 7,8 return) 12 to 24 VDC (POE injector included in the package)
  • Serial: internal (HE-10 connector, 3.3V)
  • JTAG: yes, internal (solder pads, 3.3V)

This device is an integrated wifi spot designed to be used outdoor. With Ubiquiti Firmware, AirOS 3 actually, it can act as station, station WDS, client, client wds… There is a dual patch antenna system able to work in vertical or horizontal polarity, or to send RF to an external RP-SMA female or SMA female connector (depending of date of manufacturing) - This feature is software selectable with AirOS.

http://ubnt.com/downloads/press_nano.jpg

  • The Nanostation5 and Nanostation5 Loco come with 12V power supply, the internal DC-Converter is realized with a AP1509-33 PWM Control 2A Step-Down Converter. This can handle up to 24V but it is recommended to keep it below 20V, so if you have short cable use 12V and for longer cables 24V. (tested)

also, hardware partically compatibility with D-Link DWL-2100AP

Opening the case

There are two screws under the label on the back. The newer M2 and M5 versions have just one screw under the label and two plastic pins that can be lifted out of their holes by pushing a plastic cable tie end next to them. After removing these, the board can be removed.

unscrewed_ns2.jpg

opening_ns2.jpg

Nano 5 Loco:

Nano 5M Loco:

NanoStation 5:

Serial

pin 1 - vcc
pin 3 - RX
pin 7 - TX
pin 9 - gnd

(9600 8n1)

RedBoot> fconfig
[...]
Local IP address: 192.168.1.20
Local IP address mask: 255.255.255.0
[...]

$ echo -e "\0377\0364\0377\0375\0006" > break
$ nc -vvv 192.168.1.20 9000 < break ; telnet 192.168.1.20 9000

JTAG

pin 1 - TRST  pin 2 - GND
pin 3 - TDI   pin 4 - GND 
pin 5 - TDO   pin 6 - GND
pin 7 - TMS   pin 8 - 3V3
pin 9 - TCK   pin 10 - COLD_RST

JTAG and Serial Headers

Do note that the 10 pin headers used for both JTAG and Serial have a hart-to-hart pin distance, 'pitch', of 2 mm.
Not the common 1/10" / 2.54 mm.

OpenWrt

NanoStation5 are supported by the OpenWrt AtherosPort. It is available as a pre-built image and can be built through buildroot.

Installing

The OpenWrt buildroot generates images that can be directly flashed to the NanoStation, usually with a name like atheros-ubnt5-squashfs.bin (for the NS5 or Loco5).

When flashing those images, the Ubiquiti web interface will show a warning about unsupported third-party firmware. This warning can be ignored.

Upgrading

In order to upgrade from OpenWrt to a newer version, both the kernel mtd and filesystem mtd must be reflashed. The kernel is likely lzma compressed. If either mtd block isn't big enough, reflashing can not be completed through OpenWrt, but must be done through the RedBoot bootloader.

Recent versions of OpenWrt (8.09.2 and newer) support sysupgrade on this platform. To upgrade, put a combined firmware image into /tmp on the device and flash it using the sysupgrade command as outlined below.

cd /tmp
wget http://example.org/openwrt-atheros-combined.img
sysupgrade openwrt-atheros-combined.img

Loading via tftp

This can also be used to upgrade a device if you don't mind loosing your old config.

Requirements

  • Ethernet cable connection between PC and NanoStation. A switched connection or a bridged connection seems to work fine.
  • Network settings of PC: 192.168.1.254/255.255.255.0
  • TFTP client on PC
  • NanoStation firmware file from Ubiquiti (not an OpenWrt image)

Procedure

  1. Turn off the device
  2. Press the reset button
  3. Turn on the device
  4. Release the reset button ~10 seconds (but not longer) after turning the device on. You will know it's ready when the LEDs change.
  5. Ping 192.168.1.20. If it works, you're ready to upload an image, if not, go back to step 1.
  6. tftp the image in binary mode to 192.168.1.20 as 'flash_update'.

tftp 192.168.1.20
tftp> bin
tftp> put openwrt-atheros-ubnt5-squashfs.bin flash_update
Sent 1965199 bytes in 28.8 seconds
tftp> quit

or in Windows Dos prompt

tftp -i 192.168.1.20 put openwrt-atheros-ubnt5-squashfs.bin flash_update

7. Signal LEDs might be blinking during the upgrade. On a Nano5L, the power lights go back and forth. 7. Wait ~7 minutes before restarting or until the power lights stop their back and forth blinking. 7. Restart. The device should be back to its old configuration (OpenWrt doesn't overwrite or modify the NVRAM settings).

8. telnet to 192.168.1.1 and set a password with

passwd

Restore Original AirOS firmware on Nanostation

To restore original firmware back you can't use mtd or sysupgrade but you have to use tftp method.

First put Nanostation in recovery mode via reset button on power on, and then flash original flash image via tftp.

wifi failure, 632nd bit

If wireless does not work with eg. backfire 10.03.1 prebuilt firmware, and you get (in dmesg) "wifi%d: ath_attach failed: -22", then you may need to run the following script by Bill Moffitt. WARNING: This script might brick your router (but it worked for me, User:green, on a NanoStation Loco2).

#!/bin/sh
# By Bill Moffitt - this script puts a zero in the 632nd byte of the appropriate device
#
date >>/etc/firstbootlog
echo "Starting regdomain-script.sh" >>/etc/firstbootlog
partn=`grep boardconfig /proc/mtd |awk '{print $1}' |cut -d: -f1`
byte=$(hexdump -b /dev/$partn |grep 0000270 |awk '{print $9}')
echo "Going to work on partition $partn where regdomain is $byte"
if [ $byte == "000" ]; then
   echo "success" >/tmp/regdomain_success
   exit
fi
if [ $partn -a ! $byte == "000" ]; then
   echo "Setting up regdomain on partition /dev/$partn" >>/etc/firstbootlog
   dd if=/dev/$partn of=/tmp/mtdfile bs=1 count=631 && echo "got the first 631 bytes" >>/etc/firstbootlog
   dd if=/dev/zero bs=1 count=1 >>/tmp/mtdfile && echo "put in the zero" >>/etc/firstbootlog
   dd if=/dev/$partn bs=1 skip=632 >>/tmp/mtdfile && echo "got the rest of the file" >>/etc/firstbootlog
   mtd erase $partn && echo "erased the partition" >>/etc/firstbootlog
   dd if=/tmp/mtdfile of=/dev/$partn 2>>/etc/firstbootlog && echo "Finished flashing partition $partn" >>/etc/firstbootlog
   wait
   sync && echo "Sync succeeded" >>/etc/firstbootlog
   byte=$(hexdump -b /dev/$partn |grep 0000270 |awk '{print $9}')
   if [ $byte -eq "000" ]; then
      echo "regdomain is zero" >>/etc/firstbootlog
      sync &&
      rm /tmp/mtdfile
      date >>/etc/firstbootlog
      echo "done with regdomain" >>/etc/firstbootlog
      echo "success" >/tmp/regdomain_success
   else
      echo "FAIL writing the file back to /dev/$partn - regdomain remains $byte"
   fi
else
   echo "Could not find partition" >>/etc/firstbootlog
fi

Switching antenna

The two internal antennas work more or less automatically, using the driver's "diversity" setting to choose the correct one. Using an external antenna requires manually setting a few things:

sysctl set dev.wifi0.softled 0
gpioctl 7 0

These can be added to an init file in /etc/rc.d and /etc/init.d

In recent OpenWrt versions (8.09.1+) the antenna setting is covered by the wireless configuration. The corresponding option is called antenna and should be set within the wifi-iface section.

uci set wireless.@wifi-iface[0].antenna=mode
uci commit wireless
wifi

Value (mode) Description
vertical Use internal antenna with vertical polarization
horizontal Use internal antenna with horizontal polarization
external Use external antenna port

Some photos on this page © Matt Westervelt and available for use under a Creative Commons license for non-commercial works.

Tags

For some Help with the Tags, please have a look here: tags

NanoStation5 and NanoStation Loco5:

LiteStation5:

PicoStation5:

Back to top

toh/ubiquiti/picostation5.txt · Last modified: 2013/12/30 01:48 by unicorp99