Re: [lm-sensors] Tachometer speed returned rather than absolute fan speed?

From: Guenter Roeck
Date: Mon Mar 10 2014 - 09:26:28 EST


On 03/10/2014 02:59 AM, Laszlo Papp wrote:
The reason is (most likely) that your fan input does not have a pull-up resistor. Per datasheet, the fan inputs need a 10kOhm pull-up resistor. I confirmed this with my test board - with the pull-up resistor, inputs read 0, Without pull-up, the reported value is 1, which translates to 30 RPM. You might also need the 10 uF capacitor on the FB pin.

We have both of them in place as per requirement for the chip as far
as I understand the datasheet. The circuit would not work properly
without it.
sudo i2cdump -y -f 1 0x48
No size specified (using byte-data access)
0 1 2 3 4 5 6 7 8 9 a b c d e f 0123456789abcdef
00: 00 00 0a 0a ff ff 00 00 00 00 00 00 01 01 00 00 ..??........??..
10: 01 01 01 01 1f 1f 02 02 91 91 91 91 91 91 91 91 ????????????????
20: 00 00 0a 0a ff ff 00 00 00 00 00 00 01 01 00 00 ..??........??..

/usr/sbin/i2cdump -y -f 1 0x48
No size specified (using byte-data access)
0 1 2 3 4 5 6 7 8 9 a b c d e f 0123456789abcdef
00: 00 00 3a 3a fc fc b4 b4 00 00 00 00 01 01 01 01 ..::????....????
10: 09 09 01 01 1c 1c 02 02 91 91 91 91 91 91 91 91 ????????????????
20: 00 00 3a 3a fc fc b4 b4 00 00 00 00 01 01 01 01 ..::????....????
30: 09 09 01 01 1c 1c 02 02 91 91 91 91 91 91 91 91 ????????????????
40: 00 00 3a 3a fc fc b4 b4 00 00 00 00 01 01 01 01 ..::????....????
50: 08 08 01 01 1c 1c 02 02 91 91 91 91 91 91 91 91 ????????????????
60: 00 00 3a 3a fc fc b4 b4 00 00 00 00 01 01 01 01 ..::????....????
70: 08 08 01 01 1c 1c 02 02 91 91 91 91 91 91 91 91 ????????????????
80: 00 00 3a 3a fc fc b4 b4 00 00 00 00 01 01 01 01 ..::????....????
90: 08 08 01 01 1c 1c 02 02 91 91 91 91 91 91 91 91 ????????????????
a0: 00 00 3a 3a fc fc b4 b4 00 00 00 00 01 01 01 01 ..::????....????
b0: 08 08 01 01 1c 1c 02 02 91 91 91 91 91 91 91 91 ????????????????
c0: 00 00 3a 3a fc fc b4 b4 00 00 00 00 01 01 01 01 ..::????....????
d0: 08 08 01 01 1c 1c 02 02 91 91 91 91 91 91 91 91 ????????????????
e0: 00 00 3a 3a fc fc b4 b4 00 00 00 00 01 01 01 01 ..::????....????
f0: 08 08 01 01 1c 1c 02 02 91 91 91 91 91 91 91 91 ????????????????

groeck@desktop:~$ sensors max6651-i2c-1-48
max6651-i2c-1-48
Adapter: i2c-diolan-u2c at bus 003 device 002
fan1: 30 RPM (div = 4)
fan2: 0 RPM
fan3: 30 RPM
fan4: 30 RPM

sensors max6651-i2c-1-48
max6651-i2c-1-48
Adapter: DaVinci I2C adapter
fan1: 30 RPM (div = 4)
fan2: 30 RPM
fan3: 420 RPM
fan4: 30 RPM

Only fan2 (TACH1 chip input) has the resistor installed.

We have it both on fan1 and fan4.

If I use our scope for checking the tachometer, I see level zero on
the scope, but 1 when checking the open collector level, since that is
the purpose of the pull-up resistor.

With the pull-up installed, you should always see a high voltage on the
scope or with a volt meter. The scope would not see or be able to know
that the pin is OC if the pull-up resistor is there.

If it is truly OC, it would be floating and might show low. If you can,
I would suggest to manually add a 10k resistor against VCC to the open
connector and see what happens.

Another way to find out for sure might be to disconnect power and
measure resistance between the tachometer pin and VCC.

Guenter

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/