家庭网络小升级 Part II / 双 AP 组网实战:我的 IoT 设备怎么又双叒叕炸了
这篇文章创建于 2023-10-25 日,距今已有 433 天,请注意甄别内容是否已经过时!
0. 前情提要 ~ simple introduction.
如 前文 所说,家里目前有两台路由器:通过 802.11 k/v/r 无线漫游(以下简称 802.11kvr / kvr),可以极大的改善信号质量和网速,即使 K2P 在 5G 下只是能勉强摸到 500Mbps+ 的速度。有总比没有强。
1. 什么是 802.11 kvr ~ What is it?
引用一下 Wikipedia 的描述:- 802.11k: Provides information to discover the best available access point.
- 802.11v: Allows client devices to exchange information about the network topology, including information about the RF environment, making each client network-aware, facilitating overall improvement of the wireless network.
- 802.11r: Permit continuous connectivity aboard wireless devices in motion, with fast and secure client transitions from one Basic Service Set (abbreviated BSS, and also known as a base station or more colloquially, an access point) to another performed in a nearly seamless manner.
- 802.11k 能让设备(Client) 自行搜索附近最佳接入点(AP)。
- 802.11v 允许设备之间交换信息,了解整个网络的状态,协助客户端(Client)漫游。
- 802.11r 在客户端(Client)切换接入点(AP)的时候更快进行认证,实现近乎无缝衔接的漫游。
2. 如何配置 802.11kvr ~ How to do it?
互联网上关于 OpenWrt 配置 802.11kvr 的教程已经不少了,我也参考了相当一部分。在主线 OpenWrt 上操作是相对简单的,你只需要:- 刷入支持无线漫游的固件
- 如果是 OpenWrt / ImmortalWrt,确保已安装支持 802.11kvr 的 wpad & hostapd
- 路由器无线驱动必须支持 802.11kvr
- AP 的防火墙、DHCP 等已配置好
- 必要的情况下,适当降低 AP 发射功率
- 路由器厂商/品牌不重要,但必须用相同类型的固件,比如 MT7981 你用 OpenWrt/ImmortalWrt 这种主线的就都用主线开源驱动的,用 MTK SDK 就用 MTK SDK 的,不要混用,会爆炸的
两台设备的开源驱动均支持 kvr,并且固件预装了支持 802.11kvr 的 hostapd 和 wpad,无须手动操作,仅需要手动开启即可。
首先,登录路由器后台,进入
网络 - 无线
,对 2.4GHz 和 5GHz 频段的 WiFi 进行编辑。这里以 5GHz 为例。后面会对一些配置进行解释。2.4GHz 和 5GHz 保持一样的配置即可,如下:
无线安全:
- 加密:WPA-PSK/WPA2-PSK Mixed Mode(或者 WPA2-PSK,绝对不要选 WPA3-SAE 或 WPA2-PSK/WPA3-SAE Mixed Mode)
- 802.11w 管理帧保护:默认即可,禁用/可选
- 802.11r 快速切换:勾选
- NAS ID:留空
- 移动域:任意四位十六进制数字,默认是按照你 SSID 算 sha256sum 取了四位,所有 AP 上此数值必须一致
- 重关联截止时间:20000
- FT 协议:默认(FT over the Air)
- 本地生成 PMK:取消勾选
- 802.11k RRM:勾选
- 邻居报告:勾选
- 信标报告:勾选
- 时间公告:启用
- 时间区域:CST-8(默认有什么就选什么)
- WMN 睡眠模式:勾选
- WMN 睡眠模式修复:不要勾选
- BSS 过渡:勾选
- 代理 ARP:不要勾选
配置至此告一段落。可以拿着手机开个 WiFiMan / WiFi 魔盒 / WiFi 评测大师 / TP-Link 的 WiFi 百宝箱 什么的看看漫游能不能用了。如果不太工作,比如信号已经非常弱了还是不切 AP,可以降低发射功率看看。如果 WiFi 都断了也死都不切 AP,那么可能需要修改配置。或者换个 AP。
3. 为什么你是这么配的?跟别人的不太一样啊?~ Why the f***?
如标题所说……我的 IoT 设备怎么又**的炸了……我在网上看到的其他教程,有建议开启 WPA3 的,有全勾选的,有说关闭 802.11r 的。众说纷纭,自己实测下来,现在这套配置最为稳定,2.4GHz 和 5GHz 都能连上,老手机和 IoT 设备也都正常。
已知会导致奇奇怪怪的兼容性问题的选项:
- 中文 SSID:这个应该不用我说了。最好别用,有些老设备就是连不上中文 SSID。
- WPA3:可能导致部分(天玑 / MTK Dimensity / IoT)设备无法连接至 AP,2.4/5GHz 都一样。
- 有人说这玩意和 802.11r 冲突,然而我这边实测是即使关闭 11r 也连不上。
- WMN 睡眠模式修复:会导致部分 2.4GHz IoT 设备无法连接至 AP。
- 代理 ARP:会导致(另一)部分 2.4GHz IoT 设备无法连接至 AP。
路由器后台会出现类似这样的日志:
daemon.notice hostapd: phy1-ap0: AP-STA-CONNECTED ........... auth_alg=**ft**
看到出现 ft
字样,说明漫游已经生效了。完事,收工。
请教一下,这个测速的app叫什么,功能很全非常适合测试wifi漫游
实测其实只开kv各种设备或固件混用也没什么问题加密方式一致就行。我现在ImmortalWrt(主路由)+padavan(ap)+小米官方固件ap模式,漫游都没问题。当然,都一样的固件肯定更稳妥。
是的,kv 其实还好,但 r 就不好说了,尤其是考虑到 MTK 有 mtkiappd/ralinkiappd 这么个玩意……
另外开源驱动的 kvr 实现也是个问题……
谢谢。还是想试试mtk閉源方案。我在嘗试跟论壇用mtk sdk 自編21.02的版本。237的源还是18.06,而且直接拉下來也編不了,有文件錯誤。
博主說得明白,難得的人話。
K2P我試了immortal 的23.05rc4及23.05.1,wifi 上傳都不超過200M,下載倒是有400+。請問博主怎樣設置的?
K2P 直接用的 ImmortalWrt 23.05 版本,默认应该开了硬件加速的,没有特意变更设置。
我 K2P 是只当 AP 的,上面没有跑 PPPoE 这些东西,可能也有影响吧。