Posts

Showing posts with the label lenovo 3000 n100

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 $ ca...

Lenovo 3000 N100 and ACPI

There was a bug in BIOS of my laptop that annoyed me for long time: In two words, after resume from hibernate (suspend to disk) fan sticks to the one state. I.e. it's always working (annoying but not dangerous), or it's always stopped (dangerous, can cause overheat) - it's state is not depend on CPU temperature. Here's some links about it: http://bugzilla.kernel.org/show_bug.cgi?id=10223 https://bugs.launchpad.net/ubuntu/+source/linux-source-2.6.20/+bug/114312 Zhang Rui (thanks to him!) pointed right direction: he provided customized DSDT table with extra debug output in _TMP method. I've tried it, and it showed that one of two thermal sensors shows wrong info after resume. So I wrote new _TMP method that uses only one thermal sensor. There was one more issue in BIOS - /proc/acpi/battery/BAT1/{info,state} shows hardcoded values, and doesn't perform real query to the smart battery. I've googled a little bit and found this: http://hughsient.livejournal.com/588...