

Getting to 1.5 Gbps WiFi 6E on the Raspberry Pi CM4
source link: https://www.jeffgeerling.com/blog/2023/getting-15-gbps-wifi-6e-on-raspberry-pi-cm4
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

Getting to 1.5 Gbps WiFi 6E on the Raspberry Pi CM4
January 5, 2023
In the pursuit of doing crazy things on a Raspberry Pi, my latest endeavor was to see if I could consistently pipe more than a gigabit per second of traffic through WiFi using a Raspberry Pi.

In the past, I had some faltering attempts where sometimes things would work—sort-of—using WiFi 6 (802.11ax, 40 MHz bandwidth, 2x2) using an Intel AX200 M.2 card on the Raspberry Pi Compute Module 4.
But Netgear saw my post about upgrading to 2.5 Gbps networking and decided to send me an upgraded Insight WAX630E access point—the one that does WiFi 6E with full support for 6 GHz and 160 MHz channel width. I had previously tested on an ASUS RT-AX86U (WiFi 6 only) and Netgear WAX620 (also WiFi 6 only), and it was high time I tried everything on the latest version of Raspberry Pi OS.
Here's my test setup:

If you want to skip the rest of this post, I also made a YouTube video about how I upgraded my home WiFi using the Netgear WAX630E pictured in the background, how I got the Pi working on the 6 GHz network with an Intel AX210, and how I benchmarked it against my M2 MacBook Air. You can watch that video here:
Getting to 6 GHz - wpa_supplicant
I set up a normal connection inside wpa_supplicant.conf
, but that connected through the Raspberry Pi's own internal WiFi (wlan0
). So I made a more specific supplicant file for wlan1
only, and put in the following config:
network={
ssid="mynetwork"
psk="PASSWORD_HERE"
}
At first I tried a mixed 2.4/5/6 SSID on the Netgear, but I realized the AX210 would first connect to 2.4 GHz and then to 5 GHz, but not the 6 GHz. So I tried splitting the networks, so I had three SSIDs:
- mynetwork-2.4g
- mynetwork-5g
- mynetwork-6g
And I tried forcing the issue by changing the ssid
to mynetwork-6g
. But it wouldn't connect. Eventually I discovered the version of wpa_supplicant that currently ships with Debian 11 / Raspberry Pi OS 11 is 2.9, and that version doesn't fully support WiFi 6E.
So I upgraded it following this advice on the Raspberry Pi forums:
- Create a backports file for apt:
sudo nano /etc/apt/sources.list.d/backports.list
- Put this inside:
deb http://deb.debian.org/debian bullseye-backports main
- Update apt caches:
sudo apt update
- Install the version of
wpa_supplicant
from backports:sudo apt install wpasupplicant/bullseye-backports
I restarted after that was done, but WiFi still wouldn't connect! So my next step was to run wpa_supplicant
in debug mode, to see what was going on behind the scenes:
pi@wifitest:~ $ sudo pkill wpa_supplicant
pi@wifitest:~ $ sudo wpa_supplicant -dd -i wlan1 -c /etc/wpa_supplicant/wpa_supplicant-wlan1.conf
...
wlan1: Selecting BSS from priority group 0
wlan1: 0: c8:9e:43:13:4a:81 ssid='mynetwork-6g' wpa_ie_len=0 rsn_ie_len=20 caps=0x511 level=-27 freq=6135
wlan1: skip RSN IE - key mgmt mismatch
wlan1: reject due to mismatch with WPA/WPA2
And that apparently, was because the default settings in wpa_supplicant
seem to align with WPA/WPA2. The Netgear was set up to use WPA3 Personal.
Getting to 6 GHz - WPA3
Following this ArchLinux guide, I found the solution was to add two more options in my network configuration in wpa_supplicant-wlan1.conf
:
network={
ssid="mynetwork-6g"
psk="PASSWORD_HERE"
key_mgmt=SAE
ieee80211w=2
}
After doing that, the Pi connected over the 6 GHz network, and at the full 160 MHz channel bandwidth:
pi@wifitest:~ $ iw dev wlan1 info
Interface wlan1
ifindex 4
wdev 0x100000001
addr 84:5c:f3:f6:e9:29
ssid mynetwork-6g
type managed
wiphy 1
channel 37 (6135 MHz), width: 160 MHz, center1: 6185 MHz
txpower 22.00 dBm
multicast TXQ:
qsz-byt qsz-pkt flows drops marks overlmt hashcol tx-bytes tx-packets
0 0 0 0 0 0 0 0 0
Further, I placed the Pi setup about a foot from the AP in my basement, so it could get the best possible signal:
pi@wifitest:~ $ iwconfig wlan1
wlan1 IEEE 802.11 ESSID:"mynetwork-6g"
...
Link Quality=70/70 Signal level=-19 dBm
With that, it was time to run a speed test!
pi@wifitest:~ $ iperf3 -c 10.0.100.15 -p 5432
Connecting to host 10.0.100.15, port 5432
[ 5] local 10.0.100.26 port 41196 connected to 10.0.100.15 port 5432
[ ID] Interval Transfer Bitrate Retr Cwnd
[ 5] 0.00-1.00 sec 164 MBytes 1.38 Gbits/sec 0 3.76 MBytes
[ 5] 1.00-2.00 sec 186 MBytes 1.56 Gbits/sec 0 3.97 MBytes
[ 5] 2.00-3.00 sec 188 MBytes 1.57 Gbits/sec 0 3.97 MBytes
[ 5] 3.00-4.00 sec 186 MBytes 1.56 Gbits/sec 0 3.97 MBytes
[ 5] 4.00-5.00 sec 188 MBytes 1.57 Gbits/sec 0 3.97 MBytes
[ 5] 5.00-6.00 sec 185 MBytes 1.55 Gbits/sec 0 3.97 MBytes
[ 5] 6.00-7.00 sec 186 MBytes 1.56 Gbits/sec 0 3.97 MBytes
[ 5] 7.00-8.00 sec 186 MBytes 1.56 Gbits/sec 0 3.97 MBytes
[ 5] 8.00-9.00 sec 188 MBytes 1.57 Gbits/sec 0 3.97 MBytes
[ 5] 9.00-10.00 sec 186 MBytes 1.56 Gbits/sec 0 3.97 MBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bitrate Retr
[ 5] 0.00-10.00 sec 1.80 GBytes 1.55 Gbits/sec 0 sender
[ 5] 0.00-10.01 sec 1.80 GBytes 1.54 Gbits/sec receiver
iperf Done.
Indeed; using --bidir
to flood TCP traffic both ways, I was seeing over 650 Mbps up and down concurrently, so I have a new wireless speed champion in the house.
It's annoying that my brand new M2 MacBook Air which cost about eight times as much (even accounting for the CM4, IO Board, M.2 to A+E-key adapter, and Intel AX210 card) gets WiFi speeds in the 700-900 Mbps range over the same network, since Apple is sticking with slower WiFi 6 radios in their current Mac lineup.
Recommend
-
16
After...
-
7
Testing 2.5 Gbps Ethernet on the Raspberry Pi CM4 December 29, 2020
-
16
Turing Pi 2 clusters four Raspberry Pi CM4 modules Oct 22, 2020 — by Eric Brown — 3936 views
-
17
Raspberry Pi CM4 carrier delivers isolated Modbus, 1-Wire, and CAN Mar 5, 2021 — by Eric Brown — 8943 views
-
13
Hardware RAID on the Raspberry Pi CM4 February 26, 2021 A few months ago, I posted a video titled
-
6
Raspberry Pi CM4 powers 7-inch panel PC and 10.1-inch AiO system Mar 23, 2021 — by Eric Brown — 2105 views
-
12
Tiny, dual-GbE Raspberry Pi CM4 carrier sells for $30 Mar 30, 2021 — by Eric Brown — 19455 views
-
24
Edge AI gateway combines Raspberry Pi CM4 with Coral Edge TPU Apr 2, 2021 — by Eric Brown — 337 views
-
17
Raspberry Pi 2.5 Gbps 16 TB OMV NAS - Setup and Performance April 2, 2021
-
9
Getting faster 10 Gbps Ethernet on the Raspberry Pi July 7, 2021 If you read the title of this blog post an...
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK