OpenWrt One Review: Discover the Futures and Highlights

0

NVMe SSD Installation

The OpenWrt One is equipped with an NVMe Key-M socket PCIe 2.0 slot that supports both 2230 and 2242 cards. Unlike the Banana Pi R3 and R4 router boards, where M.2 sockets are situated on the back of the PCB, the OpenWrt One’s interfaces are conveniently located on the top side. This user-centric design allows for effortless installation of additional cards by simply removing the upper-case cover, significantly reducing assembly time and greatly improving user convenience.

Upgrading to a high-performance 1TB NVMe SSD (Fanxiana S700/ PCIe 4.0)

# Storage devices information
root@OpenWrt:/# fdisk -l
Disk /dev/mtdblock0: 256 KiB, 262144 bytes, 512 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk /dev/mtdblock1: 768 KiB, 786432 bytes, 1536 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk /dev/mtdblock2: 512 KiB, 524288 bytes, 1024 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk /dev/mtdblock3: 12.5 MiB, 13107200 bytes, 25600 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk /dev/ubiblock0_4: 10.17 MiB, 10665984 bytes, 20832 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk /dev/mtdblock4: 1 MiB, 1048576 bytes, 2048 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk /dev/mtdblock5: 255 MiB, 267386880 bytes, 522240 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk /dev/fit0: 4.72 MiB, 4947968 bytes, 9664 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk /dev/nvme0n1: 931.51 GiB, 1000204886016 bytes, 1953525168 sectors
Disk model: Fanxiang S700 1TB
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
# Listing All Block Devices
root@OpenWrt:/# lsblk
NAME MAJ: MIN RM SIZE RO TYPE MOUNTPOINTS
mtdblock0 31:0 0 256K 0 disk
mtdblock1 31:1 0 768K 1 disk
mtdblock2 31:2 0 512K 0 disk
mtdblock3 31:3 0 12.5M 0 disk
mtdblock4 31:4 0 1M 1 disk
mtdblock5 31:5 0 255M 0 disk
ubiblock0_4 254:0 0 10.2M 0 disk
fit0 259:0 0 4.7M 1 disk /rom
nvme0n1 259:1 0 931.5G 0 disk

Verifying the interface bus specifications

OpenWrt One M.2 Bus
OpenWrt One M.2 Interface (Bus Information)
  • Port #0: The port number is 0.
  • Speed 16GT/s: The maximum data transfer speed is 16 gigatransfers per second.
  • Width x4: The link width is 4 lanes.
  • ASPM L1: Active State Power Management L1 mode is supported.
  • Exit Latency L1 <64us: The exit latency for ASPM L1 is less than 64 microseconds.
  • ClockPM- Surprise- LLActRep- BwNot- ASPMOptComp+: Various link capabilities, indicating clock power management, surprise down status, link latency reporting, bandwidth notification, and ASPM optional completion.

Assessing the NVMe SSD Performance

# Checking The Read & Write Speeds (/dev/nvme0n1)

(Using a 1024 Megabyte sample file for the test)
# Testing Read Speeds
fio –name=read_test –rw=read –size=1G –bs=1M –numjobs=1 –runtime=60 –time_based

Starting 1 thread
read_test: Laying out IO file (1 file / 1024MiB)
Jobs: 1 (f=1): [R(1)][100.0%][r=358MiB/s][r=358 IOPS][eta 00m:00s]
read_test: (groupid=0, jobs=1): err= 0: pid=5609: Wed Dec 11 13:59:57 2024
read: IOPS=323, BW=324MiB/s (340MB/s)(19.0GiB/60005msec)
clat (usec): min=1363, max=7168, avg=2768.71, stdev=1268.67
lat (usec): min=1368, max=7174, avg=2773.09, stdev=1268.56
clat percentiles (usec):
| 1.00th=[ 1418], 5.00th=[ 1434], 10.00th=[ 1450], 20.00th=[ 1467],
| 30.00th=[ 1516], 40.00th=[ 1565], 50.00th=[ 2606], 60.00th=[ 3916],
| 70.00th=[ 3949], 80.00th=[ 3982], 90.00th=[ 4047], 95.00th=[ 4146],
| 99.00th=[ 4948], 99.50th=[ 5080], 99.90th=[ 5211], 99.95th=[ 5342],
| 99.99th=[ 6718]
bw ( KiB/s): min=143360, max=374035, per=100.00%, avg=331611.55, stdev=67513.39, samples=119
iops : min= 140, max= 365, avg=323.70, stdev=65.94, samples=119
lat (msec) : 2=49.05%, 4=32.59%, 10=18.36%
cpu : usr=1.92%, sys=65.28%, ctx=16162, majf=0, minf=255
IO depths : 1=100.0%, 2=0.0%, 4=0.0%, 8=0.0%, 16=0.0%, 32=0.0%, >=64=0.0%
submit : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
complete : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
issued rwts: total=19428,0,0,0 short=0,0,0,0 dropped=0,0,0,0
latency : target=0, window=0, percentile=100.00%, depth=1
Run status group 0 (all jobs):
READ: bw=324MiB/s (340MB/s), 324MiB/s-324MiB/s (340MB/s-340MB/s), io=19.0GiB (20.4GB), run=60005-60005msec
Disk stats (read/write):
nvme0n1: ios=29297/4, sectors=39613440/40, merge=0/1, ticks=69359/1, in_queue=69360, util=82.97%

