11R (Fast Roaming) support on CYW43455

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

cross mob
maku_2263101
Level 3
Level 3
First like received First like given

Hi,

Does CYW43455 module supports 11R (Fast Roaming) feature ?

If supported please share us the steps to bring up this feature.

vinayak​​,

Can you please help us on this matter.

0 Likes
1 Solution

It appears that the PMK is not being set. The patches 0008,0017-0021,0023,0035,0036,0037 which include wpa_supplicant patches would also be required. You can find the patch files in cypress-hostap_2_6-2019_0502 folder. The CONFIG_IEEE80211R should be enabled and it will be checked in supplicant patch 0037 used for adding PMK cache and set PMK to the driver for 4-way handshake offload. The roamoff=0 should enable internal roaming.

View solution in original post

11 Replies
maku_2263101
Level 3
Level 3
First like received First like given

Hi All,

FT Roaming with CYW43455 is failing with "Invalid PMKID" error.

Is there any config or setup steps need to follow for 11r Roaming ?

Please share us the steps.

Let us know if you need any more information.

Below are few observations:

1. We have compiled supplicant with Enabling "CONFIG_IEEE80211R" Config Option.

2. CYW43455 is trying to roam with FT Authentication, but AP is rejecting the Authentication with status code 53 (Invalid PMKID).

CYW43455_FT_Roaming_Failure.png

3. But able to perform FT roaming successfully with IPhone.

Iphone_FT_Roaming_Success.png

Below are the Software details:

Loading Modules Steps:

     insmod compat.ko

     insmod cfg80211.ko

     insmod brcmutil.ko

     insmod brcmfmac.ko

Compiling and Running wpa_supplicant:

     Compiled wpa_supplicant with Enabling "CONFIG_IEEE80211R" Config Option.

     command to run wpa_supplicant:

          wpa_supplicant -iwlan0 -B -Dnl80211 -c /etc/wpa_supplicant.conf

     wpa_supplicant.conf:

          ctrl_interface=/var/run/wpa_supplicant

          ctrl_interface_group=0

          update_config=1

          ap_scan=1

          fast_reauth=1

          network={

               ssid="sample_ssid"

               proactive_key_caching=1

               scan_ssid=1

               key_mgmt=FT-PSK

               psk="sample_psk"

          }

Drivers Loading log:

     Loading modules backported from Linux version v4.14.52-manda-RTM-0-g897c6ce

     Backport generated by backports.git v4.14-rc2-1-70-g694b78f

     brcmfmac: brcmf_fw_map_chip_to_name: using brcm/brcmfmac43455-sdio.bin for chip 0x004345(17221) rev 0x000006

     usbcore: registered new interface driver brcmfmac

     brcmfmac: brcmf_c_preinit_dcmds: Murata Customized Version: imx-rocko-manda_r1.0;

     brcmfmac: brcmf_c_preinit_dcmds: Firmware version = wl0: May  2 2019 02:46:17 version 7.45.189 (r714228 CY) FWID 01-e1db26e2

wl ver:

     1.21 RC0.0

     wl0: May  2 2019 02:46:17 version 7.45.189 (r714228 CY) FWID 01-e1db26e2

wpa_supplicant version:

     wpa_supplicant v2.6

0 Likes

Hi All,

Attaching Cisco Controller Logs.

Cisco Controller Log:

*apfMsConnTask_0: Dec 24 06:54:51.463: b8:d7:af:58:61:34 Doing preauth for this client over the Air

*apfMsConnTask_0: Dec 24 06:54:51.463: AP MAC address        Controller

*apfMsConnTask_0: Dec 24 06:54:51.463: ------------------    ---------------

*apfMsConnTask_0: Dec 24 06:54:51.463: b8:d7:af:58:61:34 Doing local roaming for destination address 00:08:2f:32:cd:77

*apfMsConnTask_0: Dec 24 06:54:51.463: b8:d7:af:58:61:34 Got 1 AKMs in RSNIE

*apfMsConnTask_0: Dec 24 06:54:51.463: b8:d7:af:58:61:34 RSNIE AKM matches with PMK cache entry :0x4

*apfMsConnTask_0: Dec 24 06:54:51.463: b8:d7:af:58:61:34 ERR: RSN client sent MDIE in FT auth request but no RSN!

*apfMsConnTask_0: Dec 24 06:54:51.463: b8:d7:af:58:61:34 Bogus FT auth request! StatusCode 53

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

Hi All,

On further debugging we have below observations related to the issue.

wpa_supplicant log shows below error message after initial Connection:

  • nl80211: update_ft_ies failed err=-95 (Operation not supported)

attaching the log for your reference.

As per wpa_supplicant documentation this function is needed for driver that support IEEE 802.11r.

But brcmfmac driver not implemented brcmf_cfg80211_ops->update_ft_ies() function.

So looks like we need to have additional changes in brcmfmac driver to support 11R functionality.

