禁用 wifi 设备上的省电选项

Ang*_*ngs 7 linux wireless-networking power-management

我使用具有 AR9271 芯片组的 USB wifi 加密狗并使用兼容驱动程序 3.9.1 - ath9k_htc。我使用 wifi 单元来创建一个临时 wlan。

当一段时间没有通信时,节点离开网络并进入睡眠模式。如果节点发送 UDP 数据包,休眠的节点无法接收它,则会导致问题。他们只是在第一个包中重新加入网络,重新加入需要一些时间。因此,我错过了一些要接收的消息。

我怎样才能禁用无论如何没有节点会离开网络?

由于某些原因,我正在寻找 iw dev wlan0 set power_save off. 如果可以通过wpa_supplicant(2.0)或其他任何方式来做到这一点,那将是完美的。

Joe*_*Joe 6

创建一个在设备插入时自动关闭省电模式的 udev 规则可能会降低优势。

创建/etc/udev/rules.d/70-wifi-powersave.rules

ACTION=="add", SUBSYSTEM=="net", KERNEL=="wlan*" RUN+="/usr/bin/iw dev %k set power_save off"
Run Code Online (Sandbox Code Playgroud)

当然,您可能需要重新加载 udev 或重新启动才能使更改生效。

也许有提供相同功能的无线网络管理守护进程和/或实用程序(即单击复选框或传递 --power-save),但我找不到任何东西。如果您确实找到了这样的程序,他们很可能会包装iw您试图避免的相同调用。

不过,ath9k_htc 内核模块网站确实提供了一些信息:

禁用功能

ath9k_htc 使用无线网卡的 Autosleep 功能。驱动程序中已经实现了基本的 PS 支持,但默认情况下是禁用的。

这部分也可能对您有用:

AP/P2P 模式

启用 P2P/AP 模式的补丁已合并到无线测试中,它将成为 Linux 3.0 驱动程序的一部分。目前只使用一个在 AP 模式下运行的 VIF(虚拟接口)是一个好主意,多接口支持尚未经过广泛测试。注意:PowerSave 尚未得到正确支持。

来源:https : //wiki.archlinux.org/index.php/Power_saving#Network_interfaces

来源:http : //wireless.kernel.org/en/users/Drivers/ath9k_htc