All good on my Framework 13:
iwlwifi0@pci0:170:0:0: class=0x028000 rev=0x1a hdr=0x00 vendor=0x8086
device=0x2725 subvendor=0x8086 subdevice=0x0020
No obvious differences from before. I have a feeling it might be a tad
faster than before - especially under high CPU load - but that may also
be entirely placebo.
Attached a snipped from wpa_supplicant log from one of the periodic key
renewals or whatever it is. Not sure if it's interesting at all.
Btw I'm not able to build tools/tools/net80211/wlanstats. Build log
attached. I'll pull down newer source and rebuild (since it's later been
moved to usr/sbin) but I am not at liberty to do that right now.
/Eirik
On 18.02.2025 05:01, Bjoern A. Zeeb wrote:
Hi,
with [1] I added HW_CRYPTO support to the build for all LinuxKPI based
drivers. This is a pre-condition to make HT/VHT work with drivers/fw
which support, e.g., A-MPDU offloading -- basically almost everything
modern.
I will very likely MFC it at the end of the week if I didn't put in any
last minute bugs.
As the commit message says it currently only supports CCMP. If you
still do WEP or TKIP please let me know and I'll add it to the list
though I'll then likely want your help to test (patches) as well.
As also mentioned in the commit message I saw one specific panic in the
past which I no longer can reproduce. I am sure there's some other edge
cases on more devices so I need your help to test.
While the code is compiled in now it is disabled behind a tunable until
there is sufficient feedback for iwlwifi, rtw88 and rtw89 that it works.
Once that happens I'll flip the default for the tunable at least to on
and eventually remove it alltogether and we can move to the next steps
of testing which is hopefully fully merged to git by then.
So if you want some HT/VHT to work with at least modern iwlwifi, and then
also older iwlwifi, rtw88 and rtw89 in th enext steps please help testing
and report back the next days.
To turn the code on add the following line to laoder.conf:
compat.linuxkpi.80211.hw_crypto=1
At runtime you can check the state by using:
sysctl compat.linuxkpi.80211.hw_crypto
Also if you have any problems, then you can easily remove that line (or
unset it from loader) and boot with the support turned on.
If you reply to this thread or me (positive or negative feedback), please
add the pciconf -l line for your wifi card so we known about the chipset.
Lots of joy,
Bjoern
[1] https://cgit.FreeBSD.org/src/commit/?
id=11db70b6057e41b259dc2245cd893d5b19179fcc
Feb 18 15:13:23 f13 wpa_supplicant[6434]: wlan0: RX EAPOL from 82:8a:20:0f:71:c2 (encrypted=-1)
Feb 18 15:13:23 f13 wpa_supplicant[6434]: RX EAPOL - hexdump(len=131): 02 03 00 7f 02 13 82 00 00 00 00 00 00 00 00 00 08 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 1e d2 b7 72 8c 75 69 3f e5 88 98 72 5e ba 66 1c 00 20 d6 5d 90 58 8d a4 8c 29 82 40 26 93 8c bb 0d 30 d1 dd 31 be ce 71 4d 39 b6 cf e0 ae b8 18 1d 33
Feb 18 15:13:23 f13 wpa_supplicant[6434]: wlan0: IEEE 802.1X RX: version=2 type=3 length=127
Feb 18 15:13:23 f13 wpa_supplicant[6434]: WPA: RX EAPOL-Key - hexdump(len=131): 02 03 00 7f 02 13 82 00 00 00 00 00 00 00 00 00 08 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 1e d2 b7 72 8c 75 69 3f e5 88 98 72 5e ba 66 1c 00 20 d6 5d 90 58 8d a4 8c 29 82 40 26 93 8c bb 0d 30 d1 dd 31 be ce 71 4d 39 b6 cf e0 ae b8 18 1d 33
Feb 18 15:13:23 f13 wpa_supplicant[6434]: wlan0: EAPOL-Key type=2
Feb 18 15:13:23 f13 wpa_supplicant[6434]: wlan0: key_info 0x1382 (ver=2 keyidx=0 rsvd=0 Group Ack MIC Secure Encr)
Feb 18 15:13:23 f13 wpa_supplicant[6434]: wlan0: key_length=0 key_data_length=32
Feb 18 15:13:23 f13 wpa_supplicant[6434]: replay_counter - hexdump(len=8): 00 00 00 00 00 00 00 08
Feb 18 15:13:23 f13 wpa_supplicant[6434]: key_nonce - hexdump(len=32): 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Feb 18 15:13:23 f13 wpa_supplicant[6434]: key_iv - hexdump(len=16): 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Feb 18 15:13:23 f13 wpa_supplicant[6434]: key_rsc - hexdump(len=8): 00 00 00 00 00 00 00 00
Feb 18 15:13:23 f13 wpa_supplicant[6434]: key_id (reserved) - hexdump(len=8): 00 00 00 00 00 00 00 00
Feb 18 15:13:23 f13 wpa_supplicant[6434]: key_mic - hexdump(len=16): 1e d2 b7 72 8c 75 69 3f e5 88 98 72 5e ba 66 1c
Feb 18 15:13:23 f13 wpa_supplicant[6434]: WPA: EAPOL-Key MIC using HMAC-SHA1
Feb 18 15:13:23 f13 wpa_supplicant[6434]: RSN: encrypted key data - hexdump(len=32): d6 5d 90 58 8d a4 8c 29 82 40 26 93 8c bb 0d 30 d1 dd 31 be ce 71 4d 39 b6 cf e0 ae b8 18 1d 33
Feb 18 15:13:23 f13 wpa_supplicant[6434]: WPA: Decrypt Key Data using AES-UNWRAP (KEK length 16)
Feb 18 15:13:23 f13 wpa_supplicant[6434]: WPA: decrypted EAPOL-Key key data - hexdump(len=24): [REMOVED]
Feb 18 15:13:23 f13 wpa_supplicant[6434]: wlan0: RSN: RX message 1 of Group Key Handshake from 82:8a:20:0f:71:c2 (ver=2)
Feb 18 15:13:23 f13 wpa_supplicant[6434]: RSN: msg 1/2 key data - hexdump(len=24): [REMOVED]
Feb 18 15:13:23 f13 wpa_supplicant[6434]: WPA: GTK in EAPOL-Key - hexdump(len=24): [REMOVED]
Feb 18 15:13:23 f13 wpa_supplicant[6434]: wlan0: State: COMPLETED -> GROUP_HANDSHAKE
Feb 18 15:13:23 f13 wpa_supplicant[6434]: RSN: received GTK in group key handshake - hexdump(len=18): [REMOVED]
Feb 18 15:13:23 f13 wpa_supplicant[6434]: WPA: Group Key - hexdump(len=16): [REMOVED]
Feb 18 15:13:23 f13 wpa_supplicant[6434]: wlan0: WPA: Installing GTK to the driver (keyidx=1 tx=0 len=16)
Feb 18 15:13:23 f13 wpa_supplicant[6434]: WPA: RSC - hexdump(len=6): 00 00 00 00 00 00
Feb 18 15:13:23 f13 wpa_supplicant[6434]: bsd_set_key: alg=3 addr=0x1275fa3c4bc4 key_idx=1 set_tx=0 seq_len=6 key_len=16
Feb 18 15:13:23 f13 wpa_supplicant[6434]: wlan0: WPA: Sending EAPOL-Key 2/2
Feb 18 15:13:23 f13 wpa_supplicant[6434]: WPA: Send EAPOL-Key frame to 82:8a:20:0f:71:c2 ver=2 mic_len=16 key_mgmt=0x2
Feb 18 15:13:23 f13 wpa_supplicant[6434]: WPA: EAPOL-Key MIC using HMAC-SHA1
Feb 18 15:13:23 f13 wpa_supplicant[6434]: WPA: KCK - hexdump(len=16): [REMOVED]
Feb 18 15:13:23 f13 wpa_supplicant[6434]: WPA: Derived Key MIC - hexdump(len=16): c5 d3 20 29 a7 f6 a6 1d 2b 23 9e 56 90 3a 14 10
Feb 18 15:13:23 f13 wpa_supplicant[6434]: WPA: TX EAPOL-Key - hexdump(len=99): 01 03 00 5f 02 03 02 00 00 00 00 00 00 00 00 00 08 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 c5 d3 20 29 a7 f6 a6 1d 2b 23 9e 56 90 3a 14 10 00 00
Feb 18 15:13:23 f13 wpa_supplicant[6434]: wlan0: Cancelling authentication timeout
Feb 18 15:13:23 f13 wpa_supplicant[6434]: wlan0: State: GROUP_HANDSHAKE -> COMPLETED
cc -O2 -pipe -fno-common -I/usr/src/tools/tools/net80211/wlanstats/../../../../lib/libbsdstat/ -fPIE -g -gz=zlib -MD -MF.depend.wlanstats.o -MTwlanstats.o -std=gnu17 -Wno-format-zero-length -fstack-protector-strong -Wsystem-headers -Werror -Wall -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wcast-qual -Wwrite-strings -Wswitch -Wshadow -Wunused-parameter -Wcast-align -Wchar-subscripts -Wnested-externs -Wold-style-definition -Wno-pointer-sign -Wdate-time -Wmissing-variable-declarations -Wthread-safety -Wno-empty-body -Wno-string-plus-int -Wno-unused-const-variable -Wno-error=unused-but-set-parameter -Wno-error=cast-function-type-mismatch -fbracket-depth=512 -Wno-cast-align -Qunused-arguments -c /usr/src/tools/tools/net80211/wlanstats/wlanstats.c -o wlanstats.o
/usr/src/tools/tools/net80211/wlanstats/wlanstats.c:464:31: error: call to undeclared function 'CLLADDR'; ISO C99 and later do not support implicit function declarations [-Werror,-Wimplicit-function-declaration]
464 | IEEE80211_ADDR_COPY(wf->mac, CLLADDR(sdl));
| ^
/usr/src/tools/tools/net80211/wlanstats/wlanstats.c:464:31: error: incompatible integer to pointer conversion passing 'int' to parameter of type 'const void *' [-Wint-conversion]
464 | IEEE80211_ADDR_COPY(wf->mac, CLLADDR(sdl));
| ^~~~~~~~~~~~
/usr/src/tools/tools/net80211/wlanstats/wlanstats.c:58:51: note: expanded from macro 'IEEE80211_ADDR_COPY'
58 | #define IEEE80211_ADDR_COPY(dst, src) memcpy(dst, src, IEEE80211_ADDR_LEN)
| ^~~
/usr/include/string.h:65:58: note: passing argument to parameter here
65 | void *(memcpy)(void * __restrict, const void * __restrict, size_t);
| ^
2 errors generated.
*** Error code 1
Stop.
make: stopped making "all" in /usr/src/tools/tools/net80211/wlanstats