Thinkpad T410: resume broken

John Baldwin jhb at freebsd.org
Thu Feb 18 14:55:34 UTC 2016


On Thursday, February 18, 2016 08:37:38 PM Alexey Dokuchaev wrote:
> On Fri, May 23, 2014 at 10:00:30AM -0400, John Baldwin wrote:
> > On Wednesday, May 21, 2014 3:43:49 pm Jan Henrik Sylvester wrote:
> > > Looking through dmesg, it seems that other USB devices (build-in) are
> > > reappearing (Qualcomm Gobi 2000, Broadcom Bluetooth Device) after
> > > resume, just not the mouse.
> > > 
> > > Are these lines likely related?
> > > 
> > > pci0: failed to set ACPI power state D2 on \134_SB_.PCI0.PEG_:
> > > AE_BAD_PARAMETER
> > > pci0: failed to set ACPI power state D2 on \134_SB_.PCI0.EXP1:
> > > AE_BAD_PARAMETER
> > > pci0: failed to set ACPI power state D2 on \134_SB_.PCI0.EXP2:
> > > AE_BAD_PARAMETER
> > > pci0: failed to set ACPI power state D2 on \134_SB_.PCI0.EXP4:
> > > AE_BAD_PARAMETER
> > > pci0: failed to set ACPI power state D2 on \134_SB_.PCI0.EXP5:
> > > AE_BAD_PARAMETER
> > 
> > These are probably not related.  These man that your BIOS explicitly told
> > the OS to power down these devices (PEG_ is probably your GPU, and EXP[1-5]
> > are probably PCI-PCI bridges that represent the downstream ports of your
> > PCI-e root complex) in the D2 state when suspending, but the devices don't
> > actually support D2 (most PCI devices only support D0 (full on) and D3
> > (full off)).
> 
> I've started to observe similar lines in the logs after updating to fresh
> -CURRENT, upon resume (on a different laptop though, not T410):
> 
>   pcib0: failed to set ACPI power state D2 on \_SB_.PCI0: AE_BAD_PARAMETER
>   acpi0: cleared fixed power button status
> 
> If these messages are legit, I'm wondering why I didn't see them on 8.4,
> and if it might affect suspend/resume sequence (broken right now)?  Thanks,

8.4 has a bug fixed only in HEAD where we tried to power down the wrong
devices during suspend (or used the _Sx hint from the wrong device to decide
which Dx state to use when powering down, I can't recall which).  For this
reason, 11 is going to use different Dx states on different devices.  The
reason for the message remains the same (though it should now be correct on
11).  Your BIOS said "please put this device in D2 during suspend" and your
device's capabilites said "I don't support D2".  You can confirm this by
looking up the _S3 method of your _SB_.PCIO device to find out what state is
requested during suspend and then looking at 'pciconf -lc pci0:0:0' to see
what D states are listed as supported.  There's not much we can do if your
BIOS lies to us.

-- 
John Baldwin


More information about the freebsd-mobile mailing list