iwconfigの電源管理がオンにならないようにするにはどうすればよいですか?


37

私は、このバグの影響を受けています:869502

カーネルパニックを停止させると思われる回避策は、wlan0電源管理を無効にすることです。

sudo iwconfig wlan0 power off

ただし、電源ケーブルを抜くと自動的に電源管理がオンに戻るようで、他にも何度も考えています。

これを引き起こしている可能性のあるものはありますか?誰も私がそれを防ぐ方法を知っていますか?



1
7年と数えます。これはバグですか、それとも機能ですか?
Ufos

回答:


25

ワイヤレス電源管理は、のフックによって実行されpm-utilsます。次のいずれかの方法でオフにできます。

でファイルを作成します/etc/pm/config.d。私はそれをブラックリストと名付けました:

gksu gedit /etc/pm/config.d/blacklist

そして、ファイル内に保持します:

HOOK_BLACKLIST="wireless"

他のフックを無効にする場合、デフォルトのフックはにあります/usr/lib/pm-utils/power.d/

または

/etc/pm/sleep.dまたはのいずれかで空のフックを作成できます/etc/pm/power.d。どれがあなたに合っているかを見てください。すなわち

ただやる

sudo touch /etc/pm/sleep.d/wireless

または

sudo touch /etc/pm/power.d/wireless

最初の方法を使用しました。動いています。ありがとう!
アレックス

2
どの方法も私には役に立たない。
ミハイカポタ

1
chmod -x /usr/lib/pm-utils/power.d/wireless代わりにできますか?
エマドArshadアラム

23

入力iwconfigして出力を確認します。チップセットの名前と、電源管理がオフかオンかが表示されます。言わない場合、おそらくオフです。

電源管理をオフにするには、に移動する/etc/NetworkManager/conf.d/default-wifi-powersave-on.confと表示されます

[connection]
wifi.powersave = 3

に変更し32再起動します。

それから実行iwconfigし、それが機能した場合、表示されるはずPower Management:offです。

ソース:https : //sites.google.com/site/easylinuxtipsproject/internet


これで電源管理がオフになったようです!
user3273814 16

これも正しい方法のようです
-Ufos

これは、Ubuntu 17.10で機能しました。他のアプローチ(ブラックリスト登録など)よりもはるかに簡単で可逆的であるようです。
-josephwb

22

ワイヤレスインターフェイスの電源管理をオフにすると、次のようにインターネットが高速化されます。

sudo iwconfig wlan0 power off

次のようにコマンドを永続的に実行するよりも:

  1. cd /etc/pm/power.d

  2. sudo gedit wifi_pwr_off

    これは空のファイルを開き、以下のコードをコピーします:

    #!/bin/sh 
    /sbin/iwconfig wlan0 power off
    
  3. ファイルを保存してください。

    sudo chmod +x wifi_pwr_off
    

    そして再起動します。


2
書き込み時sudo iwconfig wlan0 power offにこのメッセージが表示されます。ワイヤレス要求「Set Power Management」のエラー(8B2C):SETはデバイスwlan0で失敗しました。そのようなデバイスはありません。
Murhaf Sousli

3
アグリメントなしでiwconfigを実行しsudo iwconfig、どのインターフェイスにワイヤレス拡張機能があるかを確認します。時々それはeth1
ディラワー

6

私の優先する方法は/etc/network/interfaces、ワイヤレスインターフェイスの設定に次の行を追加することです。

post-up iwconfig wlan0 power off

完全な例を次に示します。

auto wlan0
iface wlan0 inet static
 address 192.168.1.2
 network 192.168.1.0
 netmask 255.255.255.0
 broadcast 192.168.1.255
 gateway 192.168.1.254
 post-up iwconfig wlan0 power off
 wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

man interfacesの動作はpost-up将来変更される可能性があることに注意してください。


