On Sun, Feb 24, 2008 at 11:43 AM, Jean Delvare <khali at linux-fr.org> wrote: > As a side note, I think it's rather weird that the IT8712F rev. J (and > later) do default to 8-bit fan speed values while they no longer > support fan clock dividers. As these revisions of the chip are not > backward compatible with the older revisions, ITE should really have > switched to a saner default. > Yes, strange.. see below. >> The it8712 chip type now enables 16-bit fan tachometer reading to get >> proper readings. The register used in the it8712old chip type no longer >> has the same meaning in rev 8 of the chip. > > Which register are you talking about please? If you compare the PDF documents here: http://www.ite.com.tw/product_info/PC/Brief-IT8712_2.asp v0.8.2 shows 9.6.2.2.12 Fan Tachometer Divisor Register (Index=0Bh, Default=09h) using bits 0-6 for the divisors. This version corresponds to revisions of the chip < 0x8. v0.9.1 & v0.9.3 show the same register having bits 0-5 reserved and 6-7 are the PWM Smoothing Step Frequency Selection. This version corresponds to revisions of the chip >= 0x8. Since those bit ranges overlap, I don't see how they could be preserving the "old" behavior. They could have done that if bits 0-6 were reserved, but the new meaning of bits 6-7 overlaps the old FAN3 divisor. Strangely, both revisions say they have a default value of 09h. (Documentation error?) >> Also, a new module param array enable_fans is added. This was needed to >> get fan2 to show up on an it8712 rev 8 chip which was not enabled at >> boot time by the BIOS. The module param is checked and if a fan index >> value is 1, the fan is forced on even if it is not configured that way >> from the BIOS. > > This is a BIOS bug, which should be fixed in the BIOS. Please report to > your motherboard manufacturer and get them to fix the bug. What > motherboard is this, BTW? Usually motherboard BIOS enable all fans, or > none; I don't remember seeing a BIOS (improperly) enabling a subset > only. > I've reported this to the motherboard manufacturer and I'm waiting to hear back if they confirm that it is a BIOS setup issue on their side. The board in question is the Albatron KI 690-AM2 motherboard. This board has a 4-pin & a 3-pin fan header. The main fan control register has a value of 0x11 which indicates that only FAN1 is active (in SmartGuardian mode). If I manually hack the driver to always set bit 5 of the register (9.6.2.2.16 Fan Controller Main Control Register (Index=13h, Default=07h) in the docs), then I get a valid fan reading from my CPU fan on "fan2" plugged into the 3-pin header. Short of a BIOS update to fix this, I'd have to hack it to allow me to force enable the second fan to get a valid reading. I've reworked the code to just add a revision field as you noted and to only contain the 16-bit tach change. Please review and let me know what you think re: force enabling the fans via a module parameter bitmask or something similar. Thanks, -Andrew -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: 0001-hwmon-it87-support-for-16-bit-fan-reading-in-it8712-rev-8.txt Url: http://lists.lm-sensors.org/pipermail/lm-sensors/attachments/20080624/a248a6bb/attachment.txt