[Samsung NP900X4C-A03US] USB 3.0 ports don't work after suspend, xhci_hcd errors in kernel log

Bug #1094534 reported by Shaun Crampton
38
This bug affects 7 people
Affects Status Importance Assigned to Milestone
Arch Linux
New
Undecided
Unassigned
linux (Ubuntu)
Incomplete
Medium
Unassigned

Bug Description

My laptop has one USB 2.0 port and a couple of USB 3.0 ports. The USB 3.0 ports only work after a fresh shutdown/restart, not after I suspend/resume. There are a couple of different USB controllers listed in lspci:

$ sudo lspci -nn | grep USB
00:1d.0 USB controller [0c03]: Intel Corporation 7 Series/C210 Series Chipset Family USB Enhanced Host Controller #1 [8086:1e26] (rev 04)
03:00.0 USB controller [0c03]: Renesas Technology Corp. Device [1912:0015] (rev 02)

lsusb lists a 3.0 root hub along wit the 2.0 one.

$ sudo lsusb
Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 003: ID 8087:07da Intel Corp.
Bus 001 Device 004: ID 2232:1024

I see the following errors in dmesg output (and nothing when I plug/unplug a device):

$ dmesg | grep xhci
[ 3916.808221] xhci_hcd 0000:03:00.0: WARN: xHC restore state timeout
[ 3916.808236] xhci_hcd 0000:03:00.0: PCI post-resume error -110!
[ 3916.808237] xhci_hcd 0000:03:00.0: HC died; cleaning up
[ 3916.808240] xhci_hcd 0000:03:00.0: HC died; cleaning up

ProblemType: Bug
DistroRelease: Ubuntu 12.10
Package: linux-image-3.5.0-21-generic 3.5.0-21.32
ProcVersionSignature: Ubuntu 3.5.0-21.32-generic 3.5.7.1
Uname: Linux 3.5.0-21-generic x86_64
ApportVersion: 2.6.1-0ubuntu9
Architecture: amd64
AudioDevicesInUse:
 USER PID ACCESS COMMAND
 /dev/snd/controlC0: shaun 1915 F.... pulseaudio
Date: Sat Dec 29 11:54:48 2012
HibernationDevice: RESUME=UUID=e9e7a3d6-2d7f-4d2d-8880-ace10b4a942f
InstallationDate: Installed on 2012-09-26 (94 days ago)
InstallationMedia: Ubuntu 12.10 "Quantal Quetzal" - Alpha amd64 (20120905.2)
MachineType: SAMSUNG ELECTRONICS CO., LTD. 900X3C/900X3D/900X4C/900X4D
MarkForUpload: True
ProcEnviron:
 TERM=xterm
 PATH=(custom, no user)
 LANG=en_US.UTF-8
 SHELL=/bin/bash
ProcFB: 0 inteldrmfb
ProcKernelCmdLine: BOOT_IMAGE=/vmlinuz-3.5.0-21-generic root=/dev/mapper/ubuntu-root ro quiet splash vt.handoff=7
PulseList:
 Error: command ['pacmd', 'list'] failed with exit code 1: Home directory /home/shaun not ours.
 No PulseAudio daemon running, or not running as session daemon.
RelatedPackageVersions:
 linux-restricted-modules-3.5.0-21-generic N/A
 linux-backports-modules-3.5.0-21-generic N/A
 linux-firmware 1.95
SourcePackage: linux
UpgradeStatus: No upgrade log present (probably fresh install)
dmi.bios.date: 07/12/2012
dmi.bios.vendor: Phoenix Technologies Ltd.
dmi.bios.version: P03AAC
dmi.board.asset.tag: Base Board Asset Tag
dmi.board.name: SAMSUNG_NP1234567890
dmi.board.vendor: SAMSUNG ELECTRONICS CO., LTD.
dmi.board.version: FAB1
dmi.chassis.asset.tag: No Asset Tag
dmi.chassis.type: 9
dmi.chassis.vendor: SAMSUNG ELECTRONICS CO., LTD.
dmi.chassis.version: 0.1
dmi.modalias: dmi:bvnPhoenixTechnologiesLtd.:bvrP03AAC:bd07/12/2012:svnSAMSUNGELECTRONICSCO.,LTD.:pn900X3C/900X3D/900X4C/900X4D:pvr0.1:rvnSAMSUNGELECTRONICSCO.,LTD.:rnSAMSUNG_NP1234567890:rvrFAB1:cvnSAMSUNGELECTRONICSCO.,LTD.:ct9:cvr0.1:
dmi.product.name: 900X3C/900X3D/900X4C/900X4D
dmi.product.version: 0.1
dmi.sys.vendor: SAMSUNG ELECTRONICS CO., LTD.