このソリューションは、電源オフのスクリプトを作成するよりもはるかに優れています。電源オフ前のスリープに関連する解決策は、スリープが期限切れになる前にクライアントがアソシエートしなかった場合、ネットワークが範囲内になった場合でもwlan0がダウンしたままになることです。
MerlinTheMagic

このオプションは、Raspbian Stretchのチャームのように機能します。私にとってはより良い選択肢です。
Jagoliveira

3

何らかの理由で、トップ投票のソリューションは私にとってはうまくいかず、電源管理は再びオンになりました。私は次のことをしました:

sudo gedit /etc/rc.local

前に次の行を追加しましたexit 0

( sleep 30 && iwconfig wlan0 power off )&

ログイン後30秒で電源管理がオフになります...

編集:実際にはそれだけでは不十分でした。私は問題を解決したと思うhttps://askubuntu.com/a/614245を含むたくさんのものを試し続けました(願っています)。


3

別のアプローチは、明示的なディレクティブ(wireless-power)を追加して、/etc/network/interfaces構成ファイルの電源管理を制御することです(たとえば、DHCPでwlan0に対して無効にする)。

auto wlan0
iface wlan0 inet dhcp     
  wireless-power off

1

素晴らしいアドバイス。「sudo iwconfig wlan0 power off」が私のath9kモジュールを安定して動作させる唯一の方法のようです(カーネル3.2-不思議なことにカーネル> 3.5では問題はないようですが、そのカーネルはRAM /ディスクへのサスペンドの問題のため残念ながら、amd64は手に入らないように思われます... .. :-()


1

より良いアプローチ(少なくともUbuntu 16.04では)は/etc/network/if-up.d/wifi-powerman-off、次の内容で作成することです:

#!/bin/sh

IWCONFIG=/sbin/iwconfig
WLAN_IFACE=<your wireless device here>

if [ ! -x $IWCONFIG ]; then
    exit 1
fi

if [ "$IFACE" = $WLAN_IFACE ]; then
    $IWCONFIG $IFACE power off
fi

実行可能として設定します。次回ネットワークに接続すると、電源管理はオフになります。

これはNetworkManagerでうまく機能します。


これがうまくいくことを願っています。願う、願う、願う!!! LinuxがランダムにWiFi接続をするのにうんざりしています。/ rant Ubuntu 16.04にはいくつかの大きな問題があります/ endrant
RyanNerd

いいえ、動作しませんでした。Intel 7260はがらくたです!私は断念しました。
ライアンナード

1

を使用する場合はlaptop-mode-tools、編集してワイヤレス電源管理を無効にできます/etc/laptop-mode/conf.d/wireless-iwl-power.conf(Ubuntu 14.04):

# Control Intel IWL wireless power?
# Set to 0 to disable
CONTROL_IWL_POWER=0

0

次のsystemdサービスを作成して、再起動後にWiFiの電源管理を常に強制終了します。テスト済みで動作することが確認されています。以下のbashスクリプトをファイルに貼り付けてchmod 700、ファイルとsudo ./yourFileName.sh

if [ -d /root/scripts ]; then
    mkdir /root/scripts
fi

apt-get -y install iw
apt-get -y install wireless-tools

cat <<EOF> /root/scripts/pwr-mgmnt-wifi-disable.sh
#!/bin/bash
iw dev wlan0 set power_save off
EOF

chmod 700 /root/scripts/pwr-mgmnt-wifi-disable.sh


cat <<EOF> /etc/systemd/system//pwr-mgmnt-wifi-disable.service
[Unit]
Description=Disable WiFi Power Management
Requires=network-online.target
After=hostapd.service

[Service]
User=root
Group=root
Type=oneshot
ExecStart=/root/scripts/pwr-mgmnt-wifi-disable.sh

[Install]
WantedBy=multi-user.target

EOF

chmod 644 /etc/systemd/system/pwr-mgmnt-wifi-disable.service

systemctl enable pwr-mgmnt-wifi-disable.service
systemctl start pwr-mgmnt-wifi-disable.service
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.