Re: brcmfmac SAE/WPA3 negotiation

Arend van Spriel
2024-12-16T19:50:04Z

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.rej
> $ 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)

Sorry. I probably missed something, but earlier you had a log where the
ext_auth exchange between iwd and brcmfmac almost worked, but firmware
return BCME_BADLEN. What code base was that tested with. I assumed with
my 3 patches, but now I am confused.

Regards,
Arend