对于不使用 BSSID 的特定 WiFi 网络 (SSID) 或所有网络,更喜欢 5GHz 而非 2.4Ghz 频段?

对于不使用 BSSID 的特定 WiFi 网络 (SSID) 或所有网络,更喜欢 5GHz 而非 2.4Ghz 频段?

对于特定 wifi 网络 (SSID),有没有一种方法可以优先使用 5GHz 频段而不是 2.4GHz 频段(无需完全禁用 2.4GHz),而无需设置 BSSID 或为所有网络设置失败?

我正在使用 Mint 18.3 和 Cinnamon 3.6.7 的网络管理器。

我有一台新的戴尔 XPS 13。内核是 4.13.0-26-generic。

lspci | grep -i wireless
3a:00.0 Network controller: Qualcomm Atheros QCA6174 802.11ac Wireless Network Adapter (rev 32)

背景:路由器位于办公室,因此我无法更改其设置。我只能在笔记本电脑上做事。我所考虑的不仅仅是漫游,而是初始连接。当我在办公桌上连接到办公室的 SSID 时,我希望它优先选择 5GHz 而不是 2.4GHz(因为 5GHz 信号更强),但现在它默认连接到 2.4GHz。虽然我可以将 BSSID 设置为在我的办公桌上运行良好的特定 5GHz,但这不​​是一个好的解决方案,因为如果我确实在建筑物内移动,我必须再次取消设置以允许漫游工作。 IT 支持人员建议我在 Windows 中选择更喜欢的 5GHz 选项,但我运行的是 Linux。

对于 Windows:在任务栏右侧 > 右键单击​​网络图标 选择打开网络和共享中心 选择更改适配器设置 查找您的 Wi-Fi 连接(您的连接将有所不同) 右键单击​​,属性 > 配置 > 首选频段为 5.2GHz单击“确定”

答案1

您正在处理 Wifi 协议的限制。

像 Meru 这样的一些企业 WiFi 供应商已经制定了非标准的技术缓解措施来应对这种限制,因为通常将这种决定留给客户并不是理想的情况,即使如此,他们也不是没有问题。

对于某些解决方案,例如 OpenWRT 或其他企业解决方案,您可以定义阈值点/距离,AP 将强制客户端设备从 5GHz 下降到 2.4GHz;然而,已经下降到 2.4GHz 频段的漫游客户端再次回到 AP 附近时,不能保证回到 5GHz无需用户干预。 Meru 控制器/AP 有一种措施/黑客尝试在这些情况下强制客户端设备移回 5GHz,这会产生很多问题。

至于戴尔 XPS 13,它已知存在 wifi 问题,因为 USB C 接口就在 wifi 旁边。戴尔在第 3 代或第 4 代硬件中没有采取任何措施,除了在后面的型号中在两个设备之间放置铝箔,并部署一个不幸的固件补丁以降低所有型号中 wifi 接口的最大允许效力。

最多在linux端,您可以在白名单SSID中每隔几分钟监控一次连接处于2.4GHz模式的wifi接口,并在质量更好时强制断开连接;这是一个丑陋的黑客,我不会走这条路。

通常,为客户端提供更多控制以在 2.4GHz 和 5GHz 之间进行选择的解决方案是为两种技术提供不同的 SSID。

话虽如此,我家里的两个设备都具有相同的 SSID,而在 OpenWRT AP 端,5GHz 客户端被迫下降到 2.4GHz 频段(因为墙壁)的 7 米阈值。

要指定 5GHz 和 2.4GHz 频段之间初始扫描的优先级,您可以将/etc/wpa_supplicant.conf以下指令添加到文件中:

scan_freq=5500 5520 ...

或者

freq_list=....

然而,我实际上不知道您的基础设施放置在那里的适当频率值。寻求 IT 团队的建议。我会捏造正常值,将其活动频率放在第一位。

答案2

虽然不是针对特定SSID,但是(鉴于这里缺乏答案)iwd一般来说,您可以引导后端选择 5Ghz 而不是 2.4Ghz。

iwd是一个替代方案(默认wpa_supplicantWiFi 后端。NetworkManager 集成iwd仍处于实验阶段,因此功能上可能存在一些差距,但对于基本的 WiFi 使用来说,它似乎工作得很好。

iwd与 2.4Ghz 相比,您已经更喜欢 5Ghz,但您可以进一步强制执行。BandModifier5Ghz选项,一个浮点值,可提高 5Ghz 点相对于 2.4Ghz 和 6Ghz 的优先级。默认为1.0.在下面的示例中,我将其设置为9.0,在我的实验中,这似乎足以阻止它回落到 2.4Ghz。

示例:创建文件/etc/iwd/main.conf

[Rank]
BandModifier5Ghz=9.0

…然后重新启动iwd。 NM自己重启的时候好像没有重启(正如我提到的,集成仍在进行中),所以最简单的方法可能就是重新启动。


1:确切的上限没有记录。看着在源头,它通过将BandModifier5Ghz与网络利用率等其他因素相乘来进行一些复杂的计算。但是,在同一个函数中,它将值限制为USHRT_MAX,因此如果您想尽可能高,您可以设置BandModifier5Ghz=65535 (我测试过可以用)

相关内容