Cannot resume from suspend state

Hi all,

My FreeBSD desktop is unable to come out of suspend mode. I can enter suspend just fine, but when I try to resume the screens stay off and the machine is unresponsive.

The only way to get the machine working again is to do a hard reset, which loses my machine state.

After mentioning it in another topic, grahamperrin recommended I start a separate thread about it.

Machine specs for reference:

Code:
hostb0@pci0:0:0:0:    class=0x060000 rev=0x06 hdr=0x00 vendor=0x8086 device=0x0c00 subvendor=0x1458 subdevice=0x5000
    vendor     = 'Intel Corporation'
    device     = '4th Gen Core Processor DRAM Controller'
    class      = bridge
    subclass   = HOST-PCI
pcib1@pci0:0:1:0:    class=0x060400 rev=0x06 hdr=0x01 vendor=0x8086 device=0x0c01 subvendor=0x1458 subdevice=0x5000
    vendor     = 'Intel Corporation'
    device     = 'Xeon E3-1200 v3/4th Gen Core Processor PCI Express x16 Controller'
    class      = bridge
    subclass   = PCI-PCI
vgapci1@pci0:0:2:0:    class=0x030000 rev=0x06 hdr=0x00 vendor=0x8086 device=0x0412 subvendor=0x1458 subdevice=0xd000
    vendor     = 'Intel Corporation'
    device     = 'Xeon E3-1200 v3/4th Gen Core Processor Integrated Graphics Controller'
    class      = display
    subclass   = VGA
hdac1@pci0:0:3:0:    class=0x040300 rev=0x06 hdr=0x00 vendor=0x8086 device=0x0c0c subvendor=0x8086 subdevice=0x2010
    vendor     = 'Intel Corporation'
    device     = 'Xeon E3-1200 v3/4th Gen Core Processor HD Audio Controller'
    class      = multimedia
    subclass   = HDA
xhci0@pci0:0:20:0:    class=0x0c0330 rev=0x04 hdr=0x00 vendor=0x8086 device=0x8c31 subvendor=0x1458 subdevice=0x5007
    vendor     = 'Intel Corporation'
    device     = '8 Series/C220 Series Chipset Family USB xHCI'
    class      = serial bus
    subclass   = USB
none0@pci0:0:22:0:    class=0x078000 rev=0x04 hdr=0x00 vendor=0x8086 device=0x8c3a subvendor=0x1458 subdevice=0x1c3a
    vendor     = 'Intel Corporation'
    device     = '8 Series/C220 Series Chipset Family MEI Controller'
    class      = simple comms
uart2@pci0:0:22:3:    class=0x070002 rev=0x04 hdr=0x00 vendor=0x8086 device=0x8c3d subvendor=0x1458 subdevice=0x1c3a
    vendor     = 'Intel Corporation'
    device     = '8 Series/C220 Series Chipset Family KT Controller'
    class      = simple comms
    subclass   = UART
ehci0@pci0:0:26:0:    class=0x0c0320 rev=0x04 hdr=0x00 vendor=0x8086 device=0x8c2d subvendor=0x1458 subdevice=0x5006
    vendor     = 'Intel Corporation'
    device     = '8 Series/C220 Series Chipset Family USB EHCI'
    class      = serial bus
    subclass   = USB
hdac2@pci0:0:27:0:    class=0x040300 rev=0x04 hdr=0x00 vendor=0x8086 device=0x8c20 subvendor=0x1458 subdevice=0xa002
    vendor     = 'Intel Corporation'
    device     = '8 Series/C220 Series Chipset High Definition Audio Controller'
    class      = multimedia
    subclass   = HDA
pcib2@pci0:0:28:0:    class=0x060400 rev=0xd4 hdr=0x01 vendor=0x8086 device=0x8c10 subvendor=0x1458 subdevice=0x5001
    vendor     = 'Intel Corporation'
    device     = '8 Series/C220 Series Chipset Family PCI Express Root Port'
    class      = bridge
    subclass   = PCI-PCI
pcib3@pci0:0:28:2:    class=0x060400 rev=0xd4 hdr=0x01 vendor=0x8086 device=0x8c14 subvendor=0x1458 subdevice=0x5001
    vendor     = 'Intel Corporation'
    device     = '8 Series/C220 Series Chipset Family PCI Express Root Port'
    class      = bridge
    subclass   = PCI-PCI
pcib4@pci0:0:28:3:    class=0x060401 rev=0xd4 hdr=0x01 vendor=0x8086 device=0x244e subvendor=0x1458 subdevice=0x5001
    vendor     = 'Intel Corporation'
    device     = '82801 PCI Bridge'
    class      = bridge
    subclass   = PCI-PCI
ehci1@pci0:0:29:0:    class=0x0c0320 rev=0x04 hdr=0x00 vendor=0x8086 device=0x8c26 subvendor=0x1458 subdevice=0x5006
    vendor     = 'Intel Corporation'
    device     = '8 Series/C220 Series Chipset Family USB EHCI'
    class      = serial bus
    subclass   = USB
isab0@pci0:0:31:0:    class=0x060100 rev=0x04 hdr=0x00 vendor=0x8086 device=0x8c4a subvendor=0x1458 subdevice=0x5001
    vendor     = 'Intel Corporation'
    device     = 'H87 Express LPC Controller'
    class      = bridge
    subclass   = PCI-ISA
ahci0@pci0:0:31:2:    class=0x010601 rev=0x04 hdr=0x00 vendor=0x8086 device=0x8c02 subvendor=0x1458 subdevice=0xb005
    vendor     = 'Intel Corporation'
    device     = '8 Series/C220 Series Chipset Family 6-port SATA Controller 1 [AHCI mode]'
    class      = mass storage
    subclass   = SATA
ichsmb0@pci0:0:31:3:    class=0x0c0500 rev=0x04 hdr=0x00 vendor=0x8086 device=0x8c22 subvendor=0x1458 subdevice=0x5001
    vendor     = 'Intel Corporation'
    device     = '8 Series/C220 Series Chipset Family SMBus Controller'
    class      = serial bus
    subclass   = SMBus
vgapci0@pci0:1:0:0:    class=0x030000 rev=0xa1 hdr=0x00 vendor=0x10de device=0x0ffd subvendor=0x10de subdevice=0x0967
    vendor     = 'NVIDIA Corporation'
    device     = 'GK107 [NVS 510]'
    class      = display
    subclass   = VGA
hdac0@pci0:1:0:1:    class=0x040300 rev=0xa1 hdr=0x00 vendor=0x10de device=0x0e1b subvendor=0x10de subdevice=0x0967
    vendor     = 'NVIDIA Corporation'
    device     = 'GK107 HDMI Audio Controller'
    class      = multimedia
    subclass   = HDA
re0@pci0:3:0:0:    class=0x020000 rev=0x06 hdr=0x00 vendor=0x10ec device=0x8168 subvendor=0x1458 subdevice=0xe000
    vendor     = 'Realtek Semiconductor Co., Ltd.'
    device     = 'RTL8111/8168/8211/8411 PCI Express Gigabit Ethernet Controller'
    class      = network
    subclass   = ethernet
pcib5@pci0:4:0:0:    class=0x060401 rev=0x41 hdr=0x01 vendor=0x8086 device=0x244e subvendor=0x1458 subdevice=0x8892
    vendor     = 'Intel Corporation'
    device     = '82801 PCI Bridge'
    class      = bridge
    subclass   = PCI-PCI
 
Hi, thanks for the spin-off and additional information. Here's the relevant detail:

Code:
vgapci1@pci0:0:2:0:    class=0x030000 rev=0x06 hdr=0x00 vendor=0x8086 device=0x0412 subvendor=0x1458 subdevice=0xd000
    vendor     = 'Intel Corporation'
    device     = 'Xeon E3-1200 v3/4th Gen Core Processor Integrated Graphics Controller'
    class      = display
    subclass   = VGA

So, this was for the NVIDIA hardware:


– and now, you might decide whether to:
  1. disable Intel graphics (if the T490 allows this, and if NVIDIA GK107 [NVS 510] can drive the integral display); or
  2. load kernel modules for both graphics cards (simple enough) and attempt an X.Org configuration for multiple displays, if there will be more than one (less simple, too complex for my liking).
a Thinkpad T490, … The graphics problems I think are due to the fact the laptop has two graphics cards, …

For simplicity, with a GK107GLM (Quadro K1100M) (10de:0ff6:103c:2256) <https://bsd-hardware.info/?probe=db2c57b081#pci:10de-0ff6-103c-2256> I use:
If you'll attempt the more complex combined use (option 2 above), then this should be part of getting started:

sysrc -f /etc/rc.conf kld_list+="i915kms nvidia-modeset"

pkg install --yes --quiet drm-kmod

The quietness is to encourage attention to post-installation package messages.

rc.conf(5)

… the more relevant manual page, I can't remember at the moment, I might add it later.
 
You're welcome, and thanks I will have a look.

FYI this is for my desktop, not the T490. As such I only use the Nvidia card. Quite frankly I would have expected the internal graphics to have been auto disabled once I plugged the Nvidia in, but perhaps it isn't.

I will see in the BIOS if I can fully disable the Intel graphics, then report if that solves the resume from suspend issue.
 
So it is possible to disable internal graphics in the BIOS which I have done. I now only have the Nvidia VGA card visible in pciconf.

However suspend still does not work, same symptoms as above when I try to resume from sleep. I also noticed that USB also remains unpowered upon resumption, so my keyboard and mouse don't work.
 
Please check if you have the TPM driver loaded, and remove it if so. That thing does all sorts of problems for some of us w.r.t. suspend/resume.
 
TPM is common only on laptops. Motherboards for non-laptop machines can have a TPM (or a connector for a TPM module), but it is not common.
 
Back
Top