2022-01-01 19:34:07 |
KOLANICH |
description |
>Problem: error `ERROR @wl_set_key_mgmt : invalid cipher group (1027076)`
Logic errors in error-reporting code cause a highly misleading message to be emitted. The problem is not within cipher group (that is supported WLAN_CIPHER_SUITE_CCMP).
```patch
- WL_ERR(("invalid cipher group (%d)\n", sme->crypto.cipher_group));
+ WL_ERR(("invalid akm suite (%d)\n", sme->crypto.akm_suites[0]));
``` |
>Problem: error `ERROR @wl_set_key_mgmt : invalid cipher group (1027076)`
1. Logic errors in error-reporting code cause a highly misleading message to be emitted. The problem is not within cipher group (that is supported WLAN_CIPHER_SUITE_CCMP).
```patch
- WL_ERR(("invalid cipher group (%d)\n", sme->crypto.cipher_group));
+ WL_ERR(("invalid akm suite (%d)\n", sme->crypto.akm_suites[0]));
```
2. Once we fix the error-reporting logic we get the correct error message:
> ERROR @wl_set_key_mgmt : invalid akm suite (1027078)
It is because that case (WLAN_AKM_SUITE_PSK_SHA256) is not processed. Even the mere presence of it in announced cipher suites is enough to break wifi. Not only for this driver, but also for drivers for Windows.
I have ported processing of the cases from the open-source driver, but it still doesn't work and causes errors in kernel. Likely it requires some code in other places, maybe even in firmware.
`wpa_key_mgmt=WPA-PSK WPA-PSK-SHA256` in `hostapd` config (currently it is defaults on OpenWRT).
The OpenWRT wiki is incorrect, in `/etc/config/wireless` `ieee80211w=1` is the default, which causes `wpa_key_mgmt` be generated so.
`wpa_key_mgmt=WPA-PSK SAE` in `hostapd` config works fine (if these shitty crashing drivers can be called working fine).
To make it so, explicitly set `ieee80211w=0` in `/etc/config/wireless`.
So the second patch just gives the explanination to the user what happens and the instructions on what to fix in his router configuration as a workaround. |
|