OpenWrt on Ubiquiti NanoStation AC Loco: Settings Not Saving and Reverting to Stock Firmware

Hello everyone,

I'd like to share a problem I'm experiencing.

I followed the instructions on this page to install OpenWrt on my device. Since my device was on version 8.7.4, I used the steps under the "WA v8.7.4 / XC v8.7.4" section on this page.

I installed the following version on my system:

  • WA.v8.7.4.45112

Then, I selected the appropriate firmware from the OpenWrt Snapshots:

I used the following commands to install OpenWrt:

hexdump -Cv /bin/ubntbox | sed 's/14 40 fe 27/00 00 00 00/g' | hexdump -R > /tmp/fwupdate.real
chmod +x /tmp/fwupdate.real
/tmp/fwupdate.real -m /tmp/openwrt-ath79-generic-ubnt_nanostation-ac-loco-squashfs-factory.bin

However, I couldn't access OpenWrt via HTTP. I could only access it via SSH at 192.168.1.1.

The Main Problem:

After accessing via SSH, any settings I make are not saved when the system restarts. Even the root password resets after a reboot.

How can I resolve this issue and properly configure the device?
Also, how can I revert to the stock firmware?

Thank you in advance for your help.

See this post:

1 Like

First of all, thank you for your response. I held down the reset button on my device and powered it on to enter TFTP mode (I released the reset button when I started to get pings from 192.168.1.20). After that, I used TFTP to upload the stock firmware version 8.7.4. I powered on the system and tried to load version 22.3.6 using the method mentioned at the beginning of the discussion, but I received an "invalid version" error.

Then, while following the discussion, I saw someone who downloaded OpenWRT, modified the common-ubnt.mk file, and rebuilt it. When I tried this, the build process took a very long time and didn't complete. I couldn't try this method.

Some people mentioned that it could be loaded via the serial port. What do you suggest I should do?

Thank you.

I always load them with the serial port. It's easy because the case pops open with the release tab on the back. Use the four holes closer to the edge of the board. It is not necessary to solder pins in place, just use a row of 4 and tilt them so they touch the side of the holes.

1 Like

Hello,

If I encounter any problems while flashing via the serial port, can I still load the stock ROM by holding the reset button, or does the serial port flashing erase those components?

Also, could you recommend a reliable source for flashing my device this way?

Thank you.

  1. Firstly, thank you for your recommendations. I managed to perform the installation via the serial port. Here are the steps I followed:
  1. Interrupting the Boot Process:
  • After establishing the connection, the device asks for a key press to interrupt the boot process. Once interrupted, the device stops booting and allows you to enter commands in the shell.
  1. Setting Up TFTP Boot:
  • To send the firmware file via TFTP boot through Ethernet, I configured the necessary settings:
setenv ipaddr 192.168.1.1 # Set the device's IP address

setenv serverip 192.168.1.2 # Set the TFTP server's IP address
  1. Setting Up the TFTP Server:
  1. Transferring the Firmware File to the Device:
  • Using PuTTY, I transferred the firmware file from my computer to the device with the following command:
tftpboot 0x81000000 openwrt-23.05.3-ath79-generic-ubnt_nanostation-ac-loco-initramfs-kernel.bin
  1. Booting the Firmware File:
  • After successfully transferring the file, I booted the firmware file and installed the software on the device with the following command:
bootm 0x81000000
  1. Updating the System:
  1. By following these steps, you can install OpenWrt on your Nanostation AC Loco device.
1 Like

Another hint here is that it is very simple to use an extra OpenWrt router to serve the files. This router should have at least 128 MB RAM since you will be keeping two firmware files on the RAM disk.

  • Start with a default configuration. The only thing connected to this router's LAN will be your PC and the device being flashed.
  • Set LAN IP to 192.168.1.254. This is the default server IP in Ubiquiti bootloader.
  • In the top (config dhcp) section of /etc/config/dhcp, add two lines to set up a TFTP server.
    option enable_tftp '1'
    option tftp_root '/tmp/tftpboot'
  • Restart dnsmasq and note that it has created the /tmp/tftpboot directory. Download the initramfs file and the sysupgrade file to this directory. Give them short names like ram.bin and upgr.bin

  • Create a link so that the upgrade file can be downloaded by http. ln -s /tmp/tftpboot/upgr.bin /www/upgr.bin

  • Now the fun begins. Connect serial to the ubnt device and connect it to the router's LAN port. Interrupt the boot and run these commands:

  • tftpboot 82000000 ram.bin After a short pause you should see hash marks as the file is downloaded.

  • bootm 82000000 OpenWrt will boot. This is a one-time process as it is only in RAM. The flash has not been changed yet. Wait (about a minute) until the final message about eth0 being up appears.

  • sysupgrade http://192.168.1.254/upgr.bin The file should download and flash. Then it will reboot from flash. It takes up to 3 minutes for the jffs filesystem to finish formatting. After that the Nanostation is ready to configure.

If you're a real purist and the router has a USB port, you can also install the serial drivers and picocom on the router, and run the entire process from a ssh session to the router.