私はAR9271チップセットを搭載したUSBWi-Fiドングルを使用し、互換ドライバー3.9.1-ath9k_htc
を使用しています。私はwifiユニットを使用してアドホックWLANを作成します。
しばらく通信がない場合、ノードはネットワークを離れてスリープモードになります。これにより、ノードがUDPパケットを送信した場合、スリープ状態のノードはそれを受信できないという問題が発生します。最初のパッケージでネットワークに再参加するだけで、再参加には時間がかかります。したがって、私は受信するいくつかのメッセージを逃します。
何があってもノードがネットワークを離れないようにするにはどうすればよいですか?
いくつかの理由で私は以外の方法iw dev wlan0 set power_save off
を探しています。 wpa_supplicant
(2.0)または他の何かを介してそれを行うことができれば完璧でしょう。
デバイスが接続されたときに省電力モードを自動的にオフにするudevルールを作成すると、Edgeがオフになる場合があります。
作成/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カーネルモジュールのWebサイトでは、次のような情報が提供されています。
無効な機能
ath9k_htcは、ワイヤレスカードの自動スリープ機能を使用します。基本的なPSサポートがドライバーに実装されていますが、デフォルトでは無効になっています。
この部分はあなたにも役立つかもしれません:
AP/P2Pモード
P2P/APモードを有効にするパッチがワイヤレステストに統合され、Linux3.0のドライバーの一部になります。今のところ、APモードで実行されているVIF(仮想インターフェイス)を1つだけ使用することをお勧めします。複数のインターフェイスのサポートは、広範囲にわたってテストされていません。注:PowerSaveはまだ適切にサポートされていません。
ソース: https://wiki.archlinux.org/index.php/Power_saving#Network_interfaces