Come posso impedire l'attivazione della gestione dell'alimentazione di iwconfig?


37

Sono interessato da questo errore: 869502 .

Una soluzione alternativa che sembra fermare il panico del kernel per me è disabilitare la gestione dell'alimentazione di wlan0:

sudo iwconfig wlan0 power off

Tuttavia, sembra che riattivi automaticamente la gestione dell'alimentazione quando scollego il cavo di alimentazione e penso anche molte altre volte.

C'è qualcosa che potrebbe causare questo? Qualcuno sa come posso evitarlo?



1
7 anni e oltre. È un bug o una funzionalità?
Ufo

Risposte:


25

Il powermanagement wireless è gestito da un hook in pm-utils. Puoi disattivarlo in uno dei seguenti modi:

Crea un file in /etc/pm/config.d. L'ho chiamato nella lista nera:

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

e all'interno del file conservare:

HOOK_BLACKLIST="wireless"

Se si desidera disabilitare altri hook, gli hook predefiniti si trovano in /usr/lib/pm-utils/power.d/.

O

Puoi semplicemente creare un hook vuoto in uno /etc/pm/sleep.do /etc/pm/power.d. Vedi quale funziona per te. vale a dire

Basta fare

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

O

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

Ho usato il primo metodo. Sta funzionando. Grazie!
Alex,

2
Nessuno dei metodi funziona per me.
Mihai Capota

1
potremmo fare chmod -x /usr/lib/pm-utils/power.d/wirelessinvece?
Emad Arshad Alam,

23

Digita iwconfige guarda l'output. Dovresti vedere il nome del tuo set di chip e se la gestione dell'alimentazione è disattivata o attivata. Se non lo dice, è probabilmente spento.

Per disattivare la gestione dell'alimentazione, vai a /etc/NetworkManager/conf.d/default-wifi-powersave-on.confe vedrai

[connection]
wifi.powersave = 3

Cambia 3in a 2e riavvia.

Quindi esegui iwconfige se ha funzionato dovresti vedere Power Management:off.

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


Questo sembrava spegnere la mia gestione dell'alimentazione!
user3273814

anche questo sembra essere il modo giusto per farlo
Ufos

Questo ha funzionato per me su Ubuntu 17.10. Sembra molto più semplice e facilmente reversibile rispetto agli altri approcci (es. Lista nera).
josephwb,

22

Se la disattivazione della gestione dell'alimentazione per l'interfaccia wireless accelera Internet in questo modo:

sudo iwconfig wlan0 power off

Che per renderlo permanente eseguire il comando come segue:

  1. cd /etc/pm/power.d

  2. sudo gedit wifi_pwr_off

    Questo aprirà un file vuoto, copia il codice qui sotto in esso:

    #!/bin/sh 
    /sbin/iwconfig wlan0 power off
    
  3. Salva il file, ricorda di

    sudo chmod +x wifi_pwr_off
    

    e riavviare.


2
Quando scrivo sudo iwconfig wlan0 power offricevo questo messaggio: Errore per la richiesta wireless "Imposta gestione energia" (8B2C): SET non riuscito sul dispositivo wlan0; Nessun apparecchio di questo tipo.
Murhaf Sousli,

3
Esegui iwconfig senza alcun attrezzo sudo iwconfige controlla quale interfaccia ha l'estensione wireless. A volte lo è eth1.
Dilawar,

6

Il mio modo preferito è aggiungere la seguente riga /etc/network/interfacesalle impostazioni della mia interfaccia wireless:

post-up iwconfig wlan0 power off

Ecco un esempio 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

Si noti che man interfacesil comportamento di post-uppotrebbe cambiare in futuro.


Questa soluzione è di gran lunga migliore rispetto allo spegnimento di uno scripting. Le soluzioni che coinvolgono un sonno prima dello spegnimento sono che se il client non riesce ad associarsi prima che il sonno scada, wlan0 rimane inattivo, anche quando la rete rientra nel raggio di portata.
MerlinTheMagic,

Questa opzione funziona come un incantesimo su Raspbian Stretch. Per me è l'opzione migliore.
Jagoliveira,

3

Per qualche motivo, le soluzioni più votate non hanno funzionato per me e la gestione dell'alimentazione ha continuato a riaccendersi. Ho finito per fare quanto segue:

sudo gedit /etc/rc.local

E prima ho aggiunto la seguente riga exit 0:

( sleep 30 && iwconfig wlan0 power off )&

Ciò disattiva la gestione dell'alimentazione 30 secondi dopo l'accesso ...

Modifica: in realtà non era abbastanza. Ho continuato a provare un sacco di cose, tra cui https://askubuntu.com/a/614245 che penso abbia risolto il mio problema (spero).


3

Un altro approccio è quello di aggiungere una direttiva esplicita ( wireless-power) per controllare la gestione dell'alimentazione nel /etc/network/interfacesfile di configurazione (ad es. Disabilitarlo per wlan0 con DHCP):

auto wlan0
iface wlan0 inet dhcp     
  wireless-power off

1

Ottimo consiglio 'sudo iwconfig wlan0 power off' sembra l'unico modo per far funzionare stabilmente il mio modulo ath9k (con kernel 3.2 - curiosamente in kernel> 3.5 sembra che non ci siano problemi, ma che i kernel a causa dei loro problemi di sospensione su RAM / disco con amd64 sembra essere un non andare, purtroppo ... :-()


1

Un approccio migliore (almeno su Ubuntu 16.04) è quello di creare /etc/network/if-up.d/wifi-powerman-offcon i seguenti contenuti:

#!/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 impostarlo come eseguibile. La gestione dell'alimentazione verrà disattivata al successivo collegamento a una rete.

Funziona bene con NetworkManager.


Spero che funzioni. Spero, spero, spero !!! Stanco di Linux che lancia la mia connessione wifi in momenti casuali. / rant Ubuntu 16.04 presenta alcuni problemi importanti qui / endrant
RyanNerd

No, non ha funzionato. Intel 7260 è un pezzo di merda! Ho rinunciato.
RyanNerd,

1

Se lo usi laptop-mode-tools, puoi disabilitare la gestione dell'alimentazione wireless modificando /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

Ho creato il seguente servizio systemd per uccidere PERSISTENTAMENTE Power Management su WiFi durante i riavvii. Testato e noto per funzionare. Basta incollare lo script bash di seguito in un file, chmod 700il file 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
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.