Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
tsaranovac
Level 1
Level 1
10 sign-ins 5 replies posted 5 sign-ins

In this specific situation, wpa_supplicant (wpa_cli) is used when the device which has CYW43455 1MW  chip is in normal mode. When the device goes to deep sleep( linux  goes suspend to RAM mode) 1MW chip goes to power-save mode.

My question is when the device is in the state above, can we use internal supplicant  to offload gtk rekeying ? And is it possible that when the device is back to normal state to external and internal supplicant are used simultaneously?

0 Likes
51 Replies
Zhengbao_Zhang
Moderator
Moderator
Moderator
250 sign-ins First comment on KBA 10 questions asked

Hello:

 In my opinion, in normal status we are using external supplicant, if offload feature was enabled and host supplicant is in standby mode, the offload feature is working with internal supplicant, so the concurrent is not needed.

normal--->  external supplicant

offload+standby --> internal supplicant

0 Likes

Thanks for the response.

Regarding internal supplicant is it enabled by default? Or we need some steps to enable it?

What we can see is that when external supplicant goes to standby with linux, chip is not responding to gtk rekeying, and the device wakes up.

What are the steps which we should do before external supplicant goes to standby, so the internal supplicant should be able to handle offload ?

0 Likes
Zhengbao_Zhang
Moderator
Moderator
Moderator
250 sign-ins First comment on KBA 10 questions asked

hello:

 two points from my side:

1.  firmware needs the flag gtkoe 

2. get the newest driver and check if  DGTK_OFFLOAD_SUPPORT was defined in the Makefile

 

0 Likes
brosandic
Level 3
Level 3
First like given 50 sign-ins 25 replies posted

Hi @Zhengbao_Zhang ,

How do we enable gtkoe flag in firmware for CYW43455 ?

What is the newest driver - the one from godzilla release ?
Is there a how to page with exact steps explaining what should be done to enable offloading gtk key renewal  to internal supplication ? Any documentation we can refer to ?

Thanks,

Bogdan

0 Likes
lock attach
Attachments are accessible only for community members.
Qi_Colin
Moderator
Moderator
Moderator
50 likes received 100 solutions authored 5 questions asked

Hi @brosandic :

You can open your FW of 43455, and check the flags at last like below.

Qi_Colin_0-1701161072878.png

Attached FW binary supports this feature.

For newest driver, may I ask that which OS and kernel version you're developing on? And where did you get the driver?

Best Regards,

Colin

 

0 Likes
brosandic
Level 3
Level 3
First like given 50 sign-ins 25 replies posted

Hi @Qi_Colin ,

Here's the firmware we use:
43455c0-roml/43455_sdio-pno-aoe-pktfilter-pktctx-wfds-mfp-dfsradar-wowlpf-noclminc-clm_min-obss-obssdump-swdiv-gtkoe-roamprof-txbf-ve-extsae-dpp-sr-okc-bpd Version: 7.45.251 (16ca9cf CY) CRC: 86b5d61b Date: Sun
2022-09-04 21:51:40 PDT Ucode Ver: 1043.2168 FWID 01-774406d9

We are using fafnir release. However we are not seeing gkt key renewal is being handled by the firmware.
Kernel version is 5.15.71.

Is there something we should do to configure the CYW43455 and its firmware to take care of gtk renewal?

Thanks,
Bogdan

0 Likes
Qi_Colin
Moderator
Moderator
Moderator
50 likes received 100 solutions authored 5 questions asked

Hi @brosandic :

As I know, we don't need to do any configuration when FW enables this feature.

Best Regards,

Colin

0 Likes
tsaranovac
Level 1
Level 1
10 sign-ins 5 replies posted 5 sign-ins

Hi @Qi_Colin and @Zhengbao_Zhang ,

 

I've tried this firmware where gtkoe flag exists: 43455c0-roml/43455_sdio-pno-aoe-pktfilter-pktctx-wfds-mfp-dfsradar-wowlpf-noclminc-clm_min-obss-obssdump-swdiv-gtkoe-roamprof-txbf-ve-extsae-dpp-sr-okc-bpd Version: 7.45.265 (28bca26 CY) CRC: 68bafb8c Date: Tue 2023-08-29 01:51:02 PDT Ucode Ver: 1043.2170 FWID 01-b677b91b

