Re: brcmfmac SAE/WPA3 negotiation

Arend van Spriel
2024-12-18T10:21:55Z

On 12/18/2024 1:21 AM, KeithG wrote:
> On Tue, Dec 17, 2024 at 7:47 AM Arend van Spriel
> <arend.vanspriel@broadcom.com> wrote:
>>
>>
>>
>> On 12/17/2024 1:13 AM, KeithG wrote:
>>> On Mon, Dec 16, 2024 at 1:50 PM Arend van Spriel
>>> <arend.vanspriel@broadcom.com> wrote:
>>>>
>>>> On 12/16/2024 1:21 PM, KeithG wrote:
>>>>> On Mon, Dec 16, 2024 at 3:47 AM Arend van Spriel
>>>>> <arend.vanspriel@broadcom.com> wrote:
>>>>>>
>>>>>> On 12/16/2024 10:43 AM, Arend van Spriel wrote:
>>>>>>> On 12/16/2024 1:17 AM, KeithG wrote:
>>>>>>>> On Sun, Dec 15, 2024 at 11:33 AM Arend Van Spriel
>>>>>>>> <arend.vanspriel@broadcom.com> wrote:
>>>>>>>>>
>>>>>>>>> On December 15, 2024 5:08:12 PM KeithG <ys3al35l@gmail.com> wrote:
>>>>>>>>>
>>>>>>>>>> On Sun, Dec 15, 2024 at 6:12 AM Arend van Spriel
>>>>>>>>>> <arend.vanspriel@broadcom.com> wrote:
>>>>>>>>>>>
>>>>>>>>>>> On 12/14/2024 2:34 PM, KeithG wrote:
>>>>>>>>>>>> Arend,
>>>>>>>>>>>>
>>>>>>>>>>>> I looked through the info where I got the latest firmware:
>>>>>>>>>>>> https://community.infineon.com/t5/Wi-Fi-Bluetooth-for-Linux/Wi-Fi-
>>>>>>>>>>>> A-class-Linux-Driver-release-FMAC-2024-11-21-Documents/td-p/905045
>>>>>>>>>>>> https://community.infineon.com/t5/AIROC-Wi-Fi-and-Wi-Fi-Bluetooth/
>>>>>>>>>>>> Cypress-Linux-WiFi-Driver-Release-FMAC-2024-11-21/td-p/902888
>>>>>>>>>>>> and did not find anything, but I really do not know what I am
>>>>>>>>>>>> looking for.
>>>>>>>>>>>
>>>>>>>>>>> I think I had a bit more luck and maybe found the needle. I sent out
>>>>>>>>>>> another RFT patch which hopefully gets rid of the BCME_BADLEN error.
>>>>>>>>>>>
>>>>>>>>>>> Regards,
>>>>>>>>>>> Arend
>>>>>>>>>> Arend,
>>>>>>>>>>
>>>>>>>>>> Can you send me a link to that patch? I want to try it.
>>>>>>>>>
>>>>>>>>> Hmm. I explicitly sent it to you, but here is a link to patchwork:
>>>>>>>>>
>>>>>>>>> https://patchwork.kernel.org/project/linux-wireless/
>>>>>>>>> patch/20241215120401.238320-1-arend.vanspriel@broadcom.com/
>>>>>>>>>
>>>>>>>>> You can apply it on top of the other 3 patches.
>>>>>>>>>
>>>>>>>>> Regards,
>>>>>>>>> Arend
>>>>>>>>>
>>>>>>>> Thanks! I got it.
>>>>>>>> I am building now and have tried to apply what I think are the correct
>>>>>>>> patches. They do not apply cleanly and I had to hand edit things. My
>>>>>>>> guess is I messed something up.
>>>>>>>> I will see what happens when I reboot. It'll take a few hours to build
>>>>>>>> on my Pi4 then for me to install it on the 3b+ to test.
>>>>>>>>
>>>>>>>> I hope I understand which are the '3 other' patches.
>>>>>>>>
>>>>>>>> This is the one I got from your link:
>>>>>>>> RFT-brcmfmac-Fix-structure-size-for-WPA3-external-SAE.diff
>>>>>>>>
>>>>>>>> These are what I understand are the '3 other patches'
>>>>>>>> RFT-v2-1-3-wifi-brcmfmac-support-per-vendor-cfg80211-callbacks-and-
>>>>>>>> firmware-events.patch.diff
>>>>>>>> RFT-v2-2-3-wifi-brcmfmac-make-per-vendor-event-map-const.patch.diff
>>>>>>>> RFT-v2-3-3-wifi-brcmfmac-cyw-support-external-SAE-authentication-in-
>>>>>>>> station-mode.patch.diff
>>>>>>>>
>>>>>>>> If they are not correct could you send me links to them and I'll try
>>>>>>>> again.
>>>>>>>
>>>>>>> You got it right. Kuddos.
>>>>>>
>>>>>> Ignored my spelling checker, but apparently it should be "kudos".
>>>>>> Another lesson learned today.
>>>>>>
>>>>>> Regards,
>>>>>> Arend
>>>>> Arend,
>>>>>
>>>>> Thanks for the confirmation. My attempt at a hand edit to apply the
>>>>> rejected portions resulted in a failed build with the current RPiOS
>>>>> kernel in the git repo:
>>>>> # uname -a
>>>>> Linux jackrune 6.6.64-v8+ #6 SMP PREEMPT Sun Dec 15 23:55:30 CST 2024
>>>>> aarch64 GNU/Linux
>>>>>
>>>>> When I try to apply them, I get this:
>>>>> $ patch -Np1 -i
>>>>> RFT-v2-1-3-wifi-brcmfmac-support-per-vendor-cfg80211-callbacks-and-firmware-events.patch.diff
>>>>> 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
>>>>> $ patch -Np1 -i RFT-v2-
>>>>> RFT-v2-1-3-wifi-brcmfmac-support-per-vendor-cfg80211-callbacks-and-firmware-events.patch.diff
>>>>> RFT-v2-2-3-wifi-brcmfmac-make-per-vendor-event-map-const.patch.diff
>>>>> RFT-v2-3-3-wifi-brcmfmac-cyw-support-external-SAE-authentication-in-station-mode.patch.diff
>>>>> $ patch -Np1 -i
>>>>> RFT-v2-2-3-wifi-brcmfmac-make-per-vendor-event-map-const.patch.diff
>>>>> patching file drivers/net/wireless/broadcom/brcm80211/brcmfmac/fweh.h
>>>>> Hunk #1 FAILED at 337.
>>>>> 1 out of 1 hunk FAILED -- saving rejects to file
>>>>> drivers/net/wireless/broadcom/brcm80211/brcmfmac/fweh.h.rej
>>>>> $ patch -Np1 -i
>>>>> RFT-v2-3-3-wifi-brcmfmac-cyw-support-external-SAE-authentication-in-station-mode.patch.diff
>>>>> patching file drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c
>>>>> Hunk #1 succeeded at 75 (offset 1 line).
>>>>> Hunk #2 FAILED at 1940.
>>>>> Hunk #3 FAILED at 2158.
>>>>> Hunk #4 FAILED at 2216.
>>>>> Hunk #5 succeeded at 5522 (offset 22 lines).
>>>>> Hunk #6 succeeded at 5697 (offset 90 lines).
>>>>> Hunk #7 succeeded at 6126 (offset 125 lines).
>>>>> Hunk #8 succeeded at 7596 with fuzz 1 (offset 255 lines).
>>>>> Hunk #9 FAILED at 7647.
>>>>> 4 out of 9 hunks FAILED -- saving rejects to file
>>>>> drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c.rej
>>>>> patching file drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.h
>>>>> Hunk #3 succeeded at 243 (offset 15 lines).
>>>>> Hunk #4 FAILED at 244.
>>>>> Hunk #5 succeeded at 507 (offset 18 lines).
>>>>> 1 out of 5 hunks FAILED -- saving rejects to file
>>>>> drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.h.rej
>>>>> patching file drivers/net/wireless/broadcom/brcm80211/brcmfmac/cyw/core.c
>>>>> Hunk #1 FAILED at 8.
>>>>> Hunk #2 FAILED at 39.
>>>>> Hunk #3 FAILED at 49.
>>>>> 3 out of 3 hunks FAILED -- saving rejects to file
>>>>> drivers/net/wireless/broadcom/brcm80211/brcmfmac/cyw/core.c.rej
>>>>> patching file drivers/net/wireless/broadcom/brcm80211/brcmfmac/cyw/fwil_types.h
>>>>> patching file drivers/net/wireless/broadcom/brcm80211/brcmfmac/feature.c
>>>>> Hunk #1 FAILED at 42.
>>>>> 1 out of 1 hunk FAILED -- saving rejects to file
>>>>> drivers/net/wireless/broadcom/brcm80211/brcmfmac/feature.c.rej
>>>>> patching file drivers/net/wireless/broadcom/brcm80211/brcmfmac/feature.h
>>>>> Hunk #1 succeeded at 32 with fuzz 2 (offset 1 line).
>>>>> Hunk #2 succeeded at 60 with fuzz 1 (offset 2 lines).
>>>>> patching file drivers/net/wireless/broadcom/brcm80211/brcmfmac/fweh.c
>>>>> Hunk #1 FAILED at 450.
>>>>> 1 out of 1 hunk FAILED -- saving rejects to file
>>>>> drivers/net/wireless/broadcom/brcm80211/brcmfmac/fweh.c.rej
>>>>> patching file drivers/net/wireless/broadcom/brcm80211/brcmfmac/fweh.h
>>>>> Hunk #1 FAILED at 94.
>>>>> 1 out of 1 hunk FAILED -- saving rejects to file
>>>>> drivers/net/wireless/broadcom/brcm80211/brcmfmac/fweh.h.rej
>>>>> patching file drivers/net/wireless/broadcom/brcm80211/brcmfmac/fwvid.h
>>>>> Hunk #1 FAILED at 15.
>>>>> Hunk #2 succeeded at 47 with fuzz 1 (offset -11 lines).
>>>>> 1 out of 2 hunks FAILED -- saving rejects to file
>>>>> drivers/net/wireless/broadcom/brcm80211/brcmfmac/fwvid.h.r
>>>>> $ patch -Np1 -i RFT-brcmfmac-Fix-structure-size-for-WPA3-external-SAE.diff
>>>>> patching file drivers/net/wireless/broadcom/brcm80211/brcmfmac/cyw/fwil_types.h
>>>>>
>>>>> Is there another missing patch?
>>>>>
>>>>> The kernel for the RPi is at this commit:
>>>>> commit 80533a952218696c0ef1b346bab50dc401e6b74c (HEAD -> rpi-6.6.y,
>>>>> origin/rpi-6.6.y, origin/HEAD)
>>
>> So what repository does origin refer to. Can you share the URL?
>>
>> I will check if I posted any patches between 6.6 and 6.10+ Get back to
>> this later o
>>
>> Regards,
>> Arend
>
> Arend,
>
> I am using the RaspberryPi repo:
> https://github.com/raspberrypi/linux

I was afraid you would say that. So we need to determine what brcmfmac
patches are in there compared to upstream kernel. So checking the code I
think you should apply only the "Fix-structure-size" patch to
drivers/net/wireless/broadcom/brcm80211/brcmfmac/fwil_types.h. Let me
know if that works for you.

Gr. AvS