Start a Conversation

Unsolved

This post is more than 5 years old

7459

November 6th, 2017 13:00

Sound issues after resume from suspend/hibernate on XPS13 9360 Coffee Lake running Mint 18.2

Hello folks,

I have found many threads about sound issues after resume from suspend/hibernate but none seem to be the same as I am experiencing.

For me no additionnal devices appear, volume stays normal and also the output doesn't change.

My problem is that after reboot I have crackling noise in the speakers or headphones every time the CPU is used or I scroll up or down a page. The noise sounds a bit like if a conventional spinning HDD was experiencing heavy load.

This only happens after resume from hibernate/suspend. If coming back from a cold or warm boot, there is no noise.

I am running Linux Mint 18.2 with kernel 4.10.0-38-generic but also tried latest Ubuntu 17.10 with the same issue. Forcing alsa and pulseaudio to reload didn't help.

Has anybody else experienced the same issues and come across a solution for this already?

November 26th, 2017 12:00

Edit: Duplicate

November 26th, 2017 12:00

I can confirm that I have the same problem with my Kaby Lake-R (i7 8550u) XPS 9360 running kernel 4.13 on Fedora 27.  I don't have a fix, but a workaround is removing and re-adding the snd_hda_intel kernel module via modprobe.  You'll have to kill pulseaudio and alsactl before you do this, and depending on your distro you may have to disable pulseaudio's autospawning.

7 Posts

November 28th, 2017 13:00

thanks for your answer. Will give it a try in the next couple of days.

So far my workaround is to enable audio codec power management.

This way the noise is only audible when audio is actually played.

4 Operator

 • 

783 Posts

November 30th, 2017 09:00

@Mariog1,

How are things going after trying CunningDefenestrator's recommendation?

I spoke with a colleague who found this option: wiki.ubuntu.com/PulseAudio

7 Posts

November 30th, 2017 15:00

@Justin CunningDefenestrator's solution is working though I still need to find a way to have this done automagically after wakeup.

Could you be a bit more precise about your link? Couldn't find a solution following your link.

7 Posts

December 1st, 2017 01:00

Finally I found a way to have this done automagically by placing a script in /lib/systemd/system-sleep.

 

#!/bin/sh

set -e

if [ "$2" = "suspend" ] || [ "$2" = "hybrid-sleep" ] || [ "$2" = "hibernate" ]; then

   case "$1" in

       pre)

               su mario -c "/usr/bin/pulseaudio -k";

               su mario -c "/usr/sbin/alsactl kill quit";

               /sbin/rmmod snd_hda_intel;

               ;;

       post)

               /sbin/modprobe snd_hda_intel;

               su mario -c "/usr/sbin/alsactl restore";

               su mario -c "/usr/bin/pulseaudio -D";

               ;;

   esac

fi

4 Operator

 • 

783 Posts

December 1st, 2017 10:00

Hi CunningDefenestrator,

Glad to hear it and to expand on my previous post. The specific work around being the command: rm -r ~/.config/pulse; pulseaudio -k

December 1st, 2017 19:00

Have you guys managed to replicate this in-house?

7 Posts

December 2nd, 2017 07:00

Unfortunately my proposed solution turned out to not work as expected.

Somehow pulseaudio is not being started by X anymore and I have to start it manually after each reboot or wake up.

December 3rd, 2017 01:00

Same problem here, waiting for a solution from Dell...

December 3rd, 2017 17:00

Adding the following script to /usr/lib/systemd/system-sleep worked for me on Fedora 27:

#!/bin/bash

set -e

function pre() {

  echo "Stopping pulsaudio"

  su your_user_name -c "pulseaudio -k"

  echo "Stopping alsactl"

  systemctl stop alsa-state

  echo "Unloading snd_hda_intel"

  modprobe -r snd_hda_intel

}

function post() {

  echo "Loading snd_hda_intel"

  modprobe snd_hda_intel

  echo "Starting alsactl"

  systemctl start alsa-state

  echo "Starting pulseaudio"

  su your_user_name -c "start-pulseaudio-x11 --log-target=syslog"

}

function log() {

   local cmd=$1

   $cmd 2>&1 | systemd-cat -t $0 -p info

}

case $1 in

   pre) log pre;;

   post) log post;;

esac

log "echo Success"

I also had to add "autospawn = no" in /etc/pulse/client.conf, otherwise pulse clients would spawn new pulseaudio instances making it impossible to kill.

Finally, you should add --log-target=syslog to the exec line in /etc/xdg/autostart/pulseaudio.desktop, as follows:

Exec=start-pulseaudio-x11 --log-target=syslog

since the non-autospawn fallback in start-pulseaudio-x11 doesn't log to syslog by default.

All in all a pretty gross hack, this really should be fixed upstream.

1 Message

August 1st, 2018 12:00

So: I had the issue on every distro i have used on my xps 13; I recently put ubuntu 18.04 onto the laptop, and the issue seems to be fixed for me. So, maybe try updating your distro

No Events found!

Top