Re: [NCT6775] Additional temperature sensors on nct6791d

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



2015-04-11 5:12 GMT+03:00 Guenter Roeck <linux@xxxxxxxxxxxx>:
>
> If the sensor is connected to AUXTIN[0123], it _should_ be working.

Hi Guenter, thanks for your reply!

At least for now, I haven't found anything in the registers which
could look like the data from the additional sensor (as additional
tools, I've used the room temperature, my hands, graphics card
heatsink, a glass of ice water, and a cold beer though I didn't put
the sensor in the latter).

But bear with me, I'm quite novice to these things, so I might have
done something wrongly here with isadump (though I think the
additional sensor is just being elusive). Below I will give my output
from the registers along with the isadump commands I have used.

So, unless you can give any more suggestions what I could try, I think
I can live with it for the time being - the additional sensor is
something nice to tinker with, but not that essential for my project
(but if I can provide any more information I will happily do so).

> Registers to directly read temperatures from the chip are as follows:
>
> Bank 4:
>         0x90    SYSTIN
>         0x91    CPUTIN
>         0x92    AUXTIN0
>         0x93    AUXTIN1
>         0x94    AUXTIN2
>         0x95    AUXTIN3

I think I have found these (so I think I have understod correctly how
to use isadump):

$ sudo isadump -y 0x295 0x296 4
    0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
10: 00 00 00 00 00 00 00 00 00 00 00 ff ff ff ff ff
20: ff ff ff 96 64 96 64 e1 96 00 ff ff ff ff ff ff
30: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
40: ff ff 00 00 ff ff ff ff ff ff 00 00 00 00 04 ff
50: 00 73 ff ff 00 00 00 ff ff 00 52 10 09 00 ff ff
60: ff 01 00 00 00 00 00 00 ff ff ff ff ff ff ff ff
70: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
80: 74 7d d2 d2 7e f7 00 d6 cd 7f 00 65 00 08 20 00
90: 22 24 7f 80 24 4f 00 32 80 24 24 24 24 7c 10 7f
a0: ff 22 ff ff ff ff ff 35 63 63 00 00 00 00 00 00
b0: ff 1f 18 07 47 0c 45 1e ff 1f ff 1f 00 00 ff ff
c0: 00 00 06 cd 02 4f 02 5b 00 00 00 00 ff ff ff ff
d0: 00 00 00 00 00 00 ff ff ff ff ff ff ff ff ff ff
e0: ff a7 01 01 ff ff ff ff ff ff ff ff ff ff ff ff
f0: 27 40 00 00 24 00 fd 00 50 00 51 00 00 00 00 ff

0x90 to 0x95 seem to match  to what is reported by lm-sensors at the
time at least for SYSTIN, CPUTIN and AUXTIN2 (in hexadecimal; although
lmsensors is giving .5°C more precision, so there's one bit of
information lm-sensors is gathering from somewhere else, it seems).
Also AUXTIN1,3 and 4 kind-of match (their data is not usefull in any
case ATM). Nothing here reacting to manipulating the additional sensor
(as expected), at least AFAICT.

> Additional temperature registers:
>
> Bank 0:
>         0x27            SMIOVT1
>
> The temperature source for this register is set in bank 6, register 0x21.
>
>         0x73, 0x74      Monitor Temperature Register 1 (0x73=fraction,
> 0x74=Integer)
>         0x75, 0x76      Reg 2
>         0x77, 0x78      Reg 3
>         0x79, 0x7a      Reg 4
>         0x7b, 0x7c      Reg 5

However, if I've understod your information correctly, SMIOVT1 is
always shoving 0x24 or 0x25, and SMIOVT2 seems to be 0x33. The select
registers are set to 01 and 02, (and reg 0x0, bank 0xa to 0x03), which
does not make sense? They should be set to 0x73 to 0x7c to provide
anything meaningful? See below:

$ sudo isadump -y 0x295 0x296 6
    0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00: 00 00 00 00 00 00 00 ff ff ff ff ff ff ff ff ff
10: 00 fc 00 fc fc fc ff ff ff ff ff ff ff ff ff ff
20: ff 01 02 00 ff ff ff ff ff ff ff ff ff ff ff 1f
30: ff 1f 18 0a 47 07 45 1d ff 1f ff 1f ff 1f ff 1f
40: ff 1f ff 1f 02 02 02 02 02 02 ff ff ff ff 06 ff
50: 7f 7f 7f 7f 00 00 00 00 06 c7 02 50 02 5b 00 00
60: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
70: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
80: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
90: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
a0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
b0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
c0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
d0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
e0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
f0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff

$ sudo isadump -y 0x295 0x296 0
    0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00: 04 ff 04 a7 00 ff ff ff ff ff ff ff ff ff ff ff
