Tag: openwrt

  • Banana Pi BPI-R4 with Official OpenWrt 25 Firmware – 10GbE and WiFi 7 MLO Performance Testing

    Banana Pi BPI-R4 with Official OpenWrt 25 Firmware – 10GbE and WiFi 7 MLO Performance Testing

    The Banana Pi BPI-R4 is one of the most interesting networking platforms currently supported by OpenWrt. Powered by the MediaTek MT7988A quad-core Cortex-A73 processor, dual 10GbE SFP+ ports, and optional WiFi 7 expansion modules, it offers impressive hardware specifications at a relatively affordable price.

    In this article, I installed the latest official OpenWrt 25 release on the BPI-R4 and evaluated its wired and wireless performance. The goal was to compare the experience with the stock firmware and identify any issues that users may encounter when deploying OpenWrt on this platform.

    Test Setup

    For this evaluation, I used the following hardware:

    Router

    • Banana Pi BPI-R4
    • BPI-R4-NIC-BE14 WiFi 7 module

    Client Device

    • Windows 11 PC
    • Intel BE200 WiFi 7 adapter
    • Mellanox ConnectX-3 10GbE network card

    Network Infrastructure

    • 10 Gigabit Ethernet Switch
    • Linux server running OpenSpeedTest and iperf3

    The router was flashed with the latest official OpenWrt 25 image using Rufus and booted directly from a microSD card.

    After the initial boot, I configured a root password, disabled automatic firmware checking, and assigned the WAN interface to the SFP-WAN port while keeping the SFP-LAN port connected to the LAN network.

    For all routing tests, Packet Steering was enabled with 128 steering flows and Software Offloading remained disabled.

    WAN-to-LAN Performance Testing

    One of the most important capabilities of the BPI-R4 is its dual 10GbE connectivity. Naturally, this was the first area I wanted to test.

    The test setup was straightforward:

    Linux Server → 10GbE Switch → SFP-WAN → BPI-R4 → SFP-LAN → PC

    CPU utilization was monitored using btop while throughput measurements were performed with iperf3.

    First Test: 4 Parallel Streams

    Running iperf3 with four parallel streams resulted in approximately 3.48 Gbps throughput.

    While this result is not terrible, what immediately caught my attention was CPU utilization. Almost all traffic processing was handled by Core 0, while the remaining three cores remained mostly idle.

    Considering Packet Steering was enabled, I expected the workload to be distributed more evenly across all CPU cores.

    Second Test: 16 Parallel Streams

    Increasing the number of streams to sixteen surprisingly reduced performance.

    Throughput dropped to approximately 2.74 Gbps, while Core 0 remained fully loaded.

    The remaining CPU cores showed only minimal activity, typically between 10% and 15%.

    Alternative LAN Configuration

    I also tested a simplified LAN setup by assigning the LAN network directly to the SFP-LAN interface instead of using the default bridge configuration.

    Unfortunately, the results remained largely unchanged, fluctuating between 2.5 and 2.75 Gbps.

    Comparison with Stock Firmware

    These numbers became even more interesting when compared with my previous testing using the factory firmware supplied by Banana Pi.

    Using the same hardware setup, the stock firmware achieved approximately 9.16 Gbps WAN-to-LAN throughput.

    This suggests that either OpenWrt 25 is currently missing some optimizations, or there may be an issue with packet steering, driver behavior, or hardware acceleration.

    At this stage, I do not have a definitive answer, but it is certainly an area worth further investigation.

    WiFi 7 Testing

    For wireless testing, I installed the BPI-R4-NIC-BE14 module and connected using an Intel BE200 WiFi 7 adapter running the latest available driver.

    The client PC was positioned approximately one meter away from the access point with direct line of sight.

    Initial Problem: WiFi Not Working

    After installing OpenWrt 25, the MT7966E chipset was detected correctly and all three radios appeared in LuCI.

    However, I quickly discovered that none of the configured SSIDs would start.

    I tested multiple configurations:

    • WiFi 7 (BE)
    • WiFi 6 (AX)
    • WiFi 5 (AC)
    • WPA2 and WPA3 security
    • Different channels and bandwidth settings

    Nothing worked.

    The maximum transmit power was limited to only 7 dBm, which immediately suggested something was wrong.

    Fortunately, this issue is already known within the OpenWrt community.

    After applying the recommended Device Tree Overlay workaround and rebooting the router, transmit power returned to normal levels and wireless functionality was restored.

    WiFi 7 Performance on 6 GHz

    160 MHz Channel Width

    The first test used:

    • 6 GHz band
    • Channel 37
    • 160 MHz bandwidth
    • WPA3-SAE security

    Windows reported a link speed of approximately 2882 Mbps.

    Running OpenSpeedTest produced excellent results:

    • Download: approximately 1782 Mbps
    • Upload: approximately 1849 Mbps

    Multiple test runs produced very similar results.

    Interestingly, iperf3 throughput was slightly lower, reaching around 1.6 Gbps with eight parallel streams.

    320 MHz Channel Width

    Next, I increased the bandwidth to 320 MHz.

    Windows immediately reported much higher link rates, reaching 5.1 Gbps receive and 3.6 Gbps transmit.

    Unfortunately, real-world performance told a different story.

    OpenSpeedTest results dropped dramatically:

    • Download: approximately 774 Mbps
    • Upload: approximately 897 Mbps

    iperf3 results were similarly disappointing.

    At least in my test environment, 320 MHz operation performed significantly worse than 160 MHz.

    WiFi 7 Performance on 5 GHz

    Moving to the 5 GHz band, I configured:

    • Channel 60
    • 160 MHz bandwidth
    • WiFi 7 mode

    The results were very impressive.

    OpenSpeedTest consistently delivered:

    • Download: approximately 1.6 Gbps
    • Upload: approximately 1.7 Gbps

    Compared to the 6 GHz results, the difference was only around 100 to 150 Mbps.

    I also attempted to use 320 MHz bandwidth on 5 GHz, but the SSID completely disappeared from client devices. This may be related to regulatory limitations or DFS restrictions.

    WiFi 7 Performance on 2.4 GHz

    Testing the 2.4 GHz radio in WiFi 7 mode produced more modest but still respectable results.

    Using a 40 MHz channel width, OpenSpeedTest achieved:

    • Download: approximately 205 Mbps
    • Upload: approximately 125 Mbps

    Considering how crowded the 2.4 GHz spectrum typically is, these results are perfectly acceptable.

    Testing Multi-Link Operation (MLO)

    One of the headline features of WiFi 7 is Multi-Link Operation (MLO), which allows multiple radios to work together under a single connection.

    OpenWrt 25 includes early support for this feature, so naturally I wanted to test it.

    First Attempt

    My initial configuration combined:

    • 5 GHz @ 160 MHz
    • 6 GHz @ 320 MHz

    The MLO SSID was visible and clients could connect.

    However, diagnostic information showed that only the 5 GHz radio was actually participating in the MLO group.

    Second Attempt

    After reducing the 6 GHz radio to 160 MHz, MLO started working correctly.

    Both radios appeared active and Windows reported simultaneous connectivity on both frequency bands.

    The reported link speed was approximately 2882 Mbps / 2882 Mbps.

    MLO Performance Results

    OpenSpeedTest produced:

    • Download: approximately 1.8 Gbps
    • Upload: approximately 2.0 Gbps

    iperf3 achieved:

    • Up to 1.87 Gbps in the forward direction
    • Around 1.5 Gbps in reverse mode

    These were the best wireless results recorded during all testing.

    MLO Stability Issues

    Although MLO was functional, I did encounter stability problems.

    After approximately 10 to 15 minutes of operation, the client would lose connectivity to the router.

    The WiFi connection remained associated, but traffic stopped flowing and the gateway could no longer be reached.

    The only reliable solution was disabling and re-enabling WiFi on the client device.

    Whether this issue originates from OpenWrt, the MediaTek driver, Intel’s BE200 driver, or my own configuration remains unclear.

    Further testing will be required.

    Final Thoughts

    Based on my initial testing, OpenWrt 25 on the Banana Pi BPI-R4 is already very usable, but there are still several rough edges.

    The WiFi 7 implementation is surprisingly capable, especially when operating at 160 MHz on both 5 GHz and 6 GHz bands. MLO support is also promising, although stability improvements are clearly needed.

    The biggest concern at the moment is wired routing performance. Achieving only around 2.5–3.5 Gbps when the stock firmware can exceed 9 Gbps suggests there is still work to be done somewhere in the software stack.

    Nevertheless, the BPI-R4 remains one of the most exciting OpenWrt platforms currently available, and I expect performance and stability to improve significantly as OpenWrt development continues.

    If you are running OpenWrt 25 on a BPI-R4 and have achieved better results, feel free to share your configuration and findings. I would be very interested to compare notes and continue investigating these issues.

  • Upgrading My PC’s Wireless Card from Intel AX210 to Intel BE200 (WiFi 7)

    Upgrading My PC’s Wireless Card from Intel AX210 to Intel BE200 (WiFi 7)

    In preparation for upcoming WiFi 7 device reviews, I have upgraded my desktop’s wireless card from the Intel AX210 WiFi 6E to the Intel BE200 WiFi 7 module. For everyday usage, the differences are modest, but this upgrade is essential for accurate testing with next-generation wireless equipment.

    Wi-Fi 6E
    Intel AX210
    Wi-Fi 7
    Intel BE200
    TX/RX Streams2×22×2
    Bands2.4, 5, 6 GHz (160MHz)2.4GHz, 5GHz and 6GHz
    Max Speed2.4 Gbps5.8 Gbps (320MHz,4096QAM)
    Real Life Speed (tested by me)2.4Gbps
    (GL-MT6000)
    2.9Gbps
    (BPI R4)
    StabilityGoodNot really

    Installation Overview

    My system is powered by the MSI MAG B460M MORTAR motherboard, which does not include an M.2 Key-E slot for wireless modules. To accommodate the BE200, I used a PCIe-to-M.2 adapter.

    The adapter is very popular on marketplaces including Amazon, eBay, AliExpress, etc.

    The installation process is straightforward:

    • Remove the adapter from the PC (make sure you disconnect the AC power before doing that)
    • Remove the Intel AX210 from the adapter.
    • Install the new BE200 module and tighten the mounting screw.
    • Carefully reconnect the antenna cables.
    • Insert the PCIe adapter into the PCIe x1 slot and secure it.
    • Connect the Bluetooth power header included on the adapter.

    With the hardware completed, the PC was ready for testing.

    Driver and System Setup

    The Intel BE200 has limited functionality on Windows 10. To ensure proper operation, I upgraded the system to Windows 11 and installed Intel’s latest wireless driver (version 23.170.0.1, released October 28, 2025).
    A quick check using netsh wlan show drivers confirmed support for 2.4GHz, 5GHz and 6GHz bands.

    Performance Testing on Windows 11

    Connected to a WiFi 7 SSID on 5GHz, the BE200 reported a link speed of up to 2882 Mbps. However, real-world throughput was lower than expected:

    • Speedtest: 595 Mbps Download / 929 Mbps Upload
    • iperf3: ~ 1Gbps

    Testing with a WiFi 6 SSID produced similar results. On the AX210, I typically achieved around 1.2 Gbps Download and 900 Mbps Upload (with the OpenWrt One WiFi 6 router), but the BE200 underperformed with only 660 Mbps Download and 883 Mbps Upload.

    Performance on Ubuntu 24

    On Ubuntu 24, the BE200 worked immediately thanks to the pre-installed driver.
    Connected to a 5GHz WiFi 7 SSID (MT7996):

    • Link Speed: 2161 Mbps (this number is not stable, sometime it is higher, sometime lower)
    • Security: WPA3
    • Signal Strength: Excellent
    • iperf3: ~1.15 Gbps upload (normal direction, 4 streams) and ~1.2 Gbps download (reversed, 4 streams)

    6GHz Capability

    Although the BE200 technically supports 6GHz, I was unable to connect to any WiFi 7 SSID operating in the 6GHz band. Interestingly, the Windows 11 did report the colocated AP on 6GHz (when I am connected to 5GHz WiFi 7 SSID of the Banana Pi R4 (MT7996).

    Conclusion

    This upgrade marks an important step toward detailed testing of WiFi 7 hardware on the channel. While the Intel BE200 shows promising link rates, actual performance still requires further investigation.

    In the next article and video, I will review the Banana Pi R4 with the MT7996 WiFi 7 module and explore its capabilities.

    Thank you for reading.

  • Emulex OneConnect OCe14102 Dual SFP+ Adapter OpenWRT Throughput (Routing & Bridging)

    Emulex OneConnect OCe14102 Dual SFP+ Adapter OpenWRT Throughput (Routing & Bridging)

    This is the throughput result of the Emulex OneConnect OCe14102 Dual SFP+ Ethernet Adapter on OpenWRT. The power consumption when running the test with the Zimaboard is around 15W.

    Host: Zimaboard 432 (Intel N3450 CPU)

    OS: OpenWRT 22.02 Stable Release

    Kernel Module: kmod-be2net

    Bridging Throughput (2 SFP+ in the same br-lan)

    iperf3 – Single stream

    C:\iperf-3.1.3-win64>iperf3.exe -c 172.16.9.71
    Connecting to host 172.16.9.71, port 5201
    [  4] local 172.16.9.73 port 57489 connected to 172.16.9.71 port 5201
    [ ID] Interval           Transfer     Bandwidth
    [  4]   0.00-1.00   sec   276 MBytes  2.31 Gbits/sec
    [  4]   1.00-2.00   sec   216 MBytes  1.81 Gbits/sec
    [  4]   2.00-3.00   sec   244 MBytes  2.05 Gbits/sec
    [  4]   3.00-4.00   sec   206 MBytes  1.73 Gbits/sec
    [  4]   4.00-5.00   sec   226 MBytes  1.90 Gbits/sec
    [  4]   5.00-6.00   sec   214 MBytes  1.80 Gbits/sec
    [  4]   6.00-7.00   sec   240 MBytes  2.01 Gbits/sec
    [  4]   7.00-8.00   sec   208 MBytes  1.74 Gbits/sec
    [  4]   8.00-9.01   sec   174 MBytes  1.45 Gbits/sec
    [  4]   9.01-10.00  sec   234 MBytes  1.98 Gbits/sec
    - - - - - - - - - - - - - - - - - - - - - - - - -
    [ ID] Interval           Transfer     Bandwidth
    [  4]   0.00-10.00  sec  2.19 GBytes  1.88 Gbits/sec                  sender
    [  4]   0.00-10.00  sec  2.19 GBytes  1.88 Gbits/sec                  receiver
    
    iperf Done.

    iperf3 – 4 Streams

    C:\iperf-3.1.3-win64>iperf3.exe -c 172.16.9.71 -P4
    Connecting to host 172.16.9.71, port 5201
    [  4] local 172.16.9.73 port 57512 connected to 172.16.9.71 port 5201
    [  6] local 172.16.9.73 port 57513 connected to 172.16.9.71 port 5201
    [  8] local 172.16.9.73 port 57514 connected to 172.16.9.71 port 5201
    [ 10] local 172.16.9.73 port 57515 connected to 172.16.9.71 port 5201
    [ ID] Interval           Transfer     Bandwidth
    [  4]   0.00-1.00   sec   146 MBytes  1.23 Gbits/sec
    [  6]   0.00-1.00   sec   152 MBytes  1.27 Gbits/sec
    [  8]   0.00-1.00   sec   145 MBytes  1.22 Gbits/sec
    [ 10]   0.00-1.00   sec   164 MBytes  1.38 Gbits/sec
    [SUM]   0.00-1.00   sec   607 MBytes  5.09 Gbits/sec
    - - - - - - - - - - - - - - - - - - - - - - - - -
    [  4]   1.00-2.00   sec   146 MBytes  1.22 Gbits/sec
    [  6]   1.00-2.00   sec   171 MBytes  1.44 Gbits/sec
    [  8]   1.00-2.00   sec   177 MBytes  1.48 Gbits/sec
    [ 10]   1.00-2.00   sec   196 MBytes  1.65 Gbits/sec
    [SUM]   1.00-2.00   sec   690 MBytes  5.79 Gbits/sec
    - - - - - - - - - - - - - - - - - - - - - - - - -
    [  4]   2.00-3.00   sec   214 MBytes  1.80 Gbits/sec
    [  6]   2.00-3.00   sec   149 MBytes  1.25 Gbits/sec
    [  8]   2.00-3.00   sec   192 MBytes  1.61 Gbits/sec
    [ 10]   2.00-3.00   sec   173 MBytes  1.45 Gbits/sec
    [SUM]   2.00-3.00   sec   728 MBytes  6.11 Gbits/sec
    - - - - - - - - - - - - - - - - - - - - - - - - -
    [  4]   3.00-4.00   sec   176 MBytes  1.47 Gbits/sec
    [  6]   3.00-4.00   sec   160 MBytes  1.35 Gbits/sec
    [  8]   3.00-4.00   sec   194 MBytes  1.63 Gbits/sec
    [ 10]   3.00-4.00   sec   149 MBytes  1.25 Gbits/sec
    [SUM]   3.00-4.00   sec   679 MBytes  5.70 Gbits/sec
    - - - - - - - - - - - - - - - - - - - - - - - - -
    [  4]   4.00-5.00   sec   192 MBytes  1.61 Gbits/sec
    [  6]   4.00-5.00   sec   162 MBytes  1.36 Gbits/sec
    [  8]   4.00-5.00   sec   184 MBytes  1.54 Gbits/sec
    [ 10]   4.00-5.00   sec   150 MBytes  1.26 Gbits/sec
    [SUM]   4.00-5.00   sec   688 MBytes  5.77 Gbits/sec
    - - - - - - - - - - - - - - - - - - - - - - - - -
    [  4]   5.00-6.00   sec   151 MBytes  1.27 Gbits/sec
    [  6]   5.00-6.00   sec   179 MBytes  1.50 Gbits/sec
    [  8]   5.00-6.00   sec   152 MBytes  1.28 Gbits/sec
    [ 10]   5.00-6.00   sec   177 MBytes  1.49 Gbits/sec
    [SUM]   5.00-6.00   sec   660 MBytes  5.54 Gbits/sec
    - - - - - - - - - - - - - - - - - - - - - - - - -
    [  4]   6.00-7.00   sec   187 MBytes  1.57 Gbits/sec
    [  6]   6.00-7.00   sec   188 MBytes  1.57 Gbits/sec
    [  8]   6.00-7.00   sec   193 MBytes  1.62 Gbits/sec
    [ 10]   6.00-7.00   sec   192 MBytes  1.61 Gbits/sec
    [SUM]   6.00-7.00   sec   760 MBytes  6.37 Gbits/sec
    - - - - - - - - - - - - - - - - - - - - - - - - -
    [  4]   7.00-8.00   sec   161 MBytes  1.35 Gbits/sec
    [  6]   7.00-8.00   sec   204 MBytes  1.71 Gbits/sec
    [  8]   7.00-8.00   sec   141 MBytes  1.18 Gbits/sec
    [ 10]   7.00-8.00   sec   162 MBytes  1.36 Gbits/sec
    [SUM]   7.00-8.00   sec   667 MBytes  5.60 Gbits/sec
    - - - - - - - - - - - - - - - - - - - - - - - - -
    [  4]   8.00-9.00   sec   165 MBytes  1.39 Gbits/sec
    [  6]   8.00-9.00   sec   174 MBytes  1.46 Gbits/sec
    [  8]   8.00-9.00   sec   156 MBytes  1.31 Gbits/sec
    [ 10]   8.00-9.00   sec   175 MBytes  1.47 Gbits/sec
    [SUM]   8.00-9.00   sec   671 MBytes  5.62 Gbits/sec
    - - - - - - - - - - - - - - - - - - - - - - - - -
    [  4]   9.00-10.00  sec   169 MBytes  1.42 Gbits/sec
    [  6]   9.00-10.00  sec   201 MBytes  1.69 Gbits/sec
    [  8]   9.00-10.00  sec   159 MBytes  1.34 Gbits/sec
    [ 10]   9.00-10.00  sec   178 MBytes  1.50 Gbits/sec
    [SUM]   9.00-10.00  sec   708 MBytes  5.95 Gbits/sec
    - - - - - - - - - - - - - - - - - - - - - - - - -
    [ ID] Interval           Transfer     Bandwidth
    [  4]   0.00-10.00  sec  1.67 GBytes  1.43 Gbits/sec                  sender
    [  4]   0.00-10.00  sec  1.67 GBytes  1.43 Gbits/sec                  receiver
    [  6]   0.00-10.00  sec  1.70 GBytes  1.46 Gbits/sec                  sender
    [  6]   0.00-10.00  sec  1.70 GBytes  1.46 Gbits/sec                  receiver
    [  8]   0.00-10.00  sec  1.65 GBytes  1.42 Gbits/sec                  sender
    [  8]   0.00-10.00  sec  1.65 GBytes  1.42 Gbits/sec                  receiver
    [ 10]   0.00-10.00  sec  1.68 GBytes  1.44 Gbits/sec                  sender
    [ 10]   0.00-10.00  sec  1.68 GBytes  1.44 Gbits/sec                  receiver
    [SUM]   0.00-10.00  sec  6.70 GBytes  5.75 Gbits/sec                  sender
    [SUM]   0.00-10.00  sec  6.70 GBytes  5.75 Gbits/sec                  receiver
    
    iperf Done.
    

    iperf3 – Reversed – Single Stream

    C:\iperf-3.1.3-win64>iperf3.exe -c 172.16.9.71 -R
    Connecting to host 172.16.9.71, port 5201
    Reverse mode, remote host 172.16.9.71 is sending
    [  4] local 172.16.9.73 port 57527 connected to 172.16.9.71 port 5201
    [ ID] Interval           Transfer     Bandwidth
    [  4]   0.00-1.00   sec   286 MBytes  2.40 Gbits/sec
    [  4]   1.00-2.00   sec   293 MBytes  2.46 Gbits/sec
    [  4]   2.00-3.00   sec   330 MBytes  2.77 Gbits/sec
    [  4]   3.00-4.00   sec   336 MBytes  2.82 Gbits/sec
    [  4]   4.00-5.00   sec   324 MBytes  2.72 Gbits/sec
    [  4]   5.00-6.00   sec   322 MBytes  2.70 Gbits/sec
    [  4]   6.00-7.00   sec   330 MBytes  2.77 Gbits/sec
    [  4]   7.00-8.00   sec   342 MBytes  2.87 Gbits/sec
    [  4]   8.00-9.00   sec   335 MBytes  2.81 Gbits/sec
    [  4]   9.00-10.00  sec   328 MBytes  2.75 Gbits/sec
    - - - - - - - - - - - - - - - - - - - - - - - - -
    [ ID] Interval           Transfer     Bandwidth       Retr
    [  4]   0.00-10.00  sec  3.15 GBytes  2.71 Gbits/sec    0             sender
    [  4]   0.00-10.00  sec  3.15 GBytes  2.71 Gbits/sec                  receiver
    
    iperf Done.

    iperf3 – Reversed – 4 Streams

    C:\iperf-3.1.3-win64>iperf3.exe -c 172.16.9.71 -R -P4
    Connecting to host 172.16.9.71, port 5201
    Reverse mode, remote host 172.16.9.71 is sending
    [  4] local 172.16.9.73 port 57540 connected to 172.16.9.71 port 5201
    [  6] local 172.16.9.73 port 57541 connected to 172.16.9.71 port 5201
    [  8] local 172.16.9.73 port 57542 connected to 172.16.9.71 port 5201
    [ 10] local 172.16.9.73 port 57543 connected to 172.16.9.71 port 5201
    [ ID] Interval           Transfer     Bandwidth
    [  4]   0.00-1.00   sec   121 MBytes  1.01 Gbits/sec
    [  6]   0.00-1.00   sec   203 MBytes  1.70 Gbits/sec
    [  8]   0.00-1.00   sec   129 MBytes  1.08 Gbits/sec
    [ 10]   0.00-1.00   sec   111 MBytes   933 Mbits/sec
    [SUM]   0.00-1.00   sec   564 MBytes  4.73 Gbits/sec
    - - - - - - - - - - - - - - - - - - - - - - - - -
    [  4]   1.00-2.00   sec   166 MBytes  1.39 Gbits/sec
    [  6]   1.00-2.00   sec   177 MBytes  1.48 Gbits/sec
    [  8]   1.00-2.00   sec   175 MBytes  1.47 Gbits/sec
    [ 10]   1.00-2.00   sec   154 MBytes  1.29 Gbits/sec
    [SUM]   1.00-2.00   sec   672 MBytes  5.64 Gbits/sec
    - - - - - - - - - - - - - - - - - - - - - - - - -
    [  4]   2.00-3.00   sec   189 MBytes  1.59 Gbits/sec
    [  6]   2.00-3.00   sec   162 MBytes  1.36 Gbits/sec
    [  8]   2.00-3.00   sec   202 MBytes  1.69 Gbits/sec
    [ 10]   2.00-3.00   sec   175 MBytes  1.47 Gbits/sec
    [SUM]   2.00-3.00   sec   728 MBytes  6.11 Gbits/sec
    - - - - - - - - - - - - - - - - - - - - - - - - -
    [  4]   3.00-4.00   sec   152 MBytes  1.27 Gbits/sec
    [  6]   3.00-4.00   sec   195 MBytes  1.64 Gbits/sec
    [  8]   3.00-4.00   sec   160 MBytes  1.35 Gbits/sec
    [ 10]   3.00-4.00   sec   145 MBytes  1.22 Gbits/sec
    [SUM]   3.00-4.00   sec   653 MBytes  5.48 Gbits/sec
    - - - - - - - - - - - - - - - - - - - - - - - - -
    [  4]   4.00-5.00   sec   135 MBytes  1.13 Gbits/sec
    [  6]   4.00-5.00   sec   179 MBytes  1.50 Gbits/sec
    [  8]   4.00-5.00   sec   140 MBytes  1.18 Gbits/sec
    [ 10]   4.00-5.00   sec   126 MBytes  1.06 Gbits/sec
    [SUM]   4.00-5.00   sec   580 MBytes  4.86 Gbits/sec
    - - - - - - - - - - - - - - - - - - - - - - - - -
    [  4]   5.00-6.00   sec   159 MBytes  1.34 Gbits/sec
    [  6]   5.00-6.00   sec   145 MBytes  1.22 Gbits/sec
    [  8]   5.00-6.00   sec   166 MBytes  1.40 Gbits/sec
    [ 10]   5.00-6.00   sec   154 MBytes  1.29 Gbits/sec
    [SUM]   5.00-6.00   sec   625 MBytes  5.24 Gbits/sec
    - - - - - - - - - - - - - - - - - - - - - - - - -
    [  4]   6.00-7.00   sec   108 MBytes   905 Mbits/sec
    [  6]   6.00-7.00   sec   191 MBytes  1.60 Gbits/sec
    [  8]   6.00-7.00   sec   113 MBytes   948 Mbits/sec
    [ 10]   6.00-7.00   sec   102 MBytes   860 Mbits/sec
    [SUM]   6.00-7.00   sec   514 MBytes  4.31 Gbits/sec
    - - - - - - - - - - - - - - - - - - - - - - - - -
    [  4]   7.00-8.00   sec   142 MBytes  1.19 Gbits/sec
    [  6]   7.00-8.00   sec   187 MBytes  1.57 Gbits/sec
    [  8]   7.00-8.00   sec   150 MBytes  1.26 Gbits/sec
    [ 10]   7.00-8.00   sec   130 MBytes  1.09 Gbits/sec
    [SUM]   7.00-8.00   sec   608 MBytes  5.10 Gbits/sec
    - - - - - - - - - - - - - - - - - - - - - - - - -
    [  4]   8.00-9.00   sec   181 MBytes  1.52 Gbits/sec
    [  6]   8.00-9.00   sec   163 MBytes  1.37 Gbits/sec
    [  8]   8.00-9.00   sec   192 MBytes  1.61 Gbits/sec
    [ 10]   8.00-9.00   sec   169 MBytes  1.41 Gbits/sec
    [SUM]   8.00-9.00   sec   704 MBytes  5.91 Gbits/sec
    - - - - - - - - - - - - - - - - - - - - - - - - -
    [  4]   9.00-10.00  sec   190 MBytes  1.59 Gbits/sec
    [  6]   9.00-10.00  sec   163 MBytes  1.36 Gbits/sec
    [  8]   9.00-10.00  sec   203 MBytes  1.70 Gbits/sec
    [ 10]   9.00-10.00  sec   172 MBytes  1.45 Gbits/sec
    [SUM]   9.00-10.00  sec   728 MBytes  6.11 Gbits/sec
    - - - - - - - - - - - - - - - - - - - - - - - - -
    [ ID] Interval           Transfer     Bandwidth       Retr
    [  4]   0.00-10.00  sec  1.51 GBytes  1.30 Gbits/sec    0             sender
    [  4]   0.00-10.00  sec  1.51 GBytes  1.29 Gbits/sec                  receiver
    [  6]   0.00-10.00  sec  1.72 GBytes  1.48 Gbits/sec    0             sender
    [  6]   0.00-10.00  sec  1.72 GBytes  1.48 Gbits/sec                  receiver
    [  8]   0.00-10.00  sec  1.59 GBytes  1.37 Gbits/sec    0             sender
    [  8]   0.00-10.00  sec  1.59 GBytes  1.37 Gbits/sec                  receiver
    [ 10]   0.00-10.00  sec  1.41 GBytes  1.21 Gbits/sec    0             sender
    [ 10]   0.00-10.00  sec  1.41 GBytes  1.21 Gbits/sec                  receiver
    [SUM]   0.00-10.00  sec  6.23 GBytes  5.35 Gbits/sec    0             sender
    [SUM]   0.00-10.00  sec  6.23 GBytes  5.35 Gbits/sec                  receiver
    
    iperf Done.

    Routing (WAN to LAN, Software Offloading Enabled)

    iperf3 – Single Stream

    C:\iperf-3.1.3-win64>iperf3.exe -c 172.16.9.71
    Connecting to host 172.16.9.71, port 5201
    [  4] local 192.168.1.167 port 58681 connected to 172.16.9.71 port 5201
    [ ID] Interval           Transfer     Bandwidth
    [  4]   0.00-1.00   sec   290 MBytes  2.43 Gbits/sec
    [  4]   1.00-2.00   sec   192 MBytes  1.61 Gbits/sec
    [  4]   2.00-3.00   sec   188 MBytes  1.57 Gbits/sec
    [  4]   3.00-4.00   sec   179 MBytes  1.50 Gbits/sec
    [  4]   4.00-5.00   sec   168 MBytes  1.41 Gbits/sec
    [  4]   5.00-6.00   sec   247 MBytes  2.07 Gbits/sec
    [  4]   6.00-7.00   sec   236 MBytes  1.98 Gbits/sec
    [  4]   7.00-8.00   sec   203 MBytes  1.70 Gbits/sec
    [  4]   8.00-9.00   sec   156 MBytes  1.31 Gbits/sec
    [  4]   9.00-10.00  sec   193 MBytes  1.62 Gbits/sec
    - - - - - - - - - - - - - - - - - - - - - - - - -
    [ ID] Interval           Transfer     Bandwidth
    [  4]   0.00-10.00  sec  2.00 GBytes  1.72 Gbits/sec                  sender
    [  4]   0.00-10.00  sec  2.00 GBytes  1.72 Gbits/sec                  receiver
    
    iperf Done.
    

    iperf3 – 4 Streams

    C:\iperf-3.1.3-win64>iperf3.exe -c 172.16.9.71 -P4
    Connecting to host 172.16.9.71, port 5201
    [  4] local 192.168.1.167 port 58696 connected to 172.16.9.71 port 5201
    [  6] local 192.168.1.167 port 58697 connected to 172.16.9.71 port 5201
    [  8] local 192.168.1.167 port 58698 connected to 172.16.9.71 port 5201
    [ 10] local 192.168.1.167 port 58699 connected to 172.16.9.71 port 5201
    [ ID] Interval           Transfer     Bandwidth
    [  4]   0.00-1.00   sec   148 MBytes  1.25 Gbits/sec
    [  6]   0.00-1.00   sec   157 MBytes  1.32 Gbits/sec
    [  8]   0.00-1.00   sec   206 MBytes  1.73 Gbits/sec
    [ 10]   0.00-1.00   sec   196 MBytes  1.64 Gbits/sec
    [SUM]   0.00-1.00   sec   707 MBytes  5.93 Gbits/sec
    - - - - - - - - - - - - - - - - - - - - - - - - -
    [  4]   1.00-2.00   sec   156 MBytes  1.31 Gbits/sec
    [  6]   1.00-2.00   sec   155 MBytes  1.30 Gbits/sec
    [  8]   1.00-2.00   sec   197 MBytes  1.65 Gbits/sec
    [ 10]   1.00-2.00   sec   192 MBytes  1.61 Gbits/sec
    [SUM]   1.00-2.00   sec   699 MBytes  5.86 Gbits/sec
    - - - - - - - - - - - - - - - - - - - - - - - - -
    [  4]   2.00-3.00   sec   154 MBytes  1.29 Gbits/sec
    [  6]   2.00-3.00   sec   173 MBytes  1.45 Gbits/sec
    [  8]   2.00-3.00   sec   187 MBytes  1.57 Gbits/sec
    [ 10]   2.00-3.00   sec   221 MBytes  1.85 Gbits/sec
    [SUM]   2.00-3.00   sec   734 MBytes  6.16 Gbits/sec
    - - - - - - - - - - - - - - - - - - - - - - - - -
    [  4]   3.00-4.00   sec   171 MBytes  1.43 Gbits/sec
    [  6]   3.00-4.00   sec   141 MBytes  1.18 Gbits/sec
    [  8]   3.00-4.00   sec   177 MBytes  1.48 Gbits/sec
    [ 10]   3.00-4.00   sec   157 MBytes  1.32 Gbits/sec
    [SUM]   3.00-4.00   sec   645 MBytes  5.41 Gbits/sec
    - - - - - - - - - - - - - - - - - - - - - - - - -
    [  4]   4.00-5.00   sec   168 MBytes  1.41 Gbits/sec
    [  6]   4.00-5.00   sec   188 MBytes  1.58 Gbits/sec
    [  8]   4.00-5.00   sec   218 MBytes  1.82 Gbits/sec
    [ 10]   4.00-5.00   sec   154 MBytes  1.29 Gbits/sec
    [SUM]   4.00-5.00   sec   727 MBytes  6.10 Gbits/sec
    - - - - - - - - - - - - - - - - - - - - - - - - -
    [  4]   5.00-6.00   sec  95.5 MBytes   800 Mbits/sec
    [  6]   5.00-6.00   sec  98.6 MBytes   827 Mbits/sec
    [  8]   5.00-6.00   sec   127 MBytes  1.07 Gbits/sec
    [ 10]   5.00-6.00   sec   115 MBytes   961 Mbits/sec
    [SUM]   5.00-6.00   sec   436 MBytes  3.65 Gbits/sec
    - - - - - - - - - - - - - - - - - - - - - - - - -
    [  4]   6.00-7.00   sec   161 MBytes  1.35 Gbits/sec
    [  6]   6.00-7.00   sec   170 MBytes  1.43 Gbits/sec
    [  8]   6.00-7.00   sec   146 MBytes  1.23 Gbits/sec
    [ 10]   6.00-7.00   sec   165 MBytes  1.38 Gbits/sec
    [SUM]   6.00-7.00   sec   642 MBytes  5.39 Gbits/sec
    - - - - - - - - - - - - - - - - - - - - - - - - -
    [  4]   7.00-8.00   sec   129 MBytes  1.09 Gbits/sec
    [  6]   7.00-8.00   sec   122 MBytes  1.02 Gbits/sec
    [  8]   7.00-8.00   sec   151 MBytes  1.27 Gbits/sec
    [ 10]   7.00-8.00   sec   151 MBytes  1.27 Gbits/sec
    [SUM]   7.00-8.00   sec   554 MBytes  4.65 Gbits/sec
    - - - - - - - - - - - - - - - - - - - - - - - - -
    [  4]   8.00-9.00   sec   154 MBytes  1.29 Gbits/sec
    [  6]   8.00-9.00   sec   154 MBytes  1.29 Gbits/sec
    [  8]   8.00-9.00   sec   164 MBytes  1.37 Gbits/sec
    [ 10]   8.00-9.00   sec   148 MBytes  1.25 Gbits/sec
    [SUM]   8.00-9.00   sec   620 MBytes  5.20 Gbits/sec
    - - - - - - - - - - - - - - - - - - - - - - - - -
    [  4]   9.00-10.00  sec   147 MBytes  1.23 Gbits/sec
    [  6]   9.00-10.00  sec   117 MBytes   985 Mbits/sec
    [  8]   9.00-10.00  sec   138 MBytes  1.16 Gbits/sec
    [ 10]   9.00-10.00  sec   179 MBytes  1.50 Gbits/sec
    [SUM]   9.00-10.00  sec   581 MBytes  4.87 Gbits/sec
    - - - - - - - - - - - - - - - - - - - - - - - - -
    [ ID] Interval           Transfer     Bandwidth
    [  4]   0.00-10.00  sec  1.45 GBytes  1.24 Gbits/sec                  sender
    [  4]   0.00-10.00  sec  1.45 GBytes  1.24 Gbits/sec                  receiver
    [  6]   0.00-10.00  sec  1.44 GBytes  1.24 Gbits/sec                  sender
    [  6]   0.00-10.00  sec  1.44 GBytes  1.24 Gbits/sec                  receiver
    [  8]   0.00-10.00  sec  1.67 GBytes  1.43 Gbits/sec                  sender
    [  8]   0.00-10.00  sec  1.67 GBytes  1.43 Gbits/sec                  receiver
    [ 10]   0.00-10.00  sec  1.64 GBytes  1.41 Gbits/sec                  sender
    [ 10]   0.00-10.00  sec  1.64 GBytes  1.41 Gbits/sec                  receiver
    [SUM]   0.00-10.00  sec  6.20 GBytes  5.32 Gbits/sec                  sender
    [SUM]   0.00-10.00  sec  6.20 GBytes  5.32 Gbits/sec                  receiver
    
    iperf Done.
    

    iperf3 – Reversed

    C:\iperf-3.1.3-win64>iperf3.exe -c 172.16.9.71 -R
    Connecting to host 172.16.9.71, port 5201
    Reverse mode, remote host 172.16.9.71 is sending
    [  4] local 192.168.1.167 port 58903 connected to 172.16.9.71 port 5201
    [ ID] Interval           Transfer     Bandwidth
    [  4]   0.00-1.00   sec   346 MBytes  2.91 Gbits/sec
    [  4]   1.00-2.00   sec   372 MBytes  3.12 Gbits/sec
    [  4]   2.00-3.00   sec   374 MBytes  3.14 Gbits/sec
    [  4]   3.00-4.00   sec   373 MBytes  3.13 Gbits/sec
    [  4]   4.00-5.00   sec   367 MBytes  3.08 Gbits/sec
    [  4]   5.00-6.00   sec   372 MBytes  3.12 Gbits/sec
    [  4]   6.00-7.00   sec   330 MBytes  2.77 Gbits/sec
    [  4]   7.00-8.00   sec   349 MBytes  2.93 Gbits/sec
    [  4]   8.00-9.00   sec   361 MBytes  3.03 Gbits/sec
    [  4]   9.00-10.00  sec   373 MBytes  3.13 Gbits/sec
    - - - - - - - - - - - - - - - - - - - - - - - - -
    [ ID] Interval           Transfer     Bandwidth       Retr
    [  4]   0.00-10.00  sec  3.53 GBytes  3.04 Gbits/sec    0             sender
    [  4]   0.00-10.00  sec  3.53 GBytes  3.04 Gbits/sec                  receiver
    
    iperf Done.
    

    iperf3 – Reversed – 4 Streams

    C:\iperf-3.1.3-win64>iperf3.exe -c 172.16.9.71 -R -P4
    Connecting to host 172.16.9.71, port 5201
    Reverse mode, remote host 172.16.9.71 is sending
    [  4] local 192.168.1.167 port 58956 connected to 172.16.9.71 port 5201
    [  6] local 192.168.1.167 port 58957 connected to 172.16.9.71 port 5201
    [  8] local 192.168.1.167 port 58958 connected to 172.16.9.71 port 5201
    [ 10] local 192.168.1.167 port 58959 connected to 172.16.9.71 port 5201
    [ ID] Interval           Transfer     Bandwidth
    [  4]   0.00-1.00   sec   177 MBytes  1.49 Gbits/sec
    [  6]   0.00-1.00   sec   167 MBytes  1.40 Gbits/sec
    [  8]   0.00-1.00   sec   181 MBytes  1.52 Gbits/sec
    [ 10]   0.00-1.00   sec   169 MBytes  1.41 Gbits/sec
    [SUM]   0.00-1.00   sec   693 MBytes  5.81 Gbits/sec
    - - - - - - - - - - - - - - - - - - - - - - - - -
    [  4]   1.00-2.00   sec   188 MBytes  1.57 Gbits/sec
    [  6]   1.00-2.00   sec   175 MBytes  1.46 Gbits/sec
    [  8]   1.00-2.00   sec   193 MBytes  1.62 Gbits/sec
    [ 10]   1.00-2.00   sec   181 MBytes  1.52 Gbits/sec
    [SUM]   1.00-2.00   sec   736 MBytes  6.17 Gbits/sec
    - - - - - - - - - - - - - - - - - - - - - - - - -
    [  4]   2.00-3.00   sec   167 MBytes  1.40 Gbits/sec
    [  6]   2.00-3.00   sec   157 MBytes  1.32 Gbits/sec
    [  8]   2.00-3.00   sec   172 MBytes  1.44 Gbits/sec
    [ 10]   2.00-3.00   sec   160 MBytes  1.34 Gbits/sec
    [SUM]   2.00-3.00   sec   656 MBytes  5.51 Gbits/sec
    - - - - - - - - - - - - - - - - - - - - - - - - -
    [  4]   3.00-4.00   sec   186 MBytes  1.56 Gbits/sec
    [  6]   3.00-4.00   sec   177 MBytes  1.48 Gbits/sec
    [  8]   3.00-4.00   sec   189 MBytes  1.59 Gbits/sec
    [ 10]   3.00-4.00   sec   177 MBytes  1.48 Gbits/sec
    [SUM]   3.00-4.00   sec   729 MBytes  6.11 Gbits/sec
    - - - - - - - - - - - - - - - - - - - - - - - - -
    [  4]   4.00-5.00   sec   190 MBytes  1.59 Gbits/sec
    [  6]   4.00-5.00   sec   173 MBytes  1.45 Gbits/sec
    [  8]   4.00-5.00   sec   189 MBytes  1.59 Gbits/sec
    [ 10]   4.00-5.00   sec   178 MBytes  1.49 Gbits/sec
    [SUM]   4.00-5.00   sec   731 MBytes  6.13 Gbits/sec
    - - - - - - - - - - - - - - - - - - - - - - - - -
    [  4]   5.00-6.00   sec   167 MBytes  1.40 Gbits/sec
    [  6]   5.00-6.00   sec   156 MBytes  1.31 Gbits/sec
    [  8]   5.00-6.00   sec   170 MBytes  1.42 Gbits/sec
    [ 10]   5.00-6.00   sec   158 MBytes  1.33 Gbits/sec
    [SUM]   5.00-6.00   sec   651 MBytes  5.46 Gbits/sec
    - - - - - - - - - - - - - - - - - - - - - - - - -
    [  4]   6.00-7.00   sec   169 MBytes  1.42 Gbits/sec
    [  6]   6.00-7.00   sec   158 MBytes  1.33 Gbits/sec
    [  8]   6.00-7.00   sec   169 MBytes  1.42 Gbits/sec
    [ 10]   6.00-7.00   sec   160 MBytes  1.35 Gbits/sec
    [SUM]   6.00-7.00   sec   657 MBytes  5.51 Gbits/sec
    - - - - - - - - - - - - - - - - - - - - - - - - -
    [  4]   7.00-8.00   sec   181 MBytes  1.52 Gbits/sec
    [  6]   7.00-8.00   sec   171 MBytes  1.43 Gbits/sec
    [  8]   7.00-8.00   sec   185 MBytes  1.56 Gbits/sec
    [ 10]   7.00-8.00   sec   175 MBytes  1.47 Gbits/sec
    [SUM]   7.00-8.00   sec   713 MBytes  5.98 Gbits/sec
    - - - - - - - - - - - - - - - - - - - - - - - - -
    [  4]   8.00-9.00   sec   165 MBytes  1.39 Gbits/sec
    [  6]   8.00-9.00   sec   154 MBytes  1.29 Gbits/sec
    [  8]   8.00-9.00   sec   163 MBytes  1.37 Gbits/sec
    [ 10]   8.00-9.00   sec   153 MBytes  1.29 Gbits/sec
    [SUM]   8.00-9.00   sec   635 MBytes  5.33 Gbits/sec
    - - - - - - - - - - - - - - - - - - - - - - - - -
    [  4]   9.00-10.00  sec   148 MBytes  1.25 Gbits/sec
    [  6]   9.00-10.00  sec   140 MBytes  1.17 Gbits/sec
    [  8]   9.00-10.00  sec   150 MBytes  1.25 Gbits/sec
    [ 10]   9.00-10.00  sec   141 MBytes  1.18 Gbits/sec
    [SUM]   9.00-10.00  sec   579 MBytes  4.85 Gbits/sec
    - - - - - - - - - - - - - - - - - - - - - - - - -
    [ ID] Interval           Transfer     Bandwidth       Retr
    [  4]   0.00-10.00  sec  1.70 GBytes  1.46 Gbits/sec    0             sender
    [  4]   0.00-10.00  sec  1.70 GBytes  1.46 Gbits/sec                  receiver
    [  6]   0.00-10.00  sec  1.59 GBytes  1.37 Gbits/sec    0             sender
    [  6]   0.00-10.00  sec  1.59 GBytes  1.37 Gbits/sec                  receiver
    [  8]   0.00-10.00  sec  1.72 GBytes  1.48 Gbits/sec    1             sender
    [  8]   0.00-10.00  sec  1.72 GBytes  1.48 Gbits/sec                  receiver
    [ 10]   0.00-10.00  sec  1.61 GBytes  1.39 Gbits/sec    1             sender
    [ 10]   0.00-10.00  sec  1.61 GBytes  1.39 Gbits/sec                  receiver
    [SUM]   0.00-10.00  sec  6.63 GBytes  5.69 Gbits/sec    2             sender
    [SUM]   0.00-10.00  sec  6.62 GBytes  5.69 Gbits/sec                  receiver
    
    iperf Done.
    
    C:\iperf-3.1.3-win64>
    
    
  • Orange Pi R1 Plus/ R1 Plus LTS OpenWrt Firmware (English & Minimal Packages)

    Orange Pi R1 Plus/ R1 Plus LTS OpenWrt Firmware (English & Minimal Packages)

    This is the Orange Pi R1 Plus/ R1 Plus LTS OpenWrt firmware with minimal packages. The default language is English. You can write the ext4-sysupgrade.img.gz to the microSD card with Rufus or balenaEtcher, the root file system will be automatically expanded during first boot, which allow you to use all the space of the microSD card.

    You can also build the firmware for the Orange Pi R1 Plus / R1 Plus LTS from my source code. It is a fork of the Orange Pi OpenWrt, with some adjustments on the defconfig file. Please use the openwrt-21.02 branch when building the firmware.

    Firmware Detail

    OpenWrt 21.02.2 r16495-bf0c965af0

    LuCI openwrt-21.02 branch git-22.046.85957-59c3392

    Kernel 5.4.179

    Orange Pi R1 Plus Specification

    CPU: Rockchip RK3328. Quad-Core ARM Cortex-A53 64-Bit. Up To 1.5GHz

    GPU: Mali-450MP2, Supports OpenGL ES 1.0/2.0

    Memory: 1GB LPDDR4 (2x 512DDR4)

    Storage: 16MB SPI NOR Flash

    Network:

    • 10M/100M/1000M Integrated Ethernet by Realtek RTL8111F
    • 10M/100M/1000M USB Converted Ethernet by Realtek RTL8153B

    Orange Pi R1 Plus LTS Specification

    CPU: Rockchip RK3328. Quad-Core ARM Cortex-A53 64-Bit. Up To 1.5GHz

    GPU: Mali-450MP2, Supports OpenGL ES 1.0/2.0

    Memory: 1GB LPDDR3 (Not Shared With GPU)

    Storage: 16MB SPI NOR Flash

    Network:

    • 10M/100M/1000M Integrated Ethernet by MotorComm YT8531C
    • 10M/100M/1000M USB Converted Ethernet by Realtek RTL8153B

    R1 Plus LTS Overview and OpenWRT Installation

    Screenshot

    Status page

    Network Interfaces page
    Software page – I am using a 2GB microSD card

    List of packages with opkg list-installed

    base-files - 1444-r16495-bf0c965af0
    bash - 5.1-2
    block-mount - 2021-01-04-c53b1882-1
    busybox - 1.33.2-2
    ca-bundle - 20210119-1
    cgi-io - 2021-09-08-98cef9dd-20
    dnsmasq - 2.85-3
    dropbear - 2020.81-2
    e2fsprogs - 1.45.6-2
    f2fs-tools - 1.14.0-1
    f2fsck - 1.14.0-1
    fdisk - 2.36.1-2
    firewall - 2021-03-23-61db17ed-1
    fstools - 2021-01-04-c53b1882-1
    fwtool - 2019-11-12-8f7fe925-1
    getrandom - 2020-10-25-9ef88681-2
    htop - 3.1.2-1
    ifstat - 1.1-3
    iftop - 2018-10-03-77901c8c-2
    ip6tables - 1.8.7-1
    ipset - 7.6-1
    iptables - 1.8.7-1
    iptables-mod-conntrack-extra - 1.8.7-1
    iptables-mod-ipopt - 1.8.7-1
    iptables-mod-tproxy - 1.8.7-1
    jshn - 2021-05-16-b14c4688-2
    jsonfilter - 2018-02-04-c7e938d6-1
    kernel - 5.4.179-1-0668302a4d3e5f16962d6a1f596f7c01
    kmod-asn1-decoder - 5.4.179-1
    kmod-gpio-button-hotplug - 5.4.179-3
    kmod-ip6tables - 5.4.179-1
    kmod-ipt-conntrack - 5.4.179-1
    kmod-ipt-conntrack-extra - 5.4.179-1
    kmod-ipt-core - 5.4.179-1
    kmod-ipt-ipopt - 5.4.179-1
    kmod-ipt-ipset - 5.4.179-1
    kmod-ipt-nat - 5.4.179-1
    kmod-ipt-nat6 - 5.4.179-1
    kmod-ipt-offload - 5.4.179-1
    kmod-ipt-raw - 5.4.179-1
    kmod-ipt-tproxy - 5.4.179-1
    kmod-lib-crc-ccitt - 5.4.179-1
    kmod-lib-textsearch - 5.4.179-1
    kmod-mii - 5.4.179-1
    kmod-nf-conntrack - 5.4.179-1
    kmod-nf-conntrack6 - 5.4.179-1
    kmod-nf-flow - 5.4.179-1
    kmod-nf-ipt - 5.4.179-1
    kmod-nf-ipt6 - 5.4.179-1
    kmod-nf-nat - 5.4.179-1
    kmod-nf-nat6 - 5.4.179-1
    kmod-nf-nathelper - 5.4.179-1
    kmod-nf-nathelper-extra - 5.4.179-1
    kmod-nf-reject - 5.4.179-1
    kmod-nf-reject6 - 5.4.179-1
    kmod-nfnetlink - 5.4.179-1
    kmod-nls-base - 5.4.179-1
    kmod-ppp - 5.4.179-1
    kmod-pppoe - 5.4.179-1
    kmod-pppox - 5.4.179-1
    kmod-slhc - 5.4.179-1
    kmod-usb-core - 5.4.179-1
    kmod-usb-net - 5.4.179-1
    kmod-usb-net-rtl8152 - 5.4.179-1
    kmod-usb-serial - 5.4.179-1
    kmod-usb-serial-option - 5.4.179-1
    kmod-usb-serial-wwan - 5.4.179-1
    libblkid1 - 2.36.1-2
    libblobmsg-json20210516 - 2021-05-16-b14c4688-2
    libc - 1.1.24-3
    libcomerr0 - 1.45.6-2
    libext2fs2 - 1.45.6-2
    libf2fs6 - 1.14.0-1
    libfdisk1 - 2.36.1-2
    libgcc1 - 8.4.0-3
    libip4tc2 - 1.8.7-1
    libip6tc2 - 1.8.7-1
    libipset13 - 7.6-1
    libiwinfo-data - 2021-04-30-c45f0b58-2.1
    libiwinfo-lua - 2021-04-30-c45f0b58-2.1
    libiwinfo20210430 - 2021-04-30-c45f0b58-2.1
    libjson-c5 - 0.15-2
    libjson-script20210516 - 2021-05-16-b14c4688-2
    liblua5.1.5 - 5.1.5-9
    liblucihttp-lua - 2021-06-11-3dc89af4-1
    liblucihttp0 - 2021-06-11-3dc89af4-1
    libmnl0 - 1.0.4-2
    libmount1 - 2.36.1-2
    libncurses6 - 6.2-3
    libnetsnmp - 5.8-2
    libnl-tiny1 - 2020-08-05-c291088f-2
    libpcap1 - 1.9.1-3.1
    libpci - 3.7.0-2
    libpthread - 1.1.24-3
    libreadline8 - 8.1-1
    librt - 1.1.24-3
    libsmartcols1 - 2.36.1-2
    libss2 - 1.45.6-2
    libubox20210516 - 2021-05-16-b14c4688-2
    libubus-lua - 2021-06-30-4fc532c8-2
    libubus20210630 - 2021-06-30-4fc532c8-2
    libuci20130104 - 2021-04-14-4b3db117-5
    libuclient20201210 - 2021-05-14-6a6011df-1
    libusb-1.0-0 - 1.0.24-3
    libustream-wolfssl20201210 - 2022-01-16-868fd881-1
    libuuid1 - 2.36.1-2
    libwolfssl5.1.1.99a5b54a - 5.1.1-stable-1
    libxtables12 - 1.8.7-1
    logd - 2020-10-25-9ef88681-2
    losetup - 2.36.1-2
    lua - 5.1.5-9
    luci - git-20.074.84698-ead5e81
    luci-app-firewall - git-22.046.85957-59c3392
    luci-app-opkg - git-21.312.69848-4745991
    luci-base - git-22.046.85957-59c3392
    luci-compat - git-22.046.85744-f08a0f6
    luci-lib-base - git-20.232.39649-1f6dc29
    luci-lib-ip - git-20.250.76529-62505bd
    luci-lib-ipkg - git-18.318.71164-4bbe325
    luci-lib-jsonc - git-19.317.29469-8da8f38
    luci-lib-nixio - git-20.234.06894-c4a4e43
    luci-mod-admin-full - git-19.253.48496-3f93650
    luci-mod-network - git-22.046.85061-dd54dce
    luci-mod-status - git-22.046.85784-0ac2542
    luci-mod-system - git-22.019.40321-7a37d02
    luci-proto-ipv6 - git-21.148.49484-14511e5
    luci-proto-ppp - git-21.163.64918-6c6559a
    luci-theme-bootstrap - git-22.047.35373-cc582eb
    mkf2fs - 1.14.0-1
    mount-utils - 2.36.1-2
    mtd - 26
    netifd - 2021-10-30-8f82742c-1
    odhcp6c - 2021-01-09-53f07e90-16
    odhcpd-ipv6only - 2021-07-18-bc9d317f-3
    openwrt-keyring - 2021-02-20-49283916-2
    opkg - 2021-06-13-1bf042dd-1
    partx-utils - 2.36.1-2
    ppp - 2.4.8.git-2020-10-03-3
    ppp-mod-pppoe - 2.4.8.git-2020-10-03-3
    procd - 2021-03-08-2cfc26f8-1
    resize2fs - 1.45.6-2
    rpcd - 2021-03-11-ccb75178-1
    rpcd-mod-file - 2021-03-11-ccb75178-1
    rpcd-mod-iwinfo - 2021-03-11-ccb75178-1
    rpcd-mod-luci - 20210614
    rpcd-mod-rrdns - 20170710
    terminfo - 6.2-3
    uboot-envtools - 2021.01-3
    ubox - 2020-10-25-9ef88681-2
    ubus - 2021-06-30-4fc532c8-2
    ubusd - 2021-06-30-4fc532c8-2
    uci - 2021-04-14-4b3db117-5
    uclient-fetch - 2021-05-14-6a6011df-1
    uhttpd - 2021-03-21-15346de8-2
    uhttpd-mod-ubus - 2021-03-21-15346de8-2
    urandom-seed - 3
    urngd - 2020-01-21-c7f7b6b6-1
    usign - 2020-05-23-f1f65026-1
    

    Build the firmware with Github Action

    You can also build the firmware with Github action. Here is the .config file

    # Devices
    CONFIG_TARGET_rockchip=y
    CONFIG_TARGET_rockchip_armv8=y
    CONFIG_TARGET_rockchip_armv8_DEVICE_xunlong_orangepi-r1-plus-lts=y
    CONFIG_TARGET_ROOTFS_PARTSIZE=512
    
    # iptables
    
    CONFIG_PACKAGE_iptables-mod-conntrack-extra=y
    CONFIG_PACKAGE_iptables-mod-ipopt=y
    CONFIG_PACKAGE_iptables-mod-tproxy=y
    
    # Luci
    
    CONFIG_PACKAGE_luci=y
    CONFIG_PACKAGE_luci-base=y
    CONFIG_PACKAGE_liblucihttp=y
    CONFIG_PACKAGE_liblucihttp-lua=y
    CONFIG_PACKAGE_uhttpd=y
    CONFIG_PACKAGE_uhttpd-mod-ubus=y
    CONFIG_PACKAGE_luci-mod-admin-full=y
    CONFIG_PACKAGE_luci-mod-network=y
    CONFIG_PACKAGE_luci-mod-status=y
    CONFIG_PACKAGE_luci-mod-system=y
    CONFIG_PACKAGE_luci-app-firewall=y
    CONFIG_PACKAGE_luci-app-opkg=y
    CONFIG_PACKAGE_luci-theme-bootstrap=y
    CONFIG_PACKAGE_luci-proto-ipv6=y
    CONFIG_PACKAGE_luci-proto-ppp=y
    CONFIG_PACKAGE_luci-lib-base=y
    CONFIG_PACKAGE_luci-lib-ip=y
    CONFIG_PACKAGE_luci-lib-jsonc=y
    CONFIG_PACKAGE_luci-lib-nixio=y
    
    # Packages
    
    CONFIG_PACKAGE_ifstat=y
    CONFIG_PACKAGE_iftop=y
    CONFIG_PACKAGE_ipset=y
    CONFIG_PACKAGE_htop=y
    CONFIG_PACKAGE_libusb-1.0=y
    
    # Kmod
    
    CONFIG_PACKAGE_kmod-ipt-nat6=y
    CONFIG_PACKAGE_kmod-nf-nat6=y
    CONFIG_PACKAGE_kmod-usb-serial-option=y

    don’t forget to change the repo URL on the the build-openwrt.yml:

    #
    # Copyright (c) 2019-2020 P3TERX <https://p3terx.com>
    #
    # This is free software, licensed under the MIT License.
    # See /LICENSE for more information.
    #
    # https://github.com/P3TERX/Actions-OpenWrt
    # Description: Build OpenWrt using GitHub Actions
    #
    
    name: Build OpenWrt
    
    on:
      repository_dispatch:
      workflow_dispatch:
        inputs:
          ssh:
            description: 'SSH connection to Actions'
            required: false
            default: 'false'
    
    env:
      REPO_URL: https://github.com/vantechcorner/openwrt-orangepi
      REPO_BRANCH: openwrt-21.02
      FEEDS_CONF: feeds.conf.default
      CONFIG_FILE: .config
      DIY_P1_SH: diy-part1.sh
      DIY_P2_SH: diy-part2.sh
      UPLOAD_BIN_DIR: false
      UPLOAD_FIRMWARE: true
      UPLOAD_COWTRANSFER: false
      UPLOAD_WETRANSFER: false
      UPLOAD_RELEASE: false
      TZ: Asia/Shanghai
    
    jobs:
      build:
        runs-on: ubuntu-20.04

    Good luck!

  • NanoPi R5S OpenWRT Performance

    NanoPi R5S OpenWRT Performance

    Right now, the NanoPi R5S performance information is widely available in Chinese. Therefore, I decided to make this post, hope it will be useful if you are looking for this piece of information.

    If you have yet to watch the NanoPi R5S detailed overview in English, you can find it here.

    In the video, I am using the latest FriendlyWRT released on August 3, 2022. It is a fold of OpenWRT developed by Friendlyelec.

    Testing Network Diagram

    I setup a 2.5 Gigiabit network connection in order to test out the potential of the NanoPi R5S. The NanoPi R5S and the test server is connected to the FastRhino R68s LAN ports.

    NanoPi R5S FriendlyWRT Performance

    I run the WAN to LAN test a few times and the result is different from one to another. It looks like there are stability problem that FriendlyElec team need to fix.

    For Wireguard VPN and OpenVPN, the result is stable. The OpenVPN throughput is at 150Mbps and Wireguard VPN is around 610 Mbps.

    Data Rate Unit: MbpsOpenSpeedTest DownloadOpenSpeedTest Uploadiperf3
    WAN to LAN1168883607
    WAN to LAN (SW Offloading)18531338641
    OpenVPN160148150
    Wireguard VPN637610480

    Testing Video

    You can watch the full video to see how I upgrade the FriendlyWRT to the latest version as well as configuring the LAN1 port as a WAN port (2.5GbE).

    Feeel free to let me know what is the test you want me to do next with the NanoPi R5S!

  • Install OpenWRT on Xiaomi CR6608 Router

    Install OpenWRT on Xiaomi CR6608 Router

    Xiaomi CR6608 is a Wi-Fi6 AX1800 Router with 4 Gigabit Ethernet Ports. The router was manufacured for local Chinese ISP: CR6606 (China Unicom), CR6608 (China Mobile), CR6609 (China Telecom).

    OpenWRT support for this device was migrated into OpenWRT master on Feb 7, 2022. Special thanks to InfWang for his effort on the PR ramips: add support for Xiaomi Mi Router CR660x series

    Specifications:

    • SoC: MediaTek MT7621AT
    • RAM: 256MB DDR3 (ESMT M15T2G16128A)
    • Flash: 128MB NAND (ESMT F59L1G81MB)
    • Ethernet: 1000Base-T x4 (MT7530 SoC)
    • WLAN: 2×2 2.4GHz 574Mbps + 2×2 5GHz 1201Mbps (MT7905DAN + MT7975DN)
    • LEDs: System (Blue, Yellow), Internet (Blue, Yellow)
    • Buttons: Reset, WPS
    • UART: through-hole on PCB ((VCC 3.3v)(RX)(GND)(TX) 115200, 8n1)
    • Power: 12VDC, 1A

    The way to install OpenWRT on the Xiaomi CR6608 is simple and doesn’t required hardware modification. However, you will need a router running OpenWRT to proceed. It is a long video, but there are only 2 main steps:

    • Get SSH access to the router
    • Write OpenWRT firmware with mtd

    Get SSH access to Xiaomi CR6608

    First thing, connect the PC to the OpenWRT router. After that, create the xqsystem.lua file in /usr/lib/lua/luci/controller/admin/ with the below lines. Alternatively, you can create this file on your PC and upload it to the router with WinSCP.

    module("luci.controller.admin.xqsystem", package.seeall)
    
    function index()
          local page   = node("api")
          page.target  = firstchild()
          page.title   = ("")
          page.order   = 100
          page.index = true
          page   = node("api","xqsystem")
          page.target  = firstchild()
          page.title   = ("")
          page.order   = 100
          page.index = true
          entry({"api", "xqsystem", "token"}, call("getToken"), (""), 103, 0x08)
    end
    
    local LuciHttp = require("luci.http")
    
    function getToken()
          local result = {}
          result["code"] = 0
          result["token"] = "; nvram set ssh_en=1; nvram commit; sed -i 's/channel=.*/channel=\"debug\"/g' /etc/init.d/dropbear; /etc/init.d/dropbear start;"
          LuciHttp.write_json(result)
    end

    To verify, you can browse

    http://{OpenWRT-Router-IP}/cgi-bin/luci/api/xqsystem/token

    It should give you a respond like this:

    {"code":0,"token":"; nvram set ssh_en=1; nvram commit; …"}

    Now, setup the wireless interface on the OpenWRT router. To make it simple, I setup the SSID on 2.4GHz radio, SSID openwrt and the password is 12345678

    After that, change the IP address of the LAN (br-lan) interface to 169.254.31.1 and turn off DHCP server for this interface. Please note that, if you are changing the IP address using LuCI, you will need to set a static IP adddress for the PC to 169.254.31.3 and vist the OpenWRT router at 169.254.31.1 to confirm the changes (else, the router will revert the IP to default after 1 – 2 minutes).

    Now, switch to the Xiaomi CR6608 Router

    Connect to it via WiFi or Ethernet cable. After login to the Web UI, pay attention to the STOK ID which can be found on the URL

     http://Xiaomi-CR6608-IP/cgi-bin/luci/;stok={STOK}/web/home#router

    We are going to use the STOK for the next 2 query.

    http://Xiaomi-CR6608-IP/cgi-bin/luci/;stok={STOK}/api/misystem/extendwifi_connect?ssid={WiFi-SSID}&password={WiFi-Password}
    
    Here is how it looks like and the response if the connection is succes.

    Now, run the second command to get SSH access

    http://Xiaomi-CR6608-IP/cgi-bin/luci/;stok={STOK}/api/xqsystem/oneclick_get_remote_token?username=xxx&password=xxx&nonce=xxx

    At this step, you should be able to connect SSH to the router. The username is root and the password is the default password at the back of the router. (默认登录密码)

    Since UART access is locked ootb, you should get UART access by modify uboot env. Otherwise, your router may become bricked.
    Excute these in stock firmware shell:

    nvram set boot_wait=on
    nvram set bootdelay=3
    nvram commit

    If you don’t want to install OpenWRT now, you can safely shutdown the router and the SSH connection will be avalable. However, if you can’t wait to install OpenWRT (I think this is the reason you are reading this post, please proceed)

    Install OpenWRT on Xiaomi CR6608 with mtd

    We are going to need the openwrt-ramips-mt7621-xiaomi_mi-router-cr660x-squashfs-firmware.bin for the installation. Click here to download the firmware for the Xiaomi CR660x series.

    If the Xiaomi CR6608 is having internet connection, you can use wget or curl command to download the firmware directly to the /tmp directory. Or, you can download it to the computer and upload it to your router with WinSCP.

    After that, run these commands

    nvram set flag_try_sys1_failed=0
    nvram set flag_try_sys2_failed=1
    nvram commit

    Finnaly, executive this command to flash OpenWRT on the Xiaomi CR6608

    mtd -r write /tmp/openwrt-squashfs-firmware.bin firmware

    After this, the router will reboot itself and you can establish the SSH connection to it at 192.168.1.1. to install LuCI. Connect the WAN port of the CR6608 to the upstream router for internet connection and the below commands to install LuCI

    opkg update
    opkg install luci

    Now, you should be able to reach LuCI at 192.168.1.1

    Good luck and enjoy your CR660x OpenWRT router!

  • Install OpenWRT 21.02 on Ubiquiti UniFi AC Lite

    Install OpenWRT 21.02 on Ubiquiti UniFi AC Lite

    In this video, we will install OpenWRT on the Ubiquiti UniFi AC Lite. This tutorial can be applied on other Unfi AC models, such as the UniFi AC Pro or the UniFi AC LR. After that, we will check out the WiFi throughput & CPU usage of the UniFi AC Lite running OpenWRT with speedtest, OpenSpeedTest & iperf3.

    For this installation, I will use the non-invasive method using mtd from UniFi (via ssh). If you are looking for tftp installation method with serial console, you can check out the installation tutorial for UniFi AP LR – https://youtu.be/9Z1F8CAweHs

    Resources:

    UniFi AC guide from OpenWRT

    OpenWRT tftp Installation with Serial Console on UniFi AP LR

  • Install OpenWRT on Mikrotik RB750Gr3

    Install OpenWRT on Mikrotik RB750Gr3

    In this video, we are going to install OpenWRT 21.02 on the Mikrotik RouterBoard 750Gr3 (Hex).

    Most of the routers from Mikrotik use netboot via tftp to install/recovery the firmware and we will do the same for OpenWRT. This video will also show you how to downgrade your RouterOS version to 6.49.2 and backup your RouterOS license key, before proceeding with the OpenWRT installation with TinyPXE. Besides that, we will do a quick speedtest to see the CPU usage. At the end, we will also enable hardware & software flow offloading to see if there is any improvement in the performance.

    Check out the video at https://youtu.be/2k1uji4el7c

    Resources:

    Installation Guide & Firmware

    Common Procedures for MikroTik RouterBoard

    RouterOS Download

    TinyPXE

  • WiFi Fast Roaming on OpenWRT (Fast Transition)

    WiFi Fast Roaming on OpenWRT (Fast Transition)

    Fast roaming, also known as IEEE 802.11r or Fast BSS Transition (FT), allows a client device to roam quickly in environments implementing WPA2 Enterprise security, by ensuring that the client device does not need to re-authenticate to the RADIUS server every time it roams from one access point to another.

    We can easily configure Wifi fast roaming with LuCi. The required package is wpad (the full package, not wpad-mini nor wpad-basic).

    ESSID, encryption, key (password) and the Mobility Domain should be the same between each of the AP (node) while the operating frequency is advised to be different.

    Check out the new video at: https://www.youtube.com/watch?v=1yaodn1BpSw