Device ACPI0011 not loading with error code 10

Mattia Aisa 0 Reputation points
2024-08-23T10:20:08.5233333+00:00

Hi,

I'm a BIOS developer, and I'm implementing a custom ACPI table for HID buttons, using GPIOs. Below you find the sample ACPI table that I'm currently using, created following this documentation https://learn.microsoft.com/it-it/windows-hardware/drivers/hid/acpi-button-device:

Scope(\_SB){
    Device(BTNS)
    {
        Name(_HID, "ACPI0011")       
Method (_STA, 0, NotSerialized)  // _STA: Status
        {
            Return (0x0F)
        }
        Name (_DDN, "Generic HID over Interrupt Button Interface") // _DDN: DOS Device Name
        Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
        {
            Name(CBUF, ResourceTemplate() {
                GpioInt(Edge, ActiveBoth, Exclusive, PullDefault, 5000, "\\_SB.GPI1", 0x00, ResourceConsumer){77} // GPIO0, VOLUME_UP_BTN#
                GpioInt(Edge, ActiveBoth, Exclusive, PullDefault, 5000, "\\_SB.GPI1", 0x00, ResourceConsumer){78} // GPIO1, VOLUME_DOWN_BTN#
            })
            Return(CBUF)
        }
        Name(_DSD, Package(2) {
            ToUUID("fa6bd625-9ce8-470d-a2c7-b3ca36c4282e"),
            Package(3) {
                Package(5) {
                    Zero,    // This is a Collection
                    1,    // Unique ID for this Collection
                    Zero,    // This is a Top-Level Collection
                    0x01, //Usage Page ("Generic Desktop Page")
                    0x0D  //Usage ("Portable Device Control")
                },
                Package(5) {
                    One,    // This is a Control
                    0,    // Interrupt index in _CRS for Volume Up Button
                    One,    // Unique ID of Parent Collection
                    0x0C, // Usage Page ("Consumer Page")
                    0xE9  // Usage ("Volume Increment")
                },
                Package(5) {
                    One,    // This is a Control
                    1,    // Interrupt index in _CRS for Volume Down Button
                    One,    // Unique ID of Parent Collection
                    0x0C, // Usage Page ("Consumer Page")
                    0xEA  // Usage ("Volume Decrement")
                }
            }
        })
    }
}

When OS attempts to load the device, I can see the device in error in the "Human Interface Device" section with name "HID Button over Interrupt Driver". Looking at the properties, I can see the error:

This device cannot start. (Code 10)

STATUS_DEVICE_POWER_FAILURE

Looking at the details, I can see that the problem status is 0xC000009E.

Can I get help/information on this? Is there a way to get a more verbose error from the driver, with a more specific cause of the error?

I'm using Windows 10 IoT Enterprise LTSC 21H2.

Thanks in advice

Windows 10
Windows 10
A Microsoft operating system that runs on personal computers and tablets.
11,469 questions
0 comments No comments
{count} votes

Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.