10: 04 00 04 00 04 ff 03 ff 40 7f 00 65 00 08 00 00
20: 74 7e d2 d2 7e f7 23 22 ff ff ff da 00 83 77 d9
30: c4 d9 c4 83 77 ff ea 51 38 37 32 ff ff ff ff ff
40: 03 1e 17 ff df 08 1e ff 2d ff ff 10 00 55 00 a3
50: 05 ff ff ff ff ff ff ff c1 ff ff ff ff 01 00 ff
60: 00 00 ff ff ff 01 00 ff ff ff ff ff ff ff ff ff
70: 00 0a 00 23 00 23 00 23 00 23 00 51 00 ff ff ff
80: ff 7f 3f bf ff 05 05 05 00 00 00 00 00 00 00 00
90: 0a 00 00 00 00 fd fd fd 0a 95 ef 80 ff 40 46 c4
a0: 0e ff 00 00 ff 00 00 ff 00 00 80 66 06 06 01 00
b0: 00 00 00 00 00 00 33 00 04 00 00 06 80 00 04 00
c0: ff ff ff ff ff ff ff ff ff 0c 06 06 ff ff ff ff
d0: 05 05 05 05 00 00 00 00 00 00 00 00 fd fd fd fd
e0: 55 80 00 00 00 ff ff ff ff ff 00 00 00 00 00 00
f0: 00 00 00 00 00 00 00 00 00 00 00 00 6f ff ff ff


> The temperature sources for those registers are set in bank 1, 2, 3, 8, and
> 9,
> in register 0 of each bank.
>
> There is another source select register in bank
> 0xa,
> register 0, which you could check as well.

I did, though I did not find anything usefull:

$ sudo isadump -y 0x295 0x296 0xa
    0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00: 03 00 00 0a 0a 01 01 3c 00 ff ff 00 00 ff ff ff
10: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
20: ff 19 23 2d 37 ff ff 8c aa c8 e6 ff ff ff ff ff
30: ff 00 ff ff 00 3c 00 cc 00 ff ff ff ff ff ff 00
40: ff ff ff ff ff ff ff ff ff ff ff ff ff ff 0a ff
50: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
60: ff ff ff ff ff ff 00 00 ff ff ff ff ff ff ff ff
70: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
80: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
90: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
a0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
b0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
c0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
d0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
e0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
f0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff

>
> Bank 1:
>         0x50            SMIOVT2

$ sudo isadump -y 0x295 0x296 1
    0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00: 10 00 40 01 01 01 01 3c 00 ff ff ff 00 ff ff ff
10: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
20: ff 00 00 00 00 ff ff ff ff ff ff ff ff ff ff ff
30: ff 00 ff ff 00 4b 00 cc 02 ff ff ff ff ff ff 00
40: ff ff ff ff ff 00 00 ff ff ff ff ff ff ff 01 ff
50: 24 00 00 4b 00 50 00 ff ff ff ff ff ff ff ff ff
60: ff ff ff ff ff ff 11 00 ff ff ff ff ff ff ff ff
70: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
80: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
90: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
a0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
b0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
c0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
d0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
e0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
f0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff

> The temperature source for this register is set in bank 6, register 0x22.
>
> In the source select registers, the lower 5 bits define the temperature
> source. There are too many to list each individually, but here are some
> important values.
>         0x01 - 0x06     SYSSTIN to AUXTIN3
>         0x08 - 0x0f     SMBus master sources (not explained in detail)
>         0x10, 0x11      PECI0, PECI1
>         0x12 - 0x19     PCH temperatures
>         0x1a            BYTE_TEMP, not explained in detail
>         0x1f            Virtual_TEMP, not explained in detail

0x0 in banks 1, 2, 3 and 8 is set to 0x10 and 9 to 0x03 (I can provide
the dumps if that helps). So that means PECI0 and AUXTIN0?

> You can try reading any of these registers to see if changes in temperature
> are reflected. We can then go from there and try to determine what is
> missing
> in the driver.


Should I try to write to registers (0x0 in bank 1, 2, 3, 8 or 9 to
anything ranging from 0x0 to 0x20 and the corresponding set registers)
with isaset? I'm not sure exactly what I should input, and the isaset
man page does not actually encourage tinkering if one is not totally
sure what he/she is doing =). How to select bank with isaset? I'll be
responsible of course if I will blow up my computer with isaset, but
I'd still like to know if that is the right thing to do before I try
it.

As said, the additional sensor is not essential to me personally (it
costed 3€ incl. postage), but thanks for your time in any case!

 - Ville
-- 
--
Ville Aakko - ville.aakko@xxxxxxxxx

_______________________________________________
lm-sensors mailing list
lm-sensors@xxxxxxxxxxxxxx
http://lists.lm-sensors.org/mailman/listinfo/lm-sensors





[Index of Archives]     [Linux Kernel]     [Linux Hardware Monitoring]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]

  Powered by Linux