web-dev-qa-db-ja.com

Wi-Fiデバイスの省電力オプションを無効にする

私はAR9271チップセットを搭載したUSBWi-Fiドングルを使用し、互換ドライバー3.9.1-ath9k_htcを使用しています。私はwifiユニットを使用してアドホックWLANを作成します。

しばらく通信がない場合、ノードはネットワークを離れてスリープモードになります。これにより、ノードがUDPパケットを送信した場合、スリープ状態のノードはそれを受信できないという問題が発生します。最初のパッケージでネットワークに再参加するだけで、再参加には時間がかかります。したがって、私は受信するいくつかのメッセージを逃します。

何があってもノードがネットワークを離れないようにするにはどうすればよいですか?

いくつかの理由で私は以外の方法iw dev wlan0 set power_save offを探しています。 wpa_supplicant(2.0)または他の何かを介してそれを行うことができれば完璧でしょう。

7
Angs

デバイスが接続されたときに省電力モードを自動的にオフにする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

ソース: http://wireless.kernel.org/en/users/Drivers/ath9k_htc

6
Joe