0

Linux でワイヤレス カードをスリープ状態にするスクリプトを作成しようとしています。そのために、次のdeepsleepコマンドを使用していiwprivます:

iwpriv wlan0 deepsleep 1

問題は、このコマンドが機能するのは、ワイヤレス カードが切断され、関連付けが解除されている場合に限られることです。接続されている場合は、切断すると自動的に関連付けが解除されるため、問題はありません。しかし、切断されていると、暗号化されていないネットワークに自動的に関連付けられる (接続されない) 場合があるため、iwprivコマンドを実行できません。私が見つけた唯一の修正は、モードを最初に Ad-Hoc に変更してから、カードをスリープする前に Managed に変更することです。

iwconfig wlan0 mode ad-hoc
iwconfig wlan0 mode managed
iwpriv wlan0 deepsleep 1

しかし、それは少し難しいと思います。

Linuxでワイヤレスカードの関連付けを解除するより直接的な方法はありますか?

4

3 に答える 3

1

多くのドライバーは、NULLAPに関連付けると現在のAPから切断されるという規則を使用します。これに少しの遅延を追加すると、必要なものが得られる可能性があります。例えば、

iwconfig wlan0 ap 00:00:00:00:00:00
sleep 1
iwpriv wlan0 deepsleep 1

通常、APから切断するのに250〜500ミリ秒以上かかることはありませんが、フラクショナルスリープコマンド(例:sleep 0.25)は移植性がありません。

于 2008-11-29T05:21:48.720 に答える
0

ifconfig wlan0 down すると解離しませんか?

于 2008-10-21T14:29:46.833 に答える
0

解決策はありませんが、カードの ESSID をランダムな文字列に設定して、近くのアクセス ポイントがその ESSID を使用していないことを確認してください。これにより、見つかった暗号化されていないネットワークへの自動接続が防止されます。解決策ではありませんが、おそらくより良いバンドエイドです。

于 2008-10-21T12:05:32.787 に答える