N.B. This was written from memory, so some steps might be missing/incorrect. Corrections appreciated!
The hidden page for flashing via the embedded webserver doesn't work, but flashing via serial triggered tftp works. This requires a serial to USB adapter (only TX/RX/GND are connected). See here for a pinout.
- Go here to grab the latest U-Boot: https://us.gl-inet.com/forums/topic/ar-300m-upgrade-uboot-to-newer-verions/
1a. Downloading requires a new user registration. It's fairly painless (e-mail addr req'd).
- Install tftp-server (i'm using Fedora, YMMV elsewhere)
2a-Fedora. sudo dnf install tftp-server
2b-Fedora. (keep the .bin's file naming): mv ~/Downloads/uboot_for_gl-ar300m.bin /var/lib/tftpboot
2c-Fedora. (if selinux gives you trouble): sudo restorecon -Rv /var/lib/tftpboot/uboot_for_gl-ar300m.bin
2d-Fedora. sudo systemctl start tftp.service
- Connect an Ethernet adapter and cable to the LAN or WAN port of the GL-AR300M
3a. Change your interface's IP address to 192.168.1.2: sudo ifconfig eth0 192.168.1.2 255.255.255.0
3b. Connect the serial cable (N.B. only connect RX, TX, GND).
-
Start screen at 115200 baud to /dev/ttyUSB0 (look in dmesg to see if this is different):
sudo screen /dev/ttyUSB0 115200
-
Get ready to enter the U-Boot console (start spamming a key).
-
Restart the GL-AR300M
-
The console should pop up.
-
Type
run lu
to execute GL iNet's uboot script to replace u-boot. If tftp isn't working,tcpdump -i $your_interface
might give hints. -
More info on working with u-boot here. And more information about working with the GL-AR300M specifically is here