-
Notifications
You must be signed in to change notification settings - Fork 102
Description
It seems like there are (at least) two different Raspberry Pi Zero 2 W revisions on the market, and they differ in terms of which WiFi chip is used.
The BCM43430/1 works as expected, and seems to match the chip used on the Raspberry Pi 3 B.
The BCM43430/2 however requires different firmware files (brcmfmac43436). This firmware unfortunately lacks support for 4-way handshake offloading, as can be verified by running iw phy, which prints:
Supported extended features:
* [ CQM_RSSI_LIST ]: multiple CQM_RSSI_THOLD records
…whereas on the BCM43430/1, Raspberry Pi 3B, 3B+ or 4B, it prints:
Supported extended features:
* [ CQM_RSSI_LIST ]: multiple CQM_RSSI_THOLD records
* [ 4WAY_HANDSHAKE_STA_PSK ]: 4-way handshake with PSK in station mode
* [ 4WAY_HANDSHAKE_STA_1X ]: 4-way handshake with 802.1X in station mode
* [ SAE_OFFLOAD ]: SAE offload support
The 4-way handshake offloading is not just a performance optimization, but rather the feature that made using encrypted WiFi possible at all on platforms like https://gokrazy.org/ (not based on Raspberry Pi OS, entirely implemented in Go aside from the Linux kernel). With the offloading, connecting to WiFi is as simple as one Linux nl80211 API call, whereas without the offloading, a lot of work is required in userspace (wpa_supplicant).
Is the lack of 4-way handshake offloading an oversight in the current firmware blobs for the BCM43430/2?
Is there any chance we could get a fixed firmware version?
Thanks in advance
(PS: we figured this out in gokrazy/gokrazy#96, but I’m filing a separate issue as the history is getting lengthy…)