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

149

Cette version 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 restartduplique ce problème. Il faut un redémarrage complet pour réactiver le Wifi. Des idées pourquoi?

14h
la source
6
Avez-vous déposé un bogue sur le tableau de bord pour le problème ???
apos
On dirait que ce problème existe depuis Ubuntu 14 .
Dan Dascalescu
Ce n'est jamais arrivé sous 14.04 LTS pour moi. La mise à niveau vers 16.04 LTS est tellement géniale que je vais la garder, mais elle oublie toujours mon mot de passe WiFi. Le service est clairement en cours d'exécution; juste qu'il oublie le mot de passe et ne se connecte pas. J'ai posté ceci: askubuntu.com/questions/934958/… - et je ne veux pas m'occuper des listes noires ou de quelque chose d'étrange.
SDsolar

Réponses:

176

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.serviceMaintenant, 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.

Joakim Koed
la source
2
Avez-vous essayé de simplement désinstaller wicd?
Joakim Koed
6
Je dirais ne pas la peine de réinstaller pour cela. J'ai fait une nouvelle installation et je rencontre ce problème le 16.04. Jamais eu de problème avec 14.04.
Michael Martin-Smucker
3
Parfois cela fonctionne et parfois pas :(
tokam
1
@mikeymop J'y pensais aussi. Je sais que certaines parties du système utilisent toujours Upstart, cela pourrait donc déclencher quelque chose. Comme 16.10 est complet, systemd et que l'erreur ne s'est pas produite, vous avez peut-être raison.
Joakim Koed
1
Comment puis-je supprimer cela, cela ne fonctionnera pas sur mon système
une offre ne peut pas être refusée
15

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

J'ai trouvé que j'avais un problème assez similaire, bien que je sois sur Kubuntu 16.10 (basé sur KDE, pas sur Gnome) et avec 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 serais intéressé de savoir si la solution ci-dessous aide Gnome, car la solution 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 ne peut pas se connecter à Internet après la suspension et le 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 le rechargement 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 rechargé 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 de dispositif 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! Merci.

androclus
la source
1
J'ai également un ethernet RTL8111 / 8168/8411 et sudo rmmod r8169 && sudo modprobe r8169résolu le problème.
Lenooh
Même problème sous Debian 9 avec KDE. Réinstaller comme ci-dessus corrigé. Merci beaucoup.
sumitkm
Mon ordinateur * possède également un périphérique Ethernet RTL8111 / 8168/8411 et a sudo rmmod r8169 && sudo modprobe r81691finalement résolu le problème pour moi. N'avait pas ce problème avant la version 4.16 du noyau. (* Debian 10 avec GNOME, le noyau 4.16 et les microprogrammes propriétaires de Realtek )
ossbuntu
a travaillé pour moi archlinux avec ath10k_pci
noone
6

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

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

Pour moi, la serviceligne a fonctionné, mais systemctlpeut fonctionner mieux pour vous.

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

krlmlr
la source
2
Cela a service NetworkManager restartfonctionné pour moi, mais le placement du script n'a pas fonctionné (le 16.04). Je devais déplacer le script à /lib/systemd/system-sleep/script-name-here. Dans ce cas, le premier argument du script est [pre | post], je devais donc changer l'instruction case case "${1}" in ... post) .... J'ai également enveloppé la déclaration intérieure dans case "${2}" in ... suspend) ....
Chester
1
Devrait être /lib/systemd/system-sleep/pour 15.04+
qwr
2

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
    • Téléphoner restartici ne semble jamais fonctionner pour moi. On dirait qu’il essaie de le démarrer avant d’avoir fini de le fermer, c’est pourquoi j’ai plus de chance de faire une pause entre stopet 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.

Redbmk
la source
2

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

cryptoboy
la source
1

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!

apos
la source
1

J'ai eu le même problème sur mon ordinateur portable Dell Inspiron 15R avec Ubuntu 16.04. Pour moi, 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 parfois cela fonctionnait avant l’installation du script).

Alessandro D'lncal
la source
0

Pour moi, la solution était de courir

nmcli nm sleep false

dans un terminal

tigerjack89
la source
0

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
Ray Vega
la source
0

Maintenant probablement simple

sudo apt update
sudo apt upgrade

devrait marcher.

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

Daniel
la source