With the godzilla release a can see that in the wl tool there is a option to enable/disable gtk offload feature. 

gtkoe Enable/Disable gtk offload feature

I've tried with the command wl gtkoe 1 - as I can see it requires integer argument

But when I try it, there's an error -23.

Do we need to enable something more so we can use this option in wl tool?

Thanks,

Tijana

 

0 Likes
Qi_Colin
Moderator
Moderator
Moderator
50 likes received 100 solutions authored 5 questions asked

Hi @tsaranovac :

For 43455, the firmware normally don't support to enable/disable via wl tool.

If the "gtkoe" flag is in the strings of a43455's firmware, it will be enabled automatically.

Best Regards,

Colin

0 Likes
brosandic
Level 3
Level 3
First like given 50 sign-ins 25 replies posted

Hi @Qi_Colin ,

According to https://community.infineon.com/t5/Wi-Fi-Bluetooth-for-Linux/CYW43455-not-allowing-WPA3-SAE-connectio... and posto from


One of the differences between the older firmware and the newer firmware is the supplicant. The older firmware uses in driver supplicant running in the 43455 chip i.e. all the handshaking is taken care of by the firmware itself and the new firmware uses an external supplicant i.e. the handshaking process is offloaded to the supplicant running on the host.

 


So it seems that in the latest releases for CYW43455 (fafnir and godzilla) gtk handling is moved back to wpa_supplicant.  Is there a way to let internal supplicant do this work on fafnir and godzilla ?


So far we didn't find a way to do that ?

Thanks,

Bogdan

0 Likes
brosandic
Level 3
Level 3
First like given 50 sign-ins 25 replies posted

Hi @Zhengbao_Zhang  @Qi_Colin ,

Is there a way to offload gtk handling to internal supplicant in CYW43455 firmware ?

According to  post and comment from , in the latest releases some of the handling is moved to external supplicant ?
Thanks,

Bogdan

0 Likes
Qi_Colin
Moderator
Moderator
Moderator
50 likes received 100 solutions authored 5 questions asked

Hi @brosandic :

The point mentioned in thread  is just for WPA3 SAE.

Currently in 43455 FW, only WPA2 rekey is supported in GTKOE.

Best Regards,

Colin

0 Likes

Hi @Qi_Colin ,

When do you plan to support WPA3 SAE in terms of GTKOE ?

GTKOE for WPA2 doesn't seem to work either ?


We have situation where following firmware (godzilla release) is being used:

wl ver

18.15 RC1.67

wl0: Aug 29 2023 01:47:08 version 7.45.265 (28bca26 CY) FWID 01-b677b91b

With this firmware we have situation where GTKOE doesn't take care of GTK renewal. Instead when GTK expires CYW43455 wakes up the host chip using WOWLAN line.

I would expect for the chip to take care of GTK renewal at least when WPA2 is being used.

What settings should be applied so chip takes care of GTK while it is in wowl_active mode ?

Thanks,

Bogdan

0 Likes

@Qi_Colin  In addition, it would be great if all those information could be found in some document. This way, it is very hard to obtain all the necessary information.

Thanks,

Bogdan

0 Likes

Hi @Qi_Colin ,

Can we get some additional help here ? Is there any document to clarify all these questions ?

My main question and concern is that in godzilla release, gtk renewal handling cannot be handled  and offloaded to wifi firmware. 

Thanks,

Bogdan

0 Likes
Qi_Colin
Moderator
Moderator
Moderator
50 likes received 100 solutions authored 5 questions asked

Hi @brosandic :

Sorry for that we don't have documents for this feature.

For GTKOE of wpa2, let me test it and provide the result to you later.

Best Regards,

Colin

0 Likes

Hi @Qi_Colin ,

It's been 10 days since your last reply ? Any update ?

Thanks!
Bogdan

0 Likes
Qi_Colin
Moderator
Moderator
Moderator
50 likes received 100 solutions authored 5 questions asked

Hi @brosandic :

Based on godzilla release, you need to do below modification when you build the driver.

Qi_Colin_0-1706061183295.png

After that, the GTKOE will work offload.

Below is the wpa_supplicant log:

Qi_Colin_1-1706061410490.png

