The OnePlus 12 offers a feature called “Dual WiFi Acceleration” under the WiFi Assistant page, claiming to achieve faster internet speeds by connecting to two WiFi networks simultaneously.
To evaluate this claim, I set up an OpenWiFi CIG WF-196 AP, a 4×4 WiFi 6e access point (AP) with support for 160MHz bandwidth on 6GHz, 80MHz on 5GHz, and 40MHz on 2.4GHz. I configured distinct SSIDs for each band:
WF-196-6G for 6GHz on channel 33 with 160MHz bandwidth
WF-196-5G for 5GHz on channel 116 with 80MHz bandwidth
WF-196-2G for 2.4GHz on channel 1 with 40MHz bandwidth
To maximize performance, I paired the OnePlus 12 with the AP using the 6GHz and 2.4GHz bands within an RF isolation chamber.
Although the OnePlus 12 is WiFi 7-capable, this setup does not leverage Multi-Link Operation (MLO). Instead, the phone establishes two separate physical connections over different radios. It appears to use some sort of load-balancing algorithm to optimize throughput across both links.
Using ADB commands and screen mirroring, I ran a speed test to a local Open SpeedTest server hosted on my router. In the video below, you can see how the phone successfully establishes two physical connections, one on wlan0 and the other on wlan1. The “iw dev wlan0/1 link” command outputs, refreshed every second, display packets sent and received over both interfaces.
However, the results were somewhat underwhelming. While the phone successfully maintained connections on both the 6GHz and 2.4GHz bands, traffic was rarely transmitted over both bands simultaneously. As shown in the video, almost all packets during the speed test were sent and received on the 6GHz link.
Another noteworthy observation was the failure of the 2.4GHz link to reach its expected PHY rate of 573.5Mbps on the uplink, despite the short distance and high RSSI. This may be due to degradation in beamforming due to maintaining simultaneous connections on both the 6GHz and 2.4GHz bands.
Despite these limitations, the Dual WiFi Acceleration feature holds promise. If optimized correctly, it could offer WiFi 7-like performance, similar to MLO, on legacy APs.
Want to know which enterprise class Wi-Fi Access Point offers the best value for your enterprise network?
We recently pitted the Ruckus R350 against the Edgecore EAP101 (running OpenWiFi firmware) in a series of rigorous tests. Here’s what we found:
Setup Environment:
The testing was conducted Over-The-Air (OTA) within an RF isolation chamber to ensure minimal interference and consistency. Both the Ruckus R350 and Edgecore EAP101 were tested on channel 112 with a 20MHz bandwidth.
Equipment Used:
LANforge: Used to simulate traffic loads.
RSSI Level: Set at -40 dBm for both APs during the capacity test.
Attenuation Levels: 0-50dB to cover the RSSI dynamic range between -40dBm to -85dBm.
Observations:
Range vs. Rate Test: Both APs performed similarly with the Intel BE200 client across attenuation levels. However, after 20 dB of attenuation, the R350 exhibited a slight dip in throughput performance compared to the EAP101.
Capacity Test: As the number of clients increased, both the EAP101 and R350 maintained a similar performance. However the EAP101 began to show a slight advantage (~7Mbps) once the client count surpassed 40.
Conclusion:
It’s clear that both access points delivered solid results here, however subtle differences emerged as we turned up the heat! The Edgecore EAP101, running the OpenWiFi firmware stack, delivered superior performance when compared to the incumbent Ruckus Unit. The EAP101’s ability to maintain throughput as conditions deteriorated highlights its clear value for organizations looking for a cost-effective solution that still delivers performance on par with the industry’s best!
At 802.11 Networks, we combine deep industry domain knowledge with cutting edge tools to ensure our clients are successful.
If you’re ready to transform your wireless network, reach out and let 802.11 Networks deliver a tailored solution that drives results. Our expertise and advanced tools will help you achieve your goals.
Recently, solutions offering MPSK-RADIUS services have gained traction in various deployment environments, including MDUs, parks, and venues. These systems provide a versatile solution, enabling user authentication, accounting, and attribute assignments such as VLANs, rate limiting, and quotas, all without requiring EAP support.
Some solutions, like those built on Passpoint 2.0, offer a smoother user experience by enabling seamless connectivity with zero user intervention. However, these solutions require EAP support, which is often lacking in low-end devices such as IoT devices. As a result, these devices cannot take advantage of the benefits provided by Passpoint 2.0-based solutions.
On the other hand, MPSK-RADIUS systems are based on the most common and basic security protocol in Wi-Fi, PSK (Personal), which is supported by virtually every device. In MPSK-RADIUS deployments, from the client’s perspective, there is no visible RADIUS server. Clients perform simple WPA or WPA2 Personal authentication using passphrases entered by the users.
In a traditional MPSK-RADIUS system, the AP does not have knowledge of the passphrase. Instead, a RADIUS server is configured with a list of MAC addresses and their corresponding passphrases. When a new client tries to connect to the AP, it goes through the open system authentication and association processes. Afterward, the AP initiates the 4-way handshake:
The AP sends EAPOL-Key message 1, which contains the ANonce.
The client generates the SNonce and, using it alongside the passphrase (which is expanded based on the SSID to become the PMK, where PMK = f(PSK, SSID)), generates the PTK and its derivatives (KEK, KCK, and TK).
PTK = f(PMK, Client MAC, BSSID, ANonce, SNonce)
The client installs the PTK, constructs EAPOL-Key message 2 by adding the SNonce, and uses the KCK to calculate a MIC for the message payload.
In a typical WPA2 Personal scenario, the AP would use the same inputs to calculate the PTK and verify the MIC based on the KCK. However, since the passphrase is stored on the RADIUS server, the AP forwards the entire content of EAPOL-Key message 2 to the RADIUS server in an Access-Request message.
The RADIUS server searches for a matching MAC address in its list. Once a match is found, it uses the passphrase and the information from EAPOL-Key message 2 to calculate the PMK. The RADIUS server then sends the PMK to the AP in an Access-Accept message.
With the PMK, the AP can either use the existing ANonce and SNonce to calculate the PTK and its derivatives or restart the 4-way handshake procedure to obtain new values. This decision typically depends on the configured timeout between EAPOL-Key messages and the time it takes for the RADIUS server to respond with the Access-Accept message.
The remainder of the process follows the standard 4-way handshake. The AP installs the PTK, generates the GTK (if this is its first client), encrypts it with the PTK, and sends it in EAPOL-Key message 3.
The final message, EAPOL-Key 4, is sent by the client to acknowledge the receipt and installation of the GTK.
This setup works well in controlled environments where the network administrator has a pre-populated list of all client MAC addresses. This scenario is common in enterprise networks where EAP is the primary authentication method, and MPSK-RADIUS is used to onboard IoT devices that do not support 802.1X.
However, a traditional MPSK-RADIUS setup is impractical in environments where the administrator has no control over the devices users bring to the network. A prime example is MDU networks, where the admin needs to manage a pool of PSKs that are not tied to a one-to-one mapping with specific MAC addresses. The system must allow users to authenticate with their assigned PSK, regardless of the MAC address of the device they are using to connect to the network.
MPSK with RADIUS systems offers a solution to the problem mentioned above. These solutions typically consist of multiple components that provide various services. Some of these components include:
RADIUS server for authentication and accounting.
Databases to manage pools of PSKs and PMKs.
Captive portal services for user interaction and onboarding.
SMS gateways to assist with new customer onboarding.
User portal for customers to manage their subscriptions and change their passwords without requiring network admin intervention.
The workflow for an MPSK-RADIUS solution is similar to the traditional MPSK-RADIUS setup described above, with one key difference: instead of matching the MAC address of the authenticating client to a list of one-to-one MAC-to-PSK pairs, the system calculates the PTK and MIC for all PSKs in the pool and tests them against the MIC sent by the AP in EAPOL-Key message 2. When a match is found, the system forwards the corresponding PMK to the AP. Once the AP receives the PMK, it has two options:
Create the GTK and build EAPOL-Key message 3: The AP generates the Group Temporal Key (GTK) if this is the first client or if a new GTK is needed. It then builds EAPOL-Key message 3, encrypts the GTK with the PTK, and sends it to the client.
Restart the 4-way handshake: If the time spent waiting for the Access-Accept message with the PMK exceeds the timeout for the 4-way handshake, the AP will restart the handshake process. This ensures that fresh ANonce and SNonce values are used, allowing the process to complete successfully.
MPSK-Radius solution authentication process
One major downside to the process described in the flowchart above is that every time a device roams to a new AP, it must undergo a full RADIUS authentication, which usually takes about one second. A roaming time of one second is unacceptable, as it can disrupt most Layer 3 (L3) connections. To address this, OpenWiFi enables PMKSA key caching for when the client re-roams back to the original AP and supports Fast Transition (FT) with MPSK-RADIUS or PSK-RADIUS when roaming to a new AP. The FT process can be summarized as follows:
Client initiates the roaming process by scanning for the next best candidate AP.
Client confirms FT support: The client checks whether the target AP supports Over-The-Air (OTA) or Distribution System (DS) FT transition roaming.
For Over-The-Air (OTA) FT:
Authentication exchange: The client and the target AP exchange FT Authentication frames. The client shares its SNonce, PMK ID, PMK-R0 ID, and Mobility Domain ID with the target AP. In return, the target AP provides its ANonce, PMK ID, PMK-R0 ID, PMK-R1 ID, and Mobility Domain ID.
Association exchange: The client and the target AP exchange Association and Reassociation frames. In the Association frames, the client includes the same information as above, along with a MIC generated on the message payload. In the Reassociation frames, the target AP includes the same information plus the GTK.
For Distribution System (DS) FT:
Authentication exchange: The same information is exchanged in the Authentication frames as in OTA FT, but instead of being sent over the air, the data is embedded in an Action Frame sent to the current AP. The current AP forwards this frame over the distribution system to the target AP. The target AP replies to the client via the distribution system through the current AP.
Association and Reassociation exchange: The Association and Reassociation frames remain unchanged, and the procedure follows the same steps as in the OTA case.
Flowchart of the OTA FT process from the IEEE802.11 2020 document
Flowchart of over DS FT process from the IEEE802.11 2020 document
The packet capture screenshots below illustrate how PMKSA key caching and Over-The-Air (OTA) Fast Transition (FT) with MPSK-RADIUS reduce authentication time from approximately 1 second to around 50 milliseconds.
OpenWiFi time with PMKSA Key caching when roaming back to the original AP
OpenWiFi Roaming time with MPSK-Radius with OTA FT enabled.
In today’s market, 2×2 APs are widely available, and several suppliers promote them as a less expensive, high-density deployment-capable alternative to the 4×4. On paper, 2×2 APs can theoretically offer a 2×2 client the same throughput numbers as a 4×4 one, which makes them more desirable.
The actual query is, in practice, do they realistically offer a 2×2 client the same throughput numbers? I’ve always known by heart that, a 4×4 AP has about 3dB of beam-forming gain on the downlink because of the two extra chains, and 3dB of gain on the uplink because of the MRC gain of the extra chains. That sounds wonderful, until you have to explain to someone why they should choose the more expensive 4×4 AP over the less expensive 2×2 AP when the manufacturer has assured them that the 2×2 AP can manage high density installations and can offer the same throughput numbers to a 2×2 client.
I start seeking for scientific evidence to back up my argument that in real life scenarios, a 4×4 AP is superior to a 2×2. During my research, I stumbled across Wes Purvis’ outstanding talk from the 2018 WLPC in Phoenix. Wes went on to demonstrate that a 4×4 had a gain over a 3×3 AP of roughly 2.4dB on the downlink and 1dB on the uplink. In multi-client scenarios, this resulted in a 15% increase in data rate and a 10% increase in throughput.
I was content with what I had discovered up until this point, but not quite. After all, this demonstrates that a 4×4 is superior to a 3×3, but not superior to a 2×2. What if the odd number of antennas is to blame for the 3×3’s subpar performance? The question might seem absurd or strange to us wireless engineers, but it is an illustration of the kind of inquiry non-technical management might ask you in an effort to comprehend why you selected the more expensive 4×4 AP.
I hypothesized that by just changing the number of transmitting antennas from 4 to 2, I could use the same illustration to demonstrate how beam-forming from a 4×4 AP to a 2×2 client is superior to beam-forming from a 2×2 AP to a 2×2 client. I executed the code twice under identical setup conditions, first for the case of 4×4=>2×2 and a second time for the case of 2×2=>2×2.
The setup evaluated a 2 spatial streams transmission using MCS4 on a 20MHz BW and TGac channel model with a Model-B delay profile from the AP to a client at a distance of 100 meters.
4×4=>2×2 SS1
2×2=>2×2 SS1
4×4=>2×2 SS2
2×2=>2×2 SS2
EVM RMS
2.0%
4.7%
4.1%
8.4%
EVM dB
-33.9
-26.5
-27.7
-21.5
Error Vector Magnitude values for SS1 and SS2 for the 4×4=>2×2 and the 2×2=>2×2
Constellation patterns for spatial 1 and 2 in the case of beam-forming from a 4×4 AP to a 2×2 client.
Constellation patterns for spatial 1 and 2 in the case of beam-forming from a 2×2 AP to a 2×2 client.
One can clearly see from the above results that the 4×4 AP had a lower EVM values than the 2×2 AP. This would lead to improved SNR values in real-world scenarios, which in turn would enable the 4×4 AP to shift gears and switch to a higher MCS rate.