[Dell Precision M3800] USB is dead after resume from sleep

Bug #1384041 reported by Konstantin
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Expired
Medium
Unassigned
Utopic
Expired
Medium
Unassigned
Vivid
Expired
Medium
Unassigned

Bug Description

After resuming from sleep (suspend to ram), all external usb ports are dead.

The laptop's built in keyboard and synaptic touch pad (I think it is vonnected via internal usb, but not 100% sure) still work.

Only a complete power down and reboot seem to bring back the devices.

The problem does not happen with the previous kernel 3.13.0-36.

ProblemType: Bug
DistroRelease: Ubuntu 14.04
Package: linux-image-3.13.0-37-generic 3.13.0-37.64
ProcVersionSignature: Ubuntu 3.13.0-37.64-generic 3.13.11.7
Uname: Linux 3.13.0-37-generic x86_64
ApportVersion: 2.14.1-0ubuntu3.3
Architecture: amd64
AudioDevicesInUse:
 USER PID ACCESS COMMAND
 /dev/snd/controlC2: kaymes 3513 F.... pulseaudio
 /dev/snd/controlC1: kaymes 3513 F.... pulseaudio
 /dev/snd/controlC0: kaymes 3513 F.... pulseaudio
CurrentDesktop: Unity
Date: Wed Oct 22 16:04:20 2014
InstallationDate: Installed on 2014-07-23 (90 days ago)
InstallationMedia: Ubuntu 14.04 LTS "Trusty Tahr" - Release amd64 (20140417)
MachineType: Dell Inc. Dell Precision M3800
ProcFB: 0 inteldrmfb
ProcKernelCmdLine: BOOT_IMAGE=/vmlinuz-3.13.0-37-generic root=/dev/mapper/root-trusty ro quiet splash vt.handoff=7
RelatedPackageVersions:
 linux-restricted-modules-3.13.0-37-generic N/A
 linux-backports-modules-3.13.0-37-generic N/A
 linux-firmware 1.127.7
SourcePackage: linux
UpgradeStatus: No upgrade log present (probably fresh install)
dmi.bios.date: 04/16/2014
dmi.bios.vendor: Dell Inc.
dmi.bios.version: A05
dmi.board.name: Dell Precision M3800
dmi.board.vendor: Dell Inc.
dmi.board.version: A05
dmi.chassis.type: 8
dmi.chassis.vendor: Dell Inc.
dmi.chassis.version: Not Specified
dmi.modalias: dmi:bvnDellInc.:bvrA05:bd04/16/2014:svnDellInc.:pnDellPrecisionM3800:pvrA05:rvnDellInc.:rnDellPrecisionM3800:rvrA05:cvnDellInc.:ct8:cvrNotSpecified:
dmi.product.name: Dell Precision M3800
dmi.product.version: A05
dmi.sys.vendor: Dell Inc.

Revision history for this message
Konstantin (list-kseiler) wrote :
Revision history for this message
Konstantin (list-kseiler) wrote :

Attached is the syslog of a fresh boot - suspend - wake - shutdown cycle with 3.13.0-37

Revision history for this message
Konstantin (list-kseiler) wrote :

Attached is the syslog of a boot-suspend-wake-shutdown cycle with 3.13.0-36 where the problem did not occur (i.e. all usb devices operated as normal after resume)

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 : Re: USB is dead after resume from sleep

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.13 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] kernel.ubuntu.com/~kernel-ppa/mainline/v3.13.11.9-trusty/

Changed in linux (Ubuntu):
importance: Undecided → Medium
tags: added: performing-bisect regression-update
Changed in linux (Ubuntu):
status: Confirmed → Incomplete
Revision history for this message
Konstantin (list-kseiler) wrote :

The issue is still there with the upstream kernel 3.13.11-03131109-generic.

See attached for the syslog of boot-sleep-resume-shutdown. Usb was dead after resume.

tags: added: kernel-bug-exists-upstream
Changed in linux (Ubuntu):
status: Incomplete → Confirmed
penalvch (penalvch)
tags: added: bios-outdated-a06
Changed in linux (Ubuntu):
status: Confirmed → Incomplete
penalvch (penalvch)
summary: - USB is dead after resume from sleep
+ [Dell Precision M3800] USB is dead after resume from sleep
Revision history for this message
Konstantin (list-kseiler) wrote :

I did the Bios update. It didn't change anything and the problem still exists.

The output of the command you requested is:
$ sudo dmidecode -s bios-version && sudo dmidecode -s bios-release-date
A06
07/16/2014
========

After resuming from sleep, the USB ports are dead. (i.e. extenal mouse and Keyboard don't work and the red light of the optical mouse is off, etc.). The problem happens with 3.13.0-37, but not with 3.13.0-36.

Thank you for your support.

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

Can you also test the latest mainline kernel? If the bug is still there, we can perform a kernel bisect to identify the commit that introduced this regression:

http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.18-rc1-utopic/

penalvch (penalvch)
tags: added: latest-bios-a06
removed: bios-outdated-a06
Changed in linux (Ubuntu):
status: Confirmed → Incomplete
Revision history for this message
Konstantin (list-kseiler) wrote :

Joseph, I just tested the kernel you asked me to and the problem still exists with
Linux mana 3.18.0-031800rc1-generic #201410192135 SMP Mon Oct 20 01:37:04 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux

I made an interesting observation though:
When I ran 3.13.0-36 and performed a reboot into 3.18-rc1 without power down everything worked fine.
(boot 3.13.0-36, reboot into 3.18-rc1, suspend, resume => usb is alive)

However, if I do a complete shutdown and then boot into 3.18-rc1, usb us dead after resume.
(power on, boot into 3.18-rc1, suspend, resume => usb is dead)

I've tried each way to boot twice.

Changed in linux (Ubuntu):
status: Incomplete → Confirmed
Revision history for this message
penalvch (penalvch) wrote :

Konstantin, could you please test the latest mainline kernel via http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.18-rc2-utopic/ and advise to the results?

Changed in linux (Ubuntu):
status: Confirmed → Incomplete
Revision history for this message
Konstantin (list-kseiler) wrote :

Bad news.

 v3.18-rc2-utopic screws things up completely and the system doesn't boot.

The symptoms are as follows:
- the initramdisk doesn't show the password prompt to unlock the full disk encryption.
- the external usb keyboard doesn't work (i.e. I can't use ESC to hide the splash screen on the external keyboard but I can use ESC on the internal keyboard. However it is not a complete USB outage since both, the keyboard and mouse are showing lights. The external keyboard does work during grub though)
- after hiding the splash screen it tells me something about not finding any volume groups (not really surprising if it skips the disc encryption...)

I tried to run dpkg -i on the three kernel packages again to re-generate the initramdisk and look for errors. I didn't see any relevant messages and it still failed to boot. The kernel packages I used were

linux-headers-3.18.0-031800rc2_3.18.0-031800rc2.201410262035_all.deb
linux-headers-3.18.0-031800rc2-generic_3.18.0-031800rc2.201410262035_amd64.deb
linux-image-3.18.0-031800rc2-generic_3.18.0-031800rc2.201410262035_amd64.deb

I dare say, there is another issue at work here than the one we were dealing with so far.

Changed in linux (Ubuntu):
status: Incomplete → Confirmed
Revision history for this message
Konstantin (list-kseiler) wrote :

I thought I might sum up the Kernels that were tested so far and their results:

3.13.0-36: everything is ok
3.13.0-37: usb dead after resume
3.13.11.9-trusty: usb dead after resume
3.18-rc1-utopic: usb dead after resume
3.18-rc2-utopic: does not boot

Revision history for this message
Joseph Salisbury (jsalisbury) wrote :

I'd like to perform a bisect to figure out what commit caused this regression. We need to identify the earliest kernel where the issue started happening as well as the latest kernel that did not have this issue.

Can you test the following kernels and post back? We are looking for the first kernel version that exhibits this bug:

