Details
-
Bug
-
Resolution: Unresolved
-
Major
-
None
-
None
Description
ReactOS version: ReactOS 0.4.15-dev-7585-g51a446f-x86-gcc-lin-dbg
Device: ADVENT 4211 (MSI U100 clone) - Laptop without COM port.
Description: There is no driver for the PNP0C09 ACPI embedded driver. This might affect some laptops to detect the batteries and other ACPI functions/shortcuts:
Windows XP behavior: The PNP0C09 embedded controller has several children devices, including the battery (PNP0C0A). Device by connection: ACPI => PCI => PCI-ISA bridge => ACPI Embedded Controller => Battery.
I dumped the ACPI. Attached the image from the reference.
I will provide a debug log ASAP.
Adding more info into the ticket: There are at least two issues about this. One is about the AML misdetection by ReactOS ACPICA. Simone helped me to locate the root, and he proposed me this patch (including some debug logs in osl that could be erased). MSIU100-ACPIBATT.patch
Quoting Simone:
The device status method checks if SB was initalized and EC was registered. If no, it reports a missing battery. Most DSDT does not implement the status method in battery snd acpi protocol makes it assume it's present. Since the status method checks MYEC field in EC region space, the missing handler on ACPI made the AML execution fails because it didn't know how to retrieve that field (no handler found). |
DSDT from MSIU100 (SB.PCI0.SBRG.EC.MYEC And SB.PCI0.SBRG.EC.MBTS refered the EC region).
That dummy = 1 thing basically forced that field value to 1 without looking the acpi memory region.
Device (BAT1)
|
{
|
Name (_HID, EisaId ("PNP0C0A") /* Control Method Battery */) // _HID: Hardware ID |
Name (_UID, 0x01) // _UID: Unique ID |
Name (_PCL, Package (0x01) // _PCL: Power Consumer List |
{
|
\_SB
|
})
|
Method (_STA, 0, NotSerialized) // _STA: Status |
{
|
If (\_SB.PCI0.SBRG.EC.MYEC)
|
{
|
If (\_SB.PCI0.SBRG.EC.MBTS)
|
{
|
Return (0x1F) |
}
|
Else
|
{
|
Return (0x0F) |
}
|
}
|
Else
|
{
|
Return (0x0F) |
}
|
}
|
After the patch, the battery is exposed in the device manager and so, but it's still not recognizing some parameters of the EC region.
Images after patch:
Attachments
Issue Links
- relates to
-
CORE-12731 Board: HP Pavillion dv6500 - general doc.
- Reopened