Comment puis-je empêcher l'activation de la gestion de l'alimentation d'iwconfig?


37

Je suis affecté par ce bug: 869502 .

Une solution de contournement qui semble arrêter les paniques du noyau consiste à désactiver la gestion de l'alimentation wlan0:

sudo iwconfig wlan0 power off

Cependant, il semble que la gestion de l’alimentation soit automatiquement réactivée lorsque je débranche le câble d’alimentation et je pense aussi à bien d’autres occasions.

Y a-t-il quelque chose qui pourrait causer ceci? Est-ce que quelqu'un sait comment je peux l'empêcher?



1
7 ans et plus. Est-ce un bug ou une fonctionnalité?
Ufos

Réponses:


25

Powermanagement sans fil est géré par un crochet dans pm-utils. Vous pouvez l'éteindre de l'une des manières suivantes:

Créez un fichier dans /etc/pm/config.d. Je l'ai nommée liste noire:

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

et dans le fichier, gardez:

HOOK_BLACKLIST="wireless"

Si vous souhaitez désactiver d'autres hooks, les hooks par défaut sont situés à /usr/lib/pm-utils/power.d/.

OU

Vous pouvez simplement créer un crochet vide dans /etc/pm/sleep.dou /etc/pm/power.d. Voyez lequel travaille pour vous. c'est à dire

Il suffit de faire

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

OU

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

J'ai utilisé la première méthode. Ça marche. Merci!
Alex

2
Aucune des méthodes ne fonctionne pour moi.
Mihai Capotă

1
pourrions-nous faire à la chmod -x /usr/lib/pm-utils/power.d/wirelessplace?
Emad Arshad Alam

23

Tapez iwconfiget regardez la sortie. Vous devriez voir le nom de votre jeu de puces ainsi que l'activation ou la désactivation de la gestion de l'alimentation. Si ce n'est pas dit, c'est probablement éteint.

Pour désactiver la gestion de l’alimentation, allez à /etc/NetworkManager/conf.d/default-wifi-powersave-on.confet vous verrez

[connection]
wifi.powersave = 3

Changez le 3en a 2et redémarrez.

Puis lancez-vous iwconfiget si cela fonctionne, vous devriez voir Power Management:off.

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


Cela semblait désactiver ma gestion de l'alimentation!
user3273814

cela semble aussi être la bonne façon de le faire
Ufos

Cela a fonctionné pour moi sur Ubuntu 17.10. Cela semble beaucoup plus simple et facilement réversible que les autres approches (par exemple, la liste noire).
josephwb

22

Si désactiver la gestion de l'alimentation pour votre interface sans fil accélère Internet de la manière suivante:

sudo iwconfig wlan0 power off

Que pour en faire une commande d'exécution permanente comme suit:

  1. cd /etc/pm/power.d

  2. sudo gedit wifi_pwr_off

    Cela ouvrira un fichier vide, copiez le code ci-dessous:

    #!/bin/sh 
    /sbin/iwconfig wlan0 power off
    
  3. Enregistrez le fichier, rappelez-vous de

    sudo chmod +x wifi_pwr_off
    

    et redémarrez.


2
Lorsque j’écris, sudo iwconfig wlan0 power offj’obtiens le message suivant: Erreur de requête sans fil "Set Power Management" (8B2C): SET a échoué sur le périphérique wlan0; Aucun tel appareil.
Murhaf Sousli

3
Exécutez iwconfig sans aucun instrument sudo iwconfiget vérifiez quelle interface possède une extension sans fil. Parfois c'est eth1.
Dilawar

6

Ma méthode préférée consiste à ajouter la ligne suivante dans /etc/network/interfacesles paramètres de mon interface sans fil:

post-up iwconfig wlan0 power off

Voici un exemple complet:

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

Notez que man interfacesle comportement de post-uppeut changer dans le futur.


Cette solution est bien meilleure que de scripter une mise hors tension. Les solutions impliquant un sommeil avant la mise hors tension sont les suivantes: si le client ne parvient pas à s'associer avant l'expiration du sommeil, wlan0 reste inactif, même lorsque le réseau est à portée.
MerlinTheMagic

Cette option fonctionne comme un charme sur Raspbian Stretch. Pour moi, c'est la meilleure option.
Jagoliveira

3

Pour une raison quelconque, les solutions les plus votées ne fonctionnaient pas pour moi et la gestion de l'alimentation revenait sans cesse. J'ai fini par faire ce qui suit:

sudo gedit /etc/rc.local

Et ajouté la ligne suivante avant exit 0:

( sleep 30 && iwconfig wlan0 power off )&

Cela désactive la gestion de l'alimentation 30 secondes après la connexion ...

Edit: En fait, cela ne suffisait pas. J'ai continué d'essayer un tas de choses, y compris https://askubuntu.com/a/614245 qui, je pense, ont résolu mon problème (j'espère).


3

Une autre approche consiste à ajouter une directive explicite ( wireless-power) pour contrôler la gestion de l’énergie dans le /etc/network/interfacesfichier de configuration (par exemple, désactivez-la pour wlan0 avec DHCP):

auto wlan0
iface wlan0 inet dhcp     
  wireless-power off

1

Très bon conseil. 'sudo iwconfig wlan0 power off' semble être le seul moyen de faire fonctionner mon module ath9k de manière stable (avec le noyau 3.2 - curieusement dans le noyau> 3.5, il semble n'y avoir aucun problème, mais les noyaux en raison de leurs problèmes de suspension de disque / RAM avec amd64 semble être un no go, malheureusement... :-()


1

Une meilleure approche (du moins sur Ubuntu 16.04) consiste à créer /etc/network/if-up.d/wifi-powerman-offavec le contenu suivant:

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

et le définir comme exécutable. La gestion de l'alimentation sera désactivée à la prochaine connexion au réseau.

Cela fonctionne bien avec NetworkManager.


J'espère que ça marche. J'espère, j'espère, j'espère !!! Fatigué de Linux lancer ma connexion wifi à des moments aléatoires. / rant Ubuntu 16.04 a quelques problèmes majeurs ici / endrant
RyanNerd

Nope n'a pas fonctionné. Intel 7260 est un morceau de merde! J'ai abandonné.
RyanNerd

1

Si vous utilisez laptop-mode-tools, vous pouvez alors désactiver la gestion de l’énergie sans fil en modifiant /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

J'ai créé le service systemd suivant pour tuer PERSISTENTEMENT la gestion de l'alimentation sur le WiFi lors des redémarrages. Testé et connu pour fonctionner. Il suffit de coller le script bash ci-dessous dans un fichier, chmod 700le fichier et 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
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.