WIFI FAST Roaming 及Ralink SDK中AutoRoaming的实现

 对于IPCamera以及smartphone这样的设备,在物联网应用中会涉及到在ESS的多个AP之间自动漫游的问题。这里以RT5350/MT7620 sdk为例,简要描述一下相关的规则。

 

一)

RT5350 SDK的帮助文档中关于WIFI roaming可以通过如下的参数进行设置

FastRoaming

      Value

          0Disabled

          1Enabled

 

RoamThreshold

Value

         0~255

 

AutoRoaming=Value

 

     Enable/Disable auto roaming mechanism

     Value

          0Disabled

          1Enabled

          Default Setting is disabled

 

但是从code分析来看,实际上控制WIFI roaming的参数目前只有“RoamThreshold”和“AutoRoaming”这两个。

MT7620SDK上的实现和这里大同小异。

 

具体分析一下代码:

首先在ralinkdriver中,目前只有sta驱动才支持该功能,因此如果client模式是使用ap-client来实现的话,则无法支持该功能。


 

 

代码中通过struct _STA_ADMIN_CONFIG结构中的如下两个成员来保存Fast Roaming的相关配置信息

 

         /* Fast Roaming */

         BOOLEAN bAutoRoaming;       /* 0:disable auto roaming by RSSI, 1:enable auto roaming by RSSI */

         CHAR dBmToRoam;                   /* the condition to roam when receiving Rssi less than this value. It's negative value. */

 

 

code中通过RTMPSetProfileParameters函数中的如下代码段来从配置文件中获取这两个参数的配置:

 

                    /* AutoRoaming by RSSI*/

                    if (RTMPGetKeyParameter("AutoRoaming", tmpbuf, 32, pBuffer, TRUE))

                    {

                        if (simple_strtol(tmpbuf, 0, 10) == 0)

                            pAd->StaCfg.bAutoRoaming = FALSE;

                        else

                            pAd->StaCfg.bAutoRoaming = TRUE;

 

                        DBGPRINT(RT_DEBUG_TRACE, ("AutoRoaming=%d\n", pAd->StaCfg.bAutoRoaming));

                    }

                    /* RoamThreshold*/

                    if (RTMPGetKeyParameter("RoamThreshold", tmpbuf, 32, pBuffer, TRUE))

                    {

                        long lInfo = simple_strtol(tmpbuf, 0, 10);

 

                        if (lInfo > 90 || lInfo < 60)

                            pAd->StaCfg.dB

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值