web-dev-qa-db-fra.com

Wifi ne fonctionne pas après la suspension après la mise à jour de 16.04

Cette version particulière du "ne fonctionne pas après la suspension" est venue après la mise à niveau vers 16.04. Il semble que la mise à niveau comprenne une applet Wicd (ajoutée à la barre des tâches de Metacity Classic Gnome à côté de l'icône réseau habituelle), mais ne semble pas fonctionner après une suspension. Un Sudo service network-manager restart duplique ce problème. Il faut un redémarrage complet pour réactiver le Wifi. Des idées pourquoi?

145
147pm

16.04 fonctionne sur systemd. Essayez ce qui suit:

Sudo systemctl restart network-manager.service

Si cela fonctionne, vous pouvez créer un script pour l'automatiser.

Ouvrez un terminal et tapez ce qui suit:

Sudo nano /etc/systemd/system/wifi-resume.service Maintenant, collez le script ici avec un clic droit. Quittez avec CTRL + X et appuyez sur Y pour enregistrer. Maintenant pour l'activer: Sudo systemctl enable wifi-resume.service

Scénario:

#/etc/systemd/system/wifi-resume.service
#Sudo systemctl enable wifi-resume.service
[Unit]
Description=Restart networkmanager at resume
After=suspend.target
After=hibernate.target
After=hybrid-sleep.target

[Service]
Type=oneshot
ExecStart=/bin/systemctl restart network-manager.service

[Install]
WantedBy=suspend.target
WantedBy=hibernate.target
WantedBy=hybrid-sleep.target

J'espère que cela t'aides. Cela fonctionne sur mon ordinateur portable.

173
Joakim Koed

@ 14h00 Avez-vous déjà réussi à faire fonctionner cela?

J'ai constaté que j'avais un problème assez similaire, bien que je sois sur Kubuntu 16.10 (basé sur KDE, pas sur Gnome) et sur un ordinateur portable HP ProBook. Et, contrairement à vous, ce n’est pas mon Wifi qui est mort après la suspension/le réveil, mais mon port Ethernet. Pourtant, je me demande s'ils sont liés.

Je vois aussi que vous n’avez pas le problème sous KDE. Mais je souhaiterais savoir si la solution ci-dessous aide Gnome, car elle n’est pas basée sur le gestionnaire de fenêtres, l’environnement de bureau ou les applets.

Tout d’abord, pour confirmer que le redémarrage du service de gestionnaire de réseau est effectué.

$ Sudo systemctl restart network-manager.service

n'a pas travaillé pour moi.

Cependant, j'ai trouvé une réponse qui a fonctionné, grâce à la question de Buzhidao et aux infos sur impossible de se connecter à Internet après la suspension et au commentaire de GAD3R.

En utilisant leurs informations, j'ai trouvé que la première recherche sur le matériel et le pilote/module Ethernet que j'utilise, puis sur la suppression et la réinstallation de ce module, a fonctionné pour moi (bien que ce ne soit pas le cas pour buzhidao):

Wifi:

$ lspci -knn | grep Net -A2

Ethernet:

$ lspci -knn | grep Ether -A2

Le second (ethernet) est ce que j'ai utilisé, et j'ai trouvé:

03:00.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller [10ec:8168] (rev 0c)
        Subsystem: Hewlett-Packard Company RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller [103c:1944]
        Kernel driver in use: r8169
        Kernel modules: r8169

donc j'ai réinstallé le pilote 'r8169':

$ Sudo rmmod r8169 && Sudo modprobe r8169

et le tour est joué! Cela a fonctionné. Mon port/connexion Ethernet est revenu vivant (après suspension/réveil) sans avoir à redémarrer.

(Je n'ai pas non plus un appareil wifi Realtek, mais un Qualcomm Atheros (mod: ath9k), ce qui explique peut-être pourquoi le wifi a continué de fonctionner pour moi après le réveil au réveil.)

Comme vous pouvez le constater dans mon commentaire sur cet autre article, je me demandais si le problème était l'élément commun entre Buzhidao et moi-même: les dispositifs Realtek Semiconductor. Même s'ils utilisent différents modules, ils pourraient partager un code commun? Ou même être traité différemment par le nouveau code du noyau maintenant d'une certaine manière?

Avez-vous vous-même un appareil wifi basé sur Realtek? (en utilisant lspci ci-dessus)? Avez-vous de la chance en réinstallant le module (rmmod/modprobe ci-dessus)?

Quoi qu'il en soit, juste un coup dans le noir. Si vous avez trouvé une réponse éventuelle, veuillez nous en informer! THX.

14
androclus

Pour redémarrer automatiquement NetworkManager après la reprise dans un environnement sans accès Sudo, créez un script dans /etc/pm/sleep.d (n'importe quel nom), définissez le bit exécutable via chmod +x et insérez le contenu suivant:

case "${1}" in
    resume|thaw)
        # systemctl restart network-manager.service
        service NetworkManager restart
;;
esac

Pour moi, la ligne service a fonctionné, mais systemctl pourrait mieux fonctionner pour vous.

Source: https://askubuntu.com/a/92235/30266 .

6
krlmlr

Pour moi, cela semble être aléatoire, mais parfois le wifi se déconnecte simplement si je suis connecté, ou ne montre pas les réseaux si je ne le suis pas. Parfois, mettre mon ordinateur portable en mode veille semble le déclencher, mais pas toujours.

Une combinaison de ces éléments permet généralement de redémarrer sans redémarrer:

  • Sudo iwlist $(ifconfig | grep -Po '^w\w+') scan
  • Sudo service network-manager stop; sleep 5; Sudo service network-manager start
    • Appeler simplement restart ici ne semble jamais fonctionner pour moi. On dirait qu’il essaie de le démarrer avant de l’arrêter, ce qui me donne plus de chance de faire une pause entre stop et start.
  • Désactiver le wifi dans l'interface utilisateur; attendez quelques secondes; le rallumer

Aucune de ces méthodes ne semble fonctionner de manière constante, mais je les ai énumérées par ordre de probabilité de réussite en premier.

2
redbmk

Méthode de travail sur Ubuntu 16.04:

Créez le service: Sudo nano /lib/systemd/system/wifi-resume.service

Le service appelle le programme depuis:
/ etc/init.d/network-manager

Collez le code:

#/lib/systemd/system/wifi-resume.service
#Sudo systemctl enable wifi-resume.service
[Unit]
Description=Restart network-manager at resume
After=suspend.target
After=hibernate.target
After=hybrid-sleep.target 

[Service]
Type=oneshot
ExecStart=/bin/systemctl restart network-manager

[Install]
WantedBy=suspend.target
WantedBy=hibernate.target
WantedBy=hybrid-sleep.target

Activez ensuite le service:

Sudo systemctl enable /lib/systemd/system/wifi-resume.service

Cela crée les liens symboliques dans les répertoires [Install] indiqués de/etc/systemd/system et active le service.

Ensuite, vous pouvez vérifier le statut avec: systemctl status wifi-resume.service

2
cryptoboy

J'ai eu le même problème avec Bluetooth: après avoir suspendu ma souris Bluetooth ne fonctionnait pas. J'ai donc dérivé la solution ci-dessus:

Sudo nano /etc/systemd/system/bluetooth-resume.service

activé le nouveau service

Sudo systemctl enable bluetooth-resume.service

et édité le service

#/etc/systemd/system/bluetooth-resume.service
#Sudo systemctl enable bluetooth-resume.service
[Unit]
Description=Restart bluethooth at resume
After=suspend.target
After=hibernate.target
After=hybrid-sleep.target

[Service]
Type=oneshot
ExecStart=/bin/systemctl restart bluetooth.service

[Install]
WantedBy=suspend.target
WantedBy=hibernate.target
WantedBy=hybrid-sleep.target

J'ai aussi essayé d'éditer ...

Sudo nano /etc/bluetooth/main.conf

et changé

AutoEnable=true

MAIS cela n'a pas fonctionné pour le "problème de CV" et n'avait aucun impact sur les nouveaux appareils Bluetooth de toute façon!

1
apos

J'ai eu le même problème sur mon ordinateur portable Dell Inspiron 15R avec Ubuntu 16.04. Pour moi a travaillé le script a rapporté sur la deuxième réponse .

Après avoir installé le script, j'ai essayé la suspension avec la commande dans le menu en haut à droite et même en fermant la lèvre pour résoudre le problème.

Je dois dire que le problème était alternatif dans son comportement (c’est-à-dire que cela fonctionnait parfois avant l’installation du script).

1
Alessandro D'lncal

Maintenant probablement simple

Sudo apt update
Sudo apt upgrade

devrait marcher.

Dans mon cas, parmi les paquets mis à niveau, il y avait bcmwl-kernel-source (6.30.223.271+bdcom-0ubuntu1~1.3) et après cette mise à jour, le wifi fonctionne à nouveau.

0
Daniel

Pour moi, la solution était de courir

nmcli nm sleep false

dans un terminal

0
tigerjack89

J'ai eu le même problème en me connectant à ma maison wifi après la suspension. J'ai essayé les différentes autres réponses suggérées qui pourraient parfois fonctionner, mais pas toujours.

Finalement, le correctif suivant a permis une connexion cohérente au wifi:

1) Éditez ce fichier:

Sudo vim /etc/NetworkManager/NetworkManager.conf

2) En y ajoutant ceci:

[device]
wifi.scan-Rand-mac-address=no
0
Ray Vega