Please provide us the necessary patches for 11R functionality.

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

The relevant patch files to enable fast roaming are listed in the README document in the driver release package. They are as follows:

Fast roaming support (0014, 0028, 0051-0054, 0098-0099, 0103)

You can check the cypress-patch-v4.14.77-2019_1031 folder in the FMAC driver for the numbered patch files. I have attached the README document for your reference.

Hi Gaurav,

Thank you for your response.

As suggested by you we have applyied patches from cypress-patch-v4.14.77-2019_1031 but still having the same issue.

"AP is rejecting the Authentication with status code 53 (Invalid PMKID)."

Also as mentioned earlier we are still seeing following error from supplicant log:

"nl80211: update_ft_ies failed err=-95 (Operation not supported)"

Do we need to enable/set any configuration for 11R functionality?

Currently we have enable "CONFIG_IEEE80211R" config option in wpa_supplicant and using "roamoff=0" during module loading.

Is this right ?

Below are the SW version details.

wl ver:

     1.21 RC0.0

     wl0: Oct 23 2019 23:33:06 version 7.45.197 (r723044 CY) FWID 01-dfced692

Module loading log:

     Loading modules backported from Linux version v4.14.52-manda-RTM-0-g897c6ce

     Backport generated by backports.git v4.14-rc2-1-70-g694b78f

     brcmfmac: brcmf_fw_map_chip_to_name: using brcm/brcmfmac43455-sdio.bin for chip 0x004345(17221) rev 0x000006

     usbcore: registered new interface driver brcmfmac

     brcmfmac: brcmf_c_preinit_dcmds: Firmware version = wl0: Oct 23 2019 23:33:06 version 7.45.197 (r723044 CY) FWID 01-dfced692

0 Likes

It appears that the PMK is not being set. The patches 0008,0017-0021,0023,0035,0036,0037 which include wpa_supplicant patches would also be required. You can find the patch files in cypress-hostap_2_6-2019_0502 folder. The CONFIG_IEEE80211R should be enabled and it will be checked in supplicant patch 0037 used for adding PMK cache and set PMK to the driver for 4-way handshake offload. The roamoff=0 should enable internal roaming.

Hi Gaurav,

Thank you for your response.

After applying the supplicant patches able to perform 11r FT roaming successfully.

Currently we are using roamoff=0 during module loading so roaming decision is done by firmware (internal roaming).

Is it possible to offload FT roaming to Driver/Supplicant using roamoff=1 ?

When we use roamoff=1  configuration FT Roaming is not happening as during roaming Station(CYW43455) sending normal Authentication Request instead of FT Authentication Request.

Are there any patches or steps available to support FT Roaming using roamoff=1 configuration ?

0 Likes

Is there a specific reason to use external supplicant for roaming? Memory on the host processor would be saved by letting the WLAN firmware take care of roaming.

0 Likes

Hi Gaurav,

We would like to have a control over the roaming decision.

Is there any configuration that can do selection of bssid to connect in Driver and the firmware will try to roam to that specific bssid without disconnect  or fresh connection [should perform FT Roaming].

So can we offload FT Roaming to Driver or Supplicant ?

Looks like driver need to have following implementations to support FT roaming using external supplicant.

  • cfg80211_ops->update_ft_ies()
  • cfg80211_ops->auth()

Do we have any patches for this?

Is there any other simple way that,

     Roam Decision is controlled Externally but FT roaming is done by Internal supplicant by sending any event to the firmware?

0 Likes

We have only tested internal roaming with roamoff=0. We do not support roaming from host. The WLAN firmware will take care of candidate BSSID selection, roam scan and process for reassoc. Externally from the driver, the roam trigger RSSI threshold and the roam candidate qualification delta can be controlled using WL_ROAM_TRIGGER_LEVEL and WL_ROAM_DELTA. With roamoff=1, firmware roaming will be disabled.

Raphael
Level 1
Level 1
5 sign-ins First reply posted First question asked

Hi,
I'm trying to use fast roaming on the CYW43455 chip one year after this post and it's not working with your tips.
Maybe something changes since.
I realized that patches 0008,0017-0021,0023,0035,0036,0037 are now included in the hostap_2_9 and we don't need to include them anymore in hostap_2_6 like you advised. Is it saying that we can now use the hostap_2_9 with new patches or i'm missing something?

I just want to compile a firmware with roaming enable for my CYW43455 but i'm struggling a bit since few days because i don't know who is the firmware that i need to build to flash it directly on my CYW43455.


I found the https://www.cypress.com/documentation/software-and-drivers-archive/wifi-bt-linux-archive and i'm getting the last one cypress-fmac-v5.4.18-2021_0114.zip.
Everything compile with the applied patches but i don't know how to produce my .bin and my blob with the roaming feature. Is the .bin compilable or just the blob?


Thanks you all

0 Likes