802.11r标准被称为快速基本服务设置转换(Fast Basic Service Set Transition).它允许在Wi-Fi设备在两个接入点之间漫游之前,为设备在新的接入点建立一个安全的QoS状态,因此能保证Wi-Fi设备在两个接入点之间的迁移时间少于50毫秒,从而满足语音漫游的标准。符合该标准的企业版Wi-Fi Certified(Wi-Fi Certified Voice-Enterprise)认证项目包括以下这些内容: 在代表企业无线网络中,有四个802.11b或10个802.11a/g/n同时发起的语音呼叫或一个高速的视频流以及后台的数据传输,在无线热点间的快速漫游时可测得:

  • 小于1%的丢包率
  • 不超过3个连续丢包
  • 单向延迟小于50ms
  • 最大的网络抖动少于50ms

典型的认证测试环境使用思科的Unified Wireless Network Software version(7.2以上版本),或是Aerohive's HiveOS (6.0以上版本),测试设备参考比较可用Apple等终端.

配置

ConnectCore 6ul和ConnectCore 6+都使用同一款支持快速漫游的Wifi片子。一些重要的参数在lib/firmware/wlan/qcom_cfg.ini中
FastTransitionEnabled:支持802.11r快速漫游,该参数默认启用;
FastRoamEnabled: 旧的非CCX和非802.11r的传统快速漫游支持,默认关闭;
RoamRssiDiff: 一个候选漫游AP所需的RSSI增量,默认值为5;
gRoamScanOffloadEnabled: 漫游扫描工作分流给固件,默认启用;
从漫游特性描述文档(80-Y0783-1 Rev. C)还可以知道:
gNeighborLookupThreshold: RSSI低位阀值,当RSSI掉到该值以下时触发漫游。漫游重新被启动当RSSI掉到gRoamRescanRssiDiff;
gRoamBmissFirstBcnt: 在丢失该值定义的beacon后,漫游模块扫描和创建通道图。在扫描周期结束后,一个WMI_ROAM_REASON_BETTER_AP消息被发送给主机,在丢失gRoamBmissFinalBcnt定义的beacon后,漫游被触发。
gRrmEnable: 启用802.11k (Radio Resource Management)

并不需要重新去配这些参数,DEY默认已经都设置好,这些参数只是表明快速漫游的支持和进一步优化时的选项。

设置并测试漫游

测试的网络拓扑场景如下:

其中DUT表示待测设备,两个AP分别为:

代号 型号 Mac IP 子网掩码 信道
AP1 Ruckus R600 (master) ec:8c:a2:27:a6:e0 192.168.14.42 255.255.255.02,462 GHz (Channel 11)
AP2 Ruckus R600 94:f6:65:18:5f:40 192.168.14.34 255.255.255.02,437GHz (Channel 6)

为了实现漫游,两个AP的SSID和加密方式要相同,它们SSID都配置成ruckus-roaming,加密方式采用WPA2 Personal/AES。

被测设备的/etc/wpa_supplicant.conf配置:

ctrl_interface=/var/run/wpa_supplicant
ctrl_interface_group=0
fast_reauth=1
update_config=1
network={
        ssid="ruckus-roaming"
        psk="password"
        proto=RSN
        key_mgmt=WPA-PSK
        pairwise=CCMP
}
  • 测试场景1:连接丢失后漫游

1.)被测设备连接到AP1,AP2还没上电
2.)AP2上电,并出现在扫描结果中
3.)AP1断电
4.)被测设备漫游到AP2上

  • 测试场景2:漫游到更好的信号上

1.)被测设备在AP1断开时,连接到较远的AP2上
2.)AP1上电,并出现在扫描结果中,AP1的RSSI值比AP2高至少RoamRssiDiff
3.)一段时间后,被测设备漫游到信号更好的AP1上