[i2c] ASUS P4B doesn't work under kernel 2.6.18.2-34-default (opensuse10.2)

Jean Delvare khali at linux-fr.org
Sun Dec 24 10:34:25 CET 2006


Hallo Johannes,

On Fri, 22 Dec 2006 18:05:20 +0100, Johannes Kapune wrote:
> I have two ASUS-Boards in use, one with SuSE 9.3 where the sensors work
> fine, and an other with opensuse10.2 witch won't work.
> 
> I meant I have read that under kerner 2.6.x there was a problem with
> ASUS-boards and sensors wont't work, but I can't find this anymore.

The problem isn't kernel 2.6-specific, it was occuring with earlier
kernel series as well. The 2.6 kernel is actually better at dealing
with the problem, except for a few recent versions.

> Is there a chance to get it work again? What I have to do for that?
> 
> The boards are ASUS P4B533 Rev. 1.04 the newest Bios on Asus-homepage
> available.
> 
> The output seems to me a bit different between the two boards using
> lspci. Is this a reason of the kernel-version or of some differents of
> the boards? But when yes the board, what could it be? (CPU?)

I bet that PCI device 00:1f.3 is missing from the list on the system
running openSuse 10.2.

Asus is hiding the SMBus on many of their boards. The kernel has to
unhide it, otherwise the hardware monitoring chip connected to the
SMBus cannot be used. The problem is that it was recently noticed that
this operation wasn't properly handled when suspend/resume cycles are
performed on the affected systems, with potentially dangerous effects
on some systems. So we decided to play it safe and disabled the feature
altogether when suspend support is enabled in the kernel. This happened
in kernel 2.6.17, and was backported to 2.6.16.y too.

Since then, Alan Cox fixed the problem, so using the SMBus unhiding
quirk should be safe even when suspend/resume is used. Alan's fix will
be in 2.6.20.

So, from 2.6.16 to 2.6.19, you have to choose between hardware
monitoring and suspend support on these Asus boards. Typically,
distribution kernels will have suspend support enabled, so no hardware
monitoring support for the affected boards. This is what is happening
to you on openSuse 10.2. So, you have to either recompile your kernel
without suspend support, or upgrade to kernel 2.6.20 once it is
released.

Alternatively, you can go bug Asus and ask them for a fixed BIOS. Their
idea of hiding the SMBus has been a real pain for thousands of users.

-- 
Jean Delvare



More information about the i2c mailing list