mirror of
https://git.kernel.org/pub/scm/network/wireless/iwd.git
synced 2025-02-21 20:40:42 +01:00
wiphy: add driver quirk to disable SAE
SAE/WPA3 is completely broken on brcmfmac, at least without a custom kernel patch which isn't included in many OS distributions. In order to help with this add a driver quirk so devices with brcmfmac can utilize WPA2 instead of WPA3 and at least connect to networks at this capacity until the fix is more widely distributed.
This commit is contained in:
parent
40af18f96a
commit
5f4bf2a5e5
10
src/wiphy.c
10
src/wiphy.c
@ -74,6 +74,7 @@ enum driver_flag {
|
||||
POWER_SAVE_DISABLE = 0x4,
|
||||
OWE_DISABLE = 0x8,
|
||||
MULTICAST_RX_DISABLE = 0x10,
|
||||
SAE_DISABLE = 0x20,
|
||||
};
|
||||
|
||||
struct driver_flag_name {
|
||||
@ -106,7 +107,8 @@ static const struct driver_flag_name driver_flag_names[] = {
|
||||
{ "ForcePae", FORCE_PAE },
|
||||
{ "PowerSaveDisable", POWER_SAVE_DISABLE },
|
||||
{ "OweDisable", OWE_DISABLE },
|
||||
{ "MulticastRxDisable", MULTICAST_RX_DISABLE }
|
||||
{ "MulticastRxDisable", MULTICAST_RX_DISABLE },
|
||||
{ "SaeDisable", SAE_DISABLE },
|
||||
};
|
||||
|
||||
struct wiphy {
|
||||
@ -202,6 +204,9 @@ uint16_t wiphy_get_supported_ciphers(struct wiphy *wiphy, uint16_t mask)
|
||||
|
||||
static bool wiphy_can_connect_sae(struct wiphy *wiphy)
|
||||
{
|
||||
if (wiphy->driver_flags & SAE_DISABLE)
|
||||
return false;
|
||||
|
||||
/*
|
||||
* WPA3 Specification version 3, Section 2.2:
|
||||
* A STA shall not enable WEP and TKIP
|
||||
@ -1374,6 +1379,9 @@ static void wiphy_print_basic_info(struct wiphy *wiphy)
|
||||
if (wiphy->driver_flags & MULTICAST_RX_DISABLE)
|
||||
flags = l_strv_append(flags, "MulticastRxDisable");
|
||||
|
||||
if (wiphy->driver_flags & SAE_DISABLE)
|
||||
flags = l_strv_append(flags, "SaeDisable");
|
||||
|
||||
joined = l_strjoinv(flags, ' ');
|
||||
|
||||
l_info("\tDriver Flags: %s", joined);
|
||||
|
Loading…
x
Reference in New Issue
Block a user