Отключение функции энергосбережения на устройстве Wi-Fi
Я использую USB-адаптеры Wi-Fi с чипсетом AR9271 и использую драйвер Compat 3.9.1 - ath9k_htc
, Я использую модули Wi-Fi, чтобы создать специальный WLAN.
Когда в течение некоторого времени нет связи, узлы покидают сеть и переходят в спящий режим. Это вызывает проблему в случае, если узел отправляет пакет UDP, спящие не могут его получить. они просто воссоединяются с сетью в первом пакете, и соединение занимает некоторое время. Поэтому я пропускаю некоторые сообщения, чтобы получить.
Как я могу отключить, чтобы ни один узел не покинул сеть, несмотря ни на что?
По некоторым причинам я искал другой метод, чем iw dev wlan0 set power_save off
, Было бы идеально, если это возможно сделать через wpa_supplicant
(2.0) или что-нибудь еще.
1 ответ
Создание правила 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"
Конечно, вам может понадобиться перезагрузить udev или перезагрузиться, чтобы изменения вступили в силу.
Возможно, существуют демоны и / или утилиты управления беспроводной сетью, которые предоставляют те же функциональные возможности (например, установите флажок или введите --power-save), но я не смог ничего найти. Если бы вы нашли такую программу, они, скорее всего, сделали бы один и тот же вызов iw
ты пытаешься избежать.
Сайт модуля ядра ath9k_htc предлагает немного информации:
Отключенные функции
ath9k_htc использует функцию Autosleep беспроводной карты. В драйвере реализована базовая поддержка PS, но по умолчанию она отключена.
Эта часть может быть полезна и вам:
Режимы AP / P2P
Патчи, включающие режимы P2P / AP, были объединены в беспроводном тестировании, это будет часть драйвера от Linux 3.0. Было бы неплохо использовать только один VIF (виртуальный интерфейс), работающий в режиме AP, поддержка нескольких интерфейсов не была тщательно протестирована. Примечание. PowerSave пока не поддерживается должным образом.
Источник: https://wiki.archlinux.org/index.php/Power_saving
Источник: http://wireless.kernel.org/en/users/Drivers/ath9k_htc