You are viewing hansdegoede

 
 
02 July 2009 @ 09:47 am
FAQ: Why did my sensors stop working in F-11 / with kernel 2.6.31 ?  
Hi all,

In the 2.6.29 kernel in F-11 and in the mainline 2.6.31 kernel, there is a change which causes hardware monitoring (also called sensors) to no longer work on some motherboards. If this is happening for your motherboard, then when the lm_sensors service is starting you are probably getting an error like this:
FATAL: Error inserting it87
(/lib/modules/2.6.29-15.fc11.x86_64/kernel/drivers/hwmon/it87.ko): Device or
resource busy
And if you look at the kernel messages (using the dmesg command in a terminal for example)  you will probably see something like this:
ACPI: I/O resource it87 [0x295-0x296] conflicts with ACPI region IP__
[0x295-0x296]
ACPI: Device needs an ACPI driver
With previous kernels hwmon drivers used to drive IO ranges which were potentially used by the ACPI code  in your BIOS (which is active not only during but also after boot), we now explicitly check for this and if the ACPI code claims the IO-ports used by the hwmon chip, we no longer allow the hwmon driver to load.

Banging IO-ports of a chip from 2 different drivers, the Linux hwmon driver and the ACPI code is a *really* bad idea and can cause all sort of issues (including things like changing CPU / RAM voltage or clock speed). So the old behaviour was a really bad idea.

So even though this change in behaviour makes some people unhappy as to old behaviour happened to work without problems in their case (by sheer luck really), this change is really for the best!

If you want to restore the old behaviour (which might be dangerous) add: "acpi_enforce_resources=lax" to the kernel cmdline when booting (or add it in grub.conf to make this permanent).


p.s.

Note that this change actually first appeared in the mainline 2.6.30 kernel, but due to a bug in 2.6.30, it didn't take effect until 2.6.31, see:
http://bugzilla.kernel.org/show_bug.cgi?id=13967
Tags: ,