Como impedir que o gerenciamento de energia do iwconfig seja ativado?

37

Sou afetado por este bug: 869502 .

Uma solução alternativa que parece interromper o pânico do kernel para mim é desabilitar o gerenciamento de energia wlan0:

sudo iwconfig wlan0 power off

No entanto, parece ativar automaticamente o gerenciamento de energia quando eu desconecto o cabo de alimentação e penso em muitas outras ocasiões também.

Existe algo que pode estar causando isso? Alguém sabe como posso evitá-lo?

Alex
fonte
11
7 anos e contando. isso é um erro ou uma característica?
Ufos

Respostas:

25

O gerenciamento de energia sem fio é executado por um gancho pm-utils. Você pode desativá-lo de qualquer uma das seguintes maneiras:

Crie um arquivo no /etc/pm/config.d. Eu o nomeei na lista negra:

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

e dentro do arquivo mantenha:

HOOK_BLACKLIST="wireless"

Se você deseja desativar outros ganchos, os ganchos padrão estão localizados em /usr/lib/pm-utils/power.d/.

OU

Você pode apenas criar um gancho vazio em um /etc/pm/sleep.dou em /etc/pm/power.d. Veja qual funciona para você. ie

Apenas faça

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

OU

sudo touch /etc/pm/power.d/wireless
sagarchalise
fonte
Eu usei o primeiro método. Está funcionando. Obrigado!
5111 Alex
2
Nenhum dos métodos funciona para mim.
Mihai Capotă
11
poderíamos fazer chmod -x /usr/lib/pm-utils/power.d/wireless?
Emad Arshad Alam
23

Digite iwconfige observe a saída. Você deve ver o nome do seu chipset e se o gerenciamento de energia está ativado ou desativado. Se não diz, provavelmente está desligado.

Para desativar o gerenciamento de energia, vá para /etc/NetworkManager/conf.d/default-wifi-powersave-on.confe você verá

[connection]
wifi.powersave = 3

Mude 3para para 2e reinicie.

Em seguida, execute iwconfige se funcionou, você deverá ver Power Management:off.

Fonte: https://sites.google.com/site/easylinuxtipsproject/internet

user3273814
fonte
Isso pareceu desativar meu gerenciamento de energia!
user3273814
esta também parece ser o caminho certo para fazê-lo
Ufos
Isso funcionou para mim no Ubuntu 17.10. Parece muito mais direto e facilmente reversível do que as outras abordagens (por exemplo, lista negra).
josephwb
22

Se desligar o gerenciamento de energia da interface sem fio acelera a Internet da seguinte maneira:

sudo iwconfig wlan0 power off

Para torná-lo permanente, execute o comando da seguinte maneira:

  1. cd /etc/pm/power.d

  2. sudo gedit wifi_pwr_off

    Isso abrirá um arquivo vazio, copie o código abaixo para ele:

    #!/bin/sh 
    /sbin/iwconfig wlan0 power off
    
  3. Salve o arquivo, lembre-se de

    sudo chmod +x wifi_pwr_off
    

    e reinicie.

Atul Kakrana
fonte
2
Quando escrevo, sudo iwconfig wlan0 power offrecebo esta mensagem: Erro na solicitação sem fio "Definir gerenciamento de energia" (8B2C): SET falhou no dispositivo wlan0; Não existe esse dispositivo.
Murhaf Sousli
3
Execute o iwconfig sem nenhum argumento sudo iwconfige verifique qual interface possui extensão sem fio. Às vezes é eth1.
Dilawar 26/03
6

Minha maneira preferida é adicionar a seguinte linha nas /etc/network/interfacesconfigurações da minha interface sem fio:

post-up iwconfig wlan0 power off

Aqui está um exemplo completo:

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

Observe que man interfaceso comportamento de post-uppode mudar no futuro.

RobM
fonte
Essa solução é muito melhor do que programar um desligamento. As soluções que envolvem uma suspensão antes do desligamento é que, se o cliente não conseguir se associar antes que a suspensão expire, a wlan0 permanecerá inativa, mesmo quando a rede estiver dentro do alcance.
MerlinTheMagic 22/09
Esta opção funciona como um encanto no Raspbian Stretch. Para mim é a melhor opção.
Jagoliveira
3

Por alguma razão, as soluções mais votadas não funcionaram para mim e o gerenciamento de energia continuou ligando novamente. Acabei fazendo o seguinte:

sudo gedit /etc/rc.local

E adicionou a seguinte linha antes exit 0:

( sleep 30 && iwconfig wlan0 power off )&

Isso desativa o gerenciamento de energia 30 segundos após o login ...

Edit: Na verdade, isso não foi suficiente. Continuei tentando várias coisas, incluindo https://askubuntu.com/a/614245, que acho que resolveu meu problema (espero).

Anis Abboud
fonte
3

Outra abordagem é adicionar uma diretiva explícita ( wireless-power) para controlar o gerenciamento de energia no /etc/network/interfacesarquivo de configuração (por exemplo, desabilite-o para wlan0 com DHCP):

auto wlan0
iface wlan0 inet dhcp     
  wireless-power off
Pierz
fonte
1

Ótimo conselho. 'sudo iwconfig wlan0 power off' parece a única maneira de obter o funcionamento do meu módulo ath9k (com o kernel 3.2 - curiosamente no kernel> 3.5, parece não haver problema, mas os kernels devido aos problemas de suspensão para ram / disco com Infelizmente, o amd64 parece não ser possível, infelizmente.. :-()

J.-S. Farinet
fonte
1

Uma abordagem melhor (pelo menos no Ubuntu 16.04) é criar /etc/network/if-up.d/wifi-powerman-offcom o seguinte conteúdo:

#!/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

e defini-lo como executável. O gerenciamento de energia será desativado a partir da próxima vez que você se conectar a uma rede.

Isso funciona bem com o NetworkManager.

Carmine Paolino
fonte
Eu espero que isto funcione. Espero, espero, espero !!! Cansado de Linux jogando minha conexão wifi em momentos aleatórios. / rant Ubuntu 16.04 tem alguns problemas importantes aqui / endrant
RyanNerd 8/16
Não, não funcionou. Intel 7260 é uma porcaria! Eu desisti.
RyanNerd
1

Se você usar laptop-mode-tools, poderá desativar o gerenciamento de energia sem fio editando /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
chriscz
fonte
0

Eu criei o seguinte serviço systemd para eliminar PERSISTENTEMENTE o Gerenciamento de energia no WiFi durante as reinicializações. Testado e conhecido por funcionar. Basta colar o script bash abaixo em um arquivo, chmod 700o arquivo e 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
F1Linux
fonte