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

From: Laszlo Papp
Date: Mon Mar 10 2014 - 09:50:15 EST


On Mon, Mar 10, 2014 at 1:26 PM, Guenter Roeck <linux@xxxxxxxxxxxx> wrote:
> 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.

Perhaps I was not clear. So, we do have both the resistors and
capacitor as required. I double checked the schematics as well as the
pins coming from the fan and that was zero. The tacho0 input, however,
was 1.
--
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/