Suspend/Resume Regression 3.19.0-28-generic Dell xps15

Bug #1495043 reported by Mark Pointing
26
This bug affects 4 people
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Triaged
Medium
Unassigned

Bug Description

Suspend resume was working on 3.19.0-26 but 3.19.0-28 appears to suspend, but no longer resumes. Relevant portion of dmesg info using pm-trace is as follows:

[ 1.168740] registered taskstats version 1
[ 1.170526] Key type trusted registered
[ 1.174836] Key type encrypted registered
[ 1.174843] AppArmor: AppArmor sha1 policy hashing enabled
[ 1.176721] input: AT Translated Set 2 keyboard as /devices/platform/i8042/serio0/input/input3
[ 1.398911] evm: HMAC attrs: 0x1
[ 1.399640] Magic number: 0:469:661
[ 1.399643] hash matches /build/linux-5xFjum/linux-3.19.0/drivers/base/power/main.c:642
[ 1.399655] hash matches /build/linux-5xFjum/linux-3.19.0/drivers/base/power/main.c:738
[ 1.399670] block ram14: hash matches
[ 1.399692] platform PNP0C0A:00: hash matches
[ 1.399711] battery PNP0C0A:00: hash matches
[ 1.399793] rtc_cmos 00:01: setting system clock to 1976-02-02 02:39:41 UTC (192076781)
[ 1.399886] BIOS EDD facility v0.16 2004-Jun-25, 0 devices found
[ 1.399887] EDD information not available.
[ 1.399970] PM: Hibernation image not present or could not be loaded.
[ 1.400304] Freeing unused kernel memory: 1408K (ffffffff81d36000 - ffffffff81e96000)
[ 1.400305] Write protecting the kernel read-only data: 12288k

To reproduce the bug:
1) Boot into Ubuntu Gnome with kernel 3.19.0.28-generic
2) Log in to desktop.
3) Close laptop lid
4) Wait about 10 seconds (doesn't seem to be critical how long you wait)
5) Open laptop lid.

What happens:
The keyboard backlight and the power button light come on, but the screen remains blank. Using Ctr-Alt-F1 does nothing (can't get to a virtual console, indicating that it's not just X that has stopped)

What I expect to happen:
On opening of the laptop lid, I expect the lockscreen to show.

Other info:
This laptop has nvidia graphics disabled using nvidia-prime

ProblemType: Bug
DistroRelease: Ubuntu 15.04
Package: linux-image-3.19.0-28-generic 3.19.0-28.30
ProcVersionSignature: Ubuntu 3.19.0-28.30-generic 3.19.8-ckt5
Uname: Linux 3.19.0-28-generic x86_64
NonfreeKernelModules: wl
ApportVersion: 2.17.2-0ubuntu1.4
Architecture: amd64
AudioDevicesInUse:
 USER PID ACCESS COMMAND
 /dev/snd/controlC1: mark 1566 F.... pulseaudio
 /dev/snd/controlC0: mark 1566 F.... pulseaudio
CurrentDesktop: GNOME
Date: Sat Sep 12 19:26:03 2015
HibernationDevice: RESUME=UUID=ff91bc8d-f7ef-4650-81e0-608068f4f8cb
InstallationDate: Installed on 2015-08-31 (12 days ago)
InstallationMedia: Ubuntu-GNOME 15.04 "Vivid Vervet" - Release amd64 (20150422)
MachineType: Dell Inc. XPS 15 9530
ProcFB: 0 inteldrmfb
ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-3.19.0-28-generic.efi.signed root=UUID=b69e369b-42c8-4f85-8a2c-dcfec06b7d88 ro quiet splash vt.handoff=7
RelatedPackageVersions:
 linux-restricted-modules-3.19.0-28-generic N/A
 linux-backports-modules-3.19.0-28-generic N/A
 linux-firmware 1.143.3
SourcePackage: linux
UdevLog: Error: [Errno 2] No such file or directory: '/var/log/udev'
UpgradeStatus: No upgrade log present (probably fresh install)
dmi.bios.date: 07/30/2015
dmi.bios.vendor: Dell Inc.
dmi.bios.version: A09
dmi.board.name: XPS 15 9530
dmi.board.vendor: Dell Inc.
dmi.board.version: A09
dmi.chassis.type: 8
dmi.chassis.vendor: Dell Inc.
dmi.chassis.version: Not Specified
dmi.modalias: dmi:bvnDellInc.:bvrA09:bd07/30/2015:svnDellInc.:pnXPS159530:pvrA09:rvnDellInc.:rnXPS159530:rvrA09:cvnDellInc.:ct8:cvrNotSpecified:
dmi.product.name: XPS 15 9530
dmi.product.version: A09
dmi.sys.vendor: Dell Inc.

Revision history for this message
Mark Pointing (mp035) wrote :
Revision history for this message
Brad Figg (brad-figg) wrote : Status changed to Confirmed

This change was made by a bot.

Changed in linux (Ubuntu):
status: New → Confirmed
Revision history for this message
Joseph Salisbury (jsalisbury) wrote :

Would it be possible for you to test the latest upstream stable kernel? Refer to https://wiki.ubuntu.com/KernelMainlineBuilds . Please test the latest v3.19 stable kernel[0].

If this bug is fixed in the mainline kernel, please add the following tag 'kernel-fixed-upstream'.

If the mainline kernel does not fix this bug, please add the tag: 'kernel-bug-exists-upstream'.

If you are unable to test the mainline kernel, for example it will not boot, please add the tag: 'kernel-unable-to-test-upstream'.
Once testing of the upstream kernel is complete, please mark this bug as "Confirmed".

