Fixed ACPI Description Table flags information

Hi there!

Guys, I need to get flags information from from ACPI FADT (Fixed ACPI Description Table) under Windows? Is there a tool or program-way?

Actually, I need to detect is there “LOW_POWER_S0_IDLE_CAPABLE” flag in that table.

So I found it can be done via ACPI Debugging: all I need is to type “!fadt”.

But I didn’t get how to use ACPI Debugging via WinDBG. There is no good instruction on MSDN… I found an instruction (http://feishare.com/attachments/046_Windbg_in_ASL_debug_and_DTM_fail_.pdf) - but I didn’t get the language…

Could you please help me, how to start?

Thank you veru much!

xxxxx@mail.ru wrote:

Guys, I need to get flags information from from ACPI FADT (Fixed ACPI Description Table) under Windows? Is there a tool or program-way?

Actually, I need to detect is there “LOW_POWER_S0_IDLE_CAPABLE” flag in that table.

So I found it can be done via ACPI Debugging: all I need is to type “!fadt”.

But I didn’t get how to use ACPI Debugging via WinDBG. There is no good instruction on MSDN… I found an instruction (http://feishare.com/attachments/046_Windbg_in_ASL_debug_and_DTM_fail_.pdf) - but I didn’t get the language…

Could you please help me, how to start?

Congratulations on telling us what you REALLY needed to know, because
that’s going to save you a lot of work. What you want to know is
whether your system supports Connected Standby. You don’t need to dig
around in ACPI for that. In fact, you can call a command line tool:

powercfg /availablesleepstates

My Win 10 system responds with:

Standby (S0 Low Power Idle)
The system firmware does not support this standby state.

So I don’t have it. On Win 8, the string says “Standby (Connected)”
instead of “Standby (S0 Low Power Idle)”.

You can get this information in an app by calling GetPwrCapabilities.
The mnemonically named “AoAc” member indicates if your system supported
connected standby.


Tim Roberts, xxxxx@probo.com
Providenza & Boekelheide, Inc.

Hello, Tom!

Congratulations on telling us what you REALLY needed to know, because that’s going to save you a lot of work.

I’m sorry for putting the question like this. I’m not an ilder and I really have been searching for a solution…

What you want to know is whether your system supports Connected Standby. You don’t need to dig around in ACPI for that. In fact, you can call a command line tool: …

In general you’re rigth but as you know the are several requirements for supporting Connected Standby (https://msdn.microsoft.com/ru-ru/library/dn481228(v=vs.85).aspx) and powercfg doens’t show WHY excatly Connected Standby is not supported. So my main task was to find out the reason. So that’s why I started with getting the value of LOW_POWER_S0_IDLE_CAPABLE flag.

You can get this information in an app by calling GetPwrCapabilities. The mnemonically named “AoAc” member indicates if your system supported connected standby.

This is it! Thank you very much, Tom!

Also I found the tools (https://www.acpica.org/downloads/binary-tools) that allows to extract information from all ACPI tables. So I look into FADT via two commands:

acpidump -b -n FACP.dat
iasl -d FACP.dat

And next we get FACP.dsl that contains the flag:

Low Power S0 Idle (V5) : 0

Thank you again!

xxxxx@mail.ru wrote:

Hello, Tom!

Tim.

> Congratulations on telling us what you REALLY needed to know, because that’s going to save you a lot of work.
I’m sorry for putting the question like this. I’m not an ilder and I really have been searching for a solution…

I truly meant that as a compliment. You asked your question in exactly
the right way, by telling us not only what specific detail you were
after, but also telling us what the overall goal was.

In general you’re rigth but as you know the are several requirements for supporting Connected Standby (https://msdn.microsoft.com/ru-ru/library/dn481228(v=vs.85).aspx) and powercfg doens’t show WHY excatly Connected Standby is not supported. So my main task was to find out the reason.

Peter V has posted his frustrations about this before in the [ntdev]
list, which is a better place for this question. In general, there’s no
good way to find out why Connected Standby has been blocked. It’s
basically an exercise in looking at each component, one by one.


Tim Roberts, xxxxx@probo.com
Providenza & Boekelheide, Inc.