Revision history for this message
Shaun Crampton (fasaxc) 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
Shaun Crampton (fasaxc) wrote : Re: USB 3.0 ports don't work, xhci_hcd errors in kernal log

Since the errors talk about suspend I tries giving my machine a full shut down and restart. Afterwords, the ports started working

Revision history for this message
Shaun Crampton (fasaxc) wrote :

Here'a the "good" dmesg output after the restart:

$ dmesg | grep xhci
[ 1.443560] xhci_hcd 0000:03:00.0: xHCI Host Controller
[ 1.443566] xhci_hcd 0000:03:00.0: new USB bus registered, assigned bus number 2
[ 1.448876] xhci_hcd 0000:03:00.0: irq 16, io mem 0xf0500000
[ 1.448946] xhci_hcd 0000:03:00.0: irq 41 for MSI/MSI-X
[ 1.448952] xhci_hcd 0000:03:00.0: irq 42 for MSI/MSI-X
[ 1.448957] xhci_hcd 0000:03:00.0: irq 43 for MSI/MSI-X
[ 1.448962] xhci_hcd 0000:03:00.0: irq 44 for MSI/MSI-X
[ 1.448968] xhci_hcd 0000:03:00.0: irq 45 for MSI/MSI-X
[ 1.449086] usb usb2: Manufacturer: Linux 3.5.0-21-generic xhci_hcd
[ 1.449146] xHCI xhci_add_endpoint called for root hub
[ 1.449148] xHCI xhci_check_bandwidth called for root hub
[ 1.449226] xhci_hcd 0000:03:00.0: xHCI Host Controller
[ 1.449230] xhci_hcd 0000:03:00.0: new USB bus registered, assigned bus number 3
[ 1.452403] usb usb3: Manufacturer: Linux 3.5.0-21-generic xhci_hcd
[ 1.452462] xHCI xhci_add_endpoint called for root hub
[ 1.452464] xHCI xhci_check_bandwidth called for root hub
[ 53.429229] usb 2-1: new high-speed USB device number 2 using xhci_hcd
[ 252.720781] usb 2-2: new high-speed USB device number 3 using xhci_hcd
[ 300.306077] usb 2-2: new high-speed USB device number 4 using xhci_hcd

Revision history for this message
Shaun Crampton (fasaxc) wrote :

Just tried a suspend/resume and I immediately get this error in dmesg (nothing when I attach a device):

[ 694.190750] xhci_hcd 0000:03:00.0: WARN: xHC restore state timeout
[ 694.190758] xhci_hcd 0000:03:00.0: PCI post-resume error -110!
[ 694.190760] xhci_hcd 0000:03:00.0: HC died; cleaning up
[ 694.190762] xhci_hcd 0000:03:00.0: HC died; cleaning up

summary: - USB 3.0 ports don't work, xhci_hcd errors in kernal log
+ USB 3.0 ports don't work after suspend, xhci_hcd errors in kernal log
description: updated
summary: - USB 3.0 ports don't work after suspend, xhci_hcd errors in kernal log
+ USB 3.0 ports don't work after suspend, xhci_hcd errors in kernel log
Revision history for this message
Joseph Salisbury (jsalisbury) wrote : Re: USB 3.0 ports don't work after suspend, xhci_hcd errors in kernel log

Would it be possible for you to test the latest upstream kernel? Refer to https://wiki.ubuntu.com/KernelMainlineBuilds . Please test the latest v3.8 kernel[0] (Not a kernel in the daily directory) and install both the linux-image and linux-image-extra .deb packages.

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.8-rc1-raring/

Changed in linux (Ubuntu):
importance: Undecided → Medium
status: Confirmed → Incomplete
Revision history for this message
Ivan Danov (danov) wrote :

This bug affects me as well. I am using Samsung 900X4C. I have to add that the USBs fail even after restart, if there are more than one USB device attached to the laptop.

Revision history for this message
crysman (crysman) wrote :
Download full text (10.3 KiB)

Affects me, too, running Xubuntu 12.10 on ASUS U36SD.