Best Regards,

Colin

 

0 Likes

Hi Colin,

We can give it a try and get back with the test results. However, I wander is there a way to just enable this feature in runtime instead of just removing the line that checks whether the feature is enabled ?!

Best regards,

Bogdan

0 Likes

Also - is this patch applicable to fafnir release ?
Thanks,

Bogdan

0 Likes
Qi_Colin
Moderator
Moderator
Moderator
50 likes received 100 solutions authored 5 questions asked

Hi @brosandic :

I will feedback internal for it.

Best Regards,

Colin

0 Likes
Qi_Colin
Moderator
Moderator
Moderator
50 likes received 100 solutions authored 5 questions asked

Hi @brosandic :

In FMAC driver, BRCMF_FEAT_WOWL_GTK is set after check wowl status when attaching the module , but in our FW, wowl is disable when initalization. That's the reason we need to removing the line.

Another solution is a custom FW which enable wowl feature default.

 if (drvr->bus_if->wowl_supported)
brcmf_feat_iovar_int_get(ifp, BRCMF_FEAT_WOWL, "wowl");
if (brcmf_feat_is_enabled(ifp, BRCMF_FEAT_WOWL)) {
err = brcmf_fil_iovar_int_get(ifp, "wowl_cap", &wowl_cap);
if (!err) {
ifp->drvr->feat_flags |= BIT(BRCMF_FEAT_WOWL_ARP_ND);
if (wowl_cap & BRCMF_WOWL_PFN_FOUND)
ifp->drvr->feat_flags |=
BIT(BRCMF_FEAT_WOWL_ND);
if (wowl_cap & BRCMF_WOWL_GTK_FAILURE)
ifp->drvr->feat_flags |=
BIT(BRCMF_FEAT_WOWL_GTK);
}
}

 Best Regards,

Colin

0 Likes

Hi @Qi_Colin ,

We were testing the solution and appears GTK renewal is offloaded as it should.
However we are noticing that in comparison with drogon release, wifi recovers slower after host device goes to deep sleep.

Here's a scenario:
1) Host device goes to deep sleep

2) CYW43455 takes over GTK handling

3) Host device is awoken using WoWLAN for example

4) Host device wakesup but it takes more time to have network stack running, although there are no wifi disconnect events coming from wpa supplicant.

Any ideas how we can speed up external supplicant taking over the control in godizilla release after host device comes back from deep sleep.

0 Likes

One more question - since we are configuring CYW43455 to be in wowl_active state, which corresponds to PM 1 (Power Save mode) is it necessary to reconfigure CYW43455 to  Fast Power Save for example (wl PM 2) or the chip is going to take care of this itself.

My question is what is the right way to make CYW43455 fully operational as soon as possible  after deep sleep of host device and after wowl wakeup ?

Thanks!

0 Likes
Qi_Colin
Moderator
Moderator
Moderator
50 likes received 100 solutions authored 5 questions asked

Hi @brosandic :

I think which power mode is related to your applicantion's requirement of the power consumption. wowl just wake up your host.

Best Regards,

Colin

0 Likes
Qi_Colin
Moderator
Moderator
Moderator
50 likes received 100 solutions authored 5 questions asked

Hi @brosandic :

Do you mean that you've enabled gtkoe feature both on dragon release and godzilla release and have the different results of the  recover time?

Could you give me more information of any difference between these two tests?

Like kernel version, wowl setting or others.

Best Regards,

Colin

0 Likes

Hi @Qi_Colin ,

We'll get back with the information you need .

However it looks like we are seeing a new issue in some specific network environments where roaming is enabled since we added a patch you provided. The issue is the same or similar to what is described in following posts:

https://raspberrypi.stackexchange.com/questions/77144/rpi3-wireless-issue-ctrl-event-assoc-reject-st...
https://superuser.com/questions/1450766/raspberry-pi-wpa-supplicant-cant-connect-on-a-specific-wifi-...
https://github.com/RPi-Distro/firmware-nonfree/issues/38

Can you please help with this issue ? It is urgent!

Thanks,
Bogdan

0 Likes
Qi_Colin
Moderator
Moderator
Moderator
50 likes received 100 solutions authored 5 questions asked

Hi @brosandic :

