* [RFC PATCH v1 0/2] External Auth support
@ 2024-08-23 17:41 Denis Kenzior
2024-08-23 17:41 ` [RFC PATCH v1 1/2] netdev: external auth support Denis Kenzior
` (4 more replies)
0 siblings, 5 replies; 24+ messages in thread
From: Denis Kenzior @ 2024-08-23 17:41 UTC (permalink / raw)
To: iwd; +Cc: Denis Kenzior
This series implements External Auth support on Full MAC cards that do
not support SAE offload. I have not been able to test this fully since
the brcmfmac firmware on the RPi 5 does not actually work properly.
Maybe some enterprising person can test it on a firmware that does work?
Denis Kenzior (2):
netdev: external auth support
sae: Allow ability to force Group 19 / Hunt and Peck
src/netdev.c | 258 +++++++++++++++++++++++++++++++++++++++++-----
src/nl80211util.c | 4 +-
src/sae.c | 20 ++++
src/sae.h | 3 +
src/wiphy.c | 19 ++--
5 files changed, 263 insertions(+), 41 deletions(-)
--
2.45.2
^ permalink raw reply [flat|nested] 24+ messages in thread* [RFC PATCH v1 1/2] netdev: external auth support 2024-08-23 17:41 [RFC PATCH v1 0/2] External Auth support Denis Kenzior @ 2024-08-23 17:41 ` Denis Kenzior 2024-08-26 12:03 ` James Prestwood 2024-08-23 17:41 ` [RFC PATCH v1 2/2] sae: Allow ability to force Group 19 / Hunt and Peck Denis Kenzior ` (3 subsequent siblings) 4 siblings, 1 reply; 24+ messages in thread From: Denis Kenzior @ 2024-08-23 17:41 UTC (permalink / raw) To: iwd; +Cc: Denis Kenzior Certain FullMAC drivers do not expose CMD_ASSOCIATE/CMD_AUTHENTICATE, but lack the ability to fully offload SAE connections to the firmware. Such connections can still be supported on such firmware by using CMD_EXTERNAL_AUTH & CMD_FRAME. The firmware sets the NL80211_FEATURE_SAE bit (which implies support for CMD_AUTHENTICATE, but oh well), and no other offload extended features. When CMD_CONNECT is issued, the firmware sends CMD_EXTERNAL_AUTH via unicast to the owner of the connection. The connection owner is then expected to send SAE frames with the firmware using CMD_FRAME and receive authenticate frames using unicast CMD_FRAME notifications as well. Once SAE authentication completes, userspace is expected to send a final CMD_EXTERNAL_AUTH back to the kernel with the corresponding status code. On failure, a non-0 status code should be used. Note that for historical reasons, SAE AKM sent in CMD_EXTERNAL_AUTH is given in big endian order, not CPU order as is expected! --- src/netdev.c | 255 +++++++++++++++++++++++++++++++++++++++++----- src/nl80211util.c | 4 +- src/wiphy.c | 19 ++-- 3 files changed, 237 insertions(+), 41 deletions(-) diff --git a/src/netdev.c b/src/netdev.c index 494e46a59de2..a1342d1bef94 100644 --- a/src/netdev.c +++ b/src/netdev.c @@ -187,6 +187,7 @@ struct netdev { bool retry_auth : 1; bool in_reassoc : 1; bool privacy : 1; + bool external_auth : 1; }; struct netdev_preauth_state { @@ -815,6 +816,7 @@ static void netdev_connect_free(struct netdev *netdev) netdev->expect_connect_failure = false; netdev->cur_rssi_low = false; netdev->privacy = false; + netdev->external_auth = false; if (netdev->connect_cmd) { l_genl_msg_unref(netdev->connect_cmd); @@ -2454,7 +2456,10 @@ static struct l_genl_msg *netdev_build_cmd_connect(struct netdev *netdev, switch (nhs->type) { case CONNECTION_TYPE_SOFTMAC: + break; case CONNECTION_TYPE_FULLMAC: + l_genl_msg_append_attr(msg, + NL80211_ATTR_EXTERNAL_AUTH_SUPPORT, 0, NULL); break; case CONNECTION_TYPE_SAE_OFFLOAD: l_genl_msg_append_attr(msg, NL80211_ATTR_SAE_PASSWORD, @@ -3368,6 +3373,77 @@ static void netdev_fils_tx_associate(struct iovec *fils_iov, size_t n_fils_iov, } } +static void netdev_external_auth_frame_cb(struct l_genl_msg *msg, + void *user_data) +{ + int error = l_genl_msg_get_error(msg); + + if (error < 0) + l_debug("Failed to send External Auth Frame: %s(%d)", + strerror(-error), -error); +} + +static void netdev_external_auth_sae_tx_authenticate(const uint8_t *body, + size_t body_len, void *user_data) +{ + struct netdev *netdev = user_data; + struct handshake_state *hs = netdev->handshake; + uint16_t frame_type = MPDU_MANAGEMENT_SUBTYPE_AUTHENTICATION << 4; + struct iovec iov[2]; + struct l_genl_msg *msg; + uint8_t algorithm[2] = { 0x03, 0x00 }; + + l_debug(""); + + iov[0].iov_base = &algorithm; + iov[0].iov_len = sizeof(algorithm); + iov[1].iov_base = (void *) body; + iov[1].iov_len = body_len; + + msg = nl80211_build_cmd_frame(netdev->index, frame_type, + hs->spa, hs->aa, 0, iov, 2); + + if (l_genl_family_send(nl80211, msg, netdev_external_auth_frame_cb, + netdev, NULL) > 0) + return; + + l_genl_msg_unref(msg); +} + +static void netdev_external_auth_cb(struct l_genl_msg *msg, void *user_data) +{ + int error = l_genl_msg_get_error(msg); + + if (error < 0) + l_debug("Failed to send External Auth: %s(%d)", + strerror(-error), -error); +} + +static void netdev_send_external_auth(struct netdev *netdev, + uint16_t status_code) +{ + struct handshake_state *hs = netdev->handshake; + struct l_genl_msg *msg = + nl80211_build_external_auth(netdev->index, status_code, + hs->ssid, hs->ssid_len, hs->aa); + + if (l_genl_family_send(nl80211, msg, netdev_external_auth_cb, + netdev, NULL) > 0) + return; + + l_genl_msg_unref(msg); +} + +static void netdev_external_auth_sae_tx_associate(void *user_data) +{ + struct netdev *netdev = user_data; + + l_debug(""); + + netdev_send_external_auth(netdev, MMPDU_STATUS_CODE_SUCCESS); + netdev_ensure_eapol_registered(netdev); +} + struct rtnl_data { struct netdev *netdev; uint8_t addr[ETH_ALEN]; @@ -3376,6 +3452,10 @@ struct rtnl_data { static int netdev_begin_connection(struct netdev *netdev) { + struct netdev_handshake_state *nhs = + l_container_of(netdev->handshake, + struct netdev_handshake_state, super); + if (netdev->connect_cmd) { netdev->connect_cmd_id = l_genl_family_send(nl80211, netdev->connect_cmd, @@ -3395,7 +3475,7 @@ static int netdev_begin_connection(struct netdev *netdev) */ handshake_state_set_supplicant_address(netdev->handshake, netdev->addr); - if (netdev->ap) { + if (netdev->ap && nhs->type == CONNECTION_TYPE_SOFTMAC) { if (!auth_proto_start(netdev->ap)) goto failed; @@ -3770,7 +3850,11 @@ static int netdev_handshake_state_setup_connection_type( if (softmac && wiphy_has_feature(wiphy, NL80211_FEATURE_SAE)) goto softmac; - return -EINVAL; + /* FullMAC uses EXTERNAL_AUTH and reuses this feature bit */ + if (wiphy_has_feature(wiphy, NL80211_FEATURE_SAE)) + goto fullmac; + + return -ENOTSUP; case IE_RSN_AKM_SUITE_FILS_SHA256: case IE_RSN_AKM_SUITE_FILS_SHA384: case IE_RSN_AKM_SUITE_FT_OVER_FILS_SHA256: @@ -3841,40 +3925,43 @@ static void netdev_connect_common(struct netdev *netdev, goto done; } - if (nhs->type != CONNECTION_TYPE_SOFTMAC) + if (!IE_AKM_IS_SAE(hs->akm_suite) || + nhs->type == CONNECTION_TYPE_SAE_OFFLOAD) goto build_cmd_connect; - switch (hs->akm_suite) { - case IE_RSN_AKM_SUITE_SAE_SHA256: - case IE_RSN_AKM_SUITE_FT_OVER_SAE_SHA256: + if (nhs->type == CONNECTION_TYPE_SOFTMAC) netdev->ap = sae_sm_new(hs, netdev_sae_tx_authenticate, - netdev_sae_tx_associate, - netdev); - - if (sae_sm_is_h2e(netdev->ap)) { - uint8_t own_rsnxe[20]; - - if (wiphy_get_rsnxe(netdev->wiphy, - own_rsnxe, sizeof(own_rsnxe))) { - set_bit(own_rsnxe + 2, IE_RSNX_SAE_H2E); - handshake_state_set_supplicant_rsnxe(hs, - own_rsnxe); - } + netdev_sae_tx_associate, + netdev); + else + netdev->ap = + sae_sm_new(hs, netdev_external_auth_sae_tx_authenticate, + netdev_external_auth_sae_tx_associate, + netdev); + + if (sae_sm_is_h2e(netdev->ap)) { + uint8_t own_rsnxe[20]; + + if (wiphy_get_rsnxe(netdev->wiphy, + own_rsnxe, sizeof(own_rsnxe))) { + set_bit(own_rsnxe + 2, IE_RSNX_SAE_H2E); + handshake_state_set_supplicant_rsnxe(hs, + own_rsnxe); } + } + + if (nhs->type == CONNECTION_TYPE_SOFTMAC) + goto done; - break; - default: build_cmd_connect: - cmd_connect = netdev_build_cmd_connect(netdev, hs, prev_bssid); + cmd_connect = netdev_build_cmd_connect(netdev, hs, prev_bssid); - if (!is_offload(hs) && (is_rsn || hs->settings_8021x)) { - sm = eapol_sm_new(hs); + if (!is_offload(hs) && (is_rsn || hs->settings_8021x)) { + sm = eapol_sm_new(hs); - if (nhs->type == CONNECTION_TYPE_8021X_OFFLOAD) - eapol_sm_set_require_handshake(sm, false); - } + if (nhs->type == CONNECTION_TYPE_8021X_OFFLOAD) + eapol_sm_set_require_handshake(sm, false); } - done: netdev->connect_cmd = cmd_connect; netdev->event_filter = event_filter; @@ -4379,6 +4466,52 @@ static void netdev_qos_map_frame_event(const struct mmpdu_header *hdr, netdev_send_qos_map_set(netdev, body + 4, body_len - 4); } +static void netdev_sae_external_auth_frame_event(const struct mmpdu_header *hdr, + const void *body, size_t body_len, + int rssi, void *user_data) +{ + struct netdev *netdev = user_data; + const struct mmpdu_authentication *auth; + uint16_t status_code = MMPDU_STATUS_CODE_UNSPECIFIED; + int ret; + + if (!netdev->external_auth) + return; + + if (!netdev->ap) + return; + + auth = mmpdu_body(hdr); + /* + * Allows station to persist settings so it does not retry + * the higher order ECC group again + */ + if (L_CPU_TO_LE16(auth->status) == + MMPDU_STATUS_CODE_UNSUPP_FINITE_CYCLIC_GROUP && + netdev->event_filter) + netdev->event_filter(netdev, NETDEV_EVENT_ECC_GROUP_RETRY, + NULL, netdev->user_data); + + ret = auth_proto_rx_authenticate(netdev->ap, (const void *) hdr, + mmpdu_header_len(hdr) + body_len); + + switch (ret) { + case 0: + case -EAGAIN: + return; + case -ENOMSG: + case -EBADMSG: + return; + default: + break; + } + + if (ret > 0) + status_code = (uint16_t)ret; + + netdev_send_external_auth(netdev, status_code); +} + static void netdev_preauth_cb(const uint8_t *pmk, void *user_data) { struct netdev_preauth_state *preauth = user_data; @@ -5203,6 +5336,63 @@ static void netdev_control_port_frame_event(struct l_genl_msg *msg, frame, frame_len, unencrypted); } +static void netdev_external_auth_event(struct l_genl_msg *msg, + struct netdev *netdev) +{ + const uint8_t *bssid; + struct iovec ssid; + uint32_t akm; + uint32_t action; + struct handshake_state *hs = netdev->handshake; + + if (L_WARN_ON(nl80211_parse_attrs(msg, NL80211_ATTR_AKM_SUITES, &akm, + NL80211_ATTR_EXTERNAL_AUTH_ACTION, &action, + NL80211_ATTR_BSSID, &bssid, + NL80211_ATTR_SSID, &ssid, + NL80211_ATTR_UNSPEC) < 0)) + return; + + if (!L_IN_SET(action, NL80211_EXTERNAL_AUTH_START, + NL80211_EXTERNAL_AUTH_ABORT)) + return; + + /* kernel sends SAE_SHA256 AKM in BE order for legacy reasons */ + if (!L_IN_SET(akm, CRYPTO_AKM_SAE_SHA256, CRYPTO_AKM_FT_OVER_SAE_SHA256, + L_CPU_TO_BE32(CRYPTO_AKM_SAE_SHA256))) { + l_warn("Unknown AKM: %08x", akm); + return; + } + + if (action == NL80211_EXTERNAL_AUTH_ABORT) { + iwd_notice(IWD_NOTICE_CONNECT_INFO, "External Auth Aborted"); + goto error; + } + + iwd_notice(IWD_NOTICE_CONNECT_INFO, + "External Auth to SSID: %s, bssid: "MAC, + util_ssid_to_utf8(ssid.iov_len, ssid.iov_base), + MAC_STR(bssid)); + + if (hs->ssid_len != ssid.iov_len || + memcmp(hs->ssid, ssid.iov_base, hs->ssid_len)) { + iwd_notice(IWD_NOTICE_CONNECT_INFO, "Target SSID mismatch"); + goto error; + } + + if (memcmp(hs->aa, bssid, ETH_ALEN)) { + iwd_notice(IWD_NOTICE_CONNECT_INFO, "Target BSSID mismatch"); + goto error; + } + + if (auth_proto_start(netdev->ap)) { + netdev->external_auth = true; + return; + } + +error: + netdev_send_external_auth(netdev, MMPDU_STATUS_CODE_UNSPECIFIED); +} + static void netdev_unicast_notify(struct l_genl_msg *msg, void *user_data) { struct netdev *netdev = NULL; @@ -5240,6 +5430,9 @@ static void netdev_unicast_notify(struct l_genl_msg *msg, void *user_data) case NL80211_CMD_CONTROL_PORT_FRAME: netdev_control_port_frame_event(msg, netdev); break; + case NL80211_CMD_EXTERNAL_AUTH: + netdev_external_auth_event(msg, netdev); + break; } } @@ -5412,6 +5605,7 @@ static void netdev_add_station_frame_watches(struct netdev *netdev) static const uint8_t action_ft_response_prefix[] = { 0x06, 0x02 }; static const uint8_t auth_ft_response_prefix[] = { 0x02, 0x00 }; static const uint8_t action_qos_map_prefix[] = { 0x01, 0x04 }; + static const uint8_t auth_sae_prefix[] = { 0x03, 0x00 }; uint64_t wdev = netdev->wdev_id; /* Subscribe to Management -> Action -> RM -> Neighbor Report frames */ @@ -5439,6 +5633,13 @@ static void netdev_add_station_frame_watches(struct netdev *netdev) frame_watch_add(wdev, 0, 0x00d0, action_qos_map_prefix, sizeof(action_qos_map_prefix), netdev_qos_map_frame_event, netdev, NULL); + + if (!wiphy_supports_cmds_auth_assoc(netdev->wiphy) && + wiphy_has_feature(netdev->wiphy, NL80211_FEATURE_SAE)) + frame_watch_add(wdev, 0, 0x00b0, + auth_sae_prefix, sizeof(auth_sae_prefix), + netdev_sae_external_auth_frame_event, + netdev, NULL); } static void netdev_setup_interface(struct netdev *netdev) diff --git a/src/nl80211util.c b/src/nl80211util.c index fcf70b9f1740..7590f90cd057 100644 --- a/src/nl80211util.c +++ b/src/nl80211util.c @@ -648,7 +648,9 @@ struct l_genl_msg *nl80211_build_cmd_frame(uint32_t ifindex, msg = l_genl_msg_new_sized(NL80211_CMD_FRAME, 128 + 512); l_genl_msg_append_attr(msg, NL80211_ATTR_IFINDEX, 4, &ifindex); - l_genl_msg_append_attr(msg, NL80211_ATTR_WIPHY_FREQ, 4, &freq); + + if (freq) + l_genl_msg_append_attr(msg, NL80211_ATTR_WIPHY_FREQ, 4, &freq); l_genl_msg_append_attrv(msg, NL80211_ATTR_FRAME, iovs, iov_len + 1); return msg; diff --git a/src/wiphy.c b/src/wiphy.c index 13d498a5cd0c..1ab2f3f75382 100644 --- a/src/wiphy.c +++ b/src/wiphy.c @@ -229,29 +229,22 @@ static bool wiphy_can_connect_sae(struct wiphy *wiphy) * cards the entire SAE protocol as well as the subsequent 4-way * handshake are all done in the driver/firmware (fullMAC). * - * 3. TODO: Cards which allow SAE in userspace via CMD_EXTERNAL_AUTH. + * 3. Cards which allow SAE in userspace via CMD_EXTERNAL_AUTH. * These cards do not support AUTH/ASSOC commands but do implement * CMD_EXTERNAL_AUTH which is supposed to allow userspace to - * generate Authenticate frames as it would for case (1). As it - * stands today only one driver actually uses CMD_EXTERNAL_AUTH and - * for now IWD will not allow connections to SAE networks using this - * mechanism. + * generate Authenticate frames as it would for case (1). */ - if (wiphy_has_feature(wiphy, NL80211_FEATURE_SAE)) { /* Case (1) */ if (wiphy->support_cmds_auth_assoc) return true; - /* - * Case (3) - * - * TODO: No support for CMD_EXTERNAL_AUTH yet. - */ - l_warn("SAE unsupported: %s needs CMD_EXTERNAL_AUTH for SAE", + /* Case 3 */ + iwd_notice(IWD_NOTICE_CONNECT_INFO, + "FullMAC driver: %s using SAE. Expect EXTERNAL_AUTH", wiphy->driver_str); - return false; + return true; } /* Case (2) */ -- 2.45.2 ^ permalink raw reply related [flat|nested] 24+ messages in thread
* Re: [RFC PATCH v1 1/2] netdev: external auth support 2024-08-23 17:41 ` [RFC PATCH v1 1/2] netdev: external auth support Denis Kenzior @ 2024-08-26 12:03 ` James Prestwood 0 siblings, 0 replies; 24+ messages in thread From: James Prestwood @ 2024-08-26 12:03 UTC (permalink / raw) To: Denis Kenzior, iwd Hi Denis, <snip> > + > + if (action == NL80211_EXTERNAL_AUTH_ABORT) { > + iwd_notice(IWD_NOTICE_CONNECT_INFO, "External Auth Aborted"); I know this is just an RFC, and maybe you just used iwd_notice() as a debugging mechanism but the intent was to only use the notice prints with comma separated key/value pairs to easily be parsed by tooling. For these connect failures we already have IWD_NOTICE_CONNECT_FAILED: iwd_notice(IWD_NOTICE_CONNECT_FAILED, "reason: ext-auth-aborted"); > + goto error; > + } > + > + iwd_notice(IWD_NOTICE_CONNECT_INFO, > + "External Auth to SSID: %s, bssid: "MAC, > + util_ssid_to_utf8(ssid.iov_len, ssid.iov_base), > + MAC_STR(bssid)); This one does fit into the connect info category, but we already print this info in __station_connect_network(), granted no info about external auth but I don't think that is really important for the context of iwd_notice(). > + > + if (hs->ssid_len != ssid.iov_len || > + memcmp(hs->ssid, ssid.iov_base, hs->ssid_len)) { > + iwd_notice(IWD_NOTICE_CONNECT_INFO, "Target SSID mismatch"); > + goto error; > + } > + > + if (memcmp(hs->aa, bssid, ETH_ALEN)) { > + iwd_notice(IWD_NOTICE_CONNECT_INFO, "Target BSSID mismatch"); > + goto error; > + } iwd_notice(IWD_NOTICE_CONNECT_FAILED, "reason: ssid-mismatch"); iwd_notice(IWD_NOTICE_CONNECT_FAILED, "reason: bssid-mismatch"); > + /* Case 3 */ > + iwd_notice(IWD_NOTICE_CONNECT_INFO, > + "FullMAC driver: %s using SAE. Expect EXTERNAL_AUTH", > wiphy->driver_str); This could be useful, but probably as a separate event and maybe during wiphy dumping? iwd_notice(IWD_NOTICE_DRIVER_INFO, "name: brcmfmac, type: fullmac, sae: ext-auth"); Thanks, James ^ permalink raw reply [flat|nested] 24+ messages in thread
* [RFC PATCH v1 2/2] sae: Allow ability to force Group 19 / Hunt and Peck 2024-08-23 17:41 [RFC PATCH v1 0/2] External Auth support Denis Kenzior 2024-08-23 17:41 ` [RFC PATCH v1 1/2] netdev: external auth support Denis Kenzior @ 2024-08-23 17:41 ` Denis Kenzior 2024-08-24 0:38 ` [RFC PATCH v1 0/2] External Auth support KeithG ` (2 subsequent siblings) 4 siblings, 0 replies; 24+ messages in thread From: Denis Kenzior @ 2024-08-23 17:41 UTC (permalink / raw) To: iwd; +Cc: Denis Kenzior --- src/netdev.c | 5 ++++- src/sae.c | 20 ++++++++++++++++++++ src/sae.h | 3 +++ 3 files changed, 27 insertions(+), 1 deletion(-) diff --git a/src/netdev.c b/src/netdev.c index a1342d1bef94..5bc055acacfe 100644 --- a/src/netdev.c +++ b/src/netdev.c @@ -3933,11 +3933,14 @@ static void netdev_connect_common(struct netdev *netdev, netdev->ap = sae_sm_new(hs, netdev_sae_tx_authenticate, netdev_sae_tx_associate, netdev); - else + else { netdev->ap = sae_sm_new(hs, netdev_external_auth_sae_tx_authenticate, netdev_external_auth_sae_tx_associate, netdev); + sae_sm_force_default_group(netdev->ap); + sae_sm_force_hunt_and_peck(netdev->ap); + } if (sae_sm_is_h2e(netdev->ap)) { uint8_t own_rsnxe[20]; diff --git a/src/sae.c b/src/sae.c index 97c0af052f14..eb4634848afa 100644 --- a/src/sae.c +++ b/src/sae.c @@ -1550,6 +1550,26 @@ struct auth_proto *sae_sm_new(struct handshake_state *hs, return &sm->ap; } +bool sae_sm_force_hunt_and_peck(struct auth_proto *ap) +{ + struct sae_sm *sm = l_container_of(ap, struct sae_sm, ap); + + sae_debug("Forcing SAE Hunting and Pecking"); + sm->sae_type = CRYPTO_SAE_LOOPING; + + return true; +} + +bool sae_sm_force_default_group(struct auth_proto *ap) +{ + struct sae_sm *sm = l_container_of(ap, struct sae_sm, ap); + + sae_debug("Forcing Default Group"); + sm->force_default_group = true; + + return true; +} + static int sae_init(void) { if (getenv("IWD_SAE_DEBUG")) diff --git a/src/sae.h b/src/sae.h index 668d084f3402..4a59999bfba0 100644 --- a/src/sae.h +++ b/src/sae.h @@ -34,3 +34,6 @@ struct auth_proto *sae_sm_new(struct handshake_state *hs, sae_tx_authenticate_func_t tx_auth, sae_tx_associate_func_t tx_assoc, void *user_data); + +bool sae_sm_force_hunt_and_peck(struct auth_proto *ap); +bool sae_sm_force_default_group(struct auth_proto *ap); -- 2.45.2 ^ permalink raw reply related [flat|nested] 24+ messages in thread
* Re: [RFC PATCH v1 0/2] External Auth support 2024-08-23 17:41 [RFC PATCH v1 0/2] External Auth support Denis Kenzior 2024-08-23 17:41 ` [RFC PATCH v1 1/2] netdev: external auth support Denis Kenzior 2024-08-23 17:41 ` [RFC PATCH v1 2/2] sae: Allow ability to force Group 19 / Hunt and Peck Denis Kenzior @ 2024-08-24 0:38 ` KeithG 2024-08-24 3:21 ` Denis Kenzior 2024-09-21 18:58 ` Yuxuan Shui 2024-09-22 18:56 ` KeithG 4 siblings, 1 reply; 24+ messages in thread From: KeithG @ 2024-08-24 0:38 UTC (permalink / raw) To: Denis Kenzior; +Cc: iwd, James Prestwood Denis, On Fri, Aug 23, 2024 at 12:42 PM Denis Kenzior <denkenz@gmail.com> wrote: > > This series implements External Auth support on Full MAC cards that do > not support SAE offload. I have not been able to test this fully since > the brcmfmac firmware on the RPi 5 does not actually work properly. > Maybe some enterprising person can test it on a firmware that does work? > > Denis Kenzior (2): > netdev: external auth support > sae: Allow ability to force Group 19 / Hunt and Peck > > src/netdev.c | 258 +++++++++++++++++++++++++++++++++++++++++----- > src/nl80211util.c | 4 +- > src/sae.c | 20 ++++ > src/sae.h | 3 + > src/wiphy.c | 19 ++-- > 5 files changed, 263 insertions(+), 41 deletions(-) > > -- > 2.45.2 > > I was watching for this. I built iwd from git and tried it on my Pi5. As you said, it did not work: Aug 23 19:24:29 pi5 iwd[16297]: SAE unsupported: brcmfmac needs CMD_EXTERNAL_AUTH for SAE Aug 23 19:24:29 pi5 iwd[16297]: src/wiphy.c:wiphy_select_akm() Can't use SAE, trying WPA2 Aug 23 19:24:32 pi5 iwd[16297]: src/agent.c:agent_disconnect() agent :1.471 disconnected Aug 23 19:24:32 pi5 iwd[16297]: src/agent.c:agent_free() agent free 0x5555946ddaf0 I believe this is the latest firmware from Infineon for the RPi fmac cards: Firmware: BCM4345/6 wl0: Aug 29 2023 01:47:08 version 7.45.265 (28bca26 CY) FWID 01-b677b91b Firmware: BCM43430/1 wl0: Jun 14 2023 07:27:45 version 7.45.96.s1 (gf031a129) FWID 01-70bd2af7 es7 I know there are a number of fmac cards. Does the firmware on these work differently to other brcmfmac cards? Do all of them use CMD_EXTERNAL_AUTH? Keith ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [RFC PATCH v1 0/2] External Auth support 2024-08-24 0:38 ` [RFC PATCH v1 0/2] External Auth support KeithG @ 2024-08-24 3:21 ` Denis Kenzior 2024-08-24 16:20 ` KeithG 0 siblings, 1 reply; 24+ messages in thread From: Denis Kenzior @ 2024-08-24 3:21 UTC (permalink / raw) To: KeithG; +Cc: iwd, James Prestwood Hi Keith, On 8/23/24 7:38 PM, KeithG wrote: > Denis, > > > On Fri, Aug 23, 2024 at 12:42 PM Denis Kenzior <denkenz@gmail.com> wrote: >> >> This series implements External Auth support on Full MAC cards that do >> not support SAE offload. I have not been able to test this fully since >> the brcmfmac firmware on the RPi 5 does not actually work properly. >> Maybe some enterprising person can test it on a firmware that does work? >> >> Denis Kenzior (2): >> netdev: external auth support >> sae: Allow ability to force Group 19 / Hunt and Peck >> >> src/netdev.c | 258 +++++++++++++++++++++++++++++++++++++++++----- >> src/nl80211util.c | 4 +- >> src/sae.c | 20 ++++ >> src/sae.h | 3 + >> src/wiphy.c | 19 ++-- >> 5 files changed, 263 insertions(+), 41 deletions(-) >> >> -- >> 2.45.2 >> >> > I was watching for this. I built iwd from git and tried it on my Pi5. > As you said, it did not work: > > Aug 23 19:24:29 pi5 iwd[16297]: SAE unsupported: brcmfmac needs > CMD_EXTERNAL_AUTH for SAE I don't think you applied the patch correctly. You should see: + /* Case 3 */ + iwd_notice(IWD_NOTICE_CONNECT_INFO, + "FullMAC driver: %s using SAE. Expect EXTERNAL_AUTH", wiphy->driver_str); > Aug 23 19:24:29 pi5 iwd[16297]: src/wiphy.c:wiphy_select_akm() Can't > use SAE, trying WPA2 > Aug 23 19:24:32 pi5 iwd[16297]: src/agent.c:agent_disconnect() agent > :1.471 disconnected > Aug 23 19:24:32 pi5 iwd[16297]: src/agent.c:agent_free() agent free > 0x5555946ddaf0 > > I believe this is the latest firmware from Infineon for the RPi fmac cards: > Firmware: BCM4345/6 wl0: Aug 29 2023 01:47:08 version 7.45.265 > (28bca26 CY) FWID 01-b677b91b > Firmware: BCM43430/1 wl0: Jun 14 2023 07:27:45 version 7.45.96.s1 > (gf031a129) FWID 01-70bd2af7 es7 > > I know there are a number of fmac cards. Does the firmware on these > work differently to other brcmfmac cards? Do all of them use > CMD_EXTERNAL_AUTH? No idea. All other brcmfmac cards used SAE offload. Cypress firmware seems to have gone with EXTERNAL_AUTH. Not sure about other full mac cards. I can see references to EXTERNAL_AUTH in two upstream drivers: [denkenz@archdev linux]$ grep -R "cfg80211_external_auth_request" * drivers/net/wireless/microchip/wilc1000/hif.c: cfg80211_external_auth_request(vif->ndev, &vif->auth, drivers/net/wireless/quantenna/qtnfmac/event.c: ret = cfg80211_external_auth_request(vif->netdev, &auth, GFP_KERNEL); But the hardware seems to be unobtanium. Maybe others can report what other solutions use EXTERNAL_AUTH? Maybe Pinephone? Regards, -Denis ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [RFC PATCH v1 0/2] External Auth support 2024-08-24 3:21 ` Denis Kenzior @ 2024-08-24 16:20 ` KeithG 2024-08-24 23:32 ` KeithG 0 siblings, 1 reply; 24+ messages in thread From: KeithG @ 2024-08-24 16:20 UTC (permalink / raw) To: Denis Kenzior; +Cc: iwd, James Prestwood On Fri, Aug 23, 2024 at 10:21 PM Denis Kenzior <denkenz@gmail.com> wrote: > > Hi Keith, > > On 8/23/24 7:38 PM, KeithG wrote: > > Denis, > > > > > > On Fri, Aug 23, 2024 at 12:42 PM Denis Kenzior <denkenz@gmail.com> wrote: > >> > >> This series implements External Auth support on Full MAC cards that do > >> not support SAE offload. I have not been able to test this fully since > >> the brcmfmac firmware on the RPi 5 does not actually work properly. > >> Maybe some enterprising person can test it on a firmware that does work? > >> > >> Denis Kenzior (2): > >> netdev: external auth support > >> sae: Allow ability to force Group 19 / Hunt and Peck > >> > >> src/netdev.c | 258 +++++++++++++++++++++++++++++++++++++++++----- > >> src/nl80211util.c | 4 +- > >> src/sae.c | 20 ++++ > >> src/sae.h | 3 + > >> src/wiphy.c | 19 ++-- > >> 5 files changed, 263 insertions(+), 41 deletions(-) > >> > >> -- > >> 2.45.2 > >> > >> > > I was watching for this. I built iwd from git and tried it on my Pi5. > > As you said, it did not work: > > > > Aug 23 19:24:29 pi5 iwd[16297]: SAE unsupported: brcmfmac needs > > CMD_EXTERNAL_AUTH for SAE > > I don't think you applied the patch correctly. You should see: > > + /* Case 3 */ > + iwd_notice(IWD_NOTICE_CONNECT_INFO, > + "FullMAC driver: %s using SAE. Expect EXTERNAL_AUTH", > wiphy->driver_str); > > > Aug 23 19:24:29 pi5 iwd[16297]: src/wiphy.c:wiphy_select_akm() Can't > > use SAE, trying WPA2 > > Aug 23 19:24:32 pi5 iwd[16297]: src/agent.c:agent_disconnect() agent > > :1.471 disconnected > > Aug 23 19:24:32 pi5 iwd[16297]: src/agent.c:agent_free() agent free > > 0x5555946ddaf0 > > > > I believe this is the latest firmware from Infineon for the RPi fmac cards: > > Firmware: BCM4345/6 wl0: Aug 29 2023 01:47:08 version 7.45.265 > > (28bca26 CY) FWID 01-b677b91b > > Firmware: BCM43430/1 wl0: Jun 14 2023 07:27:45 version 7.45.96.s1 > > (gf031a129) FWID 01-70bd2af7 es7 > > > > I know there are a number of fmac cards. Does the firmware on these > > work differently to other brcmfmac cards? Do all of them use > > CMD_EXTERNAL_AUTH? > > No idea. All other brcmfmac cards used SAE offload. Cypress firmware seems to > have gone with EXTERNAL_AUTH. Not sure about other full mac cards. I can see > references to EXTERNAL_AUTH in two upstream drivers: > > [denkenz@archdev linux]$ grep -R "cfg80211_external_auth_request" * > drivers/net/wireless/microchip/wilc1000/hif.c: > cfg80211_external_auth_request(vif->ndev, &vif->auth, > drivers/net/wireless/quantenna/qtnfmac/event.c: ret = > cfg80211_external_auth_request(vif->netdev, &auth, GFP_KERNEL); > > But the hardware seems to be unobtanium. Maybe others can report what other > solutions use EXTERNAL_AUTH? Maybe Pinephone? > > Regards, > -Denis Denis, Sorry, I mis-read and assumed it was committed to git and not a patch. I created the 2 patches and built it again. iwctl looks like it is trying something: [iwd]# station wlan0 connect deskSAE Type the network passphrase for deskSAE psk. Passphrase: ********* [iwd]# but it never connects. I do notice that connman thinks it is up and assigns a 169.254.x.x address Aug 24 11:18:06 pi5 iwd[28085]: src/wiphy.c:wiphy_select_akm() Network is WPA3-Personal... Aug 24 11:18:06 pi5 iwd[28085]: event: connect-info, FullMAC driver: brcmfmac using SAE. Expect EXTERNAL_AUTH Aug 24 11:18:06 pi5 iwd[28085]: src/network.c:network_generate_sae_pt() Generating PT for Group 19 Aug 24 11:18:06 pi5 iwd[28085]: src/network.c:network_generate_sae_pt() Generating PT for Group 20 Aug 24 11:18:06 pi5 iwd[28085]: src/wiphy.c:wiphy_select_akm() Network is WPA3-Personal... Aug 24 11:18:06 pi5 iwd[28085]: event: connect-info, FullMAC driver: brcmfmac using SAE. Expect EXTERNAL_AUTH Aug 24 11:18:06 pi5 iwd[28085]: src/netdev.c:netdev_cqm_rssi_update() Aug 24 11:18:06 pi5 iwd[28085]: src/wiphy.c:wiphy_radio_work_insert() Inserting work item 4 Aug 24 11:18:06 pi5 iwd[28085]: src/wiphy.c:wiphy_radio_work_next() Starting work item 4 Aug 24 11:18:06 pi5 iwd[28085]: event: connect-info, ssid: deskSAE, bss: d8:3a:dd:60:a3:0c, signal: -63, load: 0/255 Aug 24 11:18:06 pi5 iwd[28085]: event: state, old: autoconnect_full, new: connecting Aug 24 11:18:06 pi5 iwd[28085]: src/scan.c:scan_periodic_stop() Stopping periodic scan for wdev 1 Aug 24 11:18:06 pi5 iwd[28085]: CMD_SET_CQM failed: Operation not supported Aug 24 11:18:06 pi5 connmand[635]: Interface wlan0 [ wifi ] state is configuration Aug 24 11:18:06 pi5 iwd[28085]: src/netdev.c:netdev_unicast_notify() Unicast notification External Auth(127) Aug 24 11:18:06 pi5 iwd[28085]: event: connect-info, External Auth to SSID: deskSAE, bssid: d8:3a:dd:60:a3:0c Aug 24 11:18:06 pi5 iwd[28085]: src/netdev.c:netdev_external_auth_sae_tx_authenticate() Aug 24 11:18:06 pi5 iwd[28085]: src/netdev.c:netdev_mlme_notify() MLME notification Frame TX Status(60) Aug 24 11:18:06 pi5 iwd[28085]: src/netdev.c:netdev_external_auth_sae_tx_authenticate() Aug 24 11:18:06 pi5 iwd[28085]: src/netdev.c:netdev_unicast_notify() Unicast notification Frame(59) Aug 24 11:18:06 pi5 iwd[28085]: src/netdev.c:netdev_mlme_notify() MLME notification Frame TX Status(60) Aug 24 11:18:06 pi5 iwd[28085]: src/netdev.c:netdev_external_auth_sae_tx_associate() Aug 24 11:18:06 pi5 iwd[28085]: src/netdev.c:netdev_unicast_notify() Unicast notification Frame(59) Aug 24 11:18:06 pi5 iwd[28085]: src/netdev.c:netdev_external_auth_cb() Failed to send External Auth: Invalid exchange(52) Aug 24 11:18:06 pi5 kernel: ieee80211 phy0: brcmf_cfg80211_external_auth: auth_status iovar failed: ret=-52 Aug 24 11:18:46 pi5 connmand[635]: Interface wlan0 [ wifi ] state is ready Aug 24 11:18:46 pi5 connmand[635]: wlan0 {add} address 169.254.242.107/16 label wlan0 family 2 Need a log of some sort or is this adequate? Keith ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [RFC PATCH v1 0/2] External Auth support 2024-08-24 16:20 ` KeithG @ 2024-08-24 23:32 ` KeithG 2024-08-26 15:43 ` Denis Kenzior 0 siblings, 1 reply; 24+ messages in thread From: KeithG @ 2024-08-24 23:32 UTC (permalink / raw) To: Denis Kenzior; +Cc: iwd, James Prestwood On Sat, Aug 24, 2024 at 11:20 AM KeithG <ys3al35l@gmail.com> wrote: > > On Fri, Aug 23, 2024 at 10:21 PM Denis Kenzior <denkenz@gmail.com> wrote: > > > > Hi Keith, > > > > On 8/23/24 7:38 PM, KeithG wrote: > > > Denis, > > > > > > > > > On Fri, Aug 23, 2024 at 12:42 PM Denis Kenzior <denkenz@gmail.com> wrote: > > >> > > >> This series implements External Auth support on Full MAC cards that do > > >> not support SAE offload. I have not been able to test this fully since > > >> the brcmfmac firmware on the RPi 5 does not actually work properly. > > >> Maybe some enterprising person can test it on a firmware that does work? > > >> > > >> Denis Kenzior (2): > > >> netdev: external auth support > > >> sae: Allow ability to force Group 19 / Hunt and Peck > > >> > > >> src/netdev.c | 258 +++++++++++++++++++++++++++++++++++++++++----- > > >> src/nl80211util.c | 4 +- > > >> src/sae.c | 20 ++++ > > >> src/sae.h | 3 + > > >> src/wiphy.c | 19 ++-- > > >> 5 files changed, 263 insertions(+), 41 deletions(-) > > >> > > >> -- > > >> 2.45.2 > > >> > > >> > > > I was watching for this. I built iwd from git and tried it on my Pi5. > > > As you said, it did not work: > > > > > > Aug 23 19:24:29 pi5 iwd[16297]: SAE unsupported: brcmfmac needs > > > CMD_EXTERNAL_AUTH for SAE > > > > I don't think you applied the patch correctly. You should see: > > > > + /* Case 3 */ > > + iwd_notice(IWD_NOTICE_CONNECT_INFO, > > + "FullMAC driver: %s using SAE. Expect EXTERNAL_AUTH", > > wiphy->driver_str); > > > > > Aug 23 19:24:29 pi5 iwd[16297]: src/wiphy.c:wiphy_select_akm() Can't > > > use SAE, trying WPA2 > > > Aug 23 19:24:32 pi5 iwd[16297]: src/agent.c:agent_disconnect() agent > > > :1.471 disconnected > > > Aug 23 19:24:32 pi5 iwd[16297]: src/agent.c:agent_free() agent free > > > 0x5555946ddaf0 > > > > > > I believe this is the latest firmware from Infineon for the RPi fmac cards: > > > Firmware: BCM4345/6 wl0: Aug 29 2023 01:47:08 version 7.45.265 > > > (28bca26 CY) FWID 01-b677b91b > > > Firmware: BCM43430/1 wl0: Jun 14 2023 07:27:45 version 7.45.96.s1 > > > (gf031a129) FWID 01-70bd2af7 es7 > > > > > > I know there are a number of fmac cards. Does the firmware on these > > > work differently to other brcmfmac cards? Do all of them use > > > CMD_EXTERNAL_AUTH? > > > > No idea. All other brcmfmac cards used SAE offload. Cypress firmware seems to > > have gone with EXTERNAL_AUTH. Not sure about other full mac cards. I can see > > references to EXTERNAL_AUTH in two upstream drivers: > > > > [denkenz@archdev linux]$ grep -R "cfg80211_external_auth_request" * > > drivers/net/wireless/microchip/wilc1000/hif.c: > > cfg80211_external_auth_request(vif->ndev, &vif->auth, > > drivers/net/wireless/quantenna/qtnfmac/event.c: ret = > > cfg80211_external_auth_request(vif->netdev, &auth, GFP_KERNEL); > > > > But the hardware seems to be unobtanium. Maybe others can report what other > > solutions use EXTERNAL_AUTH? Maybe Pinephone? > > > > Regards, > > -Denis > > Denis, > > Sorry, I mis-read and assumed it was committed to git and not a patch. > I created the 2 patches and built it again. > > iwctl looks like it is trying something: > [iwd]# station wlan0 connect deskSAE > Type the network passphrase for deskSAE psk. > Passphrase: ********* > [iwd]# > > but it never connects. I do notice that connman thinks it is up and > assigns a 169.254.x.x address > > Aug 24 11:18:06 pi5 iwd[28085]: src/wiphy.c:wiphy_select_akm() Network > is WPA3-Personal... > Aug 24 11:18:06 pi5 iwd[28085]: event: connect-info, FullMAC driver: > brcmfmac using SAE. Expect EXTERNAL_AUTH > Aug 24 11:18:06 pi5 iwd[28085]: > src/network.c:network_generate_sae_pt() Generating PT for Group 19 > Aug 24 11:18:06 pi5 iwd[28085]: > src/network.c:network_generate_sae_pt() Generating PT for Group 20 > Aug 24 11:18:06 pi5 iwd[28085]: src/wiphy.c:wiphy_select_akm() Network > is WPA3-Personal... > Aug 24 11:18:06 pi5 iwd[28085]: event: connect-info, FullMAC driver: > brcmfmac using SAE. Expect EXTERNAL_AUTH > Aug 24 11:18:06 pi5 iwd[28085]: src/netdev.c:netdev_cqm_rssi_update() > Aug 24 11:18:06 pi5 iwd[28085]: src/wiphy.c:wiphy_radio_work_insert() > Inserting work item 4 > Aug 24 11:18:06 pi5 iwd[28085]: src/wiphy.c:wiphy_radio_work_next() > Starting work item 4 > Aug 24 11:18:06 pi5 iwd[28085]: event: connect-info, ssid: deskSAE, > bss: d8:3a:dd:60:a3:0c, signal: -63, load: 0/255 > Aug 24 11:18:06 pi5 iwd[28085]: event: state, old: autoconnect_full, > new: connecting > Aug 24 11:18:06 pi5 iwd[28085]: src/scan.c:scan_periodic_stop() > Stopping periodic scan for wdev 1 > Aug 24 11:18:06 pi5 iwd[28085]: CMD_SET_CQM failed: Operation not supported > Aug 24 11:18:06 pi5 connmand[635]: Interface wlan0 [ wifi ] state is > configuration > Aug 24 11:18:06 pi5 iwd[28085]: src/netdev.c:netdev_unicast_notify() > Unicast notification External Auth(127) > Aug 24 11:18:06 pi5 iwd[28085]: event: connect-info, External Auth to > SSID: deskSAE, bssid: d8:3a:dd:60:a3:0c > Aug 24 11:18:06 pi5 iwd[28085]: > src/netdev.c:netdev_external_auth_sae_tx_authenticate() > Aug 24 11:18:06 pi5 iwd[28085]: src/netdev.c:netdev_mlme_notify() MLME > notification Frame TX Status(60) > Aug 24 11:18:06 pi5 iwd[28085]: > src/netdev.c:netdev_external_auth_sae_tx_authenticate() > Aug 24 11:18:06 pi5 iwd[28085]: src/netdev.c:netdev_unicast_notify() > Unicast notification Frame(59) > Aug 24 11:18:06 pi5 iwd[28085]: src/netdev.c:netdev_mlme_notify() MLME > notification Frame TX Status(60) > Aug 24 11:18:06 pi5 iwd[28085]: > src/netdev.c:netdev_external_auth_sae_tx_associate() > Aug 24 11:18:06 pi5 iwd[28085]: src/netdev.c:netdev_unicast_notify() > Unicast notification Frame(59) > Aug 24 11:18:06 pi5 iwd[28085]: src/netdev.c:netdev_external_auth_cb() > Failed to send External Auth: Invalid exchange(52) > Aug 24 11:18:06 pi5 kernel: ieee80211 phy0: > brcmf_cfg80211_external_auth: auth_status iovar failed: ret=-52 > Aug 24 11:18:46 pi5 connmand[635]: Interface wlan0 [ wifi ] state is ready > Aug 24 11:18:46 pi5 connmand[635]: wlan0 {add} address > 169.254.242.107/16 label wlan0 family 2 > > > Need a log of some sort or is this adequate? > > Keith I gave it a bit more thought and wondered if NetworkManager could deal with wpa3 and this patched verison of iwd. Also no connection. I first verified that nmcli could connect to the wpa2 ssid then tried this one. from cli: #nmcli --ask dev wifi connect deskSAE Password: ••••••••• Error: Timeout 90 sec expired. Aug 24 18:07:43 pi5 iwd[212556]: event: connect-info, FullMAC driver: brcmfmac using SAE. Expect EXTERNAL_AUTH Aug 24 18:08:17 pi5 sudo[219244]: root : TTY=pts/0 ; PWD=/root ; USER=root ; COMMAND=/usr/bin/nmcli --ask dev wifi connect deskSAE Aug 24 18:08:17 pi5 sudo[219244]: pam_unix(sudo:session): session opened for user root(uid=0) by root(uid=0) Aug 24 18:08:17 pi5 polkitd[212049]: Registered Authentication Agent for unix-process:219250:1397111 (system bus name :1.7111 [nmcli --ask dev wifi connect deskSAE], obje> Aug 24 18:08:23 pi5 NetworkManager[216946]: <info> [1724540903.5369] device (wlan0): Activation: starting connection 'deskSAE' (20e14402-d74a-48d0-a6f9-5c8d0404d21d) Aug 24 18:08:23 pi5 NetworkManager[216946]: <error> [1724540903.5390] audit: failed to open auditd socket: Protocol not supported Aug 24 18:08:23 pi5 NetworkManager[216946]: <info> [1724540903.5391] audit: op="connection-add-activate" uuid="20e14402-d74a-48d0-a6f9-5c8d0404d21d" name="deskSAE" pid=2> Aug 24 18:08:23 pi5 NetworkManager[216946]: <info> [1724540903.5398] device (wlan0): state change: disconnected -> prepare (reason 'none', sys-iface-state: 'managed') Aug 24 18:08:23 pi5 NetworkManager[216946]: <info> [1724540903.5400] device (wlan0): state change: prepare -> config (reason 'none', sys-iface-state: 'managed') Aug 24 18:08:23 pi5 iwd[212556]: event: connect-info, FullMAC driver: brcmfmac using SAE. Expect EXTERNAL_AUTH Aug 24 18:08:23 pi5 iwd[212556]: event: connect-info, FullMAC driver: brcmfmac using SAE. Expect EXTERNAL_AUTH Aug 24 18:08:23 pi5 iwd[212556]: event: connect-info, ssid: deskSAE, bss: d8:3a:dd:60:a3:0c, signal: -57, load: 0/255 Aug 24 18:08:23 pi5 iwd[212556]: event: state, old: autoconnect_full, new: connecting Aug 24 18:08:23 pi5 iwd[212556]: CMD_SET_CQM failed: Operation not supported Aug 24 18:08:23 pi5 NetworkManager[216946]: <info> [1724540903.5434] device (wlan0): new IWD device state is connecting Aug 24 18:08:23 pi5 iwd[212556]: event: connect-info, External Auth to SSID: deskSAE, bssid: d8:3a:dd:60:a3:0c Aug 24 18:08:23 pi5 kernel: ieee80211 phy0: brcmf_cfg80211_external_auth: auth_status iovar failed: ret=-52 Keith ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [RFC PATCH v1 0/2] External Auth support 2024-08-24 23:32 ` KeithG @ 2024-08-26 15:43 ` Denis Kenzior 2024-08-26 16:54 ` Arend Van Spriel 0 siblings, 1 reply; 24+ messages in thread From: Denis Kenzior @ 2024-08-26 15:43 UTC (permalink / raw) To: KeithG; +Cc: iwd, James Prestwood, Arend Van Spriel Hi Keith, >> >> iwctl looks like it is trying something: >> [iwd]# station wlan0 connect deskSAE >> Type the network passphrase for deskSAE psk. >> Passphrase: ********* >> [iwd]# >> >> but it never connects. I do notice that connman thinks it is up and >> assigns a 169.254.x.x address >> >> Aug 24 11:18:06 pi5 iwd[28085]: src/wiphy.c:wiphy_select_akm() Network >> is WPA3-Personal... >> Aug 24 11:18:06 pi5 iwd[28085]: event: connect-info, FullMAC driver: >> brcmfmac using SAE. Expect EXTERNAL_AUTH >> Aug 24 11:18:06 pi5 iwd[28085]: >> src/network.c:network_generate_sae_pt() Generating PT for Group 19 >> Aug 24 11:18:06 pi5 iwd[28085]: >> src/network.c:network_generate_sae_pt() Generating PT for Group 20 >> Aug 24 11:18:06 pi5 iwd[28085]: src/wiphy.c:wiphy_select_akm() Network >> is WPA3-Personal... >> Aug 24 11:18:06 pi5 iwd[28085]: event: connect-info, FullMAC driver: >> brcmfmac using SAE. Expect EXTERNAL_AUTH >> Aug 24 11:18:06 pi5 iwd[28085]: src/netdev.c:netdev_cqm_rssi_update() >> Aug 24 11:18:06 pi5 iwd[28085]: src/wiphy.c:wiphy_radio_work_insert() >> Inserting work item 4 >> Aug 24 11:18:06 pi5 iwd[28085]: src/wiphy.c:wiphy_radio_work_next() >> Starting work item 4 >> Aug 24 11:18:06 pi5 iwd[28085]: event: connect-info, ssid: deskSAE, >> bss: d8:3a:dd:60:a3:0c, signal: -63, load: 0/255 >> Aug 24 11:18:06 pi5 iwd[28085]: event: state, old: autoconnect_full, >> new: connecting >> Aug 24 11:18:06 pi5 iwd[28085]: src/scan.c:scan_periodic_stop() >> Stopping periodic scan for wdev 1 >> Aug 24 11:18:06 pi5 iwd[28085]: CMD_SET_CQM failed: Operation not supported >> Aug 24 11:18:06 pi5 connmand[635]: Interface wlan0 [ wifi ] state is >> configuration >> Aug 24 11:18:06 pi5 iwd[28085]: src/netdev.c:netdev_unicast_notify() >> Unicast notification External Auth(127) >> Aug 24 11:18:06 pi5 iwd[28085]: event: connect-info, External Auth to >> SSID: deskSAE, bssid: d8:3a:dd:60:a3:0c >> Aug 24 11:18:06 pi5 iwd[28085]: >> src/netdev.c:netdev_external_auth_sae_tx_authenticate() >> Aug 24 11:18:06 pi5 iwd[28085]: src/netdev.c:netdev_mlme_notify() MLME >> notification Frame TX Status(60) >> Aug 24 11:18:06 pi5 iwd[28085]: >> src/netdev.c:netdev_external_auth_sae_tx_authenticate() >> Aug 24 11:18:06 pi5 iwd[28085]: src/netdev.c:netdev_unicast_notify() >> Unicast notification Frame(59) >> Aug 24 11:18:06 pi5 iwd[28085]: src/netdev.c:netdev_mlme_notify() MLME >> notification Frame TX Status(60) >> Aug 24 11:18:06 pi5 iwd[28085]: >> src/netdev.c:netdev_external_auth_sae_tx_associate() >> Aug 24 11:18:06 pi5 iwd[28085]: src/netdev.c:netdev_unicast_notify() >> Unicast notification Frame(59) >> Aug 24 11:18:06 pi5 iwd[28085]: src/netdev.c:netdev_external_auth_cb() >> Failed to send External Auth: Invalid exchange(52) You're seeing the exact broken behavior I'm seeing. To summarize: - IWD issues CMD_CONNECT - Firmware/Kernel sends CMD_EXTERNAL_AUTH to iwd - IWD performs SAE handshake using CMD_FRAME successfully - IWD sends CMD_EXTERNAL_AUTH with a success status_code to kernel/firmware - Kernel/Firmware rplies with error 52, Invalid Exchange. >> Aug 24 11:18:06 pi5 kernel: ieee80211 phy0: >> brcmf_cfg80211_external_auth: auth_status iovar failed: ret=-52 >> Aug 24 11:18:46 pi5 connmand[635]: Interface wlan0 [ wifi ] state is ready >> Aug 24 11:18:46 pi5 connmand[635]: wlan0 {add} address >> 169.254.242.107/16 label wlan0 family 2 >> >> >> Need a log of some sort or is this adequate? No. We need someone who can tell us how this firmware is supposed to operate. Perhaps Arend can help? Regards, -Denis ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [RFC PATCH v1 0/2] External Auth support 2024-08-26 15:43 ` Denis Kenzior @ 2024-08-26 16:54 ` Arend Van Spriel 2024-09-02 19:32 ` KeithG 0 siblings, 1 reply; 24+ messages in thread From: Arend Van Spriel @ 2024-08-26 16:54 UTC (permalink / raw) To: Denis Kenzior, KeithG; +Cc: iwd, James Prestwood On August 26, 2024 5:43:23 PM Denis Kenzior <denkenz@gmail.com> wrote: > Hi Keith, > >>> >>> iwctl looks like it is trying something: >>> [iwd]# station wlan0 connect deskSAE >>> Type the network passphrase for deskSAE psk. >>> Passphrase: ********* >>> [iwd]# >>> >>> but it never connects. I do notice that connman thinks it is up and >>> assigns a 169.254.x.x address >>> >>> Aug 24 11:18:06 pi5 iwd[28085]: src/wiphy.c:wiphy_select_akm() Network >>> is WPA3-Personal... >>> Aug 24 11:18:06 pi5 iwd[28085]: event: connect-info, FullMAC driver: >>> brcmfmac using SAE. Expect EXTERNAL_AUTH >>> Aug 24 11:18:06 pi5 iwd[28085]: >>> src/network.c:network_generate_sae_pt() Generating PT for Group 19 >>> Aug 24 11:18:06 pi5 iwd[28085]: >>> src/network.c:network_generate_sae_pt() Generating PT for Group 20 >>> Aug 24 11:18:06 pi5 iwd[28085]: src/wiphy.c:wiphy_select_akm() Network >>> is WPA3-Personal... >>> Aug 24 11:18:06 pi5 iwd[28085]: event: connect-info, FullMAC driver: >>> brcmfmac using SAE. Expect EXTERNAL_AUTH >>> Aug 24 11:18:06 pi5 iwd[28085]: src/netdev.c:netdev_cqm_rssi_update() >>> Aug 24 11:18:06 pi5 iwd[28085]: src/wiphy.c:wiphy_radio_work_insert() >>> Inserting work item 4 >>> Aug 24 11:18:06 pi5 iwd[28085]: src/wiphy.c:wiphy_radio_work_next() >>> Starting work item 4 >>> Aug 24 11:18:06 pi5 iwd[28085]: event: connect-info, ssid: deskSAE, >>> bss: d8:3a:dd:60:a3:0c, signal: -63, load: 0/255 >>> Aug 24 11:18:06 pi5 iwd[28085]: event: state, old: autoconnect_full, >>> new: connecting >>> Aug 24 11:18:06 pi5 iwd[28085]: src/scan.c:scan_periodic_stop() >>> Stopping periodic scan for wdev 1 >>> Aug 24 11:18:06 pi5 iwd[28085]: CMD_SET_CQM failed: Operation not supported >>> Aug 24 11:18:06 pi5 connmand[635]: Interface wlan0 [ wifi ] state is >>> configuration >>> Aug 24 11:18:06 pi5 iwd[28085]: src/netdev.c:netdev_unicast_notify() >>> Unicast notification External Auth(127) >>> Aug 24 11:18:06 pi5 iwd[28085]: event: connect-info, External Auth to >>> SSID: deskSAE, bssid: d8:3a:dd:60:a3:0c >>> Aug 24 11:18:06 pi5 iwd[28085]: >>> src/netdev.c:netdev_external_auth_sae_tx_authenticate() >>> Aug 24 11:18:06 pi5 iwd[28085]: src/netdev.c:netdev_mlme_notify() MLME >>> notification Frame TX Status(60) >>> Aug 24 11:18:06 pi5 iwd[28085]: >>> src/netdev.c:netdev_external_auth_sae_tx_authenticate() >>> Aug 24 11:18:06 pi5 iwd[28085]: src/netdev.c:netdev_unicast_notify() >>> Unicast notification Frame(59) >>> Aug 24 11:18:06 pi5 iwd[28085]: src/netdev.c:netdev_mlme_notify() MLME >>> notification Frame TX Status(60) >>> Aug 24 11:18:06 pi5 iwd[28085]: >>> src/netdev.c:netdev_external_auth_sae_tx_associate() >>> Aug 24 11:18:06 pi5 iwd[28085]: src/netdev.c:netdev_unicast_notify() >>> Unicast notification Frame(59) >>> Aug 24 11:18:06 pi5 iwd[28085]: src/netdev.c:netdev_external_auth_cb() >>> Failed to send External Auth: Invalid exchange(52) > > You're seeing the exact broken behavior I'm seeing. To summarize: > > - IWD issues CMD_CONNECT > - Firmware/Kernel sends CMD_EXTERNAL_AUTH to iwd > - IWD performs SAE handshake using CMD_FRAME successfully > - IWD sends CMD_EXTERNAL_AUTH with a success status_code to kernel/firmware > - Kernel/Firmware rplies with error 52, Invalid Exchange. > >>> Aug 24 11:18:06 pi5 kernel: ieee80211 phy0: >>> brcmf_cfg80211_external_auth: auth_status iovar failed: ret=-52 >>> Aug 24 11:18:46 pi5 connmand[635]: Interface wlan0 [ wifi ] state is ready >>> Aug 24 11:18:46 pi5 connmand[635]: wlan0 {add} address >>> 169.254.242.107/16 label wlan0 family 2 >>> >>> >>> Need a log of some sort or is this adequate? > > No. We need someone who can tell us how this firmware is supposed to operate. > Perhaps Arend can help? Hi Denis, Perhaps I can. I am working on porting/implementing this for upstream linux. I guess this is running an Infineon downstream kernel, right? If brcmfmac is compiled with CONFIG_BRCMDBG you can load the driver with debug module param, ie.: # modprobe brcmfmac debug=0x5416 That will log some more details. Error -52 is generic code that something went wrong in communication with firmware. The debug level above will among other things show the actual firmware error code. Another interesting thing shown are the firmware capabilities which can also be examined through debugfs. Regards, Arend ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [RFC PATCH v1 0/2] External Auth support 2024-08-26 16:54 ` Arend Van Spriel @ 2024-09-02 19:32 ` KeithG 2024-09-07 18:43 ` KeithG 0 siblings, 1 reply; 24+ messages in thread From: KeithG @ 2024-09-02 19:32 UTC (permalink / raw) To: Arend Van Spriel; +Cc: Denis Kenzior, iwd, James Prestwood On Mon, Aug 26, 2024 at 11:54 AM Arend Van Spriel <arend.vanspriel@broadcom.com> wrote: > > On August 26, 2024 5:43:23 PM Denis Kenzior <denkenz@gmail.com> wrote: > > > Hi Keith, > > > >>> > >>> iwctl looks like it is trying something: > >>> [iwd]# station wlan0 connect deskSAE > >>> Type the network passphrase for deskSAE psk. > >>> Passphrase: ********* > >>> [iwd]# > >>> > >>> but it never connects. I do notice that connman thinks it is up and > >>> assigns a 169.254.x.x address > >>> > >>> Aug 24 11:18:06 pi5 iwd[28085]: src/wiphy.c:wiphy_select_akm() Network > >>> is WPA3-Personal... > >>> Aug 24 11:18:06 pi5 iwd[28085]: event: connect-info, FullMAC driver: > >>> brcmfmac using SAE. Expect EXTERNAL_AUTH > >>> Aug 24 11:18:06 pi5 iwd[28085]: > >>> src/network.c:network_generate_sae_pt() Generating PT for Group 19 > >>> Aug 24 11:18:06 pi5 iwd[28085]: > >>> src/network.c:network_generate_sae_pt() Generating PT for Group 20 > >>> Aug 24 11:18:06 pi5 iwd[28085]: src/wiphy.c:wiphy_select_akm() Network > >>> is WPA3-Personal... > >>> Aug 24 11:18:06 pi5 iwd[28085]: event: connect-info, FullMAC driver: > >>> brcmfmac using SAE. Expect EXTERNAL_AUTH > >>> Aug 24 11:18:06 pi5 iwd[28085]: src/netdev.c:netdev_cqm_rssi_update() > >>> Aug 24 11:18:06 pi5 iwd[28085]: src/wiphy.c:wiphy_radio_work_insert() > >>> Inserting work item 4 > >>> Aug 24 11:18:06 pi5 iwd[28085]: src/wiphy.c:wiphy_radio_work_next() > >>> Starting work item 4 > >>> Aug 24 11:18:06 pi5 iwd[28085]: event: connect-info, ssid: deskSAE, > >>> bss: d8:3a:dd:60:a3:0c, signal: -63, load: 0/255 > >>> Aug 24 11:18:06 pi5 iwd[28085]: event: state, old: autoconnect_full, > >>> new: connecting > >>> Aug 24 11:18:06 pi5 iwd[28085]: src/scan.c:scan_periodic_stop() > >>> Stopping periodic scan for wdev 1 > >>> Aug 24 11:18:06 pi5 iwd[28085]: CMD_SET_CQM failed: Operation not supported > >>> Aug 24 11:18:06 pi5 connmand[635]: Interface wlan0 [ wifi ] state is > >>> configuration > >>> Aug 24 11:18:06 pi5 iwd[28085]: src/netdev.c:netdev_unicast_notify() > >>> Unicast notification External Auth(127) > >>> Aug 24 11:18:06 pi5 iwd[28085]: event: connect-info, External Auth to > >>> SSID: deskSAE, bssid: d8:3a:dd:60:a3:0c > >>> Aug 24 11:18:06 pi5 iwd[28085]: > >>> src/netdev.c:netdev_external_auth_sae_tx_authenticate() > >>> Aug 24 11:18:06 pi5 iwd[28085]: src/netdev.c:netdev_mlme_notify() MLME > >>> notification Frame TX Status(60) > >>> Aug 24 11:18:06 pi5 iwd[28085]: > >>> src/netdev.c:netdev_external_auth_sae_tx_authenticate() > >>> Aug 24 11:18:06 pi5 iwd[28085]: src/netdev.c:netdev_unicast_notify() > >>> Unicast notification Frame(59) > >>> Aug 24 11:18:06 pi5 iwd[28085]: src/netdev.c:netdev_mlme_notify() MLME > >>> notification Frame TX Status(60) > >>> Aug 24 11:18:06 pi5 iwd[28085]: > >>> src/netdev.c:netdev_external_auth_sae_tx_associate() > >>> Aug 24 11:18:06 pi5 iwd[28085]: src/netdev.c:netdev_unicast_notify() > >>> Unicast notification Frame(59) > >>> Aug 24 11:18:06 pi5 iwd[28085]: src/netdev.c:netdev_external_auth_cb() > >>> Failed to send External Auth: Invalid exchange(52) > > > > You're seeing the exact broken behavior I'm seeing. To summarize: > > > > - IWD issues CMD_CONNECT > > - Firmware/Kernel sends CMD_EXTERNAL_AUTH to iwd > > - IWD performs SAE handshake using CMD_FRAME successfully > > - IWD sends CMD_EXTERNAL_AUTH with a success status_code to kernel/firmware > > - Kernel/Firmware rplies with error 52, Invalid Exchange. > > > >>> Aug 24 11:18:06 pi5 kernel: ieee80211 phy0: > >>> brcmf_cfg80211_external_auth: auth_status iovar failed: ret=-52 > >>> Aug 24 11:18:46 pi5 connmand[635]: Interface wlan0 [ wifi ] state is ready > >>> Aug 24 11:18:46 pi5 connmand[635]: wlan0 {add} address > >>> 169.254.242.107/16 label wlan0 family 2 > >>> > >>> > >>> Need a log of some sort or is this adequate? > > > > No. We need someone who can tell us how this firmware is supposed to operate. > > Perhaps Arend can help? > > Hi Denis, > > Perhaps I can. I am working on porting/implementing this for upstream > linux. I guess this is running an Infineon downstream kernel, right? If > brcmfmac is compiled with CONFIG_BRCMDBG you can load the driver with debug > module param, ie.: > > # modprobe brcmfmac debug=0x5416 > > That will log some more details. Error -52 is generic code that something > went wrong in communication with firmware. The debug level above will among > other things show the actual firmware error code. Another interesting thing > shown are the firmware capabilities which can also be examined through debugfs. > > Regards, > Arend > > It appears that this is do-able on the 64 bit RPiOS installed on my Pi5: I loaded the debug parameters and used the latest iwd 2.20 with the 2 SAE patches applied and now get this: first with iwd running: root@pi5(rw):~# nmcli dev wifi list IN-USE BSSID SSID MODE CHAN RATE SIGNAL BARS SECURITY 00:01:02:00:00:03 deskSAE Infra 2 65 Mbit/s 79 ▂▄▆_ WPA2 root@pi5(rw):~# nmcli --ask dev wifi connect deskSAE Password: ••••••••• Error: Timeout 90 sec expired. log with iwd: Sep 02 13:56:18 pi5 NetworkManager[37130]: <info> [1725303378.8140] device (wlan0): Activation: starting connection 'deskSAE' (306466e3-8c0c-4925-920f-3d5d1d24189f) Sep 02 13:56:18 pi5 NetworkManager[37130]: <error> [1725303378.8160] audit: failed to open auditd socket: Protocol not supported Sep 02 13:56:18 pi5 NetworkManager[37130]: <info> [1725303378.8161] audit: op="connection-add-activate" uuid="306466e3-8c0c-4925-920f-3d5d1d24189f" name="deskSAE" pid=37812 uid=0 result="success" Sep 02 13:56:18 pi5 NetworkManager[37130]: <info> [1725303378.8167] device (wlan0): state change: disconnected -> prepare (reason 'none', sys-iface-state: 'managed') Sep 02 13:56:18 pi5 NetworkManager[37130]: <info> [1725303378.8170] device (wlan0): state change: prepare -> config (reason 'none', sys-iface-state: 'managed') Sep 02 13:56:18 pi5 iwd[37306]: event: connect-info, FullMAC driver: brcmfmac using SAE. Expect EXTERNAL_AUTH Sep 02 13:56:18 pi5 iwd[37306]: event: connect-info, FullMAC driver: brcmfmac using SAE. Expect EXTERNAL_AUTH Sep 02 13:56:18 pi5 iwd[37306]: event: connect-info, ssid: deskSAE, bss: d8:3a:dd:60:a3:0c, signal: -55, load: 0/255 Sep 02 13:56:18 pi5 iwd[37306]: event: state, old: autoconnect_full, new: connecting Sep 02 13:56:18 pi5 NetworkManager[37130]: <info> [1725303378.8201] device (wlan0): new IWD device state is connecting Sep 02 13:56:18 pi5 iwd[37306]: CMD_SET_CQM failed: Operation not supported Sep 02 13:56:18 pi5 kernel: brcmfmac: _brcmf_set_multicast_list Enter, bsscfgidx=0 Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_fil_iovar_data_set ifidx=0, name=mcast_list, len=16 Sep 02 13:56:18 pi5 kernel: brcmutil: data Sep 02 13:56:18 pi5 kernel: 00000000: 02 00 00 00 33 33 00 00 00 01 01 00 5e 00 00 01 ....33......^... Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_bus_txctl Enter Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_kso_control Enter: on=1 Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_cfg80211_connect Enter Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_bus_rxctl Enter Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_isr Enter Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_isr Enter Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_bus_rxctl resumed on rxctl frame, got 43 expected 43 Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_fil_iovar_data_set ifidx=0, name=allmulti, len=4 Sep 02 13:56:18 pi5 kernel: brcmutil: data Sep 02 13:56:18 pi5 kernel: 00000000: 00 00 00 00 .... Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_bus_txctl Enter Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_bus_rxctl Enter Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_isr Enter Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_bus_rxctl resumed on rxctl frame, got 29 expected 29 Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_fil_iovar_data_set ifidx=0, name=wpaie, len=22 Sep 02 13:56:18 pi5 kernel: brcmutil: data Sep 02 13:56:18 pi5 kernel: 00000000: 30 14 01 00 00 0f ac 04 01 00 00 0f ac 04 01 00 0............... Sep 02 13:56:18 pi5 kernel: 00000010: 00 0f ac 08 80 00 ...... Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_bus_txctl Enter Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_bus_rxctl Enter Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_isr Enter Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_bus_rxctl resumed on rxctl frame, got 44 expected 44 Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_vif_set_mgmt_ie bsscfgidx 0, pktflag : 0x20 Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_fil_cmd_int_set ifidx=0, cmd=10, value=0 Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_bus_txctl Enter Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_cfg80211_connect Applied Vndr IEs for Assoc request Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_cfg80211_connect ie (00000000da8c1efd), ie_len (34) Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_bus_rxctl Enter Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_isr Enter Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_bus_rxctl resumed on rxctl frame, got 20 expected 20 Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_fil_iovar_data_set ifidx=0, name=arp_ol, len=4 Sep 02 13:56:18 pi5 kernel: brcmutil: data Sep 02 13:56:18 pi5 kernel: 00000000: 09 00 00 00 .... Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_bus_txctl Enter Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_bus_rxctl Enter Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_isr Enter Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_bus_rxctl resumed on rxctl frame, got 27 expected 27 Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_fil_bsscfg_data_set ifidx=0, bsscfgidx=0, name=wpa_auth, len=4 Sep 02 13:56:18 pi5 kernel: brcmutil: data Sep 02 13:56:18 pi5 kernel: 00000000: 00 00 04 00 .... Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_bus_txctl Enter Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_bus_rxctl Enter Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_isr Enter Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_bus_rxctl resumed on rxctl frame, got 29 expected 29 Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_fil_bsscfg_data_set ifidx=0, bsscfgidx=0, name=auth, len=4 Sep 02 13:56:18 pi5 kernel: brcmutil: data Sep 02 13:56:18 pi5 kernel: 00000000: 03 00 00 00 .... Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_bus_txctl Enter Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_bus_rxctl Enter Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_isr Enter Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_bus_rxctl resumed on rxctl frame, got 25 expected 25 Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_fil_bsscfg_data_set ifidx=0, bsscfgidx=0, name=wsec, len=4 Sep 02 13:56:18 pi5 kernel: brcmutil: data Sep 02 13:56:18 pi5 kernel: 00000000: 04 00 00 00 .... Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_bus_txctl Enter Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_bus_rxctl Enter Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_isr Enter Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_bus_rxctl resumed on rxctl frame, got 25 expected 25 Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_bus_txctl Enter Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_bus_rxctl Enter Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_isr Enter Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_bus_rxctl resumed on rxctl frame, got 29 expected 29 Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_fil_bsscfg_data_get ifidx=0, bsscfgidx=0, name=wpa_auth, len=4, err=0 Sep 02 13:56:18 pi5 kernel: brcmutil: data Sep 02 13:56:18 pi5 kernel: 00000000: 00 00 04 00 .... Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_fil_bsscfg_data_set ifidx=0, bsscfgidx=0, name=mfp, len=4 Sep 02 13:56:18 pi5 kernel: brcmutil: data Sep 02 13:56:18 pi5 kernel: 00000000: 01 00 00 00 .... Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_bus_txctl Enter Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_bus_rxctl Enter Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_isr Enter Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_bus_rxctl resumed on rxctl frame, got 24 expected 24 Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_fil_bsscfg_data_set ifidx=0, bsscfgidx=0, name=wpa_auth, len=4 Sep 02 13:56:18 pi5 kernel: brcmutil: data Sep 02 13:56:18 pi5 kernel: 00000000: 00 00 04 00 .... Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_bus_txctl Enter Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_bus_rxctl Enter Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_isr Enter Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_bus_rxctl resumed on rxctl frame, got 29 expected 29 Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_fil_iovar_data_set ifidx=0, name=arpoe, len=4 Sep 02 13:56:18 pi5 kernel: brcmutil: data Sep 02 13:56:18 pi5 kernel: 00000000: 01 00 00 00 .... Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_bus_txctl Enter Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_bus_rxctl Enter Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_isr Enter Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_bus_rxctl resumed on rxctl frame, got 26 expected 26 Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_configure_arp_nd_offload successfully configured (1) ARP offload to 0x9 Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_fil_cmd_int_set ifidx=0, cmd=205, value=0 Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_bus_txctl Enter Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_bus_rxctl Enter Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_isr Enter Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_bus_rxctl resumed on rxctl frame, got 20 expected 20 Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_fil_iovar_data_set ifidx=0, name=join_pref, len=8 Sep 02 13:56:18 pi5 kernel: brcmutil: data Sep 02 13:56:18 pi5 kernel: 00000000: 04 02 08 01 01 02 00 00 ........ Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_bus_txctl Enter Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_bus_rxctl Enter Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_isr Enter Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_bus_rxctl resumed on rxctl frame, got 34 expected 34 Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_fil_iovar_data_set ifidx=0, name=ndoe, len=4 Sep 02 13:56:18 pi5 kernel: brcmutil: data Sep 02 13:56:18 pi5 kernel: 00000000: 01 00 00 00 .... Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_bus_txctl Enter Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_bus_rxctl Enter Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_isr Enter Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_bus_rxctl resumed on rxctl frame, got 25 expected 25 Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_configure_arp_nd_offload successfully configured (1) ND offload to 0x9 Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_fil_bsscfg_data_set ifidx=0, bsscfgidx=0, name=join, len=70 Sep 02 13:56:18 pi5 kernel: brcmutil: data Sep 02 13:56:18 pi5 kernel: 00000000: 07 00 00 00 64 65 73 6b 53 41 45 00 00 00 00 00 ....deskSAE..... Sep 02 13:56:18 pi5 kernel: 00000010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ Sep 02 13:56:18 pi5 kernel: 00000020: 00 00 00 00 ff 00 00 00 10 00 00 00 40 01 00 00 ............@... Sep 02 13:56:18 pi5 kernel: 00000030: 90 01 00 00 ff ff ff ff d8 3a dd 60 a3 0c 00 00 .........:.`.... Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_bus_txctl Enter Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_bus_rxctl Enter Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_isr Enter Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_bus_rxctl resumed on rxctl frame, got 91 expected 91 Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_cfg80211_connect Exit Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_kso_control Enter: on=0 Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_isr Enter Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_kso_control Enter: on=1 Sep 02 13:56:18 pi5 iwd[37306]: event: connect-info, External Auth to SSID: deskSAE, bssid: d8:3a:dd:60:a3:0c Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_rx_event Enter: mmc1:0001:1: rxp=00000000fdc96f1d Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_fweh_event_worker event EXT_AUTH_REQ (187) ifidx 0 bsscfg 0 addr a4:c8:5c:11:2f:b9 Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_fweh_event_worker version 2 flags 0 status 0 reason 0 Sep 02 13:56:18 pi5 kernel: brcmutil: event payload, len=60 Sep 02 13:56:18 pi5 kernel: 00000000: 00 00 d8 3a dd 60 a3 0c 07 00 00 00 64 65 73 6b ...:.`......desk Sep 02 13:56:18 pi5 kernel: 00000010: 53 41 45 00 00 00 00 00 00 00 00 00 24 00 00 00 SAE.........$... Sep 02 13:56:18 pi5 kernel: 00000020: 00 00 00 00 00 00 00 00 e0 86 19 00 7a 35 18 00 ............z5.. Sep 02 13:56:18 pi5 kernel: 00000030: e0 86 19 00 7a 35 18 00 03 00 00 00 ....z5...... Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_notify_ext_auth_request Enter: event EXT_AUTH_REQ (187) received Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_cfg80211_mgmt_tx Enter Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_bus_txctl Enter Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_bus_rxctl Enter Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_isr Enter Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_bus_rxctl resumed on rxctl frame, got 20 expected 20 Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_fil_cmd_int_get ifidx=0, cmd=29, value=1 Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_cfg80211_mgmt_tx Auth frame, cookie=0, fc=00b0, len=104, channel=12626 Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_fil_bsscfg_data_set ifidx=0, bsscfgidx=0, name=mgmt_frame, len=136 Sep 02 13:56:18 pi5 kernel: brcmutil: data Sep 02 13:56:18 pi5 kernel: 00000000: 00 00 00 00 a0 0f 00 00 68 00 b0 00 52 31 d8 3a ........h...R1.: Sep 02 13:56:18 pi5 kernel: 00000010: dd 60 a3 0c d8 3a dd 60 a3 0c 00 00 00 00 00 00 .`...:.`........ Sep 02 13:56:18 pi5 kernel: 00000020: 03 00 01 00 00 00 13 00 8c 8c d6 84 5b 94 b5 0e ............[... Sep 02 13:56:18 pi5 kernel: 00000030: 51 2b 0d 9d a0 78 14 bb 93 25 de 7e c3 69 32 0e Q+...x...%.~.i2. Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_bus_txctl Enter Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_bus_rxctl Enter Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_isr Enter Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_bus_rxctl resumed on rxctl frame, got 163 expected 163 Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_isr Enter Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_rx_event Enter: mmc1:0001:1: rxp=00000000cc427a80 Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_fweh_event_worker event MGMT_FRAME_TXSTATUS (189) ifidx 0 bsscfg 0 addr a1:e5:f5:86:a2:ba Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_fweh_event_worker version 2 flags 0 status 0 reason 0 Sep 02 13:56:18 pi5 kernel: brcmutil: event payload, len=4 Sep 02 13:56:18 pi5 kernel: 00000000: 00 00 00 00 .... Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_notify_mgmt_tx_status Enter: event MGMT_FRAME_TXSTATUS (189), status=0 Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_cfg80211_mgmt_tx TX Auth frame operation is success Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_isr Enter Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_rx_event Enter: mmc1:0001:1: rxp=00000000cc427a80 Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_fweh_event_worker event EXT_AUTH_FRAME_RX (188) ifidx 0 bsscfg 0 addr d8:3a:dd:60:a3:0c Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_fweh_event_worker version 2 flags 0 status 0 reason 0 Sep 02 13:56:18 pi5 kernel: brcmutil: event payload, len=144 Sep 02 13:56:18 pi5 kernel: 00000000: 00 01 10 01 ff ff ff c9 00 01 46 35 00 01 00 02 ..........F5.... Sep 02 13:56:18 pi5 kernel: 00000010: b0 00 3a 01 d8 3a dd d2 ae 3c d8 3a dd 60 a3 0c ..:..:...<.:.`.. Sep 02 13:56:18 pi5 kernel: 00000020: d8 3a dd 60 a3 0c 20 88 03 00 01 00 00 00 13 00 .:.`.. ......... Sep 02 13:56:18 pi5 kernel: 00000030: d1 ae 95 46 66 ea 04 6f 59 0a 2c 5e d4 e9 d6 2e ...Ff..oY.,^.... Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_notify_auth_frame_rx Enter: event EXT_AUTH_FRAME_RX (188) received Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_bus_txctl Enter Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_bus_rxctl Enter Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_isr Enter Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_bus_rxctl resumed on rxctl frame, got 22 expected 22 Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_fil_cmd_data Firmware error: BCME_NOTASSOCIATED (-17) Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_fil_cmd_data_get ifidx=0, cmd=23, len=6, err=-52 Sep 02 13:56:18 pi5 kernel: brcmutil: data Sep 02 13:56:18 pi5 kernel: 00000000: 00 00 00 00 00 00 ...... Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_kso_control Enter: on=0 Sep 02 13:57:48 pi5 polkitd[551]: Unregistered Authentication Agent for unix-process:37812:208342 (system bus name :1.1193, object path /org/freedesktop/PolicyKit1/AuthenticationAgent, locale en_US.UTF-8) (disconnected from bus) Now trial with wpa_supplicant: root@pi5(rw):~# nmcli --ask dev wifi connect deskSAE Password: ••••••••• Device 'wlan0' successfully activated with '87cd00bc-9664-4827-8a00-d98bcb7b9877'. Log with wpa_supplicant and a connect: Sep 02 14:08:10 pi5 kernel: brcmfmac: brcmf_cfg80211_escan_handler ESCAN Partial result Sep 02 14:08:10 pi5 kernel: brcmfmac: brcmf_sdio_isr Enter Sep 02 14:08:10 pi5 kernel: brcmfmac: brcmf_rx_event Enter: mmc1:0001:1: rxp=0000000039214d1f Sep 02 14:08:10 pi5 kernel: brcmfmac: brcmf_fweh_event_worker event ESCAN_RESULT (69) ifidx 0 bsscfg 0 addr d8:3a:dd:60:a3:0c Sep 02 14:08:10 pi5 kernel: brcmfmac: brcmf_fweh_event_worker version 2 flags 0 status 8 reason 0 Sep 02 14:08:10 pi5 kernel: brcmutil: event payload, len=208 Sep 02 14:08:10 pi5 kernel: 00000000: d0 00 00 00 6d 00 00 00 34 12 01 00 6d 00 00 00 ....m...4...m... Sep 02 14:08:10 pi5 kernel: 00000010: c4 00 00 00 d8 3a dd 60 a3 0c 64 00 11 04 07 64 .....:.`..d....d Sep 02 14:08:10 pi5 kernel: 00000020: 65 73 6b 53 41 45 00 00 00 00 00 00 00 00 00 00 eskSAE.......... Sep 02 14:08:10 pi5 kernel: 00000030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ Sep 02 14:08:10 pi5 kernel: brcmfmac: brcmf_cfg80211_escan_handler ESCAN Partial result ... this was what I think was the snippet where it connected with the SSID after NetworkManager was restarted: Sep 02 14:17:14 pi5 wpa_supplicant[43594]: wlan0: Trying to associate with SSID 'deskSAE' Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_cfg80211_connect Enter Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_fil_iovar_data_set ifidx=0, name=wpaie, len=44 Sep 02 14:17:14 pi5 kernel: brcmutil: data Sep 02 14:17:14 pi5 kernel: 00000000: 30 2a 01 00 00 0f ac 04 01 00 00 0f ac 04 01 00 0*.............. Sep 02 14:17:14 pi5 kernel: 00000010: 00 0f ac 08 c0 00 01 00 c9 b9 cd 8f 08 b5 a5 a0 ................ Sep 02 14:17:14 pi5 kernel: 00000020: b2 c0 3a f3 1e ef d4 12 00 0f ac 06 ..:......... Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_sdio_bus_txctl Enter Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_sdio_bus_rxctl Enter Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_sdio_isr Enter Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_sdio_bus_rxctl resumed on rxctl frame, got 66 expected 66 Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_vif_set_mgmt_ie bsscfgidx 0, pktflag : 0x20 Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_cfg80211_connect Applied Vndr IEs for Assoc request Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_cfg80211_connect ie (00000000c11a8d64), ie_len (79) Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_fil_bsscfg_data_set ifidx=0, bsscfgidx=0, name=wpa_auth, len=4 Sep 02 14:17:14 pi5 kernel: brcmutil: data Sep 02 14:17:14 pi5 kernel: 00000000: 00 00 04 00 .... Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_sdio_bus_txctl Enter Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_sdio_bus_rxctl Enter Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_sdio_isr Enter Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_sdio_bus_rxctl resumed on rxctl frame, got 29 expected 29 Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_fil_bsscfg_data_set ifidx=0, bsscfgidx=0, name=auth, len=4 Sep 02 14:17:14 pi5 kernel: brcmutil: data Sep 02 14:17:14 pi5 kernel: 00000000: 00 00 00 00 .... Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_sdio_bus_txctl Enter Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_sdio_bus_rxctl Enter Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_sdio_isr Enter Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_sdio_bus_rxctl resumed on rxctl frame, got 25 expected 25 Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_fil_bsscfg_data_set ifidx=0, bsscfgidx=0, name=wsec, len=4 Sep 02 14:17:14 pi5 kernel: brcmutil: data Sep 02 14:17:14 pi5 kernel: 00000000: 04 00 00 00 .... Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_sdio_bus_txctl Enter Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_sdio_bus_rxctl Enter Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_sdio_isr Enter Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_sdio_bus_rxctl resumed on rxctl frame, got 25 expected 25 Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_sdio_bus_txctl Enter Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_sdio_bus_rxctl Enter Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_sdio_isr Enter Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_sdio_bus_rxctl resumed on rxctl frame, got 29 expected 29 Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_fil_bsscfg_data_get ifidx=0, bsscfgidx=0, name=wpa_auth, len=4, err=0 Sep 02 14:17:14 pi5 kernel: brcmutil: data Sep 02 14:17:14 pi5 kernel: 00000000: 00 00 04 00 .... Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_fil_bsscfg_data_set ifidx=0, bsscfgidx=0, name=mfp, len=4 Sep 02 14:17:14 pi5 kernel: brcmutil: data Sep 02 14:17:14 pi5 kernel: 00000000: 02 00 00 00 .... Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_sdio_bus_txctl Enter Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_sdio_bus_rxctl Enter Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_sdio_isr Enter Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_sdio_bus_rxctl resumed on rxctl frame, got 24 expected 24 Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_fil_bsscfg_data_set ifidx=0, bsscfgidx=0, name=wpa_auth, len=4 Sep 02 14:17:14 pi5 kernel: brcmutil: data Sep 02 14:17:14 pi5 kernel: 00000000: 00 00 04 00 .... Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_sdio_bus_txctl Enter Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_sdio_bus_rxctl Enter Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_sdio_isr Enter Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_sdio_bus_rxctl resumed on rxctl frame, got 29 expected 29 Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_fil_cmd_int_set ifidx=0, cmd=205, value=0 Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_sdio_bus_txctl Enter Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_sdio_bus_rxctl Enter Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_sdio_isr Enter Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_sdio_bus_rxctl resumed on rxctl frame, got 20 expected 20 Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_fil_iovar_data_set ifidx=0, name=join_pref, len=8 Sep 02 14:17:14 pi5 kernel: brcmutil: data Sep 02 14:17:14 pi5 kernel: 00000000: 04 02 08 01 01 02 00 00 ........ Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_sdio_bus_txctl Enter Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_sdio_bus_rxctl Enter Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_sdio_isr Enter Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_sdio_bus_rxctl resumed on rxctl frame, got 34 expected 34 Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_fil_bsscfg_data_set ifidx=0, bsscfgidx=0, name=join, len=70 Sep 02 14:17:14 pi5 kernel: brcmutil: data Sep 02 14:17:14 pi5 kernel: 00000000: 07 00 00 00 64 65 73 6b 53 41 45 00 00 00 00 00 ....deskSAE..... Sep 02 14:17:14 pi5 kernel: 00000010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ Sep 02 14:17:14 pi5 kernel: 00000020: 00 00 00 00 ff 00 00 00 10 00 00 00 40 01 00 00 ............@... Sep 02 14:17:14 pi5 kernel: 00000030: 90 01 00 00 ff ff ff ff d8 3a dd 60 a3 0c 00 00 .........:.`.... Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_sdio_bus_txctl Enter Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_sdio_bus_rxctl Enter Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_sdio_isr Enter Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_sdio_bus_rxctl resumed on rxctl frame, got 91 expected 91 Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_cfg80211_connect Exit Sep 02 14:17:14 pi5 NetworkManager[57939]: <info> [1725304634.0622] device (wlan0): supplicant interface state: scanning -> associating Sep 02 14:17:14 pi5 NetworkManager[57939]: <info> [1725304634.0622] device (p2p-dev-wlan0): supplicant management interface state: scanning -> associating Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_sdio_kso_control Enter: on=0 Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_sdio_isr Enter Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_sdio_kso_control Enter: on=1 Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_rx_event Enter: mmc1:0001:1: rxp=0000000062bff4bd Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_fweh_event_worker event LINK (16) ifidx 0 bsscfg 0 addr d8:3a:dd:60:a3:0c Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_fweh_event_worker version 2 flags 1 status 0 reason 0 Sep 02 14:17:14 pi5 kernel: brcmutil: event payload, len=22 Sep 02 14:17:14 pi5 kernel: 00000000: 30 14 01 00 00 0f ac 04 01 00 00 0f ac 04 01 00 0............... Sep 02 14:17:14 pi5 kernel: 00000010: 00 0f ac 08 c0 00 ...... Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_sdio_isr Enter Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_sdio_kso_control Enter: on=0 Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_sdio_isr Enter Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_sdio_kso_control Enter: on=1 Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_rx_event Enter: mmc1:0001:1: rxp=00000000aafdfb7d Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_fweh_event_worker event SET_SSID (0) ifidx 0 bsscfg 0 addr d8:3a:dd:60:a3:0c Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_fweh_event_worker version 2 flags 0 status 0 reason 0 Sep 02 14:17:14 pi5 kernel: brcmutil: event payload, len=7 Sep 02 14:17:14 pi5 kernel: 00000000: 64 65 73 6b 53 41 45 deskSAE Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_bss_connect_done Enter Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_sdio_bus_txctl Enter Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_sdio_bus_rxctl Enter Sep 02 14:17:14 pi5 wpa_supplicant[43594]: wlan0: Associated with d8:3a:dd:60:a3:0c Sep 02 14:17:14 pi5 wpa_supplicant[43594]: wlan0: CTRL-EVENT-SUBNET-STATUS-UPDATE status=0 Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_sdio_isr Enter Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_sdio_bus_rxctl resumed on rxctl frame, got 539 expected 539 Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_fil_iovar_data_get ifidx=0, name=assoc_info, len=512, err=0 Sep 02 14:17:14 pi5 kernel: brcmutil: data Sep 02 14:17:14 pi5 kernel: 00000000: 66 00 00 00 20 00 00 00 00 00 00 00 31 04 0a 00 f... .......1... Sep 02 14:17:14 pi5 kernel: 00000010: 00 00 00 cc 00 00 11 04 00 00 01 c0 0c 64 00 11 .............d.. Sep 02 14:17:14 pi5 kernel: 00000020: 04 07 64 65 73 6b 53 41 45 00 00 00 00 00 00 00 ..deskSAE....... Sep 02 14:17:14 pi5 kernel: 00000030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_sdio_bus_txctl Enter Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_sdio_bus_rxctl Enter Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_sdio_isr Enter Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_sdio_bus_rxctl resumed on rxctl frame, got 542 expected 542 Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_fil_iovar_data_get ifidx=0, name=assoc_req_ies, len=512, err=0 Sep 02 14:17:14 pi5 kernel: brcmutil: data Sep 02 14:17:14 pi5 kernel: 00000000: 00 07 64 65 73 6b 53 41 45 01 08 82 84 8b 96 24 ..deskSAE......$ Sep 02 14:17:14 pi5 kernel: 00000010: 30 48 6c 32 04 0c 12 18 60 21 02 03 14 24 02 01 0Hl2....`!...$.. Sep 02 14:17:14 pi5 kernel: 00000020: 0b 30 2a 01 00 00 0f ac 04 01 00 00 0f ac 04 01 .0*............. Sep 02 14:17:14 pi5 kernel: 00000030: 00 00 0f ac 08 c0 00 01 00 c9 b9 cd 8f 08 b5 a5 ................ Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_sdio_bus_txctl Enter Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_sdio_bus_rxctl Enter Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_sdio_isr Enter Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_sdio_bus_rxctl resumed on rxctl frame, got 543 expected 543 Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_fil_iovar_data_get ifidx=0, name=assoc_resp_ies, len=512, err=0 Sep 02 14:17:14 pi5 kernel: brcmutil: data Sep 02 14:17:14 pi5 kernel: 00000000: 01 08 82 84 8b 96 0c 12 18 24 32 04 30 48 60 6c .........$2.0H`l Sep 02 14:17:14 pi5 kernel: 00000010: 7f 08 04 00 00 00 00 00 00 40 82 84 8b 96 24 30 .........@....$0 Sep 02 14:17:14 pi5 kernel: 00000020: 48 6c 32 04 0c 12 18 60 21 02 03 14 24 02 01 0b Hl2....`!...$... Sep 02 14:17:14 pi5 kernel: 00000030: 30 2a 01 00 00 0f ac 04 01 00 00 0f ac 04 01 00 0*.............. Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_sdio_bus_txctl Enter Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_sdio_bus_rxctl Enter Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_sdio_isr Enter Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_sdio_bus_rxctl resumed on rxctl frame, got 43 expected 43 Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_fil_iovar_data_get ifidx=0, name=wme_ac_sta, len=16, err=0 Sep 02 14:17:14 pi5 kernel: brcmutil: data Sep 02 14:17:14 pi5 kernel: 00000000: 03 a4 00 00 27 a4 00 00 42 43 5e 00 62 32 2f 00 ....'...BC^.b2/. Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_update_bss_info Enter Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_sdio_bus_txctl Enter Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_sdio_bus_rxctl Enter Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_sdio_isr Enter Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_sdio_bus_rxctl resumed on rxctl frame, got 2064 expected 2064 Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_fil_cmd_data_get ifidx=0, cmd=136, len=2048, err=0 Sep 02 14:17:14 pi5 kernel: brcmutil: data Sep 02 14:17:14 pi5 kernel: 00000000: cd 00 00 00 6d 00 00 00 cc 00 00 00 d8 3a dd 60 ....m........:.` Sep 02 14:17:14 pi5 kernel: 00000010: a3 0c 64 00 11 04 07 64 65 73 6b 53 41 45 00 00 ..d....deskSAE.. Sep 02 14:17:14 pi5 kernel: 00000020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ Sep 02 14:17:14 pi5 kernel: 00000030: 00 00 00 00 00 00 00 00 0c 00 00 00 82 84 8b 0c ................ Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_update_bss_info Exit Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_bss_connect_done Exit Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_net_setcarrier Enter, bsscfgidx=0 carrier=1 Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_txflowblock_if enter: bsscfgidx=0 stop=0x4 reason=4 state=0 Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_sdio_bus_txdata Enter: pkt: data 00000000e74f6ccc len 161 Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_sdio_bus_txdata deferring pktq len 0 Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_sdio_sendfromq Enter Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_sdio_txpkt Enter Sep 02 14:17:14 pi5 wpa_supplicant[43594]: wlan0: WPA: Key negotiation completed with d8:3a:dd:60:a3:0c [PTK=CCMP GTK=CCMP] Sep 02 14:17:14 pi5 wpa_supplicant[43594]: wlan0: CTRL-EVENT-CONNECTED - Connection to d8:3a:dd:60:a3:0c completed [id=0 id_str=] Sep 02 14:17:14 pi5 NetworkManager[57939]: <info> [1725304634.2164] device (wlan0): supplicant interface state: associating -> completed Sep 02 14:17:14 pi5 NetworkManager[57939]: <info> [1725304634.2165] device (wlan0): Activation: (wifi) Stage 2 of 5 (Device Configure) successful. Connected to wireless network "deskSAE" Sep 02 14:17:14 pi5 NetworkManager[57939]: <info> [1725304634.2166] device (p2p-dev-wlan0): supplicant management interface state: associating -> completed Sep 02 14:17:14 pi5 NetworkManager[57939]: <info> [1725304634.2167] device (wlan0): state change: config -> ip-config (reason 'none', sys-iface-state: 'managed') Sep 02 14:17:14 pi5 NetworkManager[57939]: <info> [1725304634.2170] dhcp4 (wlan0): activation: beginning transaction (timeout in 45 seconds) ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [RFC PATCH v1 0/2] External Auth support 2024-09-02 19:32 ` KeithG @ 2024-09-07 18:43 ` KeithG 0 siblings, 0 replies; 24+ messages in thread From: KeithG @ 2024-09-07 18:43 UTC (permalink / raw) To: Arend Van Spriel; +Cc: Denis Kenzior, iwd, James Prestwood On Mon, Sep 2, 2024 at 2:32 PM KeithG <ys3al35l@gmail.com> wrote: > > On Mon, Aug 26, 2024 at 11:54 AM Arend Van Spriel > <arend.vanspriel@broadcom.com> wrote: > > > > On August 26, 2024 5:43:23 PM Denis Kenzior <denkenz@gmail.com> wrote: > > > > > Hi Keith, > > > > > >>> > > >>> iwctl looks like it is trying something: > > >>> [iwd]# station wlan0 connect deskSAE > > >>> Type the network passphrase for deskSAE psk. > > >>> Passphrase: ********* > > >>> [iwd]# > > >>> > > >>> but it never connects. I do notice that connman thinks it is up and > > >>> assigns a 169.254.x.x address > > >>> > > >>> Aug 24 11:18:06 pi5 iwd[28085]: src/wiphy.c:wiphy_select_akm() Network > > >>> is WPA3-Personal... > > >>> Aug 24 11:18:06 pi5 iwd[28085]: event: connect-info, FullMAC driver: > > >>> brcmfmac using SAE. Expect EXTERNAL_AUTH > > >>> Aug 24 11:18:06 pi5 iwd[28085]: > > >>> src/network.c:network_generate_sae_pt() Generating PT for Group 19 > > >>> Aug 24 11:18:06 pi5 iwd[28085]: > > >>> src/network.c:network_generate_sae_pt() Generating PT for Group 20 > > >>> Aug 24 11:18:06 pi5 iwd[28085]: src/wiphy.c:wiphy_select_akm() Network > > >>> is WPA3-Personal... > > >>> Aug 24 11:18:06 pi5 iwd[28085]: event: connect-info, FullMAC driver: > > >>> brcmfmac using SAE. Expect EXTERNAL_AUTH > > >>> Aug 24 11:18:06 pi5 iwd[28085]: src/netdev.c:netdev_cqm_rssi_update() > > >>> Aug 24 11:18:06 pi5 iwd[28085]: src/wiphy.c:wiphy_radio_work_insert() > > >>> Inserting work item 4 > > >>> Aug 24 11:18:06 pi5 iwd[28085]: src/wiphy.c:wiphy_radio_work_next() > > >>> Starting work item 4 > > >>> Aug 24 11:18:06 pi5 iwd[28085]: event: connect-info, ssid: deskSAE, > > >>> bss: d8:3a:dd:60:a3:0c, signal: -63, load: 0/255 > > >>> Aug 24 11:18:06 pi5 iwd[28085]: event: state, old: autoconnect_full, > > >>> new: connecting > > >>> Aug 24 11:18:06 pi5 iwd[28085]: src/scan.c:scan_periodic_stop() > > >>> Stopping periodic scan for wdev 1 > > >>> Aug 24 11:18:06 pi5 iwd[28085]: CMD_SET_CQM failed: Operation not supported > > >>> Aug 24 11:18:06 pi5 connmand[635]: Interface wlan0 [ wifi ] state is > > >>> configuration > > >>> Aug 24 11:18:06 pi5 iwd[28085]: src/netdev.c:netdev_unicast_notify() > > >>> Unicast notification External Auth(127) > > >>> Aug 24 11:18:06 pi5 iwd[28085]: event: connect-info, External Auth to > > >>> SSID: deskSAE, bssid: d8:3a:dd:60:a3:0c > > >>> Aug 24 11:18:06 pi5 iwd[28085]: > > >>> src/netdev.c:netdev_external_auth_sae_tx_authenticate() > > >>> Aug 24 11:18:06 pi5 iwd[28085]: src/netdev.c:netdev_mlme_notify() MLME > > >>> notification Frame TX Status(60) > > >>> Aug 24 11:18:06 pi5 iwd[28085]: > > >>> src/netdev.c:netdev_external_auth_sae_tx_authenticate() > > >>> Aug 24 11:18:06 pi5 iwd[28085]: src/netdev.c:netdev_unicast_notify() > > >>> Unicast notification Frame(59) > > >>> Aug 24 11:18:06 pi5 iwd[28085]: src/netdev.c:netdev_mlme_notify() MLME > > >>> notification Frame TX Status(60) > > >>> Aug 24 11:18:06 pi5 iwd[28085]: > > >>> src/netdev.c:netdev_external_auth_sae_tx_associate() > > >>> Aug 24 11:18:06 pi5 iwd[28085]: src/netdev.c:netdev_unicast_notify() > > >>> Unicast notification Frame(59) > > >>> Aug 24 11:18:06 pi5 iwd[28085]: src/netdev.c:netdev_external_auth_cb() > > >>> Failed to send External Auth: Invalid exchange(52) > > > > > > You're seeing the exact broken behavior I'm seeing. To summarize: > > > > > > - IWD issues CMD_CONNECT > > > - Firmware/Kernel sends CMD_EXTERNAL_AUTH to iwd > > > - IWD performs SAE handshake using CMD_FRAME successfully > > > - IWD sends CMD_EXTERNAL_AUTH with a success status_code to kernel/firmware > > > - Kernel/Firmware rplies with error 52, Invalid Exchange. > > > > > >>> Aug 24 11:18:06 pi5 kernel: ieee80211 phy0: > > >>> brcmf_cfg80211_external_auth: auth_status iovar failed: ret=-52 > > >>> Aug 24 11:18:46 pi5 connmand[635]: Interface wlan0 [ wifi ] state is ready > > >>> Aug 24 11:18:46 pi5 connmand[635]: wlan0 {add} address > > >>> 169.254.242.107/16 label wlan0 family 2 > > >>> > > >>> > > >>> Need a log of some sort or is this adequate? > > > > > > No. We need someone who can tell us how this firmware is supposed to operate. > > > Perhaps Arend can help? > > > > Hi Denis, > > > > Perhaps I can. I am working on porting/implementing this for upstream > > linux. I guess this is running an Infineon downstream kernel, right? If > > brcmfmac is compiled with CONFIG_BRCMDBG you can load the driver with debug > > module param, ie.: > > > > # modprobe brcmfmac debug=0x5416 > > > > That will log some more details. Error -52 is generic code that something > > went wrong in communication with firmware. The debug level above will among > > other things show the actual firmware error code. Another interesting thing > > shown are the firmware capabilities which can also be examined through debugfs. > > > > Regards, > > Arend > > > > > > It appears that this is do-able on the 64 bit RPiOS installed on my Pi5: > > I loaded the debug parameters and used the latest iwd 2.20 with the 2 > SAE patches applied and now get this: > first with iwd running: > root@pi5(rw):~# nmcli dev wifi list > IN-USE BSSID SSID MODE CHAN RATE SIGNAL > BARS SECURITY > 00:01:02:00:00:03 deskSAE Infra 2 65 Mbit/s 79 > ▂▄▆_ WPA2 > root@pi5(rw):~# nmcli --ask dev wifi connect deskSAE > Password: ••••••••• > Error: Timeout 90 sec expired. > > log with iwd: > Sep 02 13:56:18 pi5 NetworkManager[37130]: <info> [1725303378.8140] > device (wlan0): Activation: starting connection 'deskSAE' > (306466e3-8c0c-4925-920f-3d5d1d24189f) > Sep 02 13:56:18 pi5 NetworkManager[37130]: <error> [1725303378.8160] > audit: failed to open auditd socket: Protocol not supported > Sep 02 13:56:18 pi5 NetworkManager[37130]: <info> [1725303378.8161] > audit: op="connection-add-activate" > uuid="306466e3-8c0c-4925-920f-3d5d1d24189f" name="deskSAE" pid=37812 > uid=0 result="success" > Sep 02 13:56:18 pi5 NetworkManager[37130]: <info> [1725303378.8167] > device (wlan0): state change: disconnected -> prepare (reason 'none', > sys-iface-state: 'managed') > Sep 02 13:56:18 pi5 NetworkManager[37130]: <info> [1725303378.8170] > device (wlan0): state change: prepare -> config (reason 'none', > sys-iface-state: 'managed') > Sep 02 13:56:18 pi5 iwd[37306]: event: connect-info, FullMAC driver: > brcmfmac using SAE. Expect EXTERNAL_AUTH > Sep 02 13:56:18 pi5 iwd[37306]: event: connect-info, FullMAC driver: > brcmfmac using SAE. Expect EXTERNAL_AUTH > Sep 02 13:56:18 pi5 iwd[37306]: event: connect-info, ssid: deskSAE, > bss: d8:3a:dd:60:a3:0c, signal: -55, load: 0/255 > Sep 02 13:56:18 pi5 iwd[37306]: event: state, old: autoconnect_full, > new: connecting > Sep 02 13:56:18 pi5 NetworkManager[37130]: <info> [1725303378.8201] > device (wlan0): new IWD device state is connecting > Sep 02 13:56:18 pi5 iwd[37306]: CMD_SET_CQM failed: Operation not supported > Sep 02 13:56:18 pi5 kernel: brcmfmac: _brcmf_set_multicast_list Enter, > bsscfgidx=0 > Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_fil_iovar_data_set > ifidx=0, name=mcast_list, len=16 > Sep 02 13:56:18 pi5 kernel: brcmutil: data > Sep 02 13:56:18 pi5 kernel: 00000000: 02 00 00 00 33 33 00 00 00 01 01 > 00 5e 00 00 01 ....33......^... > Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_bus_txctl Enter > Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_kso_control Enter: on=1 > Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_cfg80211_connect Enter > Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_bus_rxctl Enter > Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_isr Enter > Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_isr Enter > Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_bus_rxctl resumed on > rxctl frame, got 43 expected 43 > Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_fil_iovar_data_set > ifidx=0, name=allmulti, len=4 > Sep 02 13:56:18 pi5 kernel: brcmutil: data > Sep 02 13:56:18 pi5 kernel: 00000000: 00 00 00 00 > .... > Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_bus_txctl Enter > Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_bus_rxctl Enter > Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_isr Enter > Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_bus_rxctl resumed on > rxctl frame, got 29 expected 29 > Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_fil_iovar_data_set > ifidx=0, name=wpaie, len=22 > Sep 02 13:56:18 pi5 kernel: brcmutil: data > Sep 02 13:56:18 pi5 kernel: 00000000: 30 14 01 00 00 0f ac 04 01 00 00 > 0f ac 04 01 00 0............... > Sep 02 13:56:18 pi5 kernel: 00000010: 00 0f ac 08 80 00 > ...... > Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_bus_txctl Enter > Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_bus_rxctl Enter > Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_isr Enter > Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_bus_rxctl resumed on > rxctl frame, got 44 expected 44 > Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_vif_set_mgmt_ie bsscfgidx > 0, pktflag : 0x20 > Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_fil_cmd_int_set ifidx=0, > cmd=10, value=0 > Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_bus_txctl Enter > Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_cfg80211_connect Applied > Vndr IEs for Assoc request > Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_cfg80211_connect ie > (00000000da8c1efd), ie_len (34) > Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_bus_rxctl Enter > Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_isr Enter > Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_bus_rxctl resumed on > rxctl frame, got 20 expected 20 > Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_fil_iovar_data_set > ifidx=0, name=arp_ol, len=4 > Sep 02 13:56:18 pi5 kernel: brcmutil: data > Sep 02 13:56:18 pi5 kernel: 00000000: 09 00 00 00 > .... > Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_bus_txctl Enter > Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_bus_rxctl Enter > Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_isr Enter > Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_bus_rxctl resumed on > rxctl frame, got 27 expected 27 > Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_fil_bsscfg_data_set > ifidx=0, bsscfgidx=0, name=wpa_auth, len=4 > Sep 02 13:56:18 pi5 kernel: brcmutil: data > Sep 02 13:56:18 pi5 kernel: 00000000: 00 00 04 00 > .... > Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_bus_txctl Enter > Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_bus_rxctl Enter > Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_isr Enter > Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_bus_rxctl resumed on > rxctl frame, got 29 expected 29 > Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_fil_bsscfg_data_set > ifidx=0, bsscfgidx=0, name=auth, len=4 > Sep 02 13:56:18 pi5 kernel: brcmutil: data > Sep 02 13:56:18 pi5 kernel: 00000000: 03 00 00 00 > .... > Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_bus_txctl Enter > Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_bus_rxctl Enter > Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_isr Enter > Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_bus_rxctl resumed on > rxctl frame, got 25 expected 25 > Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_fil_bsscfg_data_set > ifidx=0, bsscfgidx=0, name=wsec, len=4 > Sep 02 13:56:18 pi5 kernel: brcmutil: data > Sep 02 13:56:18 pi5 kernel: 00000000: 04 00 00 00 > .... > Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_bus_txctl Enter > Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_bus_rxctl Enter > Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_isr Enter > Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_bus_rxctl resumed on > rxctl frame, got 25 expected 25 > Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_bus_txctl Enter > Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_bus_rxctl Enter > Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_isr Enter > Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_bus_rxctl resumed on > rxctl frame, got 29 expected 29 > Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_fil_bsscfg_data_get > ifidx=0, bsscfgidx=0, name=wpa_auth, len=4, err=0 > Sep 02 13:56:18 pi5 kernel: brcmutil: data > Sep 02 13:56:18 pi5 kernel: 00000000: 00 00 04 00 > .... > Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_fil_bsscfg_data_set > ifidx=0, bsscfgidx=0, name=mfp, len=4 > Sep 02 13:56:18 pi5 kernel: brcmutil: data > Sep 02 13:56:18 pi5 kernel: 00000000: 01 00 00 00 > .... > Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_bus_txctl Enter > Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_bus_rxctl Enter > Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_isr Enter > Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_bus_rxctl resumed on > rxctl frame, got 24 expected 24 > Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_fil_bsscfg_data_set > ifidx=0, bsscfgidx=0, name=wpa_auth, len=4 > Sep 02 13:56:18 pi5 kernel: brcmutil: data > Sep 02 13:56:18 pi5 kernel: 00000000: 00 00 04 00 > .... > Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_bus_txctl Enter > Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_bus_rxctl Enter > Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_isr Enter > Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_bus_rxctl resumed on > rxctl frame, got 29 expected 29 > Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_fil_iovar_data_set > ifidx=0, name=arpoe, len=4 > Sep 02 13:56:18 pi5 kernel: brcmutil: data > Sep 02 13:56:18 pi5 kernel: 00000000: 01 00 00 00 > .... > Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_bus_txctl Enter > Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_bus_rxctl Enter > Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_isr Enter > Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_bus_rxctl resumed on > rxctl frame, got 26 expected 26 > Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_configure_arp_nd_offload > successfully configured (1) ARP offload to 0x9 > Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_fil_cmd_int_set ifidx=0, > cmd=205, value=0 > Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_bus_txctl Enter > Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_bus_rxctl Enter > Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_isr Enter > Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_bus_rxctl resumed on > rxctl frame, got 20 expected 20 > Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_fil_iovar_data_set > ifidx=0, name=join_pref, len=8 > Sep 02 13:56:18 pi5 kernel: brcmutil: data > Sep 02 13:56:18 pi5 kernel: 00000000: 04 02 08 01 01 02 00 00 > ........ > Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_bus_txctl Enter > Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_bus_rxctl Enter > Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_isr Enter > Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_bus_rxctl resumed on > rxctl frame, got 34 expected 34 > Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_fil_iovar_data_set > ifidx=0, name=ndoe, len=4 > Sep 02 13:56:18 pi5 kernel: brcmutil: data > Sep 02 13:56:18 pi5 kernel: 00000000: 01 00 00 00 > .... > Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_bus_txctl Enter > Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_bus_rxctl Enter > Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_isr Enter > Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_bus_rxctl resumed on > rxctl frame, got 25 expected 25 > Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_configure_arp_nd_offload > successfully configured (1) ND offload to 0x9 > Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_fil_bsscfg_data_set > ifidx=0, bsscfgidx=0, name=join, len=70 > Sep 02 13:56:18 pi5 kernel: brcmutil: data > Sep 02 13:56:18 pi5 kernel: 00000000: 07 00 00 00 64 65 73 6b 53 41 45 > 00 00 00 00 00 ....deskSAE..... > Sep 02 13:56:18 pi5 kernel: 00000010: 00 00 00 00 00 00 00 00 00 00 00 > 00 00 00 00 00 ................ > Sep 02 13:56:18 pi5 kernel: 00000020: 00 00 00 00 ff 00 00 00 10 00 00 > 00 40 01 00 00 ............@... > Sep 02 13:56:18 pi5 kernel: 00000030: 90 01 00 00 ff ff ff ff d8 3a dd > 60 a3 0c 00 00 .........:.`.... > Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_bus_txctl Enter > Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_bus_rxctl Enter > Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_isr Enter > Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_bus_rxctl resumed on > rxctl frame, got 91 expected 91 > Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_cfg80211_connect Exit > Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_kso_control Enter: on=0 > Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_isr Enter > Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_kso_control Enter: on=1 > Sep 02 13:56:18 pi5 iwd[37306]: event: connect-info, External Auth to > SSID: deskSAE, bssid: d8:3a:dd:60:a3:0c > Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_rx_event Enter: > mmc1:0001:1: rxp=00000000fdc96f1d > Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_fweh_event_worker event > EXT_AUTH_REQ (187) ifidx 0 bsscfg 0 addr a4:c8:5c:11:2f:b9 > Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_fweh_event_worker > version 2 flags 0 status 0 reason 0 > Sep 02 13:56:18 pi5 kernel: brcmutil: event payload, len=60 > Sep 02 13:56:18 pi5 kernel: 00000000: 00 00 d8 3a dd 60 a3 0c 07 00 00 > 00 64 65 73 6b ...:.`......desk > Sep 02 13:56:18 pi5 kernel: 00000010: 53 41 45 00 00 00 00 00 00 00 00 > 00 24 00 00 00 SAE.........$... > Sep 02 13:56:18 pi5 kernel: 00000020: 00 00 00 00 00 00 00 00 e0 86 19 > 00 7a 35 18 00 ............z5.. > Sep 02 13:56:18 pi5 kernel: 00000030: e0 86 19 00 7a 35 18 00 03 00 00 > 00 ....z5...... > Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_notify_ext_auth_request > Enter: event EXT_AUTH_REQ (187) received > Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_cfg80211_mgmt_tx Enter > Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_bus_txctl Enter > Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_bus_rxctl Enter > Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_isr Enter > Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_bus_rxctl resumed on > rxctl frame, got 20 expected 20 > Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_fil_cmd_int_get ifidx=0, > cmd=29, value=1 > Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_cfg80211_mgmt_tx Auth > frame, cookie=0, fc=00b0, len=104, channel=12626 > Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_fil_bsscfg_data_set > ifidx=0, bsscfgidx=0, name=mgmt_frame, len=136 > Sep 02 13:56:18 pi5 kernel: brcmutil: data > Sep 02 13:56:18 pi5 kernel: 00000000: 00 00 00 00 a0 0f 00 00 68 00 b0 > 00 52 31 d8 3a ........h...R1.: > Sep 02 13:56:18 pi5 kernel: 00000010: dd 60 a3 0c d8 3a dd 60 a3 0c 00 > 00 00 00 00 00 .`...:.`........ > Sep 02 13:56:18 pi5 kernel: 00000020: 03 00 01 00 00 00 13 00 8c 8c d6 > 84 5b 94 b5 0e ............[... > Sep 02 13:56:18 pi5 kernel: 00000030: 51 2b 0d 9d a0 78 14 bb 93 25 de > 7e c3 69 32 0e Q+...x...%.~.i2. > Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_bus_txctl Enter > Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_bus_rxctl Enter > Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_isr Enter > Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_bus_rxctl resumed on > rxctl frame, got 163 expected 163 > Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_isr Enter > Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_rx_event Enter: > mmc1:0001:1: rxp=00000000cc427a80 > Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_fweh_event_worker event > MGMT_FRAME_TXSTATUS (189) ifidx 0 bsscfg 0 addr a1:e5:f5:86:a2:ba > Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_fweh_event_worker > version 2 flags 0 status 0 reason 0 > Sep 02 13:56:18 pi5 kernel: brcmutil: event payload, len=4 > Sep 02 13:56:18 pi5 kernel: 00000000: 00 00 00 00 > .... > Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_notify_mgmt_tx_status > Enter: event MGMT_FRAME_TXSTATUS (189), status=0 > Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_cfg80211_mgmt_tx TX Auth > frame operation is success > Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_isr Enter > Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_rx_event Enter: > mmc1:0001:1: rxp=00000000cc427a80 > Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_fweh_event_worker event > EXT_AUTH_FRAME_RX (188) ifidx 0 bsscfg 0 addr d8:3a:dd:60:a3:0c > Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_fweh_event_worker > version 2 flags 0 status 0 reason 0 > Sep 02 13:56:18 pi5 kernel: brcmutil: event payload, len=144 > Sep 02 13:56:18 pi5 kernel: 00000000: 00 01 10 01 ff ff ff c9 00 01 46 > 35 00 01 00 02 ..........F5.... > Sep 02 13:56:18 pi5 kernel: 00000010: b0 00 3a 01 d8 3a dd d2 ae 3c d8 > 3a dd 60 a3 0c ..:..:...<.:.`.. > Sep 02 13:56:18 pi5 kernel: 00000020: d8 3a dd 60 a3 0c 20 88 03 00 01 > 00 00 00 13 00 .:.`.. ......... > Sep 02 13:56:18 pi5 kernel: 00000030: d1 ae 95 46 66 ea 04 6f 59 0a 2c > 5e d4 e9 d6 2e ...Ff..oY.,^.... > Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_notify_auth_frame_rx > Enter: event EXT_AUTH_FRAME_RX (188) received > Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_bus_txctl Enter > Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_bus_rxctl Enter > Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_isr Enter > Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_bus_rxctl resumed on > rxctl frame, got 22 expected 22 > Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_fil_cmd_data Firmware > error: BCME_NOTASSOCIATED (-17) > Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_fil_cmd_data_get ifidx=0, > cmd=23, len=6, err=-52 > Sep 02 13:56:18 pi5 kernel: brcmutil: data > Sep 02 13:56:18 pi5 kernel: 00000000: 00 00 00 00 00 00 > ...... > Sep 02 13:56:18 pi5 kernel: brcmfmac: brcmf_sdio_kso_control Enter: on=0 > Sep 02 13:57:48 pi5 polkitd[551]: Unregistered Authentication Agent > for unix-process:37812:208342 (system bus name :1.1193, object path > /org/freedesktop/PolicyKit1/AuthenticationAgent, locale en_US.UTF-8) > (disconnected from bus) > > Now trial with wpa_supplicant: > root@pi5(rw):~# nmcli --ask dev wifi connect deskSAE > Password: ••••••••• > Device 'wlan0' successfully activated with > '87cd00bc-9664-4827-8a00-d98bcb7b9877'. > > Log with wpa_supplicant and a connect: > Sep 02 14:08:10 pi5 kernel: brcmfmac: brcmf_cfg80211_escan_handler > ESCAN Partial result > Sep 02 14:08:10 pi5 kernel: brcmfmac: brcmf_sdio_isr Enter > Sep 02 14:08:10 pi5 kernel: brcmfmac: brcmf_rx_event Enter: > mmc1:0001:1: rxp=0000000039214d1f > Sep 02 14:08:10 pi5 kernel: brcmfmac: brcmf_fweh_event_worker event > ESCAN_RESULT (69) ifidx 0 bsscfg 0 addr d8:3a:dd:60:a3:0c > Sep 02 14:08:10 pi5 kernel: brcmfmac: brcmf_fweh_event_worker > version 2 flags 0 status 8 reason 0 > Sep 02 14:08:10 pi5 kernel: brcmutil: event payload, len=208 > Sep 02 14:08:10 pi5 kernel: 00000000: d0 00 00 00 6d 00 00 00 34 12 01 > 00 6d 00 00 00 ....m...4...m... > Sep 02 14:08:10 pi5 kernel: 00000010: c4 00 00 00 d8 3a dd 60 a3 0c 64 > 00 11 04 07 64 .....:.`..d....d > Sep 02 14:08:10 pi5 kernel: 00000020: 65 73 6b 53 41 45 00 00 00 00 00 > 00 00 00 00 00 eskSAE.......... > Sep 02 14:08:10 pi5 kernel: 00000030: 00 00 00 00 00 00 00 00 00 00 00 > 00 00 00 00 00 ................ > Sep 02 14:08:10 pi5 kernel: brcmfmac: brcmf_cfg80211_escan_handler > ESCAN Partial result > ... > this was what I think was the snippet where it connected with the SSID > after NetworkManager was restarted: > > Sep 02 14:17:14 pi5 wpa_supplicant[43594]: wlan0: Trying to associate > with SSID 'deskSAE' > Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_cfg80211_connect Enter > Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_fil_iovar_data_set > ifidx=0, name=wpaie, len=44 > Sep 02 14:17:14 pi5 kernel: brcmutil: data > Sep 02 14:17:14 pi5 kernel: 00000000: 30 2a 01 00 00 0f ac 04 01 00 00 > 0f ac 04 01 00 0*.............. > Sep 02 14:17:14 pi5 kernel: 00000010: 00 0f ac 08 c0 00 01 00 c9 b9 cd > 8f 08 b5 a5 a0 ................ > Sep 02 14:17:14 pi5 kernel: 00000020: b2 c0 3a f3 1e ef d4 12 00 0f ac > 06 ..:......... > Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_sdio_bus_txctl Enter > Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_sdio_bus_rxctl Enter > Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_sdio_isr Enter > Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_sdio_bus_rxctl resumed on > rxctl frame, got 66 expected 66 > Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_vif_set_mgmt_ie bsscfgidx > 0, pktflag : 0x20 > Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_cfg80211_connect Applied > Vndr IEs for Assoc request > Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_cfg80211_connect ie > (00000000c11a8d64), ie_len (79) > Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_fil_bsscfg_data_set > ifidx=0, bsscfgidx=0, name=wpa_auth, len=4 > Sep 02 14:17:14 pi5 kernel: brcmutil: data > Sep 02 14:17:14 pi5 kernel: 00000000: 00 00 04 00 > .... > Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_sdio_bus_txctl Enter > Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_sdio_bus_rxctl Enter > Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_sdio_isr Enter > Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_sdio_bus_rxctl resumed on > rxctl frame, got 29 expected 29 > Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_fil_bsscfg_data_set > ifidx=0, bsscfgidx=0, name=auth, len=4 > Sep 02 14:17:14 pi5 kernel: brcmutil: data > Sep 02 14:17:14 pi5 kernel: 00000000: 00 00 00 00 > .... > Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_sdio_bus_txctl Enter > Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_sdio_bus_rxctl Enter > Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_sdio_isr Enter > Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_sdio_bus_rxctl resumed on > rxctl frame, got 25 expected 25 > Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_fil_bsscfg_data_set > ifidx=0, bsscfgidx=0, name=wsec, len=4 > Sep 02 14:17:14 pi5 kernel: brcmutil: data > Sep 02 14:17:14 pi5 kernel: 00000000: 04 00 00 00 > .... > Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_sdio_bus_txctl Enter > Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_sdio_bus_rxctl Enter > Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_sdio_isr Enter > Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_sdio_bus_rxctl resumed on > rxctl frame, got 25 expected 25 > Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_sdio_bus_txctl Enter > Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_sdio_bus_rxctl Enter > Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_sdio_isr Enter > Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_sdio_bus_rxctl resumed on > rxctl frame, got 29 expected 29 > Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_fil_bsscfg_data_get > ifidx=0, bsscfgidx=0, name=wpa_auth, len=4, err=0 > Sep 02 14:17:14 pi5 kernel: brcmutil: data > Sep 02 14:17:14 pi5 kernel: 00000000: 00 00 04 00 > .... > Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_fil_bsscfg_data_set > ifidx=0, bsscfgidx=0, name=mfp, len=4 > Sep 02 14:17:14 pi5 kernel: brcmutil: data > Sep 02 14:17:14 pi5 kernel: 00000000: 02 00 00 00 > .... > Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_sdio_bus_txctl Enter > Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_sdio_bus_rxctl Enter > Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_sdio_isr Enter > Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_sdio_bus_rxctl resumed on > rxctl frame, got 24 expected 24 > Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_fil_bsscfg_data_set > ifidx=0, bsscfgidx=0, name=wpa_auth, len=4 > Sep 02 14:17:14 pi5 kernel: brcmutil: data > Sep 02 14:17:14 pi5 kernel: 00000000: 00 00 04 00 > .... > Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_sdio_bus_txctl Enter > Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_sdio_bus_rxctl Enter > Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_sdio_isr Enter > Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_sdio_bus_rxctl resumed on > rxctl frame, got 29 expected 29 > Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_fil_cmd_int_set ifidx=0, > cmd=205, value=0 > Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_sdio_bus_txctl Enter > Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_sdio_bus_rxctl Enter > Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_sdio_isr Enter > Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_sdio_bus_rxctl resumed on > rxctl frame, got 20 expected 20 > Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_fil_iovar_data_set > ifidx=0, name=join_pref, len=8 > Sep 02 14:17:14 pi5 kernel: brcmutil: data > Sep 02 14:17:14 pi5 kernel: 00000000: 04 02 08 01 01 02 00 00 > ........ > Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_sdio_bus_txctl Enter > Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_sdio_bus_rxctl Enter > Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_sdio_isr Enter > Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_sdio_bus_rxctl resumed on > rxctl frame, got 34 expected 34 > Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_fil_bsscfg_data_set > ifidx=0, bsscfgidx=0, name=join, len=70 > Sep 02 14:17:14 pi5 kernel: brcmutil: data > Sep 02 14:17:14 pi5 kernel: 00000000: 07 00 00 00 64 65 73 6b 53 41 45 > 00 00 00 00 00 ....deskSAE..... > Sep 02 14:17:14 pi5 kernel: 00000010: 00 00 00 00 00 00 00 00 00 00 00 > 00 00 00 00 00 ................ > Sep 02 14:17:14 pi5 kernel: 00000020: 00 00 00 00 ff 00 00 00 10 00 00 > 00 40 01 00 00 ............@... > Sep 02 14:17:14 pi5 kernel: 00000030: 90 01 00 00 ff ff ff ff d8 3a dd > 60 a3 0c 00 00 .........:.`.... > Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_sdio_bus_txctl Enter > Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_sdio_bus_rxctl Enter > Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_sdio_isr Enter > Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_sdio_bus_rxctl resumed on > rxctl frame, got 91 expected 91 > Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_cfg80211_connect Exit > Sep 02 14:17:14 pi5 NetworkManager[57939]: <info> [1725304634.0622] > device (wlan0): supplicant interface state: scanning -> associating > Sep 02 14:17:14 pi5 NetworkManager[57939]: <info> [1725304634.0622] > device (p2p-dev-wlan0): supplicant management interface state: > scanning -> associating > Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_sdio_kso_control Enter: on=0 > Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_sdio_isr Enter > Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_sdio_kso_control Enter: on=1 > Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_rx_event Enter: > mmc1:0001:1: rxp=0000000062bff4bd > Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_fweh_event_worker event > LINK (16) ifidx 0 bsscfg 0 addr d8:3a:dd:60:a3:0c > Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_fweh_event_worker > version 2 flags 1 status 0 reason 0 > Sep 02 14:17:14 pi5 kernel: brcmutil: event payload, len=22 > Sep 02 14:17:14 pi5 kernel: 00000000: 30 14 01 00 00 0f ac 04 01 00 00 > 0f ac 04 01 00 0............... > Sep 02 14:17:14 pi5 kernel: 00000010: 00 0f ac 08 c0 00 > ...... > Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_sdio_isr Enter > Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_sdio_kso_control Enter: on=0 > Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_sdio_isr Enter > Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_sdio_kso_control Enter: on=1 > Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_rx_event Enter: > mmc1:0001:1: rxp=00000000aafdfb7d > Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_fweh_event_worker event > SET_SSID (0) ifidx 0 bsscfg 0 addr d8:3a:dd:60:a3:0c > Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_fweh_event_worker > version 2 flags 0 status 0 reason 0 > Sep 02 14:17:14 pi5 kernel: brcmutil: event payload, len=7 > Sep 02 14:17:14 pi5 kernel: 00000000: 64 65 73 6b 53 41 45 > deskSAE > Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_bss_connect_done Enter > Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_sdio_bus_txctl Enter > Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_sdio_bus_rxctl Enter > Sep 02 14:17:14 pi5 wpa_supplicant[43594]: wlan0: Associated with > d8:3a:dd:60:a3:0c > Sep 02 14:17:14 pi5 wpa_supplicant[43594]: wlan0: > CTRL-EVENT-SUBNET-STATUS-UPDATE status=0 > Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_sdio_isr Enter > Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_sdio_bus_rxctl resumed on > rxctl frame, got 539 expected 539 > Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_fil_iovar_data_get > ifidx=0, name=assoc_info, len=512, err=0 > Sep 02 14:17:14 pi5 kernel: brcmutil: data > Sep 02 14:17:14 pi5 kernel: 00000000: 66 00 00 00 20 00 00 00 00 00 00 > 00 31 04 0a 00 f... .......1... > Sep 02 14:17:14 pi5 kernel: 00000010: 00 00 00 cc 00 00 11 04 00 00 01 > c0 0c 64 00 11 .............d.. > Sep 02 14:17:14 pi5 kernel: 00000020: 04 07 64 65 73 6b 53 41 45 00 00 > 00 00 00 00 00 ..deskSAE....... > Sep 02 14:17:14 pi5 kernel: 00000030: 00 00 00 00 00 00 00 00 00 00 00 > 00 00 00 00 00 ................ > Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_sdio_bus_txctl Enter > Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_sdio_bus_rxctl Enter > Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_sdio_isr Enter > Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_sdio_bus_rxctl resumed on > rxctl frame, got 542 expected 542 > Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_fil_iovar_data_get > ifidx=0, name=assoc_req_ies, len=512, err=0 > Sep 02 14:17:14 pi5 kernel: brcmutil: data > Sep 02 14:17:14 pi5 kernel: 00000000: 00 07 64 65 73 6b 53 41 45 01 08 > 82 84 8b 96 24 ..deskSAE......$ > Sep 02 14:17:14 pi5 kernel: 00000010: 30 48 6c 32 04 0c 12 18 60 21 02 > 03 14 24 02 01 0Hl2....`!...$.. > Sep 02 14:17:14 pi5 kernel: 00000020: 0b 30 2a 01 00 00 0f ac 04 01 00 > 00 0f ac 04 01 .0*............. > Sep 02 14:17:14 pi5 kernel: 00000030: 00 00 0f ac 08 c0 00 01 00 c9 b9 > cd 8f 08 b5 a5 ................ > Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_sdio_bus_txctl Enter > Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_sdio_bus_rxctl Enter > Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_sdio_isr Enter > Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_sdio_bus_rxctl resumed on > rxctl frame, got 543 expected 543 > Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_fil_iovar_data_get > ifidx=0, name=assoc_resp_ies, len=512, err=0 > Sep 02 14:17:14 pi5 kernel: brcmutil: data > Sep 02 14:17:14 pi5 kernel: 00000000: 01 08 82 84 8b 96 0c 12 18 24 32 > 04 30 48 60 6c .........$2.0H`l > Sep 02 14:17:14 pi5 kernel: 00000010: 7f 08 04 00 00 00 00 00 00 40 82 > 84 8b 96 24 30 .........@....$0 > Sep 02 14:17:14 pi5 kernel: 00000020: 48 6c 32 04 0c 12 18 60 21 02 03 > 14 24 02 01 0b Hl2....`!...$... > Sep 02 14:17:14 pi5 kernel: 00000030: 30 2a 01 00 00 0f ac 04 01 00 00 > 0f ac 04 01 00 0*.............. > Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_sdio_bus_txctl Enter > Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_sdio_bus_rxctl Enter > Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_sdio_isr Enter > Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_sdio_bus_rxctl resumed on > rxctl frame, got 43 expected 43 > Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_fil_iovar_data_get > ifidx=0, name=wme_ac_sta, len=16, err=0 > Sep 02 14:17:14 pi5 kernel: brcmutil: data > Sep 02 14:17:14 pi5 kernel: 00000000: 03 a4 00 00 27 a4 00 00 42 43 5e > 00 62 32 2f 00 ....'...BC^.b2/. > Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_update_bss_info Enter > Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_sdio_bus_txctl Enter > Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_sdio_bus_rxctl Enter > Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_sdio_isr Enter > Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_sdio_bus_rxctl resumed on > rxctl frame, got 2064 expected 2064 > Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_fil_cmd_data_get ifidx=0, > cmd=136, len=2048, err=0 > Sep 02 14:17:14 pi5 kernel: brcmutil: data > Sep 02 14:17:14 pi5 kernel: 00000000: cd 00 00 00 6d 00 00 00 cc 00 00 > 00 d8 3a dd 60 ....m........:.` > Sep 02 14:17:14 pi5 kernel: 00000010: a3 0c 64 00 11 04 07 64 65 73 6b > 53 41 45 00 00 ..d....deskSAE.. > Sep 02 14:17:14 pi5 kernel: 00000020: 00 00 00 00 00 00 00 00 00 00 00 > 00 00 00 00 00 ................ > Sep 02 14:17:14 pi5 kernel: 00000030: 00 00 00 00 00 00 00 00 0c 00 00 > 00 82 84 8b 0c ................ > Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_update_bss_info Exit > Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_bss_connect_done Exit > Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_net_setcarrier Enter, > bsscfgidx=0 carrier=1 > Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_txflowblock_if enter: > bsscfgidx=0 stop=0x4 reason=4 state=0 > Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_sdio_bus_txdata Enter: > pkt: data 00000000e74f6ccc len 161 > Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_sdio_bus_txdata deferring pktq len 0 > Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_sdio_sendfromq Enter > Sep 02 14:17:14 pi5 kernel: brcmfmac: brcmf_sdio_txpkt Enter > Sep 02 14:17:14 pi5 wpa_supplicant[43594]: wlan0: WPA: Key negotiation > completed with d8:3a:dd:60:a3:0c [PTK=CCMP GTK=CCMP] > Sep 02 14:17:14 pi5 wpa_supplicant[43594]: wlan0: CTRL-EVENT-CONNECTED > - Connection to d8:3a:dd:60:a3:0c completed [id=0 id_str=] > Sep 02 14:17:14 pi5 NetworkManager[57939]: <info> [1725304634.2164] > device (wlan0): supplicant interface state: associating -> completed > Sep 02 14:17:14 pi5 NetworkManager[57939]: <info> [1725304634.2165] > device (wlan0): Activation: (wifi) Stage 2 of 5 (Device Configure) > successful. Connected to wireless network "deskSAE" > Sep 02 14:17:14 pi5 NetworkManager[57939]: <info> [1725304634.2166] > device (p2p-dev-wlan0): supplicant management interface state: > associating -> completed > Sep 02 14:17:14 pi5 NetworkManager[57939]: <info> [1725304634.2167] > device (wlan0): state change: config -> ip-config (reason 'none', > sys-iface-state: 'managed') > Sep 02 14:17:14 pi5 NetworkManager[57939]: <info> [1725304634.2170] > dhcp4 (wlan0): activation: beginning transaction (timeout in 45 > seconds) Is more needed? I can collect whatever logs are needed. Keith ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [RFC PATCH v1 0/2] External Auth support 2024-08-23 17:41 [RFC PATCH v1 0/2] External Auth support Denis Kenzior ` (2 preceding siblings ...) 2024-08-24 0:38 ` [RFC PATCH v1 0/2] External Auth support KeithG @ 2024-09-21 18:58 ` Yuxuan Shui 2024-09-22 3:35 ` Denis Kenzior 2024-09-22 18:56 ` KeithG 4 siblings, 1 reply; 24+ messages in thread From: Yuxuan Shui @ 2024-09-21 18:58 UTC (permalink / raw) To: denkenz, ys3al35l; +Cc: iwd, yshuiv7, arend.vanspriel, prestwoj Hi, On Fri, Aug 23, 2024 at 12:42 PM Denis Kenzior <denkenz@gmail.com> wrote: > > This series implements External Auth support on Full MAC cards that do > not support SAE offload. I have not been able to test this fully since > the brcmfmac firmware on the RPi 5 does not actually work properly. > Maybe some enterprising person can test it on a firmware that does work? > > Denis Kenzior (2): > netdev: external auth support > sae: Allow ability to force Group 19 / Hunt and Peck > > src/netdev.c | 258 +++++++++++++++++++++++++++++++++++++++++----- > src/nl80211util.c | 4 +- > src/sae.c | 20 ++++ > src/sae.h | 3 + > src/wiphy.c | 19 ++-- > 5 files changed, 263 insertions(+), 41 deletions(-) > > -- > 2.45.2 > I tested this on an RPi5 too, and indeed I am having the same problem as KeithG as well. However I managed to get some debug information from brcmfmac when running wpa_supplicant. Interestingly wpa_supplicant gets the same -52 error as well, which it reports as an authentication timeout. But if I ask it to try again, it will connect successfully, and there is no external auth related log the second time around. So I suspect this is a firmware bug, but it should be relatively easy to workaround I think? Basically we also add a timeout and retry. BTW, with the current version of this patch, if I ask iwd to disconnect after getting the -52 error, iwd segfaults. Regards, Yuxuan Shui ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [RFC PATCH v1 0/2] External Auth support 2024-09-21 18:58 ` Yuxuan Shui @ 2024-09-22 3:35 ` Denis Kenzior [not found] ` <CAG17S_NOs=rdUFsFRk4ZPsC=GER2J7nHikGEw=3AW0SBYHUEfg@mail.gmail.com> 2024-09-22 6:09 ` Arend Van Spriel 0 siblings, 2 replies; 24+ messages in thread From: Denis Kenzior @ 2024-09-22 3:35 UTC (permalink / raw) To: Yuxuan Shui, ys3al35l; +Cc: iwd, arend.vanspriel, prestwoj Hi Yuxuan Shui, > > I tested this on an RPi5 too, and indeed I am having the same problem as KeithG > as well. However I managed to get some debug information from brcmfmac when > running wpa_supplicant. Interestingly wpa_supplicant gets the same -52 error as > well, which it reports as an authentication timeout. But if I ask it to try > again, it will connect successfully, and there is no external auth related log > the second time around. Yep. It looks like wpa_s puts the resulting PMKSA into the kernel cache even though the initial connection using external auth fails. I've only seen 2.10 do this, not 2.11. Either way, it is a bug / lucky coincidence. > > So I suspect this is a firmware bug, but it should be relatively easy to > workaround I think? Basically we also add a timeout and retry. It would be far nicer if the brcmfmac firmware + driver combination worked properly :) Regards, -Denis ^ permalink raw reply [flat|nested] 24+ messages in thread
[parent not found: <CAG17S_NOs=rdUFsFRk4ZPsC=GER2J7nHikGEw=3AW0SBYHUEfg@mail.gmail.com>]
* Re: [RFC PATCH v1 0/2] External Auth support [not found] ` <CAG17S_NOs=rdUFsFRk4ZPsC=GER2J7nHikGEw=3AW0SBYHUEfg@mail.gmail.com> @ 2024-09-22 4:23 ` Denis Kenzior 0 siblings, 0 replies; 24+ messages in thread From: Denis Kenzior @ 2024-09-22 4:23 UTC (permalink / raw) To: KeithG; +Cc: Yuxuan Shui, iwd, Arend Van Spriel, James Prestwood Hi Keith, > > Just to be sure... Are you saying that both wpa_supplicant and iwd fail the same > way, but wpa_supplicant ignores the failure and still connects? Pretty much. But really more by accident than design. What happens is: 1. wpa_s completes the SAE handshake via external auth 2. It then (without waiting for the connection succeeded event) uploads the resulting PMKSA into the kernel 3. Tells the firmware that the handshake succeeded 4. The firmware nopes out with error -52. 5. wpa_s then times out / fails the current connection attempt 6. Re-tries. On the retry attempt the firmware picks the PMKSA cache entry and uses that, skipping SAE step entirely. Regards, -Denis ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [RFC PATCH v1 0/2] External Auth support 2024-09-22 3:35 ` Denis Kenzior [not found] ` <CAG17S_NOs=rdUFsFRk4ZPsC=GER2J7nHikGEw=3AW0SBYHUEfg@mail.gmail.com> @ 2024-09-22 6:09 ` Arend Van Spriel 2024-09-22 15:36 ` KeithG 1 sibling, 1 reply; 24+ messages in thread From: Arend Van Spriel @ 2024-09-22 6:09 UTC (permalink / raw) To: Denis Kenzior, Yuxuan Shui, ys3al35l; +Cc: iwd, prestwoj On September 22, 2024 5:35:03 AM Denis Kenzior <denkenz@gmail.com> wrote: > Hi Yuxuan Shui, > >> >> I tested this on an RPi5 too, and indeed I am having the same problem as KeithG >> as well. However I managed to get some debug information from brcmfmac when >> running wpa_supplicant. Interestingly wpa_supplicant gets the same -52 error as >> well, which it reports as an authentication timeout. But if I ask it to try >> again, it will connect successfully, and there is no external auth related log >> the second time around. > > Yep. It looks like wpa_s puts the resulting PMKSA into the kernel cache even > though the initial connection using external auth fails. I've only seen > 2.10 do > this, not 2.11. Either way, it is a bug / lucky coincidence. > >> >> So I suspect this is a firmware bug, but it should be relatively easy to >> workaround I think? Basically we also add a timeout and retry. > > It would be far nicer if the brcmfmac firmware + driver combination worked > properly :) Indeed it would. So what's in the mix? What kernel is used? Upstream or RPi kernel? What firmware capabilities are listed in debugfs? Recently I submitted patches upstream to add external auth support. As I ported downstream patch the results you see do not make me optimistic that my patch is ready. Maybe you could help testing it? https://patchwork.kernel.org/project/linux-wireless/list/?series=891248&state=* Regards, Arend ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [RFC PATCH v1 0/2] External Auth support 2024-09-22 6:09 ` Arend Van Spriel @ 2024-09-22 15:36 ` KeithG 2024-09-22 16:20 ` Arend Van Spriel 0 siblings, 1 reply; 24+ messages in thread From: KeithG @ 2024-09-22 15:36 UTC (permalink / raw) To: Arend Van Spriel; +Cc: Denis Kenzior, Yuxuan Shui, iwd, prestwoj On Sun, Sep 22, 2024 at 1:09 AM Arend Van Spriel <arend.vanspriel@broadcom.com> wrote: > > On September 22, 2024 5:35:03 AM Denis Kenzior <denkenz@gmail.com> wrote: > > > Hi Yuxuan Shui, > > > >> > >> I tested this on an RPi5 too, and indeed I am having the same problem as KeithG > >> as well. However I managed to get some debug information from brcmfmac when > >> running wpa_supplicant. Interestingly wpa_supplicant gets the same -52 error as > >> well, which it reports as an authentication timeout. But if I ask it to try > >> again, it will connect successfully, and there is no external auth related log > >> the second time around. > > > > Yep. It looks like wpa_s puts the resulting PMKSA into the kernel cache even > > though the initial connection using external auth fails. I've only seen > > 2.10 do > > this, not 2.11. Either way, it is a bug / lucky coincidence. > > > >> > >> So I suspect this is a firmware bug, but it should be relatively easy to > >> workaround I think? Basically we also add a timeout and retry. > > > > It would be far nicer if the brcmfmac firmware + driver combination worked > > properly :) > > Indeed it would. So what's in the mix? What kernel is used? Upstream or RPi > kernel? What firmware capabilities are listed in debugfs? > > Recently I submitted patches upstream to add external auth support. As I > ported downstream patch the results you see do not make me optimistic that > my patch is ready. Maybe you could help testing it? > > https://patchwork.kernel.org/project/linux-wireless/list/?series=891248&state=* > > Regards, > Arend > > Arend, I tried to apply the patch set to kernel 6.6.44-v8 and was unable to patch it: $ patch -p1 < RFT-v2-1-3-wifi-brcmfmac-support-per-vendor-cfg80211-callbacks-and-firmware-events.patch patching file drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c Hunk #1 FAILED at 6752. 1 out of 1 hunk FAILED -- saving rejects to file drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c.rej patching file drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.c Hunk #1 succeeded at 524 (offset 33 lines). patching file drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c Hunk #1 FAILED at 1359. 1 out of 1 hunk FAILED -- saving rejects to file drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c.rej patching file drivers/net/wireless/broadcom/brcm80211/brcmfmac/fweh.c Hunk #1 succeeded at 74 (offset -1 lines). Hunk #2 succeeded at 336 (offset -70 lines). patching file drivers/net/wireless/broadcom/brcm80211/brcmfmac/fwvid.h Hunk #1 FAILED at 15. Hunk #2 succeeded at 47 with fuzz 1 (offset -9 lines). 1 out of 2 hunks FAILED -- saving rejects to file drivers/net/wireless/broadcom/brcm80211/brcmfmac/fwvid.h.rej I did not try the other patches as this attempt failed. Do I need to use a newer kernel? The latest kernel from RPiOS is 6.6.47. Keith ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [RFC PATCH v1 0/2] External Auth support 2024-09-22 15:36 ` KeithG @ 2024-09-22 16:20 ` Arend Van Spriel 2024-09-22 16:29 ` KeithG 0 siblings, 1 reply; 24+ messages in thread From: Arend Van Spriel @ 2024-09-22 16:20 UTC (permalink / raw) To: KeithG; +Cc: Denis Kenzior, Yuxuan Shui, iwd, prestwoj On September 22, 2024 5:36:53 PM KeithG <ys3al35l@gmail.com> wrote: > On Sun, Sep 22, 2024 at 1:09 AM Arend Van Spriel > <arend.vanspriel@broadcom.com> wrote: >> >> On September 22, 2024 5:35:03 AM Denis Kenzior <denkenz@gmail.com> wrote: >> >>> Hi Yuxuan Shui, >>> >>>> >>>> I tested this on an RPi5 too, and indeed I am having the same problem as KeithG >>>> as well. However I managed to get some debug information from brcmfmac when >>>> running wpa_supplicant. Interestingly wpa_supplicant gets the same -52 error as >>>> well, which it reports as an authentication timeout. But if I ask it to try >>>> again, it will connect successfully, and there is no external auth related log >>>> the second time around. >>> >>> Yep. It looks like wpa_s puts the resulting PMKSA into the kernel cache even >>> though the initial connection using external auth fails. I've only seen >>> 2.10 do >>> this, not 2.11. Either way, it is a bug / lucky coincidence. >>> >>>> >>>> So I suspect this is a firmware bug, but it should be relatively easy to >>>> workaround I think? Basically we also add a timeout and retry. >>> >>> It would be far nicer if the brcmfmac firmware + driver combination worked >>> properly :) >> >> Indeed it would. So what's in the mix? What kernel is used? Upstream or RPi >> kernel? What firmware capabilities are listed in debugfs? >> >> Recently I submitted patches upstream to add external auth support. As I >> ported downstream patch the results you see do not make me optimistic that >> my patch is ready. Maybe you could help testing it? >> >> https://patchwork.kernel.org/project/linux-wireless/list/?series=891248&state=* >> >> Regards, >> Arend > Arend, > > I tried to apply the patch set to kernel 6.6.44-v8 and was unable to patch it: > > $ patch -p1 < > RFT-v2-1-3-wifi-brcmfmac-support-per-vendor-cfg80211-callbacks-and-firmware-events.patch > patching file drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c > Hunk #1 FAILED at 6752. > 1 out of 1 hunk FAILED -- saving rejects to file > drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c.rej > patching file drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.c > Hunk #1 succeeded at 524 (offset 33 lines). > patching file drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c > Hunk #1 FAILED at 1359. > 1 out of 1 hunk FAILED -- saving rejects to file > drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c.rej > patching file drivers/net/wireless/broadcom/brcm80211/brcmfmac/fweh.c > Hunk #1 succeeded at 74 (offset -1 lines). > Hunk #2 succeeded at 336 (offset -70 lines). > patching file drivers/net/wireless/broadcom/brcm80211/brcmfmac/fwvid.h > Hunk #1 FAILED at 15. > Hunk #2 succeeded at 47 with fuzz 1 (offset -9 lines). > 1 out of 2 hunks FAILED -- saving rejects to file > drivers/net/wireless/broadcom/brcm80211/brcmfmac/fwvid.h.rej > > I did not try the other patches as this attempt failed. Do I need to > use a newer kernel? The latest kernel from RPiOS is 6.6.47. I did major rework to support multiple vendors with differing firmware APIs. So I can imagine you would need other patches that were submitted earlier. Easiest would be to use the backports project which allows running latest driver like wireless-next on older kernels. I can try. Do you have a URL of the RPiOS kernel repo? Regards, Arend > Keith ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [RFC PATCH v1 0/2] External Auth support 2024-09-22 16:20 ` Arend Van Spriel @ 2024-09-22 16:29 ` KeithG 2024-10-10 15:38 ` KeithG 0 siblings, 1 reply; 24+ messages in thread From: KeithG @ 2024-09-22 16:29 UTC (permalink / raw) To: Arend Van Spriel; +Cc: Denis Kenzior, Yuxuan Shui, iwd, prestwoj On Sun, Sep 22, 2024 at 11:20 AM Arend Van Spriel <arend.vanspriel@broadcom.com> wrote: > > On September 22, 2024 5:36:53 PM KeithG <ys3al35l@gmail.com> wrote: > > > On Sun, Sep 22, 2024 at 1:09 AM Arend Van Spriel > > <arend.vanspriel@broadcom.com> wrote: > >> > >> On September 22, 2024 5:35:03 AM Denis Kenzior <denkenz@gmail.com> wrote: > >> > >>> Hi Yuxuan Shui, > >>> > >>>> > >>>> I tested this on an RPi5 too, and indeed I am having the same problem as KeithG > >>>> as well. However I managed to get some debug information from brcmfmac when > >>>> running wpa_supplicant. Interestingly wpa_supplicant gets the same -52 error as > >>>> well, which it reports as an authentication timeout. But if I ask it to try > >>>> again, it will connect successfully, and there is no external auth related log > >>>> the second time around. > >>> > >>> Yep. It looks like wpa_s puts the resulting PMKSA into the kernel cache even > >>> though the initial connection using external auth fails. I've only seen > >>> 2.10 do > >>> this, not 2.11. Either way, it is a bug / lucky coincidence. > >>> > >>>> > >>>> So I suspect this is a firmware bug, but it should be relatively easy to > >>>> workaround I think? Basically we also add a timeout and retry. > >>> > >>> It would be far nicer if the brcmfmac firmware + driver combination worked > >>> properly :) > >> > >> Indeed it would. So what's in the mix? What kernel is used? Upstream or RPi > >> kernel? What firmware capabilities are listed in debugfs? > >> > >> Recently I submitted patches upstream to add external auth support. As I > >> ported downstream patch the results you see do not make me optimistic that > >> my patch is ready. Maybe you could help testing it? > >> > >> https://patchwork.kernel.org/project/linux-wireless/list/?series=891248&state=* > >> > >> Regards, > >> Arend > > Arend, > > > > I tried to apply the patch set to kernel 6.6.44-v8 and was unable to patch it: > > > > $ patch -p1 < > > RFT-v2-1-3-wifi-brcmfmac-support-per-vendor-cfg80211-callbacks-and-firmware-events.patch > > patching file drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c > > Hunk #1 FAILED at 6752. > > 1 out of 1 hunk FAILED -- saving rejects to file > > drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c.rej > > patching file drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.c > > Hunk #1 succeeded at 524 (offset 33 lines). > > patching file drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c > > Hunk #1 FAILED at 1359. > > 1 out of 1 hunk FAILED -- saving rejects to file > > drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c.rej > > patching file drivers/net/wireless/broadcom/brcm80211/brcmfmac/fweh.c > > Hunk #1 succeeded at 74 (offset -1 lines). > > Hunk #2 succeeded at 336 (offset -70 lines). > > patching file drivers/net/wireless/broadcom/brcm80211/brcmfmac/fwvid.h > > Hunk #1 FAILED at 15. > > Hunk #2 succeeded at 47 with fuzz 1 (offset -9 lines). > > 1 out of 2 hunks FAILED -- saving rejects to file > > drivers/net/wireless/broadcom/brcm80211/brcmfmac/fwvid.h.rej > > > > I did not try the other patches as this attempt failed. Do I need to > > use a newer kernel? The latest kernel from RPiOS is 6.6.47. > > I did major rework to support multiple vendors with differing firmware > APIs. So I can imagine you would need other patches that were submitted > earlier. Easiest would be to use the backports project which allows running > latest driver like wireless-next on older kernels. > > I can try. Do you have a URL of the RPiOS kernel repo? > > Regards, > Arend > > Keith > > Arend, It is either here as a git clone: git clone --depth=1 https://github.com/raspberrypi/linux or here as a gzip: https://github.com/raspberrypi/linux/archive/refs/tags/stable_20240529.tar.gz Keith ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [RFC PATCH v1 0/2] External Auth support 2024-09-22 16:29 ` KeithG @ 2024-10-10 15:38 ` KeithG 2024-12-11 22:59 ` Jeremy Blum 0 siblings, 1 reply; 24+ messages in thread From: KeithG @ 2024-10-10 15:38 UTC (permalink / raw) To: Arend Van Spriel; +Cc: Denis Kenzior, Yuxuan Shui, iwd, prestwoj Arend, Is there anything I can help with on this effort to get External Auth working on a kernel that more of us are using? RPiOS is currently at 6.6.51. Keith On Sun, Sep 22, 2024 at 11:29 AM KeithG <ys3al35l@gmail.com> wrote: > > On Sun, Sep 22, 2024 at 11:20 AM Arend Van Spriel > <arend.vanspriel@broadcom.com> wrote: > > > > On September 22, 2024 5:36:53 PM KeithG <ys3al35l@gmail.com> wrote: > > > > > On Sun, Sep 22, 2024 at 1:09 AM Arend Van Spriel > > > <arend.vanspriel@broadcom.com> wrote: > > >> > > >> On September 22, 2024 5:35:03 AM Denis Kenzior <denkenz@gmail.com> wrote: > > >> > > >>> Hi Yuxuan Shui, > > >>> > > >>>> > > >>>> I tested this on an RPi5 too, and indeed I am having the same problem as KeithG > > >>>> as well. However I managed to get some debug information from brcmfmac when > > >>>> running wpa_supplicant. Interestingly wpa_supplicant gets the same -52 error as > > >>>> well, which it reports as an authentication timeout. But if I ask it to try > > >>>> again, it will connect successfully, and there is no external auth related log > > >>>> the second time around. > > >>> > > >>> Yep. It looks like wpa_s puts the resulting PMKSA into the kernel cache even > > >>> though the initial connection using external auth fails. I've only seen > > >>> 2.10 do > > >>> this, not 2.11. Either way, it is a bug / lucky coincidence. > > >>> > > >>>> > > >>>> So I suspect this is a firmware bug, but it should be relatively easy to > > >>>> workaround I think? Basically we also add a timeout and retry. > > >>> > > >>> It would be far nicer if the brcmfmac firmware + driver combination worked > > >>> properly :) > > >> > > >> Indeed it would. So what's in the mix? What kernel is used? Upstream or RPi > > >> kernel? What firmware capabilities are listed in debugfs? > > >> > > >> Recently I submitted patches upstream to add external auth support. As I > > >> ported downstream patch the results you see do not make me optimistic that > > >> my patch is ready. Maybe you could help testing it? > > >> > > >> https://patchwork.kernel.org/project/linux-wireless/list/?series=891248&state=* > > >> > > >> Regards, > > >> Arend > > > Arend, > > > > > > I tried to apply the patch set to kernel 6.6.44-v8 and was unable to patch it: > > > > > > $ patch -p1 < > > > RFT-v2-1-3-wifi-brcmfmac-support-per-vendor-cfg80211-callbacks-and-firmware-events.patch > > > patching file drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c > > > Hunk #1 FAILED at 6752. > > > 1 out of 1 hunk FAILED -- saving rejects to file > > > drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c.rej > > > patching file drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.c > > > Hunk #1 succeeded at 524 (offset 33 lines). > > > patching file drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c > > > Hunk #1 FAILED at 1359. > > > 1 out of 1 hunk FAILED -- saving rejects to file > > > drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c.rej > > > patching file drivers/net/wireless/broadcom/brcm80211/brcmfmac/fweh.c > > > Hunk #1 succeeded at 74 (offset -1 lines). > > > Hunk #2 succeeded at 336 (offset -70 lines). > > > patching file drivers/net/wireless/broadcom/brcm80211/brcmfmac/fwvid.h > > > Hunk #1 FAILED at 15. > > > Hunk #2 succeeded at 47 with fuzz 1 (offset -9 lines). > > > 1 out of 2 hunks FAILED -- saving rejects to file > > > drivers/net/wireless/broadcom/brcm80211/brcmfmac/fwvid.h.rej > > > > > > I did not try the other patches as this attempt failed. Do I need to > > > use a newer kernel? The latest kernel from RPiOS is 6.6.47. > > > > I did major rework to support multiple vendors with differing firmware > > APIs. So I can imagine you would need other patches that were submitted > > earlier. Easiest would be to use the backports project which allows running > > latest driver like wireless-next on older kernels. > > > > I can try. Do you have a URL of the RPiOS kernel repo? > > > > Regards, > > Arend > > > Keith > > > > > > Arend, > It is either here as a git clone: > git clone --depth=1 https://github.com/raspberrypi/linux > > or here as a gzip: > https://github.com/raspberrypi/linux/archive/refs/tags/stable_20240529.tar.gz > > Keith ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [RFC PATCH v1 0/2] External Auth support 2024-10-10 15:38 ` KeithG @ 2024-12-11 22:59 ` Jeremy Blum 2024-12-12 14:33 ` KeithG 0 siblings, 1 reply; 24+ messages in thread From: Jeremy Blum @ 2024-12-11 22:59 UTC (permalink / raw) To: KeithG; +Cc: Arend Van Spriel, Denis Kenzior, Yuxuan Shui, iwd, prestwoj Infineon has just released updated firmware for the 43455 chipset, and and updated brcmfmac driver. May be relevant to this conversation about getting IWD supporting WPA3 with the brcmfmac SAE offload implementation. https://community.infineon.com/t5/AIROC-Wi-Fi-and-Wi-Fi-Bluetooth/Cypress-Linux-WiFi-Driver-Release-FMAC-2024-11-21/td-p/902888 On Thu, Oct 10, 2024 at 8:38 AM KeithG <ys3al35l@gmail.com> wrote: > > Arend, > > Is there anything I can help with on this effort to get External Auth > working on a kernel that more of us are using? RPiOS is currently at > 6.6.51. > > Keith > > On Sun, Sep 22, 2024 at 11:29 AM KeithG <ys3al35l@gmail.com> wrote: > > > > On Sun, Sep 22, 2024 at 11:20 AM Arend Van Spriel > > <arend.vanspriel@broadcom.com> wrote: > > > > > > On September 22, 2024 5:36:53 PM KeithG <ys3al35l@gmail.com> wrote: > > > > > > > On Sun, Sep 22, 2024 at 1:09 AM Arend Van Spriel > > > > <arend.vanspriel@broadcom.com> wrote: > > > >> > > > >> On September 22, 2024 5:35:03 AM Denis Kenzior <denkenz@gmail.com> wrote: > > > >> > > > >>> Hi Yuxuan Shui, > > > >>> > > > >>>> > > > >>>> I tested this on an RPi5 too, and indeed I am having the same problem as KeithG > > > >>>> as well. However I managed to get some debug information from brcmfmac when > > > >>>> running wpa_supplicant. Interestingly wpa_supplicant gets the same -52 error as > > > >>>> well, which it reports as an authentication timeout. But if I ask it to try > > > >>>> again, it will connect successfully, and there is no external auth related log > > > >>>> the second time around. > > > >>> > > > >>> Yep. It looks like wpa_s puts the resulting PMKSA into the kernel cache even > > > >>> though the initial connection using external auth fails. I've only seen > > > >>> 2.10 do > > > >>> this, not 2.11. Either way, it is a bug / lucky coincidence. > > > >>> > > > >>>> > > > >>>> So I suspect this is a firmware bug, but it should be relatively easy to > > > >>>> workaround I think? Basically we also add a timeout and retry. > > > >>> > > > >>> It would be far nicer if the brcmfmac firmware + driver combination worked > > > >>> properly :) > > > >> > > > >> Indeed it would. So what's in the mix? What kernel is used? Upstream or RPi > > > >> kernel? What firmware capabilities are listed in debugfs? > > > >> > > > >> Recently I submitted patches upstream to add external auth support. As I > > > >> ported downstream patch the results you see do not make me optimistic that > > > >> my patch is ready. Maybe you could help testing it? > > > >> > > > >> https://patchwork.kernel.org/project/linux-wireless/list/?series=891248&state=* > > > >> > > > >> Regards, > > > >> Arend > > > > Arend, > > > > > > > > I tried to apply the patch set to kernel 6.6.44-v8 and was unable to patch it: > > > > > > > > $ patch -p1 < > > > > RFT-v2-1-3-wifi-brcmfmac-support-per-vendor-cfg80211-callbacks-and-firmware-events.patch > > > > patching file drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c > > > > Hunk #1 FAILED at 6752. > > > > 1 out of 1 hunk FAILED -- saving rejects to file > > > > drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c.rej > > > > patching file drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.c > > > > Hunk #1 succeeded at 524 (offset 33 lines). > > > > patching file drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c > > > > Hunk #1 FAILED at 1359. > > > > 1 out of 1 hunk FAILED -- saving rejects to file > > > > drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c.rej > > > > patching file drivers/net/wireless/broadcom/brcm80211/brcmfmac/fweh.c > > > > Hunk #1 succeeded at 74 (offset -1 lines). > > > > Hunk #2 succeeded at 336 (offset -70 lines). > > > > patching file drivers/net/wireless/broadcom/brcm80211/brcmfmac/fwvid.h > > > > Hunk #1 FAILED at 15. > > > > Hunk #2 succeeded at 47 with fuzz 1 (offset -9 lines). > > > > 1 out of 2 hunks FAILED -- saving rejects to file > > > > drivers/net/wireless/broadcom/brcm80211/brcmfmac/fwvid.h.rej > > > > > > > > I did not try the other patches as this attempt failed. Do I need to > > > > use a newer kernel? The latest kernel from RPiOS is 6.6.47. > > > > > > I did major rework to support multiple vendors with differing firmware > > > APIs. So I can imagine you would need other patches that were submitted > > > earlier. Easiest would be to use the backports project which allows running > > > latest driver like wireless-next on older kernels. > > > > > > I can try. Do you have a URL of the RPiOS kernel repo? > > > > > > Regards, > > > Arend > > > > Keith > > > > > > > > > > Arend, > > It is either here as a git clone: > > git clone --depth=1 https://github.com/raspberrypi/linux > > > > or here as a gzip: > > https://github.com/raspberrypi/linux/archive/refs/tags/stable_20240529.tar.gz > > > > Keith > -- Jeremy Blum | jeremy@shapertools.com | +1 (914) 522-0416 ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [RFC PATCH v1 0/2] External Auth support 2024-12-11 22:59 ` Jeremy Blum @ 2024-12-12 14:33 ` KeithG 0 siblings, 0 replies; 24+ messages in thread From: KeithG @ 2024-12-12 14:33 UTC (permalink / raw) To: Jeremy Blum; +Cc: Arend Van Spriel, Denis Kenzior, Yuxuan Shui, iwd, prestwoj On Wed, Dec 11, 2024 at 5:00 PM Jeremy Blum <jeremy@shapertools.com> wrote: > > Infineon has just released updated firmware for the 43455 chipset, and > and updated brcmfmac driver. May be relevant to this conversation > about getting IWD supporting WPA3 with the brcmfmac SAE offload > implementation. > https://community.infineon.com/t5/AIROC-Wi-Fi-and-Wi-Fi-Bluetooth/Cypress-Linux-WiFi-Driver-Release-FMAC-2024-11-21/td-p/902888 > > > On Thu, Oct 10, 2024 at 8:38 AM KeithG <ys3al35l@gmail.com> wrote: > > > > Arend, > > > > Is there anything I can help with on this effort to get External Auth > > working on a kernel that more of us are using? RPiOS is currently at > > 6.6.51. > > > > Keith > > > > On Sun, Sep 22, 2024 at 11:29 AM KeithG <ys3al35l@gmail.com> wrote: > > > > > > On Sun, Sep 22, 2024 at 11:20 AM Arend Van Spriel > > > <arend.vanspriel@broadcom.com> wrote: > > > > > > > > On September 22, 2024 5:36:53 PM KeithG <ys3al35l@gmail.com> wrote: > > > > > > > > > On Sun, Sep 22, 2024 at 1:09 AM Arend Van Spriel > > > > > <arend.vanspriel@broadcom.com> wrote: > > > > >> > > > > >> On September 22, 2024 5:35:03 AM Denis Kenzior <denkenz@gmail.com> wrote: > > > > >> > > > > >>> Hi Yuxuan Shui, > > > > >>> > > > > >>>> > > > > >>>> I tested this on an RPi5 too, and indeed I am having the same problem as KeithG > > > > >>>> as well. However I managed to get some debug information from brcmfmac when > > > > >>>> running wpa_supplicant. Interestingly wpa_supplicant gets the same -52 error as > > > > >>>> well, which it reports as an authentication timeout. But if I ask it to try > > > > >>>> again, it will connect successfully, and there is no external auth related log > > > > >>>> the second time around. > > > > >>> > > > > >>> Yep. It looks like wpa_s puts the resulting PMKSA into the kernel cache even > > > > >>> though the initial connection using external auth fails. I've only seen > > > > >>> 2.10 do > > > > >>> this, not 2.11. Either way, it is a bug / lucky coincidence. > > > > >>> > > > > >>>> > > > > >>>> So I suspect this is a firmware bug, but it should be relatively easy to > > > > >>>> workaround I think? Basically we also add a timeout and retry. > > > > >>> > > > > >>> It would be far nicer if the brcmfmac firmware + driver combination worked > > > > >>> properly :) > > > > >> > > > > >> Indeed it would. So what's in the mix? What kernel is used? Upstream or RPi > > > > >> kernel? What firmware capabilities are listed in debugfs? > > > > >> > > > > >> Recently I submitted patches upstream to add external auth support. As I > > > > >> ported downstream patch the results you see do not make me optimistic that > > > > >> my patch is ready. Maybe you could help testing it? > > > > >> > > > > >> https://patchwork.kernel.org/project/linux-wireless/list/?series=891248&state=* > > > > >> > > > > >> Regards, > > > > >> Arend > > > > > Arend, > > > > > > > > > > I tried to apply the patch set to kernel 6.6.44-v8 and was unable to patch it: > > > > > > > > > > $ patch -p1 < > > > > > RFT-v2-1-3-wifi-brcmfmac-support-per-vendor-cfg80211-callbacks-and-firmware-events.patch > > > > > patching file drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c > > > > > Hunk #1 FAILED at 6752. > > > > > 1 out of 1 hunk FAILED -- saving rejects to file > > > > > drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c.rej > > > > > patching file drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.c > > > > > Hunk #1 succeeded at 524 (offset 33 lines). > > > > > patching file drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c > > > > > Hunk #1 FAILED at 1359. > > > > > 1 out of 1 hunk FAILED -- saving rejects to file > > > > > drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c.rej > > > > > patching file drivers/net/wireless/broadcom/brcm80211/brcmfmac/fweh.c > > > > > Hunk #1 succeeded at 74 (offset -1 lines). > > > > > Hunk #2 succeeded at 336 (offset -70 lines). > > > > > patching file drivers/net/wireless/broadcom/brcm80211/brcmfmac/fwvid.h > > > > > Hunk #1 FAILED at 15. > > > > > Hunk #2 succeeded at 47 with fuzz 1 (offset -9 lines). > > > > > 1 out of 2 hunks FAILED -- saving rejects to file > > > > > drivers/net/wireless/broadcom/brcm80211/brcmfmac/fwvid.h.rej > > > > > > > > > > I did not try the other patches as this attempt failed. Do I need to > > > > > use a newer kernel? The latest kernel from RPiOS is 6.6.47. > > > > > > > > I did major rework to support multiple vendors with differing firmware > > > > APIs. So I can imagine you would need other patches that were submitted > > > > earlier. Easiest would be to use the backports project which allows running > > > > latest driver like wireless-next on older kernels. > > > > > > > > I can try. Do you have a URL of the RPiOS kernel repo? > > > > > > > > Regards, > > > > Arend > > > > > Keith > > > > > > > > > > > > > > Arend, > > > It is either here as a git clone: > > > git clone --depth=1 https://github.com/raspberrypi/linux > > > > > > or here as a gzip: > > > https://github.com/raspberrypi/linux/archive/refs/tags/stable_20240529.tar.gz > > > > > > Keith Jeremy, I tried this new firmware with the existing driver in the 6.6.xx kernel on the Rpi3b+ over the weekend. It almost works. I posted a log and such to the brcm80211, linux-wireless lists. I think those are the best fit, but just let me know if I should send it elsewhere. I can patch and test the brcm80211 driver as I have a kernel build ready to add it to. The error seems to be something with BCME, though I have no idea what that is: brcmfmac: brcmf_fil_cmd_data Firmware error: BCME_BADADDR (-21) brcmfmac: brcmf_fil_iovar_data_get ifidx=0, name=sta_info, len=296, err=-52 ieee80211 phy0: brcmf_cfg80211_get_station: GET STA INFO failed, -52 brcmf_fil_cmd_data Firmware error: BCME_UNSUPPORTED (-23) brcmf_fil_iovar_data_get ifidx=0, name=tdls_sta_info, len=296, err=-52 brcmfmac: brcmf_fil_cmd_data Firmware error: BCME_BADADDR (-21) brcmfmac: brcmf_fil_iovar_data_get ifidx=0, name=sta_info, len=296, err=-52 ieee80211 phy0: brcmf_cfg80211_get_station: GET STA INFO failed, -52 Keith ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [RFC PATCH v1 0/2] External Auth support 2024-08-23 17:41 [RFC PATCH v1 0/2] External Auth support Denis Kenzior ` (3 preceding siblings ...) 2024-09-21 18:58 ` Yuxuan Shui @ 2024-09-22 18:56 ` KeithG 2024-09-22 21:01 ` Denis Kenzior 4 siblings, 1 reply; 24+ messages in thread From: KeithG @ 2024-09-22 18:56 UTC (permalink / raw) To: iwd; +Cc: Denis Kenzior, James Prestwood It appears that this patch series no longer applies to the current git. Is it implemented in iwd or does it need to be refactored to apply to the current repo? Keith On Fri, Aug 23, 2024 at 12:42 PM Denis Kenzior <denkenz@gmail.com> wrote: > > This series implements External Auth support on Full MAC cards that do > not support SAE offload. I have not been able to test this fully since > the brcmfmac firmware on the RPi 5 does not actually work properly. > Maybe some enterprising person can test it on a firmware that does work? > > Denis Kenzior (2): > netdev: external auth support > sae: Allow ability to force Group 19 / Hunt and Peck > > src/netdev.c | 258 +++++++++++++++++++++++++++++++++++++++++----- > src/nl80211util.c | 4 +- > src/sae.c | 20 ++++ > src/sae.h | 3 + > src/wiphy.c | 19 ++-- > 5 files changed, 263 insertions(+), 41 deletions(-) > > -- > 2.45.2 > > ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [RFC PATCH v1 0/2] External Auth support 2024-09-22 18:56 ` KeithG @ 2024-09-22 21:01 ` Denis Kenzior 0 siblings, 0 replies; 24+ messages in thread From: Denis Kenzior @ 2024-09-22 21:01 UTC (permalink / raw) To: KeithG, iwd; +Cc: James Prestwood Hi Keith, On 9/22/24 1:56 PM, KeithG wrote: > It appears that this patch series no longer applies to the current > git. Is it implemented in iwd or does it need to be refactored to > apply to the current repo? > I just rebased and resent this series on top of git HEAD. Regards, -Denis ^ permalink raw reply [flat|nested] 24+ messages in thread
end of thread, other threads:[~2024-12-12 14:33 UTC | newest]
Thread overview: 24+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-08-23 17:41 [RFC PATCH v1 0/2] External Auth support Denis Kenzior
2024-08-23 17:41 ` [RFC PATCH v1 1/2] netdev: external auth support Denis Kenzior
2024-08-26 12:03 ` James Prestwood
2024-08-23 17:41 ` [RFC PATCH v1 2/2] sae: Allow ability to force Group 19 / Hunt and Peck Denis Kenzior
2024-08-24 0:38 ` [RFC PATCH v1 0/2] External Auth support KeithG
2024-08-24 3:21 ` Denis Kenzior
2024-08-24 16:20 ` KeithG
2024-08-24 23:32 ` KeithG
2024-08-26 15:43 ` Denis Kenzior
2024-08-26 16:54 ` Arend Van Spriel
2024-09-02 19:32 ` KeithG
2024-09-07 18:43 ` KeithG
2024-09-21 18:58 ` Yuxuan Shui
2024-09-22 3:35 ` Denis Kenzior
[not found] ` <CAG17S_NOs=rdUFsFRk4ZPsC=GER2J7nHikGEw=3AW0SBYHUEfg@mail.gmail.com>
2024-09-22 4:23 ` Denis Kenzior
2024-09-22 6:09 ` Arend Van Spriel
2024-09-22 15:36 ` KeithG
2024-09-22 16:20 ` Arend Van Spriel
2024-09-22 16:29 ` KeithG
2024-10-10 15:38 ` KeithG
2024-12-11 22:59 ` Jeremy Blum
2024-12-12 14:33 ` KeithG
2024-09-22 18:56 ` KeithG
2024-09-22 21:01 ` Denis Kenzior
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox