Discussion:
[lm-sensors] lm_sensors and nvidia graphic card temperature monitoring
Christoph Anton Mitterer
2005-12-09 17:27:46 UTC
Permalink
Hi.

Modern Nvidia graphic cards support temperature monitoring of the GPU.
It would be nice to see lm_sensors support that. Is there anything going
on in that field?

Greetings,
Chris.
Rudolf Marek
2005-12-09 17:58:07 UTC
Permalink
Post by Christoph Anton Mitterer
Hi.
Modern Nvidia graphic cards support temperature monitoring of the GPU.
It would be nice to see lm_sensors support that. Is there anything going
on in that field?
I once did a chip driver for my motherboard with W83785R which Is found on some Nvidia cards
too.

Also you might take a look to our new drivers page that mentiones that and gives a pointer to
my driver (which was never included in mainline) and to the nvclock utillity which can read temps too.

If you need more info, just write back.

Regards

Rudolf
Christoph Anton Mitterer
2005-12-09 18:13:16 UTC
Permalink
Post by Rudolf Marek
I once did a chip driver for my motherboard with W83785R which Is found on some Nvidia cards
too.
Also you might take a look to our new drivers page that mentiones that and gives a pointer to
my driver (which was never included in mainline) and to the nvclock utillity which can read temps too.
Well it already works for me (using the nvidia-settings tool, nvclock
badly crashes my system), however I thought it would be good to have
lm_sensors supportet this natively.

Chris.
Rudolf Marek
2005-12-11 14:52:05 UTC
Permalink
Post by Christoph Anton Mitterer
Well it already works for me (using the nvidia-settings tool, nvclock
badly crashes my system), however I thought it would be good to have
lm_sensors supportet this natively.
Chris.
You can try:
1) load i2c-rivatv (or whatever driver for the i2c nvidia bus)

Run sensors detect it should find he w83785

If so blow out the dust from that driver and try it for yourself.
I have no time for this must finish my university studies.
Regards
Rudolf
Post by Christoph Anton Mitterer
------------------------------------------------------------------------
_______________________________________________
lm-sensors mailing list
lm-sensors at lm-sensors.org
http://lists.lm-sensors.org/mailman/listinfo/lm-sensors
Christoph Anton Mitterer
2005-12-11 20:07:45 UTC
Permalink
Post by Rudolf Marek
1) load i2c-rivatv (or whatever driver for the i2c nvidia bus)
Is this going to be available for 2.6.x kernels?

Chris.
Jean Delvare
2005-12-12 18:09:58 UTC
Permalink
Hi Christoph,
Post by Christoph Anton Mitterer
Post by Rudolf Marek
1) load i2c-rivatv (or whatever driver for the i2c nvidia bus)
Is this going to be available for 2.6.x kernels?
It is supposed to be already, except that the exact name is "rivatv",
not "i2c-rivatv".

http://rivatv.sourceforge.net/

Alternatively, you should be able to gain control of the nVidia I2C
busses using the in-kernel-tree rivafb or nvidiafb framebuffer drivers.
Make sure to enable "DDC support" in either case.
--
Jean Delvare
Volker Kuhlmann
2005-12-12 22:11:44 UTC
Permalink
Post by Jean Delvare
Alternatively, you should be able to gain control of the nVidia I2C
busses using the in-kernel-tree rivafb or nvidiafb framebuffer drivers.
I have a rivafb module, which loads fine and produces no output on
stderr or syslog. What does "gain control of the nvidia i2c busses"
mean? That sensors-detect should find them? It doesn't for me:

modprobe -v rivafb
sensors-detect
...
Driver `eeprom' (should be inserted):
Detects correctly:
* Bus `SMBus nForce2 adapter at 1c00'
Busdriver `i2c-nforce2', I2C address 0x50
Chip `SPD EEPROM' (confidence: 8)
* Bus `SMBus nForce2 adapter at 1c00'
Busdriver `i2c-nforce2', I2C address 0x51
Chip `SPD EEPROM' (confidence: 8)
Driver `it87' (should be inserted):
Detects correctly:
* ISA bus address 0x0290 (Busdriver `i2c-isa')
Chip `ITE 8712F Super IO Sensors' (confidence: 9)
...

Same output as always.

Are we talking about the same thing?

Linux .. 2.6.13-15.7-default #1 Tue Nov 29 14:32:29 UTC 2005 x86_64
sensors-2.9.1-4
Gigabyte PCI-express graphics card with nvidia geforce 6600 chip
Post by Jean Delvare
Make sure to enable "DDC support" in either case.
Where? The kernel config doesn't seem to know about it:
zgrep -i ddc /proc/config.gz
gives no output. Grepping through the kernel source doesn't tell me
anything more, and none of the 5 rivafb module paramters have to do with
DDC.

Thanks,

Volker
--
Volker Kuhlmann is possibly list0570 with the domain in header
http://volker.dnsalias.net/ Please do not CC list postings to me.
Jean Delvare
2005-12-13 20:16:30 UTC
Permalink
Hi Volker,
Post by Volker Kuhlmann
Post by Jean Delvare
Alternatively, you should be able to gain control of the nVidia I2C
busses using the in-kernel-tree rivafb or nvidiafb framebuffer drivers.
I have a rivafb module, which loads fine and produces no output on
stderr or syslog. What does "gain control of the nvidia i2c busses"
"Gain control" means that i2c/smbus chip drivers can "see" the bus and
try attaching to devices thereon. You can use i2cdetect to list and
probe these busses.
Post by Volker Kuhlmann
modprobe -v rivafb
sensors-detect
...
* Bus `SMBus nForce2 adapter at 1c00'
Busdriver `i2c-nforce2', I2C address 0x50
Chip `SPD EEPROM' (confidence: 8)
* Bus `SMBus nForce2 adapter at 1c00'
Busdriver `i2c-nforce2', I2C address 0x51
Chip `SPD EEPROM' (confidence: 8)
* ISA bus address 0x0290 (Busdriver `i2c-isa')
Chip `ITE 8712F Super IO Sensors' (confidence: 9)
...
Same output as always.
Are we talking about the same thing?
If you have a recent graphics adapter, you most likely need the
nvidiafb driver. Just because rivafb loads silently doesn't mean it did
anything useful. Actually, the fact that it was silent suggests very
strongly that it does NOT support your graphics adapter.
Post by Volker Kuhlmann
Linux .. 2.6.13-15.7-default #1 Tue Nov 29 14:32:29 UTC 2005 x86_64
sensors-2.9.1-4
Gigabyte PCI-express graphics card with nvidia geforce 6600 chip
Post by Jean Delvare
Make sure to enable "DDC support" in either case.
zgrep -i ddc /proc/config.gz
gives no output. Grepping through the kernel source doesn't tell me
anything more, and none of the 5 rivafb module paramters have to do with
DDC.
For some reason the symbols have "I2C" rather than "DDC" in their names:

CONFIG_FB_RIVA_I2C:
CONFIG_FB_NVIDIA_I2C
--
Jean Delvare
Volker Kuhlmann
2005-12-15 19:25:01 UTC
Permalink
Hi Jean,
Post by Jean Delvare
If you have a recent graphics adapter, you most likely need the
nvidiafb driver. Just because rivafb loads silently doesn't mean it did
anything useful. Actually, the fact that it was silent suggests very
strongly that it does NOT support your graphics adapter.
Thanks, that makes sense. Loading nvidiafb gives in syslog

kernel: nvidiafb: module not supported by Novell, setting U taint flag.
kernel: ACPI: PCI Interrupt 0000:05:00.0[A] -> Link [APC3] -> GSI 18 (level, low) -> IRQ 58
kernel: PCI: Unable to reserve mem region #2:10000000 at e0000000 for device 0000:05:00.0
kernel: nvidiafb: cannot request PCI regions
kernel: ACPI: PCI interrupt for device 0000:05:00.0 disabled
kernel: klogd 1.4.1, ---------- state change ----------

Which doesn't look too good to me, and sensors-detect doesn't find
anything more. From lspci

05:00.0 VGA compatible controller: nVidia Corporation NV43 [GeForce 6600] (rev a2)

There was something about this on this list in March, but that involved
kernel oopses.

At least the display doesn't crash and burn on me... Everything seems to
continue to operate normally.

Linux 2.6.13-15.7-default #1 Tue Nov 29 14:32:29 UTC 2005 x86_64 x86_64 x86_64 GNU/Linux

Booting with acpi=off at the grub command line leads to a stone dead
system before I've lifted the finger off the enter key.

# i2cdetect -l
i2c-2 dummy ISA main adapter ISA bus algorithm
i2c-1 unknown SMBus nForce2 adapter at 1c40 Algorithm unavailable
i2c-0 unknown SMBus nForce2 adapter at 1c00 Algorithm unavailable

These are already accounted for (mobo super io, 2 dimms).

I'm so far running with xorg's nv driver, though I could try nvidia's.

Thanks + greets,

Volker
--
Volker Kuhlmann is possibly list0570 with the domain in header
http://volker.dnsalias.net/ Please do not CC list postings to me.
Jean Delvare
2005-12-18 17:39:11 UTC
Permalink
Hi Volker,
Post by Volker Kuhlmann
Thanks, that makes sense. Loading nvidiafb gives in syslog
kernel: nvidiafb: module not supported by Novell, setting U taint flag.
kernel: ACPI: PCI Interrupt 0000:05:00.0[A] -> Link [APC3] -> GSI 18 (level, low) -> IRQ 58
kernel: PCI: Unable to reserve mem region #2:10000000 at e0000000 for device 0000:05:00.0
kernel: nvidiafb: cannot request PCI regions
kernel: ACPI: PCI interrupt for device 0000:05:00.0 disabled
kernel: klogd 1.4.1, ---------- state change ----------
Which doesn't look too good to me, and sensors-detect doesn't find
anything more. From lspci
05:00.0 VGA compatible controller: nVidia Corporation NV43 [GeForce 6600] (rev a2)
Look for a conflicting device in /proc/iomem.
--
Jean Delvare
Volker Kuhlmann
2005-12-19 16:07:24 UTC
Permalink
Hi Jean,
Post by Jean Delvare
Post by Volker Kuhlmann
kernel: nvidiafb: cannot request PCI regions
Look for a conflicting device in /proc/iomem.
Thanks! Now nvidiafb loads without trouble, but I didn't do anything.
Perhaps it has something to do with switching to nvidia's binary-only
geforce driver, or updating the mobo bios to latest. No additional
anything though from either sensors-detect or i2cdetect -l.

For fun, I tried the rivafb module again too, it now also loads without
syslog message, but still doesn't show me any i2c anything on the
graphics card.

I conclude therefore that the card doesn't have any i2c facilities. For
anyone else trying the same, the card is a

Gigabyte GV-NX66256DP 6600 PCIE Video Card
05:00.0 VGA compatible controller: nVidia Corporation NV43 [GeForce 6600] (rev a2)
05:00.0 Class 0300: 10de:0141 (rev a2)

Thanks for all your help, it's really appreciated. And thanks for some
cool software!

Volker
--
Volker Kuhlmann is possibly list0570 with the domain in header
http://volker.dnsalias.net/ Please do not CC list postings to me.
Volker Kuhlmann
2005-12-11 23:27:32 UTC
Permalink
[nvidia graphics card temp monitoring]
Post by Rudolf Marek
1) load i2c-rivatv (or whatever driver for the i2c nvidia bus)
i2c-nvidia2 is loaded automatically, but sensors-detect only finds 2
dimm eeproms and the mobo's it8712. However, it finds two adapters, but
no success on the first:

Next adapter: SMBus nForce2 adapter at 1c40
Do you want to scan it? (YES/no/selectively):
Client found at address 0x08
Client found at address 0x4e
[all failed]

Next adapter: SMBus nForce2 adapter at 1c00
Do you want to scan it? (YES/no/selectively):
Client found at address 0x08
Client found at address 0x50
[2 eeproms found]

What kernel module should I load exactly? Google doesn't know anything
about i2c-rivatv.
Post by Rudolf Marek
Run sensors detect it should find he w83785
modprobe w83l785ts is fine. No change with sensors-detect though.

Being able to get the temp of the geforce 6600 chip would be cool, as I
have a temp problem with it. What else could I try?

Thanks,

Volker
--
Volker Kuhlmann is possibly list0570 with the domain in header
http://volker.dnsalias.net/ Please do not CC list postings to me.
Rudolf Marek
2005-12-12 18:03:57 UTC
Permalink
Post by Volker Kuhlmann
[nvidia graphics card temp monitoring]
Post by Rudolf Marek
1) load i2c-rivatv (or whatever driver for the i2c nvidia bus)
i2c-nvidia2 is loaded automatically, but sensors-detect only finds 2
dimm eeproms and the mobo's it8712. However, it finds two adapters, but
Perhaps this driver misses a class of HWMON.