For this new issue you meet, I don't think this is related to gtkoe patch.

Roaming feature is enabled default when FW supports 802.11r.

If you want to disable it, you can send command "wl roam_off 1" after bringup before association.

Best Regards,

Colin

0 Likes

Hi @Qi_Colin ,

Ok, if you think this issue (CTRL-EVENT-ASSOC-REJECT  status_code=16) is not related to the patch we applied I can create separate ticket. 

But can you please clarify - do you suggest that we should do "wl roam_off 1" each time disconnect event happens, and "wl roam_off 0" each time connect event happen in order to enable roaming for our device ?

Thanks

0 Likes
Qi_Colin
Moderator
Moderator
Moderator
50 likes received 100 solutions authored 5 questions asked

Hi @brosandic :

"wl roam_off 1" means disable roaming feature in FW, but still can implement it via supplicant.

You can decide whether enable or not based on your applicantion's requirement.

Best Regards,

Colin

0 Likes

Hi @Qi_Colin ,

Can you clarify whether the issue described in posts below exists in godzilla release for CYW43455 or not ? It looks like it exists since we are seeing it on the field. We don't see it at the same locations in case we set roam_off=1 . 

https://raspberrypi.stackexchange.com/questions/77144/rpi3-wireless-issue-ctrl-event-assoc-reject-st...
https://superuser.com/questions/1450766/raspberry-pi-wpa-supplicant-cant-connect-on-a-specific-wifi-...
https://github.com/RPi-Distro/firmware-nonfree/issues/38

Why would roaming feature  affect  association reject with status code 16?
Since this issue was being reported for a while, is there a workaround for it or a fix?

If there's not, my question is - would you recommend setting roam_off=1 on each WiFi disconnect (disassociation/deauthentication) , and setting it back after each connect (association and authentication) to roam_off=1 in order to enable roaming ?

Can you please provide instructions on how to disable internal roaming in CYW43455 firmware, and enable wpa_supplicant based roaming ?

Thanks,

Bogdan

0 Likes
Qi_Colin
Moderator
Moderator
Moderator
50 likes received 100 solutions authored 5 questions asked

Hi @tsaranovac :

Roaming is one of the reason maybe cause authentication reject, not the unique reason.

This issue need to get more supplicant log and airlog to analyze it.

Qi_Colin_0-1709017760754.png

roam_off=1 means disable internal roaming feature based on firmware, but wpa_supplicant can take care of roaming.

Best Regards,

Colin

 

0 Likes

Hi @Qi_Colin ,

Although we switched to external wpa_supplicant to take care of roaming and disabled internal roaming by using roam_off=1 we are still seeing issues. We are going to prepare logs .

Best regards,
Bogdan

0 Likes
Qi_Colin
Moderator
Moderator
Moderator
50 likes received 100 solutions authored 5 questions asked

Hi @brosandic :

Any more update about the logs?

Best Regards,

Colin

0 Likes

Hi @Qi_Colin ,

 

Yes - we are preparing logs . Either I or one of my colleagues will attach the logs we captured.

0 Likes
lock attach
Attachments are accessible only for community members.

Hi @Qi_Colin ,

Logs are in the  attachment. Logs are captured in the setup where roamoff=1 and external supplicant is enabled.

When internal roaming is being used it didn't work either. We are experimenting at the moment with reverting module firmware to older, and I'll get back with the results.

After FT performed device didn't get Ip address. Here is supplicant output:

~# wpa_cli -i wlan0 status

bssid=90:a7:c1:81:5a:1c

freq=5240

ssid=Roam-test-OV-5

id=0

mode=station

wifi_generation=5

pairwise_cipher=CCMP

group_cipher=CCMP

key_mgmt=FT-PSK

wpa_state=COMPLETED

p2p_device_address=52:26:ef:31:00:4f

address=50:26:ef:31:00:4f

uuid=b63b6f05-93ab-5995-b4d6-308e12e15730

ieee80211ac=1

 

~# ifconfig

lo        Link encap:Local Loopback

          inet addr:127.0.0.1  Mask:255.0.0.0

          inet6 addr: ::1/128 Scope:Host

          UP LOOPBACK RUNNING  MTU:65536  Metric:1

          RX packets:751 errors:0 dropped:0 overruns:0 frame:0

          TX packets:751 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:1000

          RX bytes:101976 (99.5 KiB)  TX bytes:101976 (99.5 KiB)

 