Test Results:
CPU usage: usr=1.92%, sys=65.28%, ctx=16162, majf=0, minf=255
Total data read: 19.0GiB
Current read speed: 358MiB/s
Current Input/Output Operations Per Second: 358 IOPS


————————————————————————————————————————
# Testing Write Speeds
fio –name=write_test –rw=write –size=1G –bs=1M –numjobs=1 –runtime=60 –time_based –end_fs

Starting 1 thread
write_test: Laying out IO file (1 file / 1024MiB)
Jobs: 1 (f=1): [F(1)][100.0%][w=326MiB/s][w=326 IOPS][eta 00m:00s]
write_test: (groupid=0, jobs=1): err= 0: pid=4970: Wed Dec 11 13:49:16 2024
write: IOPS=314, BW=315MiB/s (330MB/s)(18.5GiB/60211msec); 0 zone resets
clat (usec): min=2140, max=72317, avg=2494.04, stdev=921.98
lat (usec): min=2284, max=72574, avg=2713.97, stdev=927.40
clat percentiles (usec):
| 1.00th=[ 2245], 5.00th=[ 2311], 10.00th=[ 2343], 20.00th=[ 2376],
| 30.00th=[ 2376], 40.00th=[ 2409], 50.00th=[ 2442], 60.00th=[ 2474],
| 70.00th=[ 2507], 80.00th=[ 2540], 90.00th=[ 2638], 95.00th=[ 2704],
| 99.00th=[ 3097], 99.50th=[ 4293], 99.90th=[10290], 99.95th=[12911],
| 99.99th=[57934]
bw ( KiB/s): min=49152, max=389120, per=100.00%, avg=323195.94, stdev=93810.18, samples=119
iops : min= 48, max= 380, avg=315.39, stdev=91.63, samples=119
lat (msec) : 4=99.48%, 10=0.42%, 20=0.07%, 50=0.01%, 100=0.02%
cpu : usr=8.35%, sys=89.07%, ctx=13010, majf=0, minf=34
IO depths : 1=100.0%, 2=0.0%, 4=0.0%, 8=0.0%, 16=0.0%, 32=0.0%, >=64=0.0%
submit : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
complete : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
issued rwts: total=0,18938,0,0 short=0,0,0,0 dropped=0,0,0,0
latency : target=0, window=0, percentile=100.00%, depth=1
Run status group 0 (all jobs):
WRITE: bw=315MiB/s (330MB/s), 315MiB/s-315MiB/s (330MB/s-330MB/s), io=18.5GiB (19.9GB), run=60211-60211msec
Disk stats (read/write):
nvme0n1: ios=0/17032, sectors=0/38728200, merge=0/58, ticks=0/707233, in_queue=707251, util=79.58%

Test Results:
CPU usage: usr=8.35%, sys=89.07%, ctx=13010, majf=0, minf=34
Total data written: 18.5GiB
Current write speed: 326MiB/s
Current Input/Output Operations Per Second: 326 IOPS

0 0 votes
Article Rating
Subscribe
Notify of
7 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
nox
1 month ago

It’s a mistake to compare the router with BPI R4.
Compare it with BPI R3. Unfortunately Openwrt One looses in every possible category including price.

cuvtixo
29 days ago
Reply to  androidpimp

no, check out the latest news of TP-Link. This Chinese company has been selling these insecure routers, sometimes at costs lower than what it takes to manufacture. This is truly an alarming issue, certainly consumers in the US have been given unrealistic prices for decent router hardware, and much of our internet infrastructure is based on highly insecure hardware. If you have a TP-Link router, try breaking in with password “1234” it’s scary how simple it can be!

Mike
4 days ago

Links page 2 – 10 are broken!

Mike
4 days ago
Reply to  androidpimp

Working again – thx!

AndroidPIMP
Logo