Как я могу предотвратить включение управления питанием 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вместо этого?
Эмад Аршад Алам

23

Введите iwconfigи посмотрите на вывод. Вы должны увидеть название вашего чипсета, а также то, включено или выключено управление питанием. Если это не говорит, это вероятно выключено.

Чтобы отключить управление питанием, перейдите к /etc/NetworkManager/conf.d/default-wifi-powersave-on.confи вы увидите

[connection]
wifi.powersave = 3

Изменение 3к 2и перезагрузке.

Затем беги, iwconfigи если это сработало, ты должен увидеть Power Management:off.

Источник: https://sites.google.com/site/easylinuxtipsproject/internet


Это, казалось, отключило мое управление питанием!
user3273814 15.12.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; Нет такого устройства.
Мурхаф Сусли

3
Запустите iwconfig без каких-либо дополнений sudo iwconfigи проверьте, какой интерфейс имеет беспроводное расширение. Иногда это так eth1.
Dilawar

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файле конфигурации (например, отключите его для wlan0 с DHCP):

auto wlan0
iface wlan0 inet dhcp     
  wireless-power off

1

Отличный совет. sudo iwconfig wlan0 power off, кажется, единственный способ обеспечить стабильную работу моего модуля ath9k (с ядром 3.2 - любопытно, что в ядре> 3.5 проблем не возникает, но с ядрами из-за проблем с приостановкой к памяти / диску с К сожалению, 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, бросающего мое соединение Wi-Fi в случайное время. / rant В Ubuntu 16.04 есть некоторые серьезные проблемы / endrant
RyanNerd

Нет не работал. Intel 7260 это кусок дерьма! Я сдался.
RyanNerd

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
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.