[PATCH] Revert "wpa_supplicant: Send EAPOL frames over nl80211 where available"

Krishna Chaitanya chaitanya.mgit at gmail.com
Wed Jul 19 09:50:05 PDT 2023


On Thu, Jun 15, 2023 at 9:49 PM Fabio Estevam <festevam at gmail.com> wrote:
>
> This reverts commit 144314eaa7e09374b7f9a3708263a298e05cbfd6.
>
> Since commit 144314eaa7e0 ("wpa_supplicant: Send EAPOL frames over nl80211
> where available"), Wifi is no longer functional on an imx6dl-pico board
> running 6.1 LTS kernel with a QCA9377 Wifi chip (ath10k SDIO driver):
>
> wlan0: authenticate with xx:xx:xx:xx:xx:xx
> wlan0: 80 MHz not supported, disabling VHT
> wlan0: send auth to xx:xx:xx:xx:xx:xx (try 1/3)
> wlan0: authenticated
> wlan0: associate with xx:xx:xx:xx:xx:xx (try 1/3)
> wlan0: RX AssocResp from xx:xx:xx:xx:xx:xx (capab=0x411 status=0 aid=3)
> wlan0: associated
> wlan0: deauthenticating from xx:xx:xx:xx:xx:xx by local choice
> (Reason: 3=DEAUTH_LEAVING)
> Error: Connection activation failed: Secrets were required, but not provided.
>
> Revert it for now to avoid such a regression.
>
> Signed-off-by: Fabio Estevam <festevam at gmail.com>
> ---
> Hi Jouni and Brendan,
>
> This revert is the result of me running git bisect between 2.9 and 2.10
> to identify the cause of the regression.
>
> I am merely a wpa_supplicant user and do not have the knowledge of its
> internals.
>
> If there is a better way to fix the regression I reported, as well as
> keeping Brendan's use-case working, please let me know.
>
> Thanks
>
>  wpa_supplicant/ibss_rsn.c  | 4 ----
>  wpa_supplicant/wpas_glue.c | 8 --------
>  2 files changed, 12 deletions(-)
>
> diff --git a/wpa_supplicant/ibss_rsn.c b/wpa_supplicant/ibss_rsn.c
> index 5b31f7bb0e3d..1b867e1c6491 100644
> --- a/wpa_supplicant/ibss_rsn.c
> +++ b/wpa_supplicant/ibss_rsn.c
> @@ -71,10 +71,6 @@ static int supp_ether_send(void *ctx, const u8 *dest, u16 proto, const u8 *buf,
>                    __func__, MAC2STR(dest), proto, (unsigned long) len,
>                    !encrypt);
>
> -       if (wpa_s->drv_flags & WPA_DRIVER_FLAGS_CONTROL_PORT)
> -               return wpa_drv_tx_control_port(wpa_s, dest, proto, buf, len,
> -                                              !encrypt);
> -
>         if (wpa_s->l2)
>                 return l2_packet_send(wpa_s->l2, dest, proto, buf, len);
>
> diff --git a/wpa_supplicant/wpas_glue.c b/wpa_supplicant/wpas_glue.c
> index c4cfca50e62a..3aeb7cb45c47 100644
> --- a/wpa_supplicant/wpas_glue.c
> +++ b/wpa_supplicant/wpas_glue.c
> @@ -113,14 +113,6 @@ int wpa_ether_send(struct wpa_supplicant *wpa_s, const u8 *dest,
>         }
>  #endif /* CONFIG_TESTING_OPTIONS */
>
> -       if (wpa_s->drv_flags & WPA_DRIVER_FLAGS_CONTROL_PORT) {
> -               int encrypt = wpa_s->wpa &&
> -                       wpa_sm_has_ptk_installed(wpa_s->wpa);
> -
> -               return wpa_drv_tx_control_port(wpa_s, dest, proto, buf, len,
> -                                              !encrypt);
> -       }
> -
>         if (wpa_s->l2) {
>                 return l2_packet_send(wpa_s->l2, dest, proto, buf, len);
>         }
> --
> 2.34.1
Looking at https://unix.stackexchange.com/a/542952 doesn't look like a WPA
supplicant issue, can you please try without the patch and with the
steps given in the answer?



More information about the Hostap mailing list