.owner = THIS_MODULE,
.class = I2C_CLASS_HWMON,

Add last one to the static struct i2c_adapter ...
Post by Volker Kuhlmann
What kernel module should I load exactly? Google doesn't know anything
about i2c-rivatv.
Yes I cant recall correct name... I guess that one you tried is OK
Post by Volker Kuhlmann
Post by Rudolf Marek
Run sensors detect it should find he w83785
Please try this
Post by Volker Kuhlmann
Being able to get the temp of the geforce 6600 chip would be cool, as I
have a temp problem with it. What else could I try?
Well try what I suggest above.

My driver was for 2.6 and for 2.4 too. I cant dig with it right now, I'm writing my master thesis and
I have nearly no free time. So I can help only a bit.

regards
Rudolf
Jean Delvare
2005-12-12 18:16:28 UTC
Permalink
Hi Volker,
Post by Volker Kuhlmann
[nvidia graphics card temp monitoring]
Post by Rudolf Marek
1) load i2c-rivatv (or whatever driver for the i2c nvidia bus)
i2c-nvidia2 is loaded automatically, but sensors-detect only finds 2
dimm eeproms and the mobo's it8712. However, it finds two adapters, but
Next adapter: SMBus nForce2 adapter at 1c40
Client found at address 0x08
Client found at address 0x4e
[all failed]
Next adapter: SMBus nForce2 adapter at 1c00
Client found at address 0x08
Client found at address 0x50
[2 eeproms found]
i2c-nvidia2 doesn't exist as far as I know. You must refer to
i2c-nforce2, I presume? If so, this is totally unrelated with the
busses found on graphics adapters. i2c-nforce2 is meant for motherboard
SMBus.
Post by Volker Kuhlmann
What kernel module should I load exactly? Google doesn't know anything
about i2c-rivatv.
Search for rivatv instead - see my other post.
Post by Volker Kuhlmann
Post by Rudolf Marek
Run sensors detect it should find he w83785
modprobe w83l785ts is fine. No change with sensors-detect though.
Rudolf's w83785 driver is meant for the Winbond W83L785R chips, which
is a full-featured hardware monitoring chip. My w83l785ts driver, OTOH,
is meant for the Winbond W83L785TS-S, which is a very simple
single-temperature sensor. I think I remember both devices are
compatible, in that you should get proper temperature readings if
forcing the w83l785ts driver on a W83L785R chip. Both drivers could be
merged to make things easier, but nobody had an interest in working on
it so far, it seems.
Post by Volker Kuhlmann
Being able to get the temp of the geforce 6600 chip would be cool, as I
have a temp problem with it. What else could I try?
rivafb, nvidiafb.
--
Jean Delvare
Volker Kuhlmann
2005-12-12 23:37:54 UTC
Permalink
Post by Jean Delvare
i2c-nvidia2 doesn't exist as far as I know. You must refer to
i2c-nforce2, I presume?
Yes, sorry.
Post by Jean Delvare
Search for rivatv instead - see my other post.
Yes, very informative, thanks!

