# OpenWRT One

#### URLs

- [\[OpenWrt Wiki\] OpenWrt One](https://openwrt.org/toh/openwrt/one)
- [\[OpenWrt Wiki\] Quick start guide for OpenWrt installation](https://openwrt.org/docs/guide-quick-start/start)
- [Banana Pi OpenWrt One Router | BananaPi Docs](https://docs.banana-pi.org/en/OpenWRT-One/BananaPi_OpenWRT-One)

#### Hardware

##### Specification

<table border="1" id="bkmrk-soc-mediatek-mt7981b" style="border-collapse: collapse; width: 99.9751%;"><colgroup><col style="width: 22.5311%;"></col><col style="width: 77.4729%;"></col></colgroup><tbody><tr><td>SoC</td><td>MediaTek MT7981B (Filogic 820) dual-core Cortex-A53 processor @ 1.3 GHz</td></tr><tr><td>System Memory</td><td>1GB DDR4</td></tr><tr><td>Storage</td><td>- 256 MB SPI NAND flash for U-boot and Linux
- 16 MB SPI NOR flash for write-protected (by default) recovery bootloader (reflashing can be enabled with a jumper)
- Two types of flash devices are used to make the board almost unbrickable
- M.2 2242/2230 socket for NVMe SSD (PCIe gen 2 x1)

</td></tr><tr><td>Networking</td><td>- 1 x 2.5GbE RJ45 port
- 1 x Gigabit Ethernet RJ45 port
- Dual-band WiFI 6 via MediaTek MT7976C (2×2 2.4 GHz + 3×3/2×2 + zero-wait DFS 5Ghz)
- 3x MMCX antenna connectors

</td></tr><tr><td>USB</td><td>- 1x USB 2.0 Type-A host port
- USB Type-C (device, console) port using Holtek HT42B534-2 UART to USB chip

</td></tr><tr><td>Expansion</td><td>MikroBUS socket for expansion modules</td></tr><tr><td>Debugging</td><td>Console via USB-C port or 3-pin header, 10-pin JTAG/SWD header for main SoC</td></tr><tr><td>RTC</td><td>support RTC onboard</td></tr><tr><td>Misc</td><td>- Reset and User buttons
- Boot select switch: NAND (regular) or NOR (recovery)
- 2x PWM LEDs, 2x Ethernet LED (GPIO driven)
- EM6324 External hardware watchdog
- NXP PCF8563TS (I2C) RTC with battery backup holder for CR1220 coin-cell

</td></tr><tr><td>Power Supply</td><td>- 15V USB-PD on USB-C port
- Optional 802.3at/af PoE via RT5040 module

</td></tr><tr><td>Dimensions</td><td>148 x 100.5 mm compatible with Banana Pi BPI-R4 case design</td></tr><tr><td>Certifications</td><td>FCC/EC/RoHS compliance</td></tr></tbody></table>

##### Interface

[![banna_pi_openwrt_one_interface.jpg](https://osslab.tw/uploads/images/gallery/2025-04/scaled-1680-/banna-pi-openwrt-one-interface.jpg)](https://osslab.tw/uploads/images/gallery/2025-04/banna-pi-openwrt-one-interface.jpg)

#### Installation

##### Firmware Download

- Download1: [https://firmware-selector.openwrt.org/?version=24.10.1&amp;target=mediatek%2Ffilogic&amp;id=openwrt\_one](https://firmware-selector.openwrt.org/?version=24.10.1&target=mediatek%2Ffilogic&id=openwrt_one)
- Download2: [https://downloads.openwrt.org/releases/](https://downloads.openwrt.org/releases/)

##### First Power up

第一次啟動時，每台Openwrt One都會根據目前的製造批次日期更新最新的OpenWrt版本韌體。

1. 在裝置開機之前，請確認 NAND/NOR 開關設定為 NAND
2. 透過乙太網路 192.168.1.1 連接到裝置的 1G 連接埠
3. 開啟裝置電源，等待綠燈亮起表示裝置已開機
4. 將瀏覽器指向 192.168.1.1 來使用 LuCI GUI，或從終端會話透過 `ssh root@192.168.1.1`。

#### FAQ

##### Why are there are 2 different flash chips?

The idea is to make the device (almost!) unbrickable and very easy to recover.

- NAND will hold the main loader (U-Boot) and the Linux image and will be the  
     default boot device
- NOR will be write-protected by default (with WP jumper available on the board) and will hold a recovery bootloader (and other essential data, like Wi-Fi calibration)
- a dedicated boot select switch will allow changing between NOR and NAND

##### What will the M.2 slot be used for?

We will use M.2 with M-key for NVMe storage. There is a work-in-progress patch to make PCIe work inside the U-Boot bootloader. This will allow booting other Linux distributions such as Debian and Alpine directly from NVMe.

##### Why is there no USB 3.x host port on the device?

The USB 3.x and PCIe buses are shared in the selected SoC silicon, hence only a single High-Speed USB port is available

##### What is the purpose of the console USB-C port?

Holtek UART to USB bridge with CDC-ACM support on USB-C makes the device ultra easy to communicate with. No extra hardware or drivers will be required. Android for example has CDC-ACM support enabled by default.

##### What MAC OUI will the device have?

We plan to register an OUI block for OpenWrt which can also be used for other vendor extensions such as Wi-Fi beacon IEs.

##### What is the purpose of the mikroBUS connector?

mikroBUS was chosen as we wanted to make the hardware extendable. There are dedicated pins for UART, SPI, I2C buses and RST/INT signals. The standard uses regular 2.54 mm pitch connectors (you can use available mikroBUS modules or just connect to it something else, with 2.54 mm jumper cables).

##### Why have the RTC on board instead of a mikroBUS module?

We believe there are many things a Wi-Fi (or networking in general) device should have on-board by default. Always having a correct time on the device is crucial in many applications, like VPN, DNSSEC, …