From: James Prestwood <prestwoj@gmail.com>
To: Martin Petzold <martin.petzold@tavla.de>
Cc: iwd@lists.linux.dev, Denis Kenzior <denkenz@gmail.com>,
Arend van Spriel <arend.vanspriel@broadcom.com>
Subject: Re: IWD 1.27 with brcmfmac not working for roaming
Date: Wed, 23 Oct 2024 08:28:36 -0700 [thread overview]
Message-ID: <60e609c8-7c83-4510-9a3b-706698705e1b@gmail.com> (raw)
In-Reply-To: <713f032a-a286-47f2-9729-5430e4675b59@tavla.de>
Hi Martin,
On 10/23/24 8:22 AM, Martin Petzold wrote:
> Hi James,
>
> Am 23.10.24 um 15:22 schrieb James Prestwood:
>> Hi Martin,
>>
>> On 10/23/24 5:19 AM, Martin Petzold wrote:
>>> Hi James,
>>>
>>> Am 23.10.24 um 14:13 schrieb James Prestwood:
>>>> Hi Martin,
>>>>
>>>> On 10/23/24 5:02 AM, Martin Petzold wrote:
>>>>> Hi Arend and James,
>>>>>
>>>>> Am 21.10.24 um 20:26 schrieb Arend van Spriel:
>>>>>> On 10/21/2024 7:40 PM, Denis Kenzior wrote:
>>>>>>> Hi Arend,
>>>>>>>
>>>>>>>>
>>>>>>>> I have not seen patches for OWE in brcmfmac. Looking at the
>>>>>>>> supported ciphers:
>>>>>>>
>>>>>>> OWE is an AKM. It still uses CCMP/CMAC underneath.
>>>>>>
>>>>>> My bad. Always confused by those concepts.
>>>>>>
>>>>>>>>
>>>>>>>> Supported Ciphers:
>>>>>>>> * WEP40 (00-0f-ac:1)
>>>>>>>> * WEP104 (00-0f-ac:5)
>>>>>>>> * TKIP (00-0f-ac:2)
>>>>>>>> * CCMP-128 (00-0f-ac:4)
>>>>>>>> * CMAC (00-0f-ac:6)
>>>>>>>>
>>>>>>>> The error message seems to match with the above.
>>>>>>>
>>>>>>> I've never seen support for OWE in brcmfmac mentioned. OWE
>>>>>>> requires CMD_AUTHENTICATE / CMD_ASSOCIATE (or CMD_EXTERNAL_AUTH)
>>>>>>> to derive the PMK, so iwd can't support it on FullMAC.
>>>>>>
>>>>>> I have never seen any mention of OWE either. Regarding
>>>>>> CMD_EXTERNAL_AUTH support I recently posted patches on
>>>>>> linux-wireless list as RFT. There has been zero feedback and so I
>>>>>> assume also zero interest. In order to use CMD_EXTERNAL_AUTH the
>>>>>> firmware needs to advertise "sae_ext" in fwcap debugfs file. So
>>>>>> if Martin can check that, ie:
>>>>>>
>>>>>> $ grep sae_ext /sys/kernel/debug/ieee80211/phy0/fwcap
>>>>>>
>>>>>>
>>>>> @James: Could please check the logs (PATCH WAS APPLIED):
>>>>>
>>>>> A. Initial boot and connect (device remained connected)
>>>>
>>>> On this run I'm seeing an agent connecting and issuing an explicit
>>>> connect call rather than IWD autoconnecting. This is fine, and will
>>>> create a new .open profile.
>>>>
>>>> Okt 23 12:39:35 tavla iwd[383]: src/agent.c:agent_free() agent free
>>>> 0xaaaadbf376a0
>>>> Okt 23 12:39:35 tavla iwd[383]: src/agent.c:agent_register() agent
>>>> register called
>>>> Okt 23 12:39:35 tavla iwd[383]: src/agent.c:agent_register() agent
>>>> :1.69 path /agent/1420
>>>> Okt 23 12:39:35 tavla iwd[383]: src/network.c:network_connect()
>>>>
>>>>> B. Reboot -> device does NOT connect
>>>>
>>>> This tells me you have no profile in /var/lib/iwd
>>>>
>>>>>
>>>>> -----
>>>>>
>>>>> tavla@tavla:~$ sudo ls -l /system/var/lib/iwd/
>>>>> insgesamt 4
>>>>> -rw------- 1 root root 0 23. Okt 12:39 XYZ-Gast.open
>>>>> drwx------ 2 root root 4096 4. Apr 2024 hotspot
>>>>> tavla@tavla:~$ sudo cat /system/var/lib/iwd/XYZ-Gast.open
>>>>> tavla@tavla:~$
>>>>
>>>> IWD is looking in /var/lib/iwd as seen by:
>>>>
>>>> Okt 23 12:35:58 tavla iwd[383]: src/storage.c:storage_create_dirs()
>>>> Using state directory /var/lib/iwd
>>>>
>>>> Not sure if you have /system/var/lib/iwd mounted there or what, but
>>>> it seems IWD cannot find that profile. IWD will not autoconnect to
>>>> a random open network without a profile. On your first boot you are
>>>> forcing a connection which should generate a profile, but on the
>>>> second boot no profile exists. So that is where I could check,
>>>> where is the profile going? can you "ls" that directory on the
>>>> _second_ boot to see if it exists?
>>> -----
>>> tavla@tavla:~$ sudo ls -l /var/lib/iwd/
>>> insgesamt 4
>>> -rw------- 1 root root 0 23. Okt 12:39 XYZ-Gast.open
>>> drwx------ 2 root root 4096 4. Apr 2024 hotspot
>>> tavla@tavla:~$ sudo ls -l /system/var/lib/iwd/
>>> insgesamt 4
>>> -rw------- 1 root root 0 23. Okt 12:39 XYZ-Gast.open
>>> drwx------ 2 root root 4096 4. Apr 2024 hotspot
>>> tavla@tavla:~$ sudo cat /system/var/lib/iwd/XYZ-Gast.open
>>> tavla@tavla:~$
>>> tavla@tavla:~$
>>> tavla@tavla:~$ iwctl known-networks list
>>> Known Networks
>>> --------------------------------------------------------------------------------
>>>
>>> Name Security Hidden Last connected
>>> --------------------------------------------------------------------------------
>>>
>>> XYZ-Gast open Oct 23, 11:39 AM
>>>
>>> tavla@tavla:~$ iwctl known-networks XYZ-Gast show
>>> Known Network: XYZ-Gast
>>> --------------------------------------------------------------------------------
>>>
>>> Settable Property Value
>>> --------------------------------------------------------------------------------
>>>
>>> Name XYZ-Gast
>>> Hidden
>>> * AutoConnect yes
>>>
>>> tavla@tavla:~$
>>> tavla@tavla:~$ iwctl station wlan0 show
>>> Station: wlan0
>>> --------------------------------------------------------------------------------
>>>
>>> Settable Property Value
>>> --------------------------------------------------------------------------------
>>>
>>> Scanning no
>>> State disconnected
>>>
>>> -----
>> I was barking up the wrong tree. I found a bug in the BSS selection
>> specific to OWE transitional networks. I just sent an RFC patch to
>> the list. Note, you will still need the earlier patches to disable
>> OWE in order to force the connection to the open network.
>
> Device connected after image upgrade (pre-existing configured network)
> and then also connected after consecutive reboots. I have also tested
> to forget the network, re-configure the network and then do some
> reboots. I also tested manual disconnect and connect. Also tested
> manual disconnect and waiting for auto-connect. Here I can't force any
> roaming (not a mobile device). As I am not 100% confident, I will run
> several more tests also in other environments.
>
> Do you need logs?
No, not if its working. I was able to reproduce the same situation in a
simulated environment so I'm pretty confident the bug is fixed with
respect to OWE/open networks.
>
> However, I still also have some issues with devices in a non-OWE
> network. I am not really confident general connection and roaming is
> behaving as it should. I have seen one disappearing today (no network
> logs available), however that one did not have any of the three
> patches. But this network is using WPA2-PSK with a single router as
> far as I know. Does your last patch only target WPA3 and/or OWE
> environments or also others?
The patches should only change behavior on OWE networks. As far as
roaming that is again up to brcmfmac. IWD just gets notified when a roam
occurred. With OWE disabled though I would expect roaming within open
networks to work as well as with WPA2 as this is quite basic, but I
can't really assume anything here. We would need to see logs if there
was some issue here to know if it was brcmfmac or IWD not acting properly.
>
> I will upgrade all our devices in testing environments and then will
> have to observe carefully...
>
> Nevertheless, thanks for your response and effort!
No worries, glad we at least got the OWE part hopefully figured out.
>
> Martin
>
next prev parent reply other threads:[~2024-10-23 15:28 UTC|newest]
Thread overview: 68+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-10-09 9:43 IWD 1.27 with brcmfmac not working for roaming Martin Petzold
2024-10-09 16:07 ` Denis Kenzior
2024-10-09 16:50 ` Arend Van Spriel
2024-10-09 17:54 ` Martin Petzold
2024-10-10 8:06 ` Martin Petzold
2024-10-12 11:06 ` Martin Petzold
2024-10-12 11:51 ` Arend van Spriel
2024-10-13 15:43 ` Martin Petzold
2024-10-30 19:19 ` Martin Petzold
2024-10-30 19:23 ` James Prestwood
2024-10-09 16:58 ` Arend Van Spriel
2024-10-10 13:20 ` Martin Petzold
2024-10-10 13:36 ` James Prestwood
2024-10-10 13:47 ` Martin Petzold
2024-10-10 13:55 ` James Prestwood
2024-10-11 8:35 ` Martin Petzold
2024-10-11 10:46 ` Martin Petzold
2024-10-12 10:59 ` Martin Petzold
2024-10-15 14:43 ` Martin Petzold
2024-10-15 15:17 ` Denis Kenzior
2024-10-15 19:13 ` Arend van Spriel
2024-10-16 2:04 ` Denis Kenzior
2024-10-16 8:32 ` Arend van Spriel
2024-10-17 10:58 ` Martin Petzold
2024-10-19 14:04 ` Martin Petzold
2024-10-19 14:41 ` Denis Kenzior
2024-10-21 13:34 ` Martin Petzold
2024-10-21 14:40 ` Arend Van Spriel
2024-10-21 14:53 ` Martin Petzold
2024-10-21 15:23 ` James Prestwood
2024-10-21 17:08 ` Arend Van Spriel
2024-10-21 17:20 ` Martin Petzold
2024-10-21 17:40 ` Denis Kenzior
2024-10-21 18:26 ` Arend van Spriel
2024-10-21 18:45 ` Martin Petzold
2024-10-21 18:48 ` Martin Petzold
2024-10-21 18:55 ` Denis Kenzior
2024-10-21 19:08 ` Jeremy Blum
2024-10-22 15:26 ` Denis Kenzior
2024-10-22 16:38 ` Jeremy Blum
2024-10-21 19:15 ` Martin Petzold
2024-10-21 19:11 ` James Prestwood
2024-10-21 20:23 ` Martin Petzold
2024-10-22 6:08 ` Arend Van Spriel
2024-10-21 22:01 ` KeithG
2024-10-21 22:10 ` Martin Petzold
2024-10-22 17:40 ` James Prestwood
2024-10-22 18:04 ` Martin Petzold
2024-10-22 18:21 ` Martin Petzold
2024-10-22 18:24 ` James Prestwood
2024-10-22 18:32 ` Martin Petzold
2024-10-22 18:44 ` Denis Kenzior
2024-10-22 18:47 ` Martin Petzold
2024-10-22 19:10 ` James Prestwood
2024-10-22 18:47 ` James Prestwood
2024-10-22 18:49 ` Martin Petzold
2024-10-22 18:52 ` Denis Kenzior
2024-10-23 12:02 ` Martin Petzold
2024-10-23 12:13 ` James Prestwood
2024-10-23 12:19 ` Martin Petzold
2024-10-23 13:22 ` James Prestwood
2024-10-23 13:34 ` Martin Petzold
2024-10-23 15:22 ` Martin Petzold
2024-10-23 15:27 ` Martin Petzold
2024-10-23 15:30 ` James Prestwood
2024-10-23 15:37 ` Martin Petzold
2024-10-23 15:28 ` James Prestwood [this message]
2024-10-23 15:11 ` Arend Van Spriel
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=60e609c8-7c83-4510-9a3b-706698705e1b@gmail.com \
--to=prestwoj@gmail.com \
--cc=arend.vanspriel@broadcom.com \
--cc=denkenz@gmail.com \
--cc=iwd@lists.linux.dev \
--cc=martin.petzold@tavla.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox