Bug #31
closedWindows doesn't like ToString() calls in ACPI
0%
Description
Windows doesn't like ACPI calls to ToString(), resulting in broken battery indicators. This affects laptops with the ENE and Chrome EC.
https://github.com/coreboot/coreboot/blob/master/src/ec/google/chromeec/acpi/battery.asl#L148
https://github.com/coreboot/coreboot/blob/master/src/ec/compal/ene932/acpi/battery.asl#L87
Updated by Patrick Georgi almost 9 years ago
Is there any documentation on the issue and Windows' behavior?
Updated by CoolStar Organization almost 9 years ago
Since the ToString() calls are in the _BIF and _BIX methods, those ACPI methods fail when called under Windows. Windows then says "No Battery Installed" even though there really is a battery, since the ACPI calls fail.
Updated by CoolStar Organization almost 9 years ago
Seems like ToInteger() also causes issues. This issue was noticed when importing lulu mainboard ACPI code from the chromium coreboot tree. The I2C HID _DSM method was failing in Windows due to the use of ToInteger() and switch() statements. Changing the code to using If statements and not using ToInteger fixed the issue.
Updated by Nico Huber over 7 years ago
- Status changed from New to Resolved
Looks like this has been fixed upstream by Matt DeVillier with
e34c16f915 ec/chromeec: Correct ACPI battery data fed into ToString()
678923c2b7 ec/ene932: correct ACPI battery data fed into ToString()
Beware of the links in the description, they show the current code :-P