Re: [NCT6775] Additional temperature sensors on nct6791d

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

 



On 04/10/2015 09:15 AM, Ville Aakko wrote:
Hi,

I'd like to know if it would be possible to add support for additional
sensors on a motherboard having an nct6791d sensor chip, and -
presuming it is possible, how much work / difficult that would be.

I'm currently using the Asus Maximus Gaming VII Gene motherboard. It
has one additional temperature sensor (T_SENSOR1), which I have
connected a working sensor to. From BIOS I can see it is working,
since it gives sensible readings. The nct6775 driver (which I'm just
presuming is also handling the additional sensor, though I'm not 100%
sure) does not report the temperature for this sensor, however:

$ sensors  nct6791-* |  grep °C
SYSTIN:                 +36.0°C  (high = +55.0°C, hyst = +75.0°C)
sensor = thermistor
CPUTIN:                 +50.5°C  (high = +80.0°C, hyst = +75.0°C)
sensor = thermistor
AUXTIN0:                +45.0°C    sensor = thermistor
AUXTIN1:               +127.0°C    sensor = thermistor
AUXTIN2:                +37.0°C    sensor = thermistor
AUXTIN3:                +55.0°C    sensor = thermistor
PECI Agent 0:           +63.5°C
PCH_CHIP_CPU_MAX_TEMP:   +0.0°C
PCH_CHIP_TEMP:           +0.0°C
PCH_CPU_TEMP:            +0.0°C

I'd presume it should be one of the AUXTIN[0-3] sensors, but they give
seemingly bogus (see *) information, that is exactly the same wether
the sensor is connected or not (I was doing some very intensive
computation while taking the reading above, which causes them to be
quite high).

I'd be happy to provide any information to help add proper
support.Testing some patches and compiling the kernel module is not a
problem. I've also figured I can dump some of the registers via
isadump and looked at the source, but I haven't figured out (at least
yet) where to look for the values, and where the temperature data
might be in the dumps - and if it is available, how the source should
be modified. I didn't give it too much effor though since I might be
totally on the wrong track. But in case someone (I presume the author
is on this list?) can point me in the right direction, I might even be
able to make the necessary changes and test them myself.

I'd be pleased for any help or comments!

Thanks,
- Ville

*) AUXTIN0,1 and 3 wary from anywhere between -127 to +127 seemingly
unrelated to anything, and 2 is always around 37°C. Also, I have tried
to cool / warm the sensor while 'watch sensors' to see some
correlation, to rule out a some kind of computation fault in the
driver, but that does not seem to be the case. To me it seems that
AUXTIN[0-3] is looking at the wrong (or unconnected in my MB) address.
SYSTIN and CPUTIN give something usefull, though I'm not sure where
they are on the sensors, PECI Agent is self-explanatory, the rest
below that are always 0°C.


If the sensor is connected to AUXTIN[0123], it _should_ be working.

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

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

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.

Bank 1:
	0x50		SMIOVT2

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

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.

Thanks,
Guenter


_______________________________________________
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