Upgrade OpenWrt One
I decided to upgrade my OpenWrt One WiFi router.
I followed the directions.
- I used
fdisk
on a USB flash drive to create a “W95 FAT32” (type “0b”) partition. - I ran
sudo mkfs.fat /dev/sdb1
on that “W95 FAT32” partition - I mounted the FAT32 partition on Linux:
mnt /dev/sdb1 /mnt/sdb1
- I downloaded and copied
openwrt-mediatek-filogic-openwrt_one-squashfs-sysupgrade.itb
into/mnt/sdb1/
- After unmounting and “ejecting”
/dev/sdb1
, I pulled the power from the OpenWrt One, and plugged the USB flash drive in the front of the OpenWrt One enclosure. - I verified that the switch on the back of the enclosure was set to NAND
- Pressed and held the little black button (labeled Reset) on the back of the enclosure
- Re-inserted the USB-C power cord.
- waited for the LED on the front of the enclosure to go green.
I ended up getting tired of holding the little black Reset button so I set down the OpenWrt One to wait for the LED to turn green. The flash drive had an LED on it, and it quit throbbing after a while, but the OpenWrt One’s red LED kept blinking. I waited a long time, tens of minutes, and it never turned green. Maybe I should have stayed connected via the USB-C serial console. I unplugged and re-inserted the power supply again, and held my breath.
Luckily my OpenWrt One successfully rebooted with new firmware.
Unfortunately, the entire configuration got wiped.
I couldn’t ssh
in to reconfigure, I had to use a USB-C to standard USB cable,
and minicom -D /dev/ttyACM0
on my Linux laptop to get in.
BusyBox v1.37.0 (2024-12-22 10:40:58 UTC) built-in shell (ash)
_______ ________ __
| |.-----.-----.-----.| | | |.----.| |_
| - || _ | -__| || | | || _|| _|
|_______|| __|_____|__|__||________||__| |____|
|__| W I R E L E S S F R E E D O M
-----------------------------------------------------
OpenWrt SNAPSHOT, r28369-33e23e8922
-----------------------------------------------------
OpenWrt recently switched to the "apk" package manager!
The SNAPSHOT is different than the One came from the factory with, so the upgrade worked.
I might have been able to use the “1G” ethernet port to ssh
in,
dropbear
SSH server was running, but I didn’t bother.
I turned on the radios with a series of shell commands.
root@OpenWrt:~# uci set wireless.radio0.country='US'
root@OpenWrt:~# uci set wireless.radio1.country='US'
root@OpenWrt:~# uci set wireless.radio0.disabled='0'
root@OpenWrt:~# uci set wireless.radio1.disabled='0'
root@OpenWrt:~# uci commit wireless
root@OpenWrt:~# wifi reload
I followed my own directions to bridge everything together. Another reboot got the radios on, and both ethernet ports bridged with the radios.
After adding a root password, all of the further work and unsolved questions I had with my initial install are answered.
Set WiFi encryption and secret
I used another set of commands to turn on WPA2 encryption, and set a key.
root@OpenWrt:~# uci set wireless.@wifi-iface[0].ssid="Glomar Challenger"
root@OpenWrt:~# uci set wireless.@wifi-iface[0].encryption=psk2
root@OpenWrt:~# uci set wireless.@wifi-iface[0].key="Deny_Confirm"
root@OpenWrt:~# uci set wireless.@wifi-iface[1].ssid="Glomar Challenger"
root@OpenWrt:~# uci set wireless.@wifi-iface[1].encryption=psk2
root@OpenWrt:~# uci set wireless.@wifi-iface[1].key="Deny_Confirm"
root@OpenWrt:~# uci commit wireless
root@OpenWrt:~# wifi reload
Didn’t even have to reboot for that to take effect.
Set NTP server
I edited file /etc/config/system
, making a piece of it look like this:
config timeserver 'ntp'
option enabled '1'
option enable_server '0'
list server '10.0.0.1' <-- added this line
#list server '0.openwrt.pool.ntp.org' <-- commented out from here
#list server '1.openwrt.pool.ntp.org'
#list server '2.openwrt.pool.ntp.org'
#list server '3.openwrt.pool.ntp.org' <-- to here
Did a reboot, now OpenWrt One uses 10.0.0.1 as it’s NTP server
Using chronyc
on 10.0.0.1, which runs an NTP server,
I can see 10.0.0.67 as an NTP client.