web-dev-qa-db-fra.com

pas de wifi après suspension le 15.04

Mon wifi ne fonctionne pas après la suspension du 15.04. Je peux cliquer sur mon chemin vers le succès sur l'icône wifi dans la barre de menus (et sur l'option d'activer le wifi), mais je souhaite utiliser des scripts pour automatiser la procédure. Voici ma tentative

1) créer le script bash exécutable /etc/pm/sleep.d/10_resume_wifi avec le contenu

#!/bin/sh
  case "$1" in
   hibernate|suspend) ;;
   thaw|resume)
      nmcli r wifi off && nmcli r wifi on ;;
esac

2) créer le fichier exécutable /etc/system.d/system/wifi-resume.service avec le contenu

[Unit]
Description=Restart wifi after waking up
After=suspend.target

[Service]
Type=simple
ExecStart=-/etc/pm/sleep.d/10_resume_wifi

[Install]
WantedBy=suspend.target

et lancez Sudo systemctl enable wifi-resume.service

Cela ne fonctionne pas, et je reçois les lignes suivantes de dmesg après avoir repris la suspension.

[11168.786104] cfg80211: World regulatory domain updated:
[11168.786111] cfg80211:  DFS Master region: unset
[11168.786113] cfg80211:   (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp), (dfs_cac_time)
[11168.786119] cfg80211:   (2402000 KHz - 2472000 KHz @ 40000 KHz), (300 mBi, 2000 mBm), (N/A)
[11168.786124] cfg80211:   (2457000 KHz - 2482000 KHz @ 40000 KHz), (300 mBi, 2000 mBm), (N/A)
[11168.786128] cfg80211:   (2474000 KHz - 2494000 KHz @ 20000 KHz), (300 mBi, 2000 mBm), (N/A)
[11168.786133] cfg80211:   (5170000 KHz - 5250000 KHz @ 40000 KHz), (300 mBi, 2000 mBm), (N/A)
[11168.786137] cfg80211:   (5735000 KHz - 5835000 KHz @ 40000 KHz), (300 mBi, 2000 mBm), (N/A)
[11168.968257] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready
[11169.004818] ata3: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
[11169.006600] ata3.00: ACPI cmd ef/10:03:00:00:00:a0 (SET FEATURES) filtered out
[11169.009053] ata3.00: ACPI cmd ef/10:03:00:00:00:a0 (SET FEATURES) filtered out
[11169.009061] ata3.00: configured for UDMA/100
[11169.200846] firewire_core 0000:04:00.0: rediscovered device fw0
[11171.088442] ata1: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[11171.089310] ata1.00: ACPI cmd ef/10:03:00:00:00:a0 (SET FEATURES) filtered out
[11171.090296] ata1.00: ACPI cmd ef/10:03:00:00:00:a0 (SET FEATURES) filtered out
[11171.090469] ata1.00: configured for UDMA/100
[11171.615861] ERROR @wl_cfg80211_scan : WLC_SCAN error (-22)

Après avoir cliqué mon chemin vers le wifi, je reçois un résultat légèrement différent de dmesg

[11331.635796] cfg80211: Calling CRDA for country: US
[11331.639456] cfg80211: Regulatory domain changed to country: US
[11331.639465] cfg80211:  DFS Master region: FCC

Des suggestions sur les raisons pour lesquelles l'approche basée sur les scripts ne fonctionne pas? Je suis nouveau à cela, donc il y a probablement plusieurs erreurs. Merci d'avance!

14
wutangforever

Après un peu plus de recherches, j'ai trouvé un seul script (posté ici ) qui connecte mon ordinateur au wifi après la suspension. En bref, j'ai créé le script exécutable /etc/systemd/system/wifi-resume.service avec le contenu suivant:

[Unit]
Description=Local system resume actions
After=suspend.target

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

[Install]
WantedBy=suspend.target

et a lancé la commande Sudo systemctl enable wifi-resume.service

Merci beaucoup à Sean pour la solution.

23
wutangforever

Solution ce qui fonctionne bien pour moi:

Sudo touch /etc/pm/sleep.d/10_restart_network_manager
Sudo chmod +x /etc/pm/sleep.d/10_restart_network_manager
Sudo gedit /etc/pm/sleep.d/10_restart_network_manager

Collez ce code dans le fichier:

#!/bin/sh

case $1 in
    resume|thaw)
        Sudo /bin/systemctl restart network-manager.service
    ;;
esac
6
Andrey Izman

Après de nombreuses tentatives pour résoudre ce problème ennuyeux, j'ai proposé cette solution. Créez un fichier exécutable sous /etc/pm/sleep.d/ et nommez-le i.e. 10_resume_wifi, comme suit:

Sudo touch /etc/pm/sleep.d/10_resume_wifi
Sudo chmod +x /etc/pm/sleep.d/10_resume_wifi
Sudo gedit /etc/pm/sleep.d/10_resume_wifi

Collez ce code dans le fichier:

#!/bin/sh

case $1 in
     suspend|suspend_hybrid|hibernate)
        Sudo nmcli n off
        ;;
     resume|thaw)
        Sudo nmcli n on
        ;;
esac

Enregistrez et fermez le fichier, c'est tout.

C'était la seule solution qui fonctionnait tout le temps. Remarque: Les autres solutions que j'ai trouvées utilisaient une version plus ancienne de nmcli.

4
DekwoKybon