Thanks in advance.

[0] http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.19.8-ckt6-vivid/

Changed in linux (Ubuntu):
importance: Undecided → Medium
penalvch (penalvch)
tags: added: latest-bios-a09 regression-update
Changed in linux (Ubuntu):
status: Confirmed → Incomplete
Revision history for this message
Mark Pointing (mp035) wrote :

Tested latest v3.19 mainline kernel and it appears to be working.

tags: added: kernel-fixed-upstream
Revision history for this message
penalvch (penalvch) wrote :

Marking Triaged as it appears a downstream issue.

tags: added: needs-reverse-bisect
Changed in linux (Ubuntu):
status: Incomplete → Triaged
Revision history for this message
Mark Pointing (mp035) wrote :

Although the mainline kernel seemed to fix the problem, no release since 3.19.0-26 has functioned correctly. I have tried every kernel update, and am now on ubuntu 15.10, but must still run the old 3.19.0-26 kernel to get suspend resume to work.

Removing the fixed-upstream tag.

tags: removed: kernel-fixed-upstream
Revision history for this message
penalvch (penalvch) wrote :

Mark Pointing:
>"Although the mainline kernel seemed to fix the problem... Removing the fixed-upstream tag."

If the mainline kernel fixes the problem, then that is the definition of kernel-fixed-upstream.

tags: added: kernel-fixed-upstream
Revision history for this message
Mark Pointing (mp035) wrote :

Sorry for not explaining clearly. Testing of the upstream kernel did originally work but the kernel that was tested had some DKMS drivers that would not load:

[code]
Consult /var/lib/dkms/bbswitch/0.7/build/make.log for more information.
Consult /var/lib/dkms/bcmwl/6.30.223.248+bdcom/build/make.log for more information.
Consult /var/lib/dkms/vboxhost/5.0.4/build/make.log for more information.
Consult /var/lib/dkms/nvidia-346/346.59/build/make.log for more information.
[/code]

The original upstream kernel that was tested was version 3.19.31, when that kernel made it in to the distro, the problem was not fixed. I have since tested mainline kernel 4.2.5, and the problem also is not fixed. So the mainline kernel does not fix the problem.

I hope this is clearer.

tags: removed: kernel-fixed-upstream
Revision history for this message
Mark Pointing (mp035) wrote :

Further information:

The 4.2.5 mainline was tested with all drivers loading. This may be an indication that the problem is with one of the 4 drivers that did not load, however I can't seem to find a way to unload those 4 drivers without stopping the system from booting.

Revision history for this message
Mark Pointing (mp035) wrote :

Ok, I have narrowed the issue down to the broadcom proprietary "wl" driver. If I rmmod before suspend, then the system resumes correctly. I can then modprobe it and continue to work normally.

The only problem is that creating /etc/pm/config.d/modules with the content SUSPEND_MODULES="wl" has no effect.

Is there a solution to this issue?

tags: removed: needs-reverse-bisect regression-update
Revision history for this message
Mark Pointing (mp035) wrote :

Further information, it turns out that pm-suspend is no longer used, and systemd-sleep is the new system. The scripts section of pm-suspend is still there, but it is broken as per https://launchpad.net/ubuntu/+source/pm-utils/+bug/1455097 (why does everything I look into seem to be broken????).

To fix the problem, I created the script (make it executable) /lib/systemd/system-sleep/broadcom_wl_suspend

with the contents
[code]
#! /bin/sh
#mp035: unload buggy broadcom sta driver during suspend.

case $1 in
     pre)
 modprobe -r wl
        ;;
     post)
 modprobe wl
        ;;
esac
[/code]

This has fixed the problem. I'm not sure where to push this from here, either the 1) the broadcom package should add ths script, or 2) or the broadcom sta driver needs fixing. Perhaps (1) immediately while we are waiting for broadcom to fix (2)?

Revision history for this message
Mark Pointing (mp035) wrote :

I have sent an email to the debian maintainer of the sta broadcom package, contents as followed:
[quote]
Hi Eduard,
I have just filed a bug on the ubuntu bugs forum at https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1495043 .
Essentially the problem is that the driver prevents my XPS15 from resuming from suspend. As a temporary solution, I have created a script for systemd-sleep that unloads the wl driver prior to suspend, and reloads it after resuming. This fixes the problem, but is really just a hack. You can see my script on the bug report.

I just wanted to let you know about this issue as the maintainer of the package.

Thanks for all of your hard work in providing this software.

Thanks and Best Regards,
Mark Pointing.
[/quote]

Revision history for this message
Joachim Van der Auwera (joachim-8) wrote :

I seem to have the same problem on a Dell M3800.
Unfortunately, I have no "wl" module installed, so that does not make a difference.
The problem appeared in a 15.04 in one of the last weeks before 15.10 release. It is still there in 15.10.

Revision history for this message
Mark Pointing (mp035) wrote :

You should have wl driver if you are on M3800. What does:

lsmod | grep wl

show you?

Revision history for this message
Joachim Van der Auwera (joachim-8) wrote :

on the M3800 I get

~$ lsmod | grep wl
iwlmvm 294912 0
mac80211 733184 1 iwlmvm
iwlwifi 200704 1 iwlmvm
cfg80211 548864 3 iwlwifi,mac80211,iwlmvm

Revision history for this message
Joachim Van der Auwera (joachim-8) wrote :

I added a bug report for my specific case as https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1514587, which is likely to be a duplicate. I hope it contains some data which can help resolve this problem.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.