cwbsw

Wi-Fi 漫游切换耗时研究

  •  
  •   cwbsw · May 21, 2023 · 6791 views
    This topic created in 1266 days ago, the information mentioned may be changed or developed.
    终端为 iOS 16.4 和 Android 13 。
    AP 为数台 360 T7 ,分别测试了开源和闭源驱动,开启以及关闭 802.11r(FT)。
    切换耗时数据来自日志。

    结论:

    1.开启 FT ,耗时约为 30-60ms ,iOS 和 Android 无明显区别,开源和闭源驱动无明显区别。

    2.关闭 FT 。耗时约为 200-300ms ,iOS 和 Android 无明显区别,开源驱动大部分落在 200-300ms 区间,但也记录到一些低于 200ms 甚至低于 100ms 的记录,闭源驱动没有发现此现象。
    18 replies  •  2023-08-19 23:04:42 +08:00
    datocp
    datocp
    May 21, 2023 via Android
    1
    好伤心的结果,
    非 802.11r 环境,支持弱信号踢除,依然是 1.的结果。无线是个玄学,系统终端都有各种各样的关系。
    listenfree
    listenfree
    May 21, 2023
    2
    我也纠结了几天,现在想通了,这点切换时间对日常使用已无影响,视频都有缓冲,游戏 udp 丢两个包也无所谓。
    顺便说一下 360t7 开硬件加速,下载 PT,我靠直接拉满 300M 带宽,路由器毫无波澜。
    owlbatex
    owlbatex
    May 21, 2023
    3
    漫游更多的还是看终端
    cwbsw
    cwbsw
    OP
    May 21, 2023
    4
    @owlbatex
    漫游策略确实主要看终端。
    iOS 优先 5GHz 做得还可以,但我手上这个 Android 就很无语,经常连着一个-80db 的 2.4GHz 信号也不切换到-55db 的 5GHz 信号,甚至手动发送 802.11v 通知也会被拒绝,必须踢掉才会重连。
    但是这里测试的是切换耗时,只要支持 FT ,表现都差不多。
    LisaSue
    LisaSue
    May 21, 2023
    5
    lz 用的是啥安卓机啊,我在家里测过差不多的场景,用了三个高通+一个 mtk 的路由器刷集客组网,尝试了三星和华为还有荣耀,切换都很积极,耗时都在 70ms 以内.
    kaedeair
    kaedeair
    May 22, 2023
    6
    @cwbsw #4 这时候就需要 AC 弱信号剔除的功能了
    txydhr
    txydhr
    May 22, 2023 via iPhone
    7
    这就是移动网络和 wifi 的本质区别了,移动网络由服务端调控。wifi 则是提供一串信号,客户端自由选择。
    dfly0603
    dfly0603
    May 23, 2023 via iPad
    8
    有人说 11r 主要优化了 802.1x 的认证速度,对 PSK 影响不大?
    cwbsw
    cwbsw
    OP
    May 23, 2023
    9
    @dfly0603 数据都贴出来了,大不大自己判断呗。
    leonunix
    leonunix
    May 24, 2023
    10
    需要一个 ac 。再 802.11r 中 ac 会生成 PMK-R0 和 PMK-R1 ,并且下发给 ap 。再漫游中这个认证的过程就可以加快了
    cwbsw
    cwbsw
    OP
    May 24, 2023
    11
    @leonunix 这个步骤 AC 不是必需的,开源和闭源驱动都有相应的解决方案。
    NSAgold
    NSAgold
    Jun 1, 2023
    12
    其他路由器尤其是 mt76xx 好像闭源驱动不支持 kvr 来着?
    然后好像 ft over DS 是没用的来着,还有重关联截止时间默认 1000 不起效要调到 20000 才行。
    这边坑好像还是挺多的
    dengyong
    dengyong
    Jun 21, 2023 via Android
    13
    https://github.com/berlin-open-wireless-lab/DAWN ,openwrt 有个 wifi 控制器 dawn ,协助漫游效果非常好,可以用 ubus monitor hostapd 命令查看 ap 的 802.11kvr 协商过程,dawn 没有运行时 802.11kv 这些协议实际是没有工作的,hostapd_cli show_neighbor 可以查看邻居列表
    dengyong
    dengyong
    Jun 21, 2023 via Android
    14
    漫游中 802.11kv 比 802.11r 更重要,如果没有 dawn ,usteer 这些辅助,运行 hostapd_cli show_neighbor 可以看到邻居列表是空的。
    cwbsw
    cwbsw
    OP
    Jun 22, 2023
    15
    @dengyong
    然而实测下来 kv 才是没啥用的,FT 降低切换耗时才是实打实的。
    neighbor report 我是 ubus 手动设置的,但是看不出来有什么积极作用,按照预设路线行走,漫游切换点没有变化。
    bss_transition 如前所述,终端有自己的切换逻辑,没到它的阈值就算手动发送 bss_transition_request 也没用。
    rzero
    rzero
    Aug 18, 2023
    16
    @cwbsw 大佬你好。我购买了 360T7 和 wr30u 来对家中网络进行升级。但是由于这两个都没有官方 openwrt 支持,我用的都是别人编译的版本。
    360T7 用的是这个[hanwckf/immortalwrt-mt798x (github.com)]( https://github.com/hanwckf/immortalwrt-mt798x),但是它的无限配置是 luci-app-mtk ,我找不到 802.11r 的配置选项。
    wr30u 用的是这个 https://www.right.com.cn/forum/thread-8284824-1-1.html ,它有 802.11r 但是却啥都不能设置,我查看日志看到 FT 会有 The PMKID is invalid 错误。现象就是连上它之后压根不会漫游,甚至强度低于-80db 了都不会,只能手动断开 wifi 重连。

    看到你测试了无线开源和闭源的固件,我想问下开源的固件在那找。我不需要最强的性能,我只想要它的设置和官方 openwrt 一样,可以一起工作就行。😭

    注:家中网络原本是 ax6s(做 ac )+3 R3g ( ap ),802.11r 工作得很正常。
    cwbsw
    cwbsw
    OP
    Aug 18, 2023
    17
    @rzero 已经支持了啊。360T7 已经在 23.05-rc2 了,WR30U 代码也已合并,可以自己编译或者等下一个 RC 。
    rzero
    rzero
    Aug 19, 2023
    18
    @cwbsw 好的!我是在 openwrt 官网的 toh 里没有找到,甚至连设备的页面都没有,我就以为是不支持的。我现在就去编译😭
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1044 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 119ms · UTC 17:19 · PVG 01:19 · LAX 09:19 · JFK 12:19
    ♥ Do have faith in what you're doing.