Monthly Archives: December 2010

FATAL: Error inserting w83627ehf

It was many months ago that lm_sensors stopped working and only recently have I decided to investigate. I have an Asus P5Q-E board with a Winbound w83627ehf chip.

When attempting to insert it, I got the following error:

Turm ~ # modprobe w83627ehf
FATAL: Error inserting w83627ehf (/lib/modules/2.6.36-gentoo-r3/kernel/drivers/hwmon/w83627ehf.ko): Device or resource busy

Investigating this further we find that there’s a conflicting ACPI driver.

Turm ~ # dmesg | tail
[fglrx] Reserved FB block: Unshared offset:f921000, size:3df000 
[fglrx] Reserved FB block: Unshared offset:3fff4000, size:c000 
NET: Registered protocol family 10
lo: Disabled Privacy Extensions
ADDRCONF(NETDEV_UP): eth1: link is not ready
sshd (5426): /proc/5426/oom_adj is deprecated, please use /proc/5426/oom_score_adj instead.
eth0: no IPv6 routers present
w83627ehf: Found W83667HG chip at 0x290
ACPI: resource w83627ehf [io  0x0295-0x0296] conflicts with ACPI region HWRE [io  0x0290-0x0299 pref]
ACPI: If an ACPI driver is available for this device, you should use it instead of the native driver

After googling around a bit, it turns out that after kernel 2.6.31 they deprecated the use of sensor chip modules in favor of ACPI drivers when they’re available. To get your sensors back you need to use the asus_atk0110 acpi driver. You need to make sure it’s compiled into your kernel and lm_sensors is at least version 3.1.0. Then just issue

modprobe asus_atk0110

and everything should work. There is no need to rerun sensors-detect because lm_sensors is no longer involved in loading proper sensor modules.

Then you may want to adjust the lm_sensors startup script to load proper modules. On Gentoo look at /etc/conf.d/lm_sensors and change any instance of w83627ehf to asus_atk0110