V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
cwbsw
V2EX  ›  宽带症候群

Wi-Fi 漫游切换耗时研究

  •  
  •   cwbsw · 2023-05-21 21:03:15 +08:00 · 3457 次点击
    这是一个创建于 550 天前的主题,其中的信息可能已经有所发展或是发生改变。
    终端为 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 条回复    2023-08-19 23:04:42 +08:00
    datocp
        1
    datocp  
       2023-05-21 21:06:58 +08:00 via Android
    好伤心的结果,
    非 802.11r 环境,支持弱信号踢除,依然是 1.的结果。无线是个玄学,系统终端都有各种各样的关系。
    listenfree
        2
    listenfree  
       2023-05-21 21:16:51 +08:00
    我也纠结了几天,现在想通了,这点切换时间对日常使用已无影响,视频都有缓冲,游戏 udp 丢两个包也无所谓。
    顺便说一下 360t7 开硬件加速,下载 PT,我靠直接拉满 300M 带宽,路由器毫无波澜。
    owlbatex
        3
    owlbatex  
       2023-05-21 21:55:04 +08:00
    漫游更多的还是看终端
    cwbsw
        4
    cwbsw  
    OP
       2023-05-21 22:28:07 +08:00
    @owlbatex
    漫游策略确实主要看终端。
    iOS 优先 5GHz 做得还可以,但我手上这个 Android 就很无语,经常连着一个-80db 的 2.4GHz 信号也不切换到-55db 的 5GHz 信号,甚至手动发送 802.11v 通知也会被拒绝,必须踢掉才会重连。
    但是这里测试的是切换耗时,只要支持 FT ,表现都差不多。
    LisaSue
        5
    LisaSue  
       2023-05-21 23:02:33 +08:00
    lz 用的是啥安卓机啊,我在家里测过差不多的场景,用了三个高通+一个 mtk 的路由器刷集客组网,尝试了三星和华为还有荣耀,切换都很积极,耗时都在 70ms 以内.
    kaedeair
        6
    kaedeair  
       2023-05-22 09:32:34 +08:00
    @cwbsw #4 这时候就需要 AC 弱信号剔除的功能了
    txydhr
        7
    txydhr  
       2023-05-22 12:45:50 +08:00 via iPhone
    这就是移动网络和 wifi 的本质区别了,移动网络由服务端调控。wifi 则是提供一串信号,客户端自由选择。
    dfly0603
        8
    dfly0603  
       2023-05-23 14:35:10 +08:00 via iPad
    有人说 11r 主要优化了 802.1x 的认证速度,对 PSK 影响不大?
    cwbsw
        9
    cwbsw  
    OP
       2023-05-23 15:06:03 +08:00
    @dfly0603 数据都贴出来了,大不大自己判断呗。
    leonunix
        10
    leonunix  
       2023-05-24 08:06:25 +08:00
    需要一个 ac 。再 802.11r 中 ac 会生成 PMK-R0 和 PMK-R1 ,并且下发给 ap 。再漫游中这个认证的过程就可以加快了
    cwbsw
        11
    cwbsw  
    OP
       2023-05-24 10:57:29 +08:00
    @leonunix 这个步骤 AC 不是必需的,开源和闭源驱动都有相应的解决方案。
    NSAgold
        12
    NSAgold  
       2023-06-01 14:00:46 +08:00
    其他路由器尤其是 mt76xx 好像闭源驱动不支持 kvr 来着?
    然后好像 ft over DS 是没用的来着,还有重关联截止时间默认 1000 不起效要调到 20000 才行。
    这边坑好像还是挺多的
    dengyong
        13
    dengyong  
       2023-06-21 23:36:58 +08:00 via Android
    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
        14
    dengyong  
       2023-06-21 23:55:15 +08:00 via Android
    漫游中 802.11kv 比 802.11r 更重要,如果没有 dawn ,usteer 这些辅助,运行 hostapd_cli show_neighbor 可以看到邻居列表是空的。
    cwbsw
        15
    cwbsw  
    OP
       2023-06-22 10:58:15 +08:00
    @dengyong
    然而实测下来 kv 才是没啥用的,FT 降低切换耗时才是实打实的。
    neighbor report 我是 ubus 手动设置的,但是看不出来有什么积极作用,按照预设路线行走,漫游切换点没有变化。
    bss_transition 如前所述,终端有自己的切换逻辑,没到它的阈值就算手动发送 bss_transition_request 也没用。
    rzero
        16
    rzero  
       2023-08-18 01:07:47 +08:00
    @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
        17
    cwbsw  
    OP
       2023-08-18 23:19:19 +08:00
    @rzero 已经支持了啊。360T7 已经在 23.05-rc2 了,WR30U 代码也已合并,可以自己编译或者等下一个 RC 。
    rzero
        18
    rzero  
       2023-08-19 23:04:42 +08:00
    @cwbsw 好的!我是在 openwrt 官网的 toh 里没有找到,甚至连设备的页面都没有,我就以为是不支持的。我现在就去编译😭
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5250 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 34ms · UTC 08:54 · PVG 16:54 · LAX 00:54 · JFK 03:54
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.