The 0.86 release doesn't compile, but the cvs one does. The module loads
fine, syslog:

kernel: Linux video capture interface: v1.00
kernel: rivatv: module not supported by Novell, setting U taint flag.
kernel: rivatv: Video4Linux driver for NVIDIA cards
kernel: rivatv: MMX processor extension enabled
Post by Jean Delvare
Rudolf's w83785 driver is meant for the Winbond W83L785R chips, which
is a full-featured hardware monitoring chip. My w83l785ts driver, OTOH,
is meant for the Winbond W83L785TS-S, which is a very simple
single-temperature sensor.
Thanks for the clarification. I can't get modprobe w83l785ts with
various probe= and force= options to do anything useful. Loading
i2c-nforce2 makes two i2c busesses avilable, numbered 0 and 1.
Presumably something similar would have to happen if the graphics card
has an i2c bus too? Dunno how though. :(
I've insmoded all /lib/modules/2.6.13-15.7-default/kernel/drivers/i2c/busses/*
ignoring the errors, and rivafb and rivatv, sensors-detect finds a lot
more but it's all bogus. sensors -s (with the original sensors.conf),
then sensors outputs only zeros for anything that wasn't there before.
Might have to give up. :((

Thanks again for all your insights.

Volker
--
Volker Kuhlmann is possibly list0570 with the domain in header
http://volker.dnsalias.net/ Please do not CC list postings to me.
Volker Kuhlmann
2005-12-12 23:37:54 UTC
Permalink
Post by Jean Delvare
i2c-nvidia2 doesn't exist as far as I know. You must refer to
i2c-nforce2, I presume?
Yes, sorry.
Post by Jean Delvare
Search for rivatv instead - see my other post.
Yes, very informative, thanks!

The 0.86 release doesn't compile, but the cvs one does. The module loads
fine, syslog:

kernel: Linux video capture interface: v1.00
kernel: rivatv: module not supported by Novell, setting U taint flag.
kernel: rivatv: Video4Linux driver for NVIDIA cards
kernel: rivatv: MMX processor extension enabled
Post by Jean Delvare
Rudolf's w83785 driver is meant for the Winbond W83L785R chips, which
is a full-featured hardware monitoring chip. My w83l785ts driver, OTOH,
is meant for the Winbond W83L785TS-S, which is a very simple
single-temperature sensor.
Thanks for the clarification. I can't get modprobe w83l785ts with
various probe= and force= options to do anything useful. Loading
i2c-nforce2 makes two i2c busesses avilable, numbered 0 and 1.
Presumably something similar would have to happen if the graphics card
has an i2c bus too? Dunno how though. :(
I've insmoded all /lib/modules/2.6.13-15.7-default/kernel/drivers/i2c/busses/*
ignoring the errors, and rivafb and rivatv, sensors-detect finds a lot
more but it's all bogus. sensors -s (with the original sensors.conf),
then sensors outputs only zeros for anything that wasn't there before.
Might have to give up. :((

Thanks again for all your insights.

Volker
--
Volker Kuhlmann is possibly list0570 with the domain in header
http://volker.dnsalias.net/ Please do not CC list postings to me.
Loading...