CYW43907 roaming options

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

cross mob
NiMc_1688136
Level 5
Level 5
10 sign-ins 50 questions asked 10 solutions authored

Can someone explain or point to documentation regarding the roaming configuration for the Wi-Fi in SDK 6.2?

In wwd_wifi.h there are some defines for modes but no documentation to describe what they do?

/* Roaming trigger options */

#define WICED_WIFI_DEFAULT_ROAMING TRIGGER              ( 0 )

#define WICED_WIFI_OPTIMIZE_BANDWIDTH_ROAMING_TRIGGER   ( 1 )

#define WICED_WIFI_OPTIMIZE_DISTANCE_ROAMING_TRIGGER    ( 2 )

In wiced_default.h the default settings are defined for the project, again with no description

* WICED WiFi Roaming related options (for STA interface)

* See wiced_wifi_set_roam_trigger() for details */

#define WICED_WIFI_ROAMING_TRIGGER_MODE             ( WICED_WIFI_OPTIMIZE_BANDWIDTH_ROAMING_TRIGGER )

#define WICED_WIFI_ROAMING_TRIGGER_DELTA_IN_DBM     ( 5 )

#define WICED_WIFI_ROAMING_SCAN_PERIOD_IN_SECONDS   ( 10 )

I understand what scan period is but how does the delta in dBm trigger change based on the trigger mode (default vs bandwidth vs distance).

If I had to guess, the bandwidth option will prefer the strongest signal to keep data rate high while the distance trigger will sacrifice data rate for range and the default trigger is somewhere in the middle. Is this correct?

0 Likes
1 Solution

hello:

  Just have a test , please see below pic,

the roam_trigger has four options.

0 default

1  optimize band

2  optimize distance

-1 - -99,   dbm

Actually,  it points to different trigger level,  the results show the detailed.

pastedImage_0.png

View solution in original post

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

Hi:

    I find roaming commands  in the command_console.

from the results we have a default roam rssi threshold after  enabled WICED_WIFI_OPTIMIZE_BANDWIDTH_ROAMING_TRIGGER .

Now the delta is 5, so it means if the roaming area has a AP rssi is better than -60, it will start the roam action.

> roam_trigger

5g: -65

2g: -65

> roam_trigger

5g: -65

2g: -65

> roam_trigger 5g

5g: -65

> roam_trigger 2g

2g: -65

> roam_delta

5g: 5

2g: 5

0 Likes

You did not tell how does the delta in dBm trigger change based on the trigger mode (default vs bandwidth vs distance).

What is the difference of different trigger mode?

WICED_WIFI_DEFAULT_ROAMING_TRIGGER

WICED_WIFI_OPTIMIZE_BANDWIDTH_ROAMING_TRIGGER

WICED_WIFI_OPTIMIZE_DISTANCE_ROAMING_TRIGGER

0 Likes

Hi:

     In the wiced init, we use : WICED_WIFI_OPTIMIZE_BANDWIDTH_ROAMING_TRIGGER

  Actually I didn't find any info about the other defines,   will find more in next release.

0 Likes

I think the code is *problematic*.

1.

Due to the "space" between WICED_WIFI_DEFAULT_ROAMING and TRIGGER

The define for WICED_WIFI_DEFAULT_ROAMING is wrong:

#define WICED_WIFI_DEFAULT_ROAMING TRIGGER              ( 0 )

2. There is no documentation so nobody knows the difference of setting different trigger options.

3. I even don't know the meaning of current default "WICED_WIFI_OPTIMIZE_BANDWIDTH_ROAMING_TRIGGER".

0 Likes

Reviving this post, but is there any more information.

I understand the trigger and scan period but I have no idea how 0,1,or 2 sets the trigger. Do these map to magic values in the WLAN binary?

Ideally in my application bandwidth usage is low and coverage is not an issue so I do not want to be roaming all the time.

Functions:

    wwd_wifi_set_roam_trigger( WICED_WIFI_ROAMING_TRIGGER_MODE );

    wwd_wifi_set_roam_delta( WICED_WIFI_ROAMING_TRIGGER_DELTA_IN_DBM );

    wwd_wifi_set_roam_scan_period( WICED_WIFI_ROAMING_SCAN_PERIOD_IN_SECONDS );

Defines

wiced_defaults

/************************************************************************

* WICED WiFi Roaming related options (for STA interface)

* See wiced_wifi_set_roam_trigger() for details */

#define WICED_WIFI_ROAMING_TRIGGER_MODE             ( WICED_WIFI_OPTIMIZE_BANDWIDTH_ROAMING_TRIGGER )

#define WICED_WIFI_ROAMING_TRIGGER_DELTA_IN_DBM     ( 5 )

#define WICED_WIFI_ROAMING_SCAN_PERIOD_IN_SECONDS   ( 10 )

wwd_wifi.h

/* Roaming trigger options */

#define WICED_WIFI_DEFAULT_ROAMING TRIGGER              ( 0 )

#define WICED_WIFI_OPTIMIZE_BANDWIDTH_ROAMING_TRIGGER   ( 1 )

#define WICED_WIFI_OPTIMIZE_DISTANCE_ROAMING_TRIGGER    ( 2 )

The comment says see wiced_wifi_set_roam_trigger() for details but there is nothing there to document the functionality.

wwd_result_t wwd_wifi_set_roam_trigger( int32_t trigger_level )

{

    uint32_t roaming_trigger[2];

    roaming_trigger[0] = (uint32_t) trigger_level;

    roaming_trigger[1] = WLC_BAND_ALL;

    return wwd_wifi_set_ioctl_buffer( WLC_SET_ROAM_TRIGGER, roaming_trigger, sizeof( roaming_trigger ), WWD_STA_INTERFACE );

}

0 Likes

hello:

  Just have a test , please see below pic,

the roam_trigger has four options.

0 default

1  optimize band

2  optimize distance

-1 - -99,   dbm

Actually,  it points to different trigger level,  the results show the detailed.

pastedImage_0.png

0 Likes