Testing the speed of wireless adapters¶
All wireless adapters were tested under consistent conditions - each positioned in close proximity (1-2m) and connected to the same wireless access point (AP). The adapters utilized various interface types, including USB, SDIO, and PCI, to evaluate performance across different hardware configurations.
Test Equipment¶
- Access Point: Zyxel NWA130BE (Wi-Fi 7)
- Network Switches:
- Netgear XS712T
- Netgear XS508M
- Power Switches: APC AP7920
- Client Devices:
- Multiple single-board computers equipped with onboard wireless modules or PCI Wi-Fi cards
- USB wireless test server: Geekom IT13 with an i-Tec 16-port USB 3.0 hub
Software and Infrastructure¶
- Infrastructure Database: NetBox for resource modeling and inventory
- Automation: GitHub Actions for workflow orchestration and test execution
- Networking: Tailscale for secure device connectivity across the test environment
- Test Platform: KVM virtual machine running the latest x86 Armbian image for USB wireless testing
Methodology¶
Overview of the WiFi performance test process:
-
β‘ Power On Devices
ββ Embedded WiFi-capable devices and USB wireless adapters are powered on. -
π Configure Wireless Connection
ββ Devices are configured to connect to a predefined access point (SSID). -
πΆ Connect to WiFi Network
ββ Network connectivity is validated to ensure the device is routable. -
π Measure Performance (iperf3)
ββ Perform reverse (-R
) and forward iperf3 tests
ββ Measure throughput and link quality. -
π Collect System & Network Info
ββ Extract link details (e.g. bitrate, signal strength)
ββ Record system version, kernel, architecture. -
π Restore Wired Network
ββ Reapply original routes and configuration. -
βοΈ Upload Test Results
ββ Summary, logs, and system info are uploaded as artifacts. -
π΄ Power Off Devices
ββ All test devices are safely powered down after testing completes.
Devices Under Tests¶
This section presents the performance test results, including key metrics and technical details from the test execution.
Test Date: 2025-06-24 21:36 UTC
AC¶
Broadcom 4345¶
OS: Armbian v25.2.2, 6.12.15-current-bcm2711
Chipset | Class | Average forward speed | Average reverse speed |
---|---|---|---|
BCM4345 | AC | 48.7 Mbits/sec | 56.0 Mbits/sec |
Compex WLE900VX¶
OS: Armbian v25.08.0-trunk, 6.12.28-edge-mvebu
Chipset | Class | Average forward speed | Average reverse speed |
---|---|---|---|
QCA9880 | AC | 111 Mbits/sec | 99.2 Mbits/sec |
EDUP EP-AC1681¶
OS: Armbian v25.8.0-trunk.269, 6.12.34-current-x86
Chipset | Class | Average forward speed | Average reverse speed |
---|---|---|---|
RTL88x2BU | AC | 162 Mbits/sec | 254 Mbits/sec |
Realtek 8811AU¶
OS: Armbian v25.8.0-trunk.269, 6.12.34-current-x86
Chipset | Class | Average forward speed | Average reverse speed |
---|---|---|---|
RTL8812AU | AC | 154 Mbits/sec | 187 Mbits/sec |
Realtek 8812AU¶
OS: Armbian v25.8.0-trunk.269, 6.12.34-current-x86
Chipset | Class | Average forward speed | Average reverse speed |
---|---|---|---|
RTL8812AU | AC | 155 Mbits/sec | 271 Mbits/sec |
Realtek 8821CU #1¶
OS: Armbian v25.8.0-trunk.269, 6.12.34-current-x86
Chipset | Class | Average forward speed | Average reverse speed |
---|---|---|---|
RTL8821CU | AC | 128 Mbits/sec | 204 Mbits/sec |
Realtek 8821CU #2¶
OS: Armbian v25.5.1, 6.12.28-current-meson64
Chipset | Class | Average forward speed | Average reverse speed |
---|---|---|---|
RTL8821CU | AC | 249 Mbits/sec | 253 Mbits/sec |
Text Only | |
---|---|
Realtek 8822CE¶
OS: Armbian v25.2.3, 6.12.21-current-rockchip64
Chipset | Class | Average forward speed | Average reverse speed |
---|---|---|---|
RTL8822CE | AC | 530 Mbits/sec | 489 Mbits/sec |
AX¶
Ampak 6275P¶
OS: Armbian v25.8.0-trunk.149, 6.12.33-current-rockchip64
Chipset | Class | Average forward speed | Average reverse speed |
---|---|---|---|
AP6275P | AX | 343 Mbits/sec | 301 Mbits/sec |
Comfast CF953AX¶
OS: Armbian v25.8.0-trunk.269, 6.12.34-current-x86
Chipset | Class | Average forward speed | Average reverse speed |
---|---|---|---|
MT7921AU | AX | 111 Mbits/sec | 149 Mbits/sec |
Intel AX200¶
OS: Armbian v25.2.2, 6.12.15-current-rockchip64
Chipset | Class | Average forward speed | Average reverse speed |
---|---|---|---|
AX200 | AX | 822 Mbits/sec | 754 Mbits/sec |
N¶
Alfa RT3572¶
OS: Armbian v25.8.0-trunk.269, 6.12.34-current-x86
Chipset | Class | Average forward speed | Average reverse speed |
---|---|---|---|
RT3572 | N | 91.1 Mbits/sec | 65.6 Mbits/sec |
Broadcom 43430¶
OS: Armbian v25.5.1, 6.12.23-current-sunxi
Chipset | Class | Average forward speed | Average reverse speed |
---|---|---|---|
BCM43430 | N | 52.2 Mbits/sec | 39.5 Mbits/sec |
Broadcom 43455¶
OS: Armbian v25.2.3, 6.12.22-current-x86
Chipset | Class | Average forward speed | Average reverse speed |
---|---|---|---|
BCM43455 | N | 48.8 Mbits/sec | 54.8 Mbits/sec |
Ralink RT5370¶
OS: Armbian v25.8.0-trunk.269, 6.12.34-current-x86
Chipset | Class | Average forward speed | Average reverse speed |
---|---|---|---|
RT5370 | N | 11.9 Mbits/sec | 21.5 Mbits/sec |
Ralink RT5572¶
OS: Armbian v25.8.0-trunk.269, 6.12.34-current-x86
Chipset | Class | Average forward speed | Average reverse speed |
---|---|---|---|
RT5572 | N | 72.9 Mbits/sec | 62.3 Mbits/sec |
Realtek 8188CUS¶
OS: Armbian v25.8.0-trunk.269, 6.12.34-current-x86
Chipset | Class | Average forward speed | Average reverse speed |
---|---|---|---|
RTL8192CU | N | 42.4 Mbits/sec | 26.1 Mbits/sec |
Realtek 8723BS¶
OS: Armbian v25.2.1, 6.12.13-current-rockchip
Chipset | Class | Average forward speed | Average reverse speed |
---|---|---|---|
RTL8723BS | N | 38.1 Mbits/sec | 28.8 Mbits/sec |
Text Only | |
---|---|
Realtek 8723BU¶
OS: Armbian v25.8.0-trunk.269, 6.12.34-current-x86
Chipset | Class | Average forward speed | Average reverse speed |
---|---|---|---|
RTL8723BU | N | 31.2 Mbits/sec | 43.5 Mbits/sec |
Realtek RT3070¶
OS: Armbian v25.8.0-trunk.265, 6.12.34-current-rockchip64
Chipset | Class | Average forward speed | Average reverse speed |
---|---|---|---|
RTL2870 | N | 7.75 Mbits/sec | 11.2 Mbits/sec |
UWE 5622¶
OS: Armbian v25.8.0-trunk.154, 6.12.30-current-sunxi64
Chipset | Class | Average forward speed | Average reverse speed |
---|---|---|---|
UWE5622 | N | 51.3 Mbits/sec | 55.5 Mbits/sec |
Xradio XR819¶
OS: Armbian v25.5.1, 6.12.23-current-sunxi
Chipset | Class | Average forward speed | Average reverse speed |
---|---|---|---|
XR819 | N | 17.8 Mbits/sec | 11.2 Mbits/sec |
Failed Devices¶
Commercial Name | Chip | Class |
---|---|---|
AIC8800 | AIC8800 | AX |
Atheros AR9271 | AR9271 | N |
BrosTrend 1800 | RTL8852AU | AX |
Mediatek MT7925 | MT7925 | AX |
Mediatek MT7925E #1 | MT7925E | AX |
Mediatek MT7925E #2 | MT7925E | AX |
Ralink MT7601U | MT7601U | N |
Realtek 8188EU | RTL8192CU | N |
Realtek 8814AU | RTL8814AU | AC |
Realtek 8852BE | RTL8852BE | AX |
Realtek RT2870 | RTL2870 | N |
Contribute¶
- Assist us in developing and maintaining our testing system: Your expertise can help us enhance and optimize our test infrastructure. By contributing your skills, you can play a key role in ensuring the accuracy and reliability of our test results.
- Donate hardware: Your contribution of new hardware, whether itβs a wireless adapter or any other equipment, helps us expand our testing capabilities. Weβre specifically looking for new wireless adapters that havenβt yet been added to our system. Your donation can directly impact the scope and depth of our tests.
- Join our team: Become part of our passionate and dedicated team. Weβre looking for individuals who share our vision and are eager to contribute to the development of innovative testing solutions. Whether you have technical expertise or simply a willingness to learn, thereβs a place for you here!
Adding a New Device¶
This guide provides step-by-step instructions to add a new device (SBC SDIO, PCI or USB adapter) to the wireless testing infrastructure.
1. Prepare the Host Machine¶
- Ensure the board and wireless device is supported by Armbian.
- Flash Armbian image and configure basic settings
- Set hostname that reflects wireless test device (eg. rtl3070, wifiserver)
Bash | |
---|---|
2. Identify Network Interfaces¶
- Use
ip link
oriw dev
to list available interfaces. - Identify MAC address and interface name (e.g.,
wlan0
,wlxMAC
, etc.).
3. Create a UDEV Rule¶
Warning
This step is only necessary if your network device does not have a predictable interface name.
- Use a predictable name like
wl<MAC>
to avoid interface conflicts. - Add rule in
/etc/udev/rules.d/70-persistent-net.rules
:
Bash | |
---|---|
4. Get VPN access¶
The TAILSCALE_AUTH_KEY
and access credentials for NetBox must be provided by the Armbian administration team. For assistance, please contact us via https://www.armbian.com/contact/.
5. Prepare the machine¶
- Creates a new user (
ci
) with sudo privileges - Configures SSH for key-based authentication only
- Installs and configures Tailscale for secure remote access
- Installs
iperf3
for network performance testing
6. Register Your Location¶
Access: https://stuff.armbian.com/netbox/dcim/sites/
- Sites in NetBox represent physical locations of wireless test equipment.
- Each site have devices such as Access Points (APs), iperf3 servers, and wireless test clients.
- Register your testing location first if it doesn’t exist yet. Create a new site with a clear name (e.g., Office Berlin, Lab Maribor) and add necessary data.
Warning
Make sure to check if site is not already define to not clutter database!
Update Relevant Information
- Access point SSID:
Your SSID
- Iperf3 server IP: your local
IP address
that runs iperf3 server and can be accessible from wireless client
7. Register Device Type¶
Add new device type
Relevant data
- Model name (CAPS): AIC8800
- Manufacturer: Generic
- Add image of the device in full HD (1920x1080) with exact same name as model AIC8800.png (CAPS name, lowercase extension)
Warning
Skip this step if WiFi SoC already exists in database.
8. Register Device¶
Relevant data
- Name: Compex WLE900VX (use commercial name)
- Device role: WiFi DUT
- Tags: USB Wireless
- Manufacturer: Generic
- Device type: AIC8800 (select the one you added previously)
- Serial number: 04:f0:21:2c:75:14 (MAC address)
- Location: where you are
- Site: name of your office, defined in previous step
- Custom Fields / class: AC (wifi classes: AX, AC, N)
- Add virtual interface (Add Components -> Interfaces)
Relevant data
- Name:
tailscale0
- Type:
virtual
Then select interface tailscale0
and add IP address
. Copy IP address
from your device (example: 100.115.0.58/32) and select: Make this the primary IP for the device/VM
9. Run Initial Test¶
Run the Wireless Performance Autotest workflow to verify whether the newly added device has been included in the test pool.
Other resources¶
- USB WiFi Adapter Information for Linux
- Official Linux Wireless documentation
- Armbian forum - Advanced users - Development