A buggy BIOS can cause many different and subtle problems to Linux, ranging from reboot problems, incorrect battery power readings, suspend/resume not working correctly, and weird ACPI issues.
Unfortunately a broken BIOS usually ends up as a Linux kernel bug, which is unfortunate, since most of time the problem is with the closed proprietary BIOS code. Troubleshooting this can be difficult, as sometimes it really can be a genuine kernel bug(!) We've added some BIOS trouble shooting Ubuntu Wiki pages which may be helpful in diagnosing a lot of these issues.
Since a lot of BIOS issues fall into a broken ACPI, it's worth looking at the Debugging ACPI wiki page first.
Next, if you want to get your fingers really dirty with looking at the Differentiated System Description Table (DSDT), have a look at the BIOS and Ubuntu wiki page.
Hopefully these will guide you to a solution.
Hi,
ReplyDeleteat the coreboot project, we run into ACPI issues all the time, and it is tricky to not only have a valid ACPI implementation, but also one that works with all different versions of the Linux kernel out there. (Not to mention other OSes out there). So we started gathering information here:
http://www.coreboot.org/ACPI_in_coreboot
Maybe this is interesting to someone reading this blog entry?
@Stefan, that ACPI page contains very useful information, so thank you for referencing that. Much appreciated!
ReplyDelete