wlan0     Link encap:Ethernet  HWaddr 50:26:EF:31:00:4F

          inet6 addr: fe80::5226:efff:fe31:4f/64 Scope:Link

          UP BROADCAST MULTICAST  MTU:1500  Metric:1

          RX packets:2917 errors:0 dropped:80 overruns:0 frame:0

          TX packets:1219 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:1000

          RX bytes:2642565 (2.5 MiB)  TX bytes:236574 (231.0 KiB)

What is interesting that FT used to work on older version:

wl ver

1.28 RC0.0

wl0: Apr 15 2021 03:03:20 version 7.45.234 (4ca95bb CY) FWID 01-996384e2

And not working on

wl ver

18.15 RC1.67

wl0: Aug 29 2023 01:47:08 version 7.45.265 (28bca26 CY) FWID 01-b677b91b


Best regards,
Bogdan

Qi_Colin
Moderator
Moderator
Moderator
50 likes received 100 solutions authored 5 questions asked

Hi @brosandic :

Could you provide the strings of both FW to me?

You can send command "strings cyfmac43455-sdio.bin | tail" to get it.

Best Regards,

Colin

0 Likes
Cynder
---------
43455c0-roml/43455_sdio-pno-aoe-pktfilter-pktctx-wfds-mfp-dfsradar-wowlpf-idsup-idauth-noclminc-clm_min-obss-obssdump-swdiv-gtkoe-roamprof-txbf-ve-sae-dpp-sr-okc-bpd Version: 7.45.234 (4ca95bb CY) CRC: 212e223d Date: Thu 2021-04-15 03:06:00 PDT Ucode Ver: 1043.2161 FWID 01-996384e2
DVID 01-1fda2915

Godzilla
----------
43455c0-roml/43455_sdio-pno-aoe-pktfilter-pktctx-wfds-mfp-dfsradar-wowlpf-noclminc-clm_min-obss-obssdump-swdiv-gtkoe-roamprof-txbf-ve-extsae-dpp-sr-okc-bpd Version: 7.45.265 (28bca26 CY) CRC: 68bafb8c Date: Tue 2023-08-29 01:51:02 PDT Ucode Ver: 1043.2170 FWID 01-b677b91b
DVID 01-16dd0023



Best regards,
Bogdan
0 Likes
lock attach
Attachments are accessible only for community members.
lvasiljevic
Level 2
Level 2
First like received 5 replies posted 10 sign-ins

Hi @Qi_Colin 

Here are a logs from driver and supplicant when FT happened.
When FT performed device didn't get IP.

supplicant miss ip_address:

~# wpa_cli -i wlan0 status
bssid=90:a7:c1:81:5a:1c
freq=5240
ssid=Roam-test-OV-5
id=0
mode=station
wifi_generation=5
pairwise_cipher=CCMP
group_cipher=CCMP
key_mgmt=FT-PSK
wpa_state=COMPLETED
p2p_device_address=52:26:ef:31:00:4f
address=50:26:ef:31:00:4f
uuid=b63b6f05-93ab-5995-b4d6-308e12e15730
ieee80211ac=1
 
~# ifconfig
lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:751 errors:0 dropped:0 overruns:0 frame:0
          TX packets:751 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:101976 (99.5 KiB)  TX bytes:101976 (99.5 KiB)
 
wlan0     Link encap:Ethernet  HWaddr 50:26:EF:31:00:4F
          inet6 addr: fe80::5226:efff:fe31:4f/64 Scope:Link
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:2917 errors:0 dropped:80 overruns:0 frame:0
          TX packets:1219 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:2642565 (2.5 MiB)  TX bytes:236574 (231.0 KiB)

What is interesting FT  used to work on older version:

wl ver
1.28 RC0.0
wl0: Apr 15 2021 03:03:20 version 7.45.234 (4ca95bb CY) FWID 01-996384e2
But now on:
wl ver
18.15 RC1.67
wl0: Aug 29 2023 01:47:08 version 7.45.265 (28bca26 CY) FWID 01-b677b91b
0 Likes