v3.13.11.6: http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.13.11.6-trusty/
v3.13.11.7: http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.13.11.7-trusty/

Thanks in advance!

Revision history for this message
Konstantin (list-kseiler) wrote :

Thanks. Looks like you selected the right two versions:

v3.13.11.6: everything works
v3.13.11.7: USB is dead after resume

Revision history for this message
Joseph Salisbury (jsalisbury) wrote :

I started a kernel bisect between v3.13.11.6 and v3.13.11.7. The kernel bisect will require testing of about 7-10 test kernels.

I built the first test kernel, up to the following commit:
73fc68b54a3768ce57f96e2fcf27a0fe3fad2fde

The test kernel can be downloaded from:
http://kernel.ubuntu.com/~jsalisbury/lp1384041

Can you test that kernel and report back if it has the bug or not? I will build the next test kernel based on your test results.

Thanks in advance

Revision history for this message
Konstantin (list-kseiler) wrote :

Joseph, Thanks.

I tested the Kernel. USB was dead after resume.

Linux version 3.13.11-03131106-generic (jsalisbury@gloin) (gcc version 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5) ) #201410291902 SMP Wed Oct 29 19:04:24 UTC 2014

Revision history for this message
Konstantin (list-kseiler) wrote :

I decided to speed things up a little and continued the bisection on my own, compiling kernels on my machine directly.

The last good commit is 4a6c3031a7a34bfea80b84e9f657c1d07f21166a "mei: fix return value on disconnect timeout"
The first bad commit is fe5c234e529ff6fc0b4a79c088a1a6d3878ad4e6 "USB: Fix persist resume of some SS USB devices"

Looks like this patch that is trying to fix resuming SS USB devices is causing my SS USB devices to be dead after resume.

Revision history for this message
Joseph Salisbury (jsalisbury) wrote :

I built the next test kernel, up to the following commit:
d8e5976d3f4a01a45cf0abedb9923196f0371705

The test kernel can be downloaded from:
http://kernel.ubuntu.com/~jsalisbury/lp1384041

Can you test that kernel and report back if it has the bug or not? I will build the next test kernel based on your test results.

Thanks in advance

Revision history for this message
Joseph Salisbury (jsalisbury) wrote :

You can ignore comment #19. Posted before hitting reload.

Great work finding the bad commit. I'll build a test kernel with commit fe5c234e529ff6fc0b4a79c088a1a6d3878ad4e6 reverted.

Revision history for this message
Joseph Salisbury (jsalisbury) wrote :

I built a Trusty test kernel with a revert of the following commit:
229be4d USB: Fix persist resume of some SS USB devices

The test kernel can be downloaded from:
http://kernel.ubuntu.com/~jsalisbury/lp1384041

Can you test that kernel and report back if it has the bug or not?

penalvch (penalvch)
tags: added: needs-upstream-testing-3.18-rc1 unable-to-test-upstream-3.18-rc2
removed: kernel-bug-exists-upstream
Revision history for this message
Konstantin (list-kseiler) wrote :

Joseph, the test kernel you built seems to be good.

Linux version 3.13.0-39-generic (root@gloin) (gcc version 4.8.2 (Ubuntu 4.8.2-19ubuntu1) ) #66~lp1384041Revert SMP Thu Oct 30 12:59:32 UTC 2014 (Ubuntu 3.13.0-39.66~lp1384041Revert-generic 3.13.11.8)

Packages:
linux-headers-3.13.0-39_3.13.0-39.66~lp1384041Revert_all.deb
linux-headers-3.13.0-39-generic_3.13.0-39.66~lp1384041Revert_amd64.deb
linux-image-3.13.0-39-generic_3.13.0-39.66~lp1384041Revert_amd64.deb
linux-image-extra-3.13.0-39-generic_3.13.0-39.66~lp1384041Revert_amd64.deb

Revision history for this message
Joseph Salisbury (jsalisbury) wrote :

Thanks for testing, Konstantin. I'll ask for feedback from the patch author for the following commit:

