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