lenovo 3000 n100 custom bios
As one may know, Lenovo 3000 n100 has broken DSDT ACPI table, and as result it reports battery status incorrectly, i.e. BIOS says 'hey, battery status is 20%!', but actually it's 0%, and laptop will shutdown in few minutes. Lenovo engineers were stupid enought to hardcode some values instead of querying smart battery. You can easily check if your laptop is affected:
$ cat /proc/acpi/battery/BAT1/info
present: yes
design capacity: 5200 mAh
last full capacity: 5200 mAh
See? 'design capacity' and 'last full capacity' are hardcoded. Also BIOS reports incorrect values for 'present rate' and 'present voltage' in /proc/acpi/battery/BAT1/state. Here's how these values should look like:
$ cat /proc/acpi/battery/BAT1/state
present: yes
capacity state: ok
charging state: discharging
present rate: 1875 mA
remaining capacity: 4378 mAh
present voltage: 12285 mV
$ cat /proc/acpi/battery/BAT1/info
present: yes
design capacity: 5183 mAh
last full capacity: 4517 mAh
In July'09 I wrote a post how to fix it via custom DSDT, but it requires kernel patching and it's not easy/userfriendly, especially in non-source-based distros. And I pretty sure it's not possible in MS Windows (tm)
You can take fixed bios here. It can be used with Lenovo 3000 N100 with AD codec (not suitable for laptops with realtek codec).
Disclaimer: I'm not responsible for any damage you can done to your laptop by following these instructions/flashing my custom BIOS
Comments