[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <531C2097.5020004@roeck-us.net>
Date: Sun, 09 Mar 2014 00:04:39 -0800
From: Guenter Roeck <linux@...ck-us.net>
To: Laszlo Papp <lpapp@....org>
CC: LKML <linux-kernel@...r.kernel.org>, lm-sensors@...sensors.org
Subject: Re: [lm-sensors] Tachometer speed returned rather than absolute fan
speed?
On 03/08/2014 10:36 PM, Laszlo Papp wrote:
> On Sat, Mar 8, 2014 at 11:50 PM, Guenter Roeck <linux@...ck-us.net> wrote:
>> On 03/07/2014 10:17 AM, Guenter Roeck wrote:
>>>
>>> On Fri, Mar 07, 2014 at 03:47:08PM +0000, Laszlo Papp wrote:
>>>>
>>>> On Fri, Mar 7, 2014 at 3:37 PM, Jean Delvare <jdelvare@...e.de> wrote:
>>>>>>>
>>>>>>> I'm quite confused. While I admit that the term "tachometer speed" is
>>>>>>> awkward, the max6650 driver is reporting fan speeds in RPM as every
>>>>>>> other hwmon driver. So I really have no idea what you think is wrong.
>>>>>>> What did you think "tachometer speed" was, if not the fan speed? Does
>>>>>>> the max6650 driver not return correct fan speeds for you?
>>>>
>>>>
>>>> That is some strange behavior. If I do "echo 1 > pwm1_enable; echo 0 >
>>>> pwm1; cat fan1_input", I still see 30 for the connected fan, whereas I
>>>> can see it stopped. Is this an expected behavior? I would expect zero
>>>> as a user.
>>>>
>>> I seem to recall that I had seen that as well, with no fan connected.
>>> Maybe the tachometer registers always read at least '1'. I would think
>>> it is wrong, but we'll have to understand the chip a bit better
>>> to be able to provide a fix. Unless you already have a fix ready,
>>> of course. I'll try to re-test tonight if I find the time.
>>>
>>
>> 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.
>
> Hmm, interesting, but then I wonder how it works fine when getting the
> data from userspace with ioctl (i.e .without the driver) through
> /dev/i2c-1. There must be some trick in that case that I am not yet
> aware of. I will double check the schematics on Monday.
>
With i2cdump on my system I can see that the tachometer register
holds 0 if the resistor is in place, and the sensors command reports
a fan speed or 0 rpm. If the resistor is not in place, the register
content is 1 and sensors reports 30 rpm.
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 ..??........??..
groeck@...ktop:~$ 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
Only fan2 (TACH1 chip input) has the resistor installed.
Guenter
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists