Most recent kernel where this bug did not occur: 2.6.15.1 Distribution: Fedora Core 4 Hardware Environment: Asus A7V600 mainboard, Athlon XP 3000+ Software Environment: Problem Description: The A7V600 board is equipped with an it8712 sensors chip. There are some problems with this chip wrt. the kernel driver: - on my box, only CPU fan speed is displayed (even though I have a chassis fan as well, and its RPM is displayed correctly by a hardware health menu in the BIOS setup). - some other values displayed by sensors(1) command are wrong (altough this is probably not a kernel issue, but a /etc/sensors.conf problem - should I report this one elsewhere?). See below for the actual values. Steps to reproduce: # pwd /sys/devices/platform/i2c-1/1-0290 # for i in *; do echo -n $i:\ ; cat $i; done alarms: 28438 bus: cat: bus: Is a directory cpu0_vid: 1200 driver: cat: driver: Is a directory fan1_div: 2 fan1_input: 4017 fan1_min: 0 fan2_div: 2 fan2_input: 0 fan2_min: 3000 fan3_div: 2 fan3_input: 0 fan3_min: 3000 in0_input: 1744 in0_max: 1568 in0_min: 1424 in1_input: 0 in1_max: 2608 in1_min: 2400 in2_input: 3264 in2_max: 1728 in2_min: 1568 in3_input: 2800 in3_max: 3120 in3_min: 2832 in4_input: 3056 in4_max: 3152 in4_min: 2848 in5_input: 0 in5_max: 2080 in5_min: 1920 in6_input: 0 in6_max: 2048 in6_min: 1936 in7_input: 2960 in7_max: 3120 in7_min: 2832 in8_input: 3184 name: it8712 power: cat: power: Is a directory pwm1: 255 pwm1_enable: 0 pwm2: 255 pwm2_enable: 0 pwm3: 255 pwm3_enable: 0 temp1_input: 48000 temp1_max: 52000 temp1_min: -83000 temp1_type: 2 temp2_input: 44000 temp2_max: 50000 temp2_min: 15000 temp2_type: 2 temp3_input: -1000 temp3_max: 45000 temp3_min: 15000 temp3_type: 0 vrm: 90 # sensors it8712-isa-0290 Adapter: ISA adapter VCore 1: +1.74 V (min = +1.42 V, max = +1.57 V) ALARM VCore 2: +0.00 V (min = +2.40 V, max = +2.61 V) ALARM +3.3V: +6.53 V (min = +3.14 V, max = +3.46 V) ALARM +5V: +4.70 V (min = +4.76 V, max = +5.24 V) ALARM +12V: +12.22 V (min = +11.39 V, max = +12.61 V) -12V: -27.36 V (min = -12.63 V, max = -11.41 V) ALARM -5V: -13.64 V (min = -5.26 V, max = -4.77 V) ALARM Stdby: +4.97 V (min = +4.76 V, max = +5.24 V) VBat: +3.18 V fan1: 4017 RPM (min = 0 RPM, div = 2) fan2: 0 RPM (min = 3000 RPM, div = 2) ALARM fan3: 0 RPM (min = 3000 RPM, div = 2) ALARM CPU Temp: +59
I am sorry, the top-most line in the bug report is wrong: > Most recent kernel where this bug did not occur: 2.6.15.1 - in fact, I have misread this. The bug occurs both in 2.6.13 and 2.6.15.1 (I may test any other version on request).
This is a user-space configuration issue, not suitable for this bug tracking system. You should first search in the archives, the A7V600 is a popular model and it has been discussed a few times already: http://www.google.com/search?q=a7v600&sitesearch=lists.lm-sensors.org There is also a FAQ which has answers to some of your problems: http://www2.lm-sensors.nu/~lm78/cvs/lm_sensors2/doc/lm_sensors-FAQ.html (See in particular point 4.1.1.) If you still need help, please post on the lm-sensors mailing list: http://lists.lm-sensors.org/mailman/listinfo/lm-sensors
OK, thanks. After setting fan2_div to 8 the chassis fan RPM is readed correctly. Sorry for the noise. BTW, it seems that the it87 driver in the lm_sensors distribution supports more features than the in-kernel one (in particular, it can set fan speed values for different temperatures, so that the CPU fan can actually slow down when the CPU is cooler, and speed up when the CPU is busy). Are there any plans to merge this functionality to the 2.6 kernel?
You are correct, the Linux 2.4 driver as found in lm_sensors supports the "Smart Guardian" feature (automatic fan speed control depending on measured temperature), while the Linux 2.6 driver doesn't. There is no immediate plan to port this additional feature (nobody is working on it as far as I know), although doing so would be obviously welcome.
OK, I will hopefully have some time next week, so I may try to look at it - from reading the it87.c from lm_sensors.c it does not look difficult (altough some changes in the user interface would be needed - sysfs tries to stick with "one value per file" policy, so there has to be a separate file for each fan and each threshhold.
True. Additionally, Linux 2.6 hardware monitoring drivers must comply with a standard interface as much as possible, see Documentation/hwmon/sysfs- interface. This may require some additional work. Also, beware that different revisions of the IT87xxF chips have completely different register configurations for the SmartGuardian feature. So, depending on your board, the code from the lm_sensors CVS repository may or may not work properly. If not, check out the latest IT8712F datasheet available from ITE's web site.