Re: [RFC PATCH v1 0/2] External Auth support

KeithG <[email protected]>
Newsgroups dev.linux.lists.iwd
Message-ID <CAG17S_NLzmx6USBvD8SQrhQQ8iXBU7QgFUROA=hXmixD5N6_dQ@mail.gmail.com>
On Wed, Dec 11, 2024 at 5:00 PM Jeremy Blum <[email protected]> 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 <[email protected]> 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 <[email protected]> wrote:
> > >
> > > On Sun, Sep 22, 2024 at 11:20 AM Arend Van Spriel
> > > <[email protected]> wrote:
> > > >
> > > > On September 22, 2024 5:36:53 PM KeithG <[email protected]> wrote:
> > > >
> > > > > On Sun, Sep 22, 2024 at 1:09 AM Arend Van Spriel
> > > > > <[email protected]> wrote:
> > > > >>
> > > > >> On September 22, 2024 5:35:03 AM Denis Kenzior <[email protected]> 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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.