OpenWrt One is based on the MediaTek Filogic 820 SoC and has WiFi 6, dual-band, 3×3/2×2, 1x 2.5Gbit WAN, 1x 1Gbit LAN, 1GB DDR4 RAM, 256 MiB NAND, 16 MiB NOR (for recovery), M.2 SSD, USB-C Serial console and USB 2.0.
Schematics, datasheets and the OpenWRT One Howto can be found at https://one.openwrt.org/hardware/
For installation the factory.ubi
, sysupgrade
and raw kernel
image are offered.
In addition, the uboot bl31-uboot.fip
FIP 1), factory.bin
and preloader.bin
are offered in NAND and (stripped down recovery) NOR variants for flashing the respective memories for recovery purposes (see relevant section).
The device will come with a default OEM Stock Firmware complete with LuCI GUI installed.
The device is ready to be configured. Follow the Quick Start Guide
sysupgrade
file:The device will boot from NAND and the bootloader will reflash the kernel and root filesystem on the NAND.
This is similar to the USB Upgrade process, but differs the front button is held instead (and no USB stick needing to be prepared).
The device will now boot a recovery initramfs image
For when the unit does not boot from NAND anymore, there is a failsafe recovery method to boot from NOR. This can be used even if the ATF 2) or bootloader on the NAND are broken. The process is similar to the the NAND recovery boot, except for the NAND/NOR switch being on NOR (and the USB flash drive needing to be prepared):
The NOR recovery system will then factory re-flash the entire NAND memory.
The NOR recovery memory can be re-flashed, too. This is a two step process:
For the second step, the SPI NOR WP jumper must be in place (factory default position) and a TFTP server must be running and connected to the One's LAN port, to serve the new images.
To copy image over UART, the mtk_uartboot
binary needs used.
It can be downloaded from the assets section of the latest Releases.
Select the appropriate archive for your operating system and unpack the mtk_uartboot
binary.
Also download the DDR4 initialization file and NOR BL31/uboot image for later transfer & boot via UART:
For the second step, prepare a TFTP server to listen on 192.168.11.23
(the One will use an IP of 192.168.11.11). The server should be connected to the LAN port of the device and serve NOR images of BL31/uboot, the preloader, and the factory image to be flashed:
The following command can be used to use the downloaded mtk_uartboot
to
copy the boot files and
open a serial console connection using GNU Screen directly thereafter,
s.t., the boot menu recovery can be accessed.
From there, the flashing over TFTP can be initiated. With the router still powered off run on your computer whilst connected through USB-C:
path/to/mtk_uartboot --aarch64 \ --brom-load-baudrate 115200 \ --bl2-load-baudrate 115200 \ -s /dev/ttyACM0 \ -p path/to/mt7981-ram-ddr4-bl2.bin \ -f path/to/openwrt-mediatek-filogic-openwrt_one-nor-bl31-uboot.fip \ && screen /dev/ttyACM0 115200
Note: Replace the path/to
with the correct paths to the downloaded files and
/dev/ttyACM0
with the serial console device of the connection on your host system.
It is usually required to elevate permissions to root
or
to add your user to a member of a group such as uucp
to be able to access the serial devices.
With mtk_uarboot
starting you will see the following output:
mtk_uartboot - 0.1.1 Using serial port: /dev/ttyACM0 Handshake...
Now power on the router and mtk_uartboot
will continue with hw code: 0x7981
and
further logs as it uploads the BL2 and FIP (Firmware Image Package).
After the upload succeeded, GNU Screen should start up and you should see the boot menu.
Make sure to interrupt the boot process by pressing down arrow when the boot menu appears.
Within the boot menu, choose 7. Lock NOR. (Remove jumper afterwards)
.
Note: Successful NOR flashing is slower than when the flashing isn't actually happening.
Once the firmware has been re-flashed the router can be rebooted (and the jumper removed).