commit a40178b2fa6ad87670fb1e5fa4024db00c149629
Author: Pratyush Anand <email address hidden>
Date: Fri Jul 18 12:37:10 2014 +0530

    USB: Fix persist resume of some SS USB devices

I'll update the bug with any feedback received.

Changed in linux (Ubuntu Utopic):
status: New → Confirmed
importance: Undecided → Medium
penalvch (penalvch)
tags: added: needs-upstream-testing-3.18-rc3
removed: needs-upstream-testing-3.18-rc1
tags: added: bisect-done
removed: performing-bisect
Revision history for this message
penalvch (penalvch) wrote :

Konstantin, could you please test the latest mainline kernel 3.18-rc3 and advise to the results (3.18-r2 was found to be problematic for many)?

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

We received a patch from upstream:
https://lkml.org/lkml/2014/11/5/79

I built a Trusty test kernel with this patch. The test kernel can be downloaded from:
http://kernel.ubuntu.com/~jsalisbury/lp1384041

Can you test that kernel and report back if it has the bug or not?

Note, for this test kernel you will need to install both the linux-image and linux-image-extra .deb packages.

penalvch (penalvch)
Changed in linux (Ubuntu Vivid):
status: Incomplete → Triaged
tags: removed: needs-upstream-testing-3.18-rc3
Revision history for this message
Konstantin (list-kseiler) wrote :

I tested the latest kernel you built. USB was dead after resume.

Kernel version: 3.16.0-25-generic_3.16.0-25.33~lp1384041v1

I attached the syslog of the boot-sleep-resume-shutdown run.

Revision history for this message
Konstantin (list-kseiler) wrote :

Christopher, I also did a quick test of v3.18-rc3-vivid. The kernel didn't show the huge issues I had with rc2. But USB was still dead after resume.

penalvch (penalvch)
tags: added: kernel-bug-upstream kernel-bug-upstream-3.18-rc3
removed: unable-to-test-upstream-3.18-rc2
Revision history for this message
Konstantin (list-kseiler) wrote :

Joseph, has there been any progress on this issue?

Just double checking that you're not waiting for enything from me. I think I tested everything you asked me to.

Revision history for this message
Joseph Salisbury (jsalisbury) wrote :

I built another test kernel with this patch. However, the value of PORT_ENABLE_WAIT was increased to 4000. The test kernel can be downloaded from:
http://kernel.ubuntu.com/~jsalisbury/lp1384041

Can you test that kernel and report back if it has the bug or not?

Note, for this test kernel you will need to install both the linux-image and linux-image-extra .deb packages.

Revision history for this message
Konstantin (list-kseiler) wrote :

Joseph,
I tried the latest kernel you provided. It does have the bug (USB was dead after resume)

I attached the syslog.

Revision history for this message
Joseph Salisbury (jsalisbury) wrote :

I built one more test kernel with this patch. However, the value of PORT_ENABLE_WAIT was increased to 8000. The test kernel can be downloaded from:
http://kernel.ubuntu.com/~jsalisbury/lp1384041

Can you test that kernel and report back if it has the bug or not?

Note, for this test kernel you will need to install both the linux-image and linux-image-extra .deb packages.

I'll give upstream some feedback on the results of this patch with that value of PORT_ENABLE_WAIT.

Changed in linux (Ubuntu Utopic):
status: Confirmed → Incomplete
Changed in linux (Ubuntu Vivid):
status: Triaged → Incomplete
tags: added: kernel-da-key
Revision history for this message
Launchpad Janitor (janitor) wrote :

[Expired for linux (Ubuntu Utopic) because there has been no activity for 60 days.]

Changed in linux (Ubuntu Utopic):
status: Incomplete → Expired
Revision history for this message
Launchpad Janitor (janitor) wrote :

[Expired for linux (Ubuntu Vivid) because there has been no activity for 60 days.]

Changed in linux (Ubuntu Vivid):
status: Incomplete → Expired
To post a comment you must log in.