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:
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?
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.
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?
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.
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
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.
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.