This post is a bit late. I was actually waiting to get a definitive answer on this thread, but since it might take a while (or not happen at all) I’ll just post anyway and update later if any new information pops up.
After many hours reading the ACPI spec and fiddling with the DSDT code in my laptop trying to solve the problems with the fan, I now finally have a thermal zone that reports the (somewhat) accurate temperature and a fan that (somewhat) works.
As can be read in the linux-acpi thread, it’s not really a solution, more like a fluke, but if someone’s ran into the same problem and has a L300 21C, feel free to grab the updated DSDT and give it a spin.
- I wasn’t able to upload it to the DSDT override database on the old ACPI site; the new one says it should still work, but it doesn’t, so I’m hosting it here instead.
- There’s still some debugging output there, if someone wants to try hacking it a bit further.
- The active trip points reported are bogus, since the fan is controlled by something else. The kernel should still respect the passive, hot and critical trip points though, but I didn’t feel like putting my laptop through those tests…
- I didn’t solve the many warnings generated by the Intel compiler. They’re inside functions not related to my problem and the code is quite unwieldy for my level of DSDT-fu.
- I don’t think I’ve made any drastic changes, but if you laptop suddenly catches fire, you’re on your own! (I’ll update this post if mine does…)
UPDATE: I’ve run into some problems with kernel 2.6.30.