Table of Contents

OpenWrt One

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.

OpenWrt One

Supported Versions

Hardware Highlights

Schematics, datasheets and the OpenWRT One Howto can be found at https://one.openwrt.org/hardware/

Installation

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.

  1. before powering up the device make sure the NAND/NOR switch is set to NAND
  2. connect to the device via Ethernet through 192.168.1.1
  3. power on the device and wait for the green led to go solid indicating the device has booted.
  4. point your browser to 192.168.1.1

The device is ready to be configured. Follow the Quick Start Guide

Upgrading the firmware from USB

  1. prepare a FAT32 formatted USB drive that contains the sysupgrade file:
  2. remove power
  3. insert the USB drive
  4. make sure NAND boot is selected
  5. press and hold the button on the back side
  6. power up the device
  7. wait for the LED to go green

The device will boot from NAND and the bootloader will reflash the kernel and root filesystem on the NAND.

Recovery

Boot into NAND recovery mode

This is similar to the USB Upgrade process, but differs the front button is held instead (and no USB stick needing to be prepared).

  1. remove power
  2. make sure NAND boot is selected
  3. press and hold the button on the front
  4. power up the device

The device will now boot a recovery initramfs image

Boot into NOR/full recovery mode: Flash NAND from USB

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):

  1. prepare a FAT32 formatted USB drive that contains the NAND preloader and the factory image:
  2. remove power
  3. insert the USB drive
  4. make sure NOR boot is selected
  5. press and hold the button on the front side
  6. power up the device
  7. wait for the LED to go green

The NOR recovery system will then factory re-flash the entire NAND memory.

Boot into UART recovery: Flash NOR from TFTP

The NOR recovery memory can be re-flashed, too. This is a two step process:

  1. UART boot: Copy DDR4 initialization and NOR bootloader images to RAM over the UART/serial console connection using mtk_uartboot, and boot from RAM.
  2. NOR flash: Then use the boot menu recovery to re-flash images to NOR from a TFTP server.

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.

Preparation

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:

UART boot

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.

NOR update from TFTP Server

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).

Enclosure

Dimensions: 148 x 100.5 mm - compatible with Banana Pi BPI-R4 case design.

OpenWrt One Enclosure

Notes

Tags

How to add tags

1)
Firmware Initialization Package
2)
ARM Trusted Firmware