7 votes

Ubuntu 16.04 sur Dell XPS La suspension échoue occasionnellement

Je tourne sous Ubuntu 16.04 LTS sur un Dell XPS 15 9550 (16 Go de RAM, écran FHD, SSD de 512 Go, Intel i7-6700HQ). Il est en dual-boot avec Windows, pour lequel j'ai suivi les instructions dans ce fil de discussion.

Presque tout fonctionne très bien. Cependant, lorsque je mets en veille en fermant le couvercle ou en utilisant systemctl suspend, parfois (environ 50% du temps), Ubuntu ne se met pas en veille. L'écran devient noir comme s'il allait se mettre en veille, mais revient directement à l'écran de connexion.

Je pense que le problème doit être lié à ma carte/driver wifi Broadcom. Le résultat de dmesg lors d'une mise en veille ratée est le suivant :

[36482.669029] PM: Syncing filesystems ... done.
[36482.697429] PM: Preparing system for sleep (mem)
[36482.698220] vgaarb: this pci device is not a vga device
[36483.937858] Freezing user space processes ... (elapsed 0.002 seconds) done.
[36483.940227] Freezing remaining freezable tasks ... (elapsed 0.001 seconds) done.
[36483.941564] PM: Suspending system (mem)
[36483.941623] Suspending console(s) (use no_console_suspend to debug)
[36487.637784] brcmf_pcie_suspend: Timeout on response for entering D3 substate
[36487.637802] pci_legacy_suspend(): brcmf_pcie_suspend+0x0/0x1b0 [brcmfmac] returns -5
[36487.637808] dpm_run_callback(): pci_pm_suspend+0x0/0x140 returns -5
[36487.637813] PM: Device 0000:02:00.0 failed to suspend async: error -5
[36487.637902] PM: Some devices failed to suspend, or early wake event detected
[36487.641932] rtc_cmos 00:02: System wakeup disabled by ACPI
[36488.017866] ata2: SATA link down (SStatus 4 SControl 300)
[36488.149475] PM: resume of devices complete after 511.560 msecs
[36488.158754] PM: Finishing wakeup.

Il y a aussi ce message :

brcmfmac 0000:02:00.0: Direct firmware load for brcm/brcmfmac43602-pcie.txt failed with error -2

à chaque démarrage ou sortie de veille [réussie]. À noter également : lorsque la veille échoue, mon wifi cesse de fonctionner (je crois que cela indique "pas de périphérique"). Les seuls moyens de le faire fonctionner à nouveau sont soit de redémarrer, soit :

sudo rmmod brcmfmac
sudo modprobe brcmfmac

Voici la sortie d'un script wifi info. Toute aide serait grandement appréciée ! Merci d'avance, et faites-moi savoir si d'autres informations seraient utiles.

EDIT : Le problème est revenu après la mise à niveau vers 18.04. La réponse précédemment acceptée ne semble plus fonctionner car systemd ne décharge pas les modules du fichier suggéré avant la mise en veille.

4voto

user716336 Points 56

J'ai eu exactement le même problème. La solution consiste à créer un fichier dans /etc/pm/config.d/ avec juste une ligne :

SUSPEND_MODULES="brcmfmac"

1voto

brianjohnsen Points 101

La solution suggérée par @user716336 fonctionne aussi pour moi. Vous devez toutefois donner les bonnes permissions au fichier créé :

sudo chmod 777 /etc/pm/config.d/suspend_broardcom

(J'ai appelé le fichier suspend_broardcom)

1voto

zedoo Points 2386

Ajouter un fichier avec SUSPEND_MODULES="brcmfmac" à /etc/pm/config.d/ n'a pas fonctionné pour moi, ce qui pourrait être un problème entre systemd et pm, mais j'ai réussi à faire fonctionner la mise en veille avec la carte wifi Broadcom en créant un script simple pour que systemd s'exécute avant et après la mise en veille.

Créez un fichier dans /usr/lib/systemd/system-sleep/ (ou où se trouvent vos fichiers d'unité systemd, peut-être dans /lib/systemd/system-sleep/) avec ce qui suit :

#!/bin/sh

case $1 in
    pre)  modprobe -r brcmfmac ;;
    post) modprobe brcmfmac  ;;
esac

Vous pouvez l'appeler par exemple 10-brcmfmac.sh - le nom du script n'a pas d'importance tant qu'il se trouve dans ce répertoire et que le bit exécutable est activé (par exemple sudo chmod +x /usr/lib/systemd/system-sleep/10-brcmfmac.sh).

Plus d'informations sur les crochets de mise en veille de systemd : https://wiki.archlinux.org/index.php/Power_management#Hooks_in_/usr/lib/systemd/system-sleep

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X