6 Replies Latest reply on Feb 13, 2019 7:07 PM by ZhengbaoZ_96

    CYW43907 roaming options

    NiMc_1688136

      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?

        • 1. Re: CYW43907 roaming options
          ZhengbaoZ_96

          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

          • 2. Re: CYW43907 roaming options
            AxLi_1746341

            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

            • 3. Re: CYW43907 roaming options
              ZhengbaoZ_96

              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.

              • 4. Re: CYW43907 roaming options
                AxLi_1746341

                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".

                • 5. Re: CYW43907 roaming options
                  NiMc_1688136

                  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 );

                  }

                  • 6. Re: CYW43907 roaming options
                    ZhengbaoZ_96

                    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.