Ticket #648 (closed task)

Opened 10 years ago

w83782d - A7A266 works but freezes at 60.5C (Examined/Solved - lm_sensors 2.6.0 Linux 2.4.5)

Reported by: contact Owned by: somebody
Priority: minor Milestone:
Component: hardware Version:
Keywords: Cc:



I'm using an A7A266 board with a 1.33 GHz Athlon processor. The

sensors-detect program doesn't seem to find the right drivers but I can get

meaningful readouts from the sensors program (or

/proc/sys/dev/sensors/w83782d-i2c-0-2d) when I do this:

modprobe i2c-ali1535

modprobe w83781d

/usr/local/bin/sensors -s

At the end of this message I include a syslog message dump.


After boot, my "temp2" value is somewhere around 58C, and as soon as I do some

serious computing, it starts to rise. When the temperature reaches 60.5C,

my motherboard emits a high-pitched beeping sound through the system speaker and


This happens if and only if I load the modules. Loading the modules and

unloading them later does not prevent the system from crashing at 60.5;

the only way to work at temperatures over 60C is not loading the modules,


Of course I have tried to change the "temp2_max" value in sensors.conf and run

sensors -s afterwards, but this does not seem to change the behaviour. The new

max value is not recognized - the "sensors" printout always lists 60.0C as the

max value for temp2, no matter what I put in sensors.conf (and yes, I *do* rund

sensors -s afterwards). The sensors printout also says "alarm sound disabled" or

some such message, but I can assure you that I have an alarm sound and

associated system freeze.

My BIOS has a hardware monitor page where I can set the individual temps to

"ignore"; I tried that but without success (it seems to affect only boot time


My system works just fine as long as I don't load any of the i2c/lm_sensors

modules. But of course I'd like to be able to use them.

Any ideas?


kernel: i2c-core.o: i2c core module

kernel: i2c-ali1535.o version 2.6.0 (20010612)

kernel: i2c-core.o: adapter SMBus ALI1535 adapter at e800 registered as adapter


kernel: i2c-ali1535.o: ALI1535 SMBus Controller detected and initialized

kernel: i2c-proc.o version 2.6.0 (20010228)

kernel: w83781d.o version 2.6.0 (20010612)

kernel: i2c-core.o: driver W83781D sensor driver registered.

kernel: i2c-ali1535.o: Error: command never completed

last message repeated 12 times

kernel: i2c-core.o: client [W83782D chip] registered to adapter [SMBus ALI1535

adapter at e800](pos. 0).

kernel: i2c-core.o: client [W83782D subclient] registered to adapter [SMBus

ALI1535 adapter at e800](pos. 1).

kernel: i2c-core.o: client [W83782D subclient] registered to adapter [SMBus

ALI1535 adapter at e800](pos. 2).

kernel: i2c-ali1535.o: Error: command never completed

kernel: i2c-ali1535.o: Error: command never completed

--- Hmm.

The 1535 driver is alpha but it doesn't seem to be the problem.

Don't know what the 'command never completed' means,

I will investigate.

If your temp2_max setting isn't taking effect it

is possible that you don't really have a w83782d.

Can you look at your motherboard to verify?

I'll also look to see if the temp2_max setting code looks


Can you also try direct setting of the temp2 max values

by writing to the /proc/.../temp2 file

and reading it back, then seeing if that

fixes the system crash problem.

Followup by emailing sensors@…

and reference your ticket #.

MDS 7/15/01

Result of email MDS 7/28/01

You must change the section of sensors.conf that corresponds

to the chip found, not the driver name.

So to get sensors.conf to work now, you must change the section

headed w83782d.

Your chip is being misidentified by the driver, which is a common problem.

Force the driver with

modprobe w83781d force_as99127f=0,0x2d (assuming 0 is the bus number).

Then you will need to set the limits in the as99127f section of the

sensors.conf file.

The driver has some special handling for as99127f which may solve

the alarm problems.

If not,

Many registers are initialized when the driver is loaded.

If that is causing problems comment them out in w83781d_init_client()

in the driver.


Frederik Ramm wrote:


I'm responding to your message in the lm-sensors.nu ticket system

(MDS 7/15/01).

If your temp2_max setting isn't taking effect it

is possible that you don't really have a w83782d.

Can you look at your motherboard to verify?

The chip on the board is marked "Asus AS99127F". As far as I

understand, it should be supported by the w83781d module?

You asked me to try writing directly to the /proc/.../temp2 file,

and yes, this works! I can now set the temperature limit freely. If I

change the limits this way, "sensors" will display the changed limits

correctly; trying to set them with "sensors -s" has no effect. I am

attaching my sensors.conf file.

I still don't understand why simply loading the modules (and not

running sensors at all) seems to establish either lower-that-usual

limits or switch on an alarm function with the BIOS. As I told you in

my ticket, when I didn't use the modules at all, everything was fine,

but loading the modules somehow "arms" the alarm mechanism.

Thank you for helping,




chip "w83781d-*"

label in0 "VCore 1"

label in1 "VCore 2"

label in2 "+3.3V"

label in3 "+5V"

label in4 "+12V"

label in5 "-12V"

label in6 "-5V"

compute in3 ((6.8/10)+1)*@ , @/((6.8/10)+1)

compute in4 ((28/10)+1)*@ , @/((28/10)+1)

compute in5 -(210/60.4)*@ , -@/(210/60.4)

compute in6 -(90.9/60.4)*@ , -@/(90.9/60.4)

set in0_min vid*0.95

set in0_max vid*1.05

set in1_min vid*0.95

set in1_max vid*1.05

set in2_min 3.3 * 0.95

set in2_max 3.3 * 1.05

set in3_min 5.0 * 0.95

set in3_max 5.0 * 1.05

set in4_min 12 * 0.95

set in4_max 12 * 1.05

set in5_min -12 * 0.95

set in5_max -12 * 1.05

set in6_min -5 * 0.95

set in6_max -5 * 1.05

set temp1_over 50

set temp1_hyst 47

set temp2_over 64

set temp2_hyst 60


Frederik Ramm ## eMail frederik@… ## N4859.94 E00824.36'

Note: See TracTickets for help on using tickets.