I've also noticed some strange lines during resume on the screen, when I've looked through them in dmesg, I got lines like this:
[code]
xhci_hcd 0000:04:00.0: Refused to change power state, currently in D3
...
xhci_hcd 0000:04:00.0: WARN: xHC restore state timeout
xhci_hcd 0000:04:00.0: PCI post-resume error -110!
xhci_hcd 0000:04:00.0: HC died; cleaning up
...
[/code]

:(

Furthermore, after hibernation (not suspend) the laptop seems to be somehow slow in IO operations....

The relevant part of the dmesg:
$ dmesg | grep "^\[[[:space:]]*48[123][0-9]\.[0-9]*\]"
[ 4812.603941] usb 2-1.2: USB disconnect, device number 3
[ 4824.754196] wlan0: deauthenticating from 28:10:7b:8c:bd:c4 by local choice (reason=3)
[ 4824.790452] cfg80211: All devices are disconnected, going to restore regulatory settings
[ 4824.790463] cfg80211: Restoring regulatory settings
[ 4824.790470] cfg80211: Calling CRDA to update world regulatory domain
[ 4824.803648] cfg80211: Ignoring regulatory request Set by core since the driver uses its own custom regulatory domain
[ 4824.806237] cfg80211: World regulatory domain updated:
[ 4824.806241] cfg80211: (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp)
[ 4824.806243] cfg80211: (2402000 KHz - 2472000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
[ 4824.806246] cfg80211: (2457000 KHz - 2482000 KHz @ 20000 KHz), (300 mBi, 2000 mBm)
[ 4824.806247] cfg80211: (2474000 KHz - 2494000 KHz @ 20000 KHz), (300 mBi, 2000 mBm)
[ 4824.806249] cfg80211: (5170000 KHz - 5250000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
[ 4824.806251] cfg80211: (5735000 KHz - 5835000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
[ 4826.100050] init: anacron main process (4982) killed by TERM signal
[ 4826.801472] PM: Syncing filesystems ... done.
[ 4826.803816] PM: Preparing system for mem sleep
[ 4826.833878] bbswitch: enabling discrete graphics
[ 4827.214186] pci 0000:01:00.0: power state changed by ACPI to D0
[ 4827.214194] pci 0000:01:00.0: power state changed by ACPI to D0
[ 4827.214231] pci 0000:01:00.0: power state changed by ACPI to D0
[ 4827.214233] pci 0000:01:00.0: power state changed by ACPI to D0
[ 4827.214237] pci 0000:01:00.0: enabling device (0000 -> 0003)
[ 4827.214245] Freezing user space processes ... (elapsed 0.01 seconds) done.
[ 4827.229539] Freezing remaining freezable tasks ... (elapsed 0.01 seconds) done.
[ 4827.245533] PM: Entering mem sleep
[ 4827.245582] Suspending console(s) (use no_console_suspend to debug)
[ 4827.245866] sd 0:0:0:0: [sda] Synchronizing SCSI cache
[ 4827.257006] sd 0:0:0:0: [sda] Stopping disk
[ 4827.297566] pciehp 0000:00:1c.3:pcie04: pciehp_suspend ENTRY
[ 4827.691173] PM: suspend of drv:sd dev:0:0:0:0 complete after 445.536 msecs
[ 4827.691219] PM: suspend of drv:scsi dev:target0:0:0 complete after 445.563 msecs
[ 4827.691236] PM: suspend of drv:scsi dev:host0 complete after 408.912 msecs
[ 4827.697310] PM: suspend of drv: dev:ata1 complete after 414.939 msecs
[ 4827.713309] PM: suspend of drv:ahci dev:0000:00:1f.2 complete after 430.898 msecs
[ 4827.713357] PM: suspend of drv: dev:pci0000:00 complete after 427.467 msecs
[ 4827.713363] PM: suspend of ...

Revision history for this message
Ivan Danov (danov) wrote :

I have tested it with the mainline kernel provided by #6, the problem still persist. However the addition from my comment in #7 about the misbehaviour after restart with more than one USB device attached, turned out to be false, probably caused by me being confused.

The problem is apparent only after returning from suspend.

I am using Ubuntu 12.10 64 bit with kernel version 3.5.0-25-generic. The log for dmesg | grep xhci in normal state is:
[ 0.957071] xhci_hcd 0000:03:00.0: xHCI Host Controller
[ 0.957076] xhci_hcd 0000:03:00.0: new USB bus registered, assigned bus number 2
[ 0.962406] xhci_hcd 0000:03:00.0: irq 16, io mem 0xf0500000
[ 0.962488] xhci_hcd 0000:03:00.0: irq 41 for MSI/MSI-X
[ 0.962494] xhci_hcd 0000:03:00.0: irq 42 for MSI/MSI-X
[ 0.962500] xhci_hcd 0000:03:00.0: irq 43 for MSI/MSI-X
[ 0.962506] xhci_hcd 0000:03:00.0: irq 44 for MSI/MSI-X
[ 0.962512] xhci_hcd 0000:03:00.0: irq 45 for MSI/MSI-X
[ 0.962639] usb usb2: Manufacturer: Linux 3.5.0-25-generic xhci_hcd
[ 0.962710] xHCI xhci_add_endpoint called for root hub
[ 0.962712] xHCI xhci_check_bandwidth called for root hub
[ 0.962795] xhci_hcd 0000:03:00.0: xHCI Host Controller
[ 0.962799] xhci_hcd 0000:03:00.0: new USB bus registered, assigned bus number 3
[ 0.965919] usb usb3: Manufacturer: Linux 3.5.0-25-generic xhci_hcd
[ 0.965983] xHCI xhci_add_endpoint called for root hub
[ 0.965985] xHCI xhci_check_bandwidth called for root hub
[ 1.512127] usb 2-1: new full-speed USB device number 2 using xhci_hcd
[ 2.755406] usb 3-2: new SuperSpeed USB device number 2 using xhci_hcd
[ 636.593490] usb 3-2: new SuperSpeed USB device number 3 using xhci_hcd

Where after going back from suspend is:
[ 695.184718] xhci_hcd 0000:03:00.0: WARN Event TRB for slot 2 ep 19 with no TDs queued?
[ 695.185086] xhci_hcd 0000:03:00.0: WARN Event TRB for slot 2 ep 6 with no TDs queued?
[ 695.185462] xhci_hcd 0000:03:00.0: WARN Event TRB for slot 2 ep 0 with no TDs queued?
[ 695.188239] xhci_hcd 0000:03:00.0: WARN Event TRB for slot 1 ep 4 with no TDs queued?
[ 695.189247] xhci_hcd 0000:03:00.0: WARN Event TRB for slot 1 ep 2 with no TDs queued?
[ 695.190219] xhci_hcd 0000:03:00.0: WARN Event TRB for slot 1 ep 0 with no TDs queued?
[ 695.994486] xhci_hcd 0000:03:00.0: WARN: xHC restore state timeout
[ 695.994498] xhci_hcd 0000:03:00.0: PCI post-resume error -110!
[ 695.994500] xhci_hcd 0000:03:00.0: HC died; cleaning up
[ 695.994503] xhci_hcd 0000:03:00.0: HC died; cleaning up
[ 702.068320] xhci_hcd 0000:03:00.0: Timeout while waiting for configure endpoint command
[ 707.134334] xhci_hcd 0000:03:00.0: Timeout while waiting for configure endpoint command

tags: added: kernel-bug-exists-upstream
Changed in linux (Ubuntu):
status: Incomplete → Confirmed
Revision history for this message
DaKahuna (da-kahuna) wrote :

I am having the same issue after a usb suspend.
Linux livecd 3.7.5-pentoo-r1 #1 SMP PREEMPT Wed Mar 6 00:29:31 UTC 2013 x86_64 Intel(R) Core(TM) i5-3317U CPU @ 1.70GHz GenuineIntel GNU/Linux

Revision history for this message
Waterson (waterson) wrote :

Me too. But the usb 3 device get lost only at the second resume from suspend:
Apr 20 15:52:11 localhost kernel: [16505.145416] PM: Finishing wakeup.
Apr 20 15:52:11 localhost kernel: [16505.145417] Restarting tasks ... done.
Apr 20 15:52:11 localhost kernel: [16505.324142] usb 8-2: new high-speed USB device number 2 using xhci_hcd
Apr 20 15:52:11 localhost kernel: [16505.462272] usb 8-2: Device not responding to set address.
Apr 20 15:52:27 localhost kernel: [16510.664143] xhci_hcd 0000:03:00.0: Timeout while waiting for address device command
Apr 20 15:52:28 localhost kernel: [16521.808134] usb 8-2: device not accepting address 2, error -62
Apr 20 15:52:28 localhost kernel: [16521.808272] xhci_hcd 0000:03:00.0: ERROR no room on ep ring
Apr 20 15:52:28 localhost kernel: [16521.808365] xhci_hcd 0000:03:00.0: ERR: No room for command on command ring
Apr 20 15:52:28 localhost kernel: [16521.808485] xhci_hcd 0000:03:00.0: ERROR no room on ep ring
Apr 20 15:52:28 localhost kernel: [16521.808576] xhci_hcd 0000:03:00.0: ERR: No room for command on command ring
Apr 20 15:52:28 localhost kernel: [16521.808691] hub 8-0:1.0: couldn't allocate port 2 usb_device
Apr 20 15:52:28 localhost kernel: [16521.808883] usb 9-2: USB disconnect, device number 2
Apr 20 15:52:28 localhost kernel: [16521.813764] xHCI xhci_drop_endpoint called with udev and virt_dev does not match
Apr 20 15:52:28 localhost kernel: [16521.813772] xHCI xhci_drop_endpoint called with udev and virt_dev does not match
Apr 20 15:52:28 localhost kernel: [16521.813779] xHCI xhci_check_bandwidth called with udev and virt_dev does not match
Apr 20 15:52:28 localhost kernel: [16521.814230] xHCI xhci_free_dev called with udev and virt_dev does not match
Apr 20 15:52:28 localhost kernel: [16521.940144] xhci_hcd 0000:03:00.0: ERROR no room on ep ring
Apr 20 15:52:28 localhost kernel: [16521.940252] xhci_hcd 0000:03:00.0: ERR: No room for command on command ring
Apr 20 15:52:28 localhost kernel: [16521.940367] hub 9-0:1.0: couldn't allocate port 2 usb_device

Revision history for this message
Thaer Khawaja (thaer-khawaja) wrote :

Another confirmation of the bug on a Samsung N900X4C i5, with kernel version 3.9.2-1 using Arch Linux.
As stated in others' comments, problem arises with USB 3.0 ports after a resume from suspend.

Revision history for this message
Troy Sankey (sankeytm) wrote :

Exact same problem, Samsung NP900X4C, kernel version 3.9.0-030900-generic, Ubuntu 13.04.

Revision history for this message
NicolaP (leptone) wrote :

Same problem here, NP900X4C. Found the solution though. It's just a wrong default setting in the BIOS:

https://bbs.archlinux.org/viewtopic.php?id=156657

Just Enable the "USB S3 Wake-up" option in the Bios

Revision history for this message
Ivan Danov (danov) wrote :

Confirming that the solution from #14 worked for me as well.

Revision history for this message
ryeterrell (ryeterrell) wrote :

Solution from #14 worked for me as well.

Revision history for this message
penalvch (penalvch) wrote :

Shaun Crampton, could you please provide the full computer model as noted on the sticker?

tags: added: needs-full-computer-model needs-upstream-testing regression-potential
Changed in linux (Ubuntu):
status: Confirmed → Incomplete
Revision history for this message
Shaun Crampton (fasaxc) wrote :

Sure, it's NP900X4C-A03US

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

Shaun Crampton, because Samsung does not easily reveal what the latest BIOS is for this model, could you please download the latest firmware software as per http://www.samsung.com/us/support/owners/product/NP900X4C-A03US, and advise if a BIOS update is available? If so, when you update to this, does it change anything? If not, could you please both specify what happened, and provide the output of the following terminal command:
sudo dmidecode -s bios-version && sudo dmidecode -s bios-release-date

Thank you for your understanding.

Changed in linux (Ubuntu):
status: Confirmed → Incomplete
summary: - USB 3.0 ports don't work after suspend, xhci_hcd errors in kernel log
+ [Samsung NP900X4C-A03US] USB 3.0 ports don't work after suspend,
+ xhci_hcd errors in kernel log
Revision history for this message
Shaun Crampton (fasaxc) wrote :

Sorry, I can't update the BIOS, the updater is Windows-only and I don't have Windows installed :-(

$ sudo dmidecode -s bios-version && sudo dmidecode -s bios-release-date
P03AAC
07/12/2012

Revision history for this message
Shaun Crampton (fasaxc) wrote :

By the way, setting that USB wakeup setting in the BIOS seems to have some effect for me. The port no longer dies after suspend but instead it just doesn't work very well (random disconnections, file transfers from my digital camera fail).

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.