您会发现很多人询问如何让他们的笔记本电脑/台式机使用 802.11n,但出于某种原因,它坚持仍然使用 802.11g 和支持 802.11n 的 wifi 接入点。
即他们想要使用比他们的机器当前使用的更快的 802.11 版本。
我想做相反的事情 - 我有一个使用混合模式的 AP,并且我所有的客户端当前都使用最快的变体(即 802.11n)进行连接 - 但现在我想强制一些他们中使用速度较慢的变体。
我想根据每个客户端执行此操作,而不是强制 AP 停止为所有客户端提供 n 支持。
我的印象是,这在任何与我相关的客户端平台(Mac,Windows和Linux)上都不容易做到,因此才有这个问题。
我为什么要这样做?我有奇怪的嵌入式设备,它们在监控模式下运行并留意客户端和 AP 之间的 UDP 流量(即客户端不通过 AP 直接与设备通信),并且设备仅支持 b 和 g。
因此,需要与这些设备交互的客户端需要使用设备能够理解的变体之一(即 b 或 g)连接到 AP。
这种奇怪的设置意味着客户端不需要配置就能知道嵌入式设备的地址(如果使用安全性,嵌入式设备显然需要配置才能知道 AP 的密码,并且如果他们想解密流量)。注意:AP 实际上完全忽略了 UDP 数据包 - 它们的唯一目的是传输嵌入式设备可以看到的信息。
如果将 UDP 数据包发送到嵌入式设备,则不会出现问题。UDP 流量将通过 802.11n 从我的客户端传输到 AP,然后由 AP 重新传输到使用 802.11g 的设备。因此,我们不需要知道设备的地址,但我们在使用 AP 支持的 802.11 变体方面失去了灵活性。
有人可能会说,设备可以使用例如 wifi 探测器中编码的信息来实现同样的目的,从而避免这个问题,但我必须接受目前的情况。
谢谢 - 抱歉问了一个涉及多个操作系统的问题,我知道人们可能只能回答他们熟悉的操作系统。
答案1
获得您想要的东西的简单方法是另一个接入点。让一个做 n,另一个做 b/g,或者让一个做 b/g/n,另一个只做 b/g - 并将“您需要以这种方式通信的特定设备”连接到 b/g(唯一)的那个。
虽然您似乎在寻求一种涉及对客户端计算机进行细微系统调整的答案,但实际上,另一个接入点的价格将远远低于尝试这样做所花费的时间和麻烦 - 而且我并不完全确定它是否可行(即,接入点提供的内容是可变的 - 而我所了解的操作系统似乎没有任何直接的选项来降低其访问权限,除了将它们降级为只能执行 b/g 的硬件) - 这可能是另一种方法,但我认为仍然会花费更多。也就是说,您可以禁用内部无线并插入仅 USB b/g 的设备。
在某些特定情况下可能能够用在硬件上支持 b/g 的非 n 驱动程序替换内置 b/g/n 的驱动程序,但我怀疑这在一般意义上是否无缝和/或可靠,我甚至没有这样的例子 - 这只是想到的一个想法。
答案2
Linux 确实支持这一点,但方式不同。对于某些卡,可以专门禁用 802.11n——模块有一个选项“11n_disable”。您还可以使用 iwconfig 强制比特率——强制任何兼容 b 或 g 的速度,它就会运行 b 或 g,例如“iwconfig wlan0 rate 11”强制 11mbps 操作。
第三种方法,如果这些数据包实际上没有去任何地方,而只是嗅探内容,您可以使用广播或多播地址吗?为了确保网络上的所有设备都可以检测到广播和多播数据包,这些数据包被单独处理并以“基本速率”传输。802.11、802.11b 和 802.11g 设备这些“基本速率”通常为 1 和 2mbps。较新的 802.11g 和 802.11n 设备“基本速率”通常为 1、2、5.5 和 11mbps。因此,这些 802.11g 设备始终可以看到此流量。常规流量仍以卡、AP 和无线电条件支持的最佳速度运行。
答案3
在 Windows 中,如果您的无线适配器和安装的驱动程序都可以做到这一点,则很可能可以在设备管理器中访问它。展开网络适配器部分,右键单击无线适配器,然后单击属性。在高级选项卡下,您应该会看到类似这样的(我的例子是有线以太网适配器)。查看每个属性,看看是否可以更改那里的无线电类型。