Go Back   nV News Forums > Linux Support Forums > NVIDIA Linux

Newegg Daily Deals

Reply
 
Thread Tools
Old 04-22-06, 07:32 PM   #1
quadb0y
Registered User
 
Join Date: Apr 2006
Posts: 2
Default 8756: Reading i2c information with lm_sensors ?

Hello,
I have a GeForce 6800 AGP under SUSE Linux 10.0 (x86).

With an upgrade to 8756, sensors-detect finds some NVIDIA i2c devices:

Next adapter: NVIDIA I2C Device
Do you want to scan it? (YES/no/selectively):
Client found at address 0x4c
Probing for `National Semiconductor LM75'... Failed!
Probing for `Dallas Semiconductor DS1621'... Success!
(confidence 3, driver `ds1621')
Probing for `Analog Devices ADM1021'... Failed!
Probing for `Analog Devices ADM1021A/ADM1023'... Failed!
Probing for `Maxim MAX1617'... Failed!
Probing for `Maxim MAX1617A'... Failed!
Probing for `TI THMC10'... Failed!
Probing for `National Semiconductor LM84'... Failed!
Probing for `Genesys Logic GL523SM'... Failed!
Probing for `Onsemi MC1066'... Failed!
Probing for `Maxim MAX1619'... Failed!
Probing for `National Semiconductor LM82'... Failed!
Probing for `National Semiconductor LM83'... Failed!
Probing for `National Semiconductor LM90'... Failed!
Probing for `National Semiconductor LM89/LM99'... Failed!
Probing for `National Semiconductor LM86'... Failed!
Probing for `Analog Devices ADM1032'... Failed!
Probing for `Maxim MAX6657/MAX6658/MAX6659'... Failed!
Probing for `National Semiconductor LM63'... Failed!
Probing for `Maxim MAX6633/MAX6634/MAX6635'... Failed!
Probing for `Analog Devices ADT7461'... Failed!

Next adapter: NVIDIA I2C Device
Do you want to scan it? (YES/no/selectively):
Client found at address 0x50
Probing for `SPD EEPROM'... Success!
(confidence 1, driver `eeprom')
Probing for `DDC monitor'... Success!
(confidence 8, driver `eeprom'), other addresses: 0x51 0x52 0x53 0x54 0x55 0x56 0x57
Probing for `Maxim MAX6900'... Failed!

Next adapter: NVIDIA I2C Device
Do you want to scan it? (YES/no/selectively):
Client found at address 0x50
Probing for `SPD EEPROM'... Success!
(confidence 1, driver `eeprom')
Probing for `DDC monitor'... Success!
(confidence 8, driver `eeprom'), other addresses: 0x51 0x52 0x53 0x54 0x55 0x56 0x57
Probing for `Maxim MAX6900'... Failed!

Next adapter: SMBus I801 adapter at 0400
Do you want to scan it? (YES/no/selectively):
Client found at address 0x08
Client found at address 0x44
Probing for `Maxim MAX6633/MAX6634/MAX6635'... Failed!
Client at address 0x50 can not be probed - unload all client drivers first!
Client at address 0x52 can not be probed - unload all client drivers first!
Client found at address 0x69


However in /sys/devices/platform/i2c-4/4-0290, I am unable to get any readings for the GPU:

thyrion:/sys/devices/platform/i2c-4/4-0290 # more temp*_input
::::::::::::::
temp1_input
::::::::::::::
30000
::::::::::::::
temp2_input
::::::::::::::
47500
::::::::::::::
temp3_input
::::::::::::::
-48000
thyrion:/sys/devices/platform/i2c-4/4-0290 #


temp1 is case ambient, temp2 is cpu. temp3 I thought may be the GPU temp however the reading is bad.

I use these settings in conky, to overlay system information on my desktop & I'd very much like to monitor GPU temp from here also.

Is this what i2c support can do ? Am I off track in my expectations or perhaps looking in the wrong place ? nvidia-settings can read the temp (in earlier driver releases also) so I imagine there would be a system-wide way of getting these stats - i2c should be that method ?

Cheers.
quadb0y is offline   Reply With Quote
Old 04-22-06, 09:08 PM   #2
FunkyM
Registered User
 
Join Date: Apr 2006
Posts: 17
Lightbulb Re: 8756: Reading i2c information with lm_sensors ?

There have been a couple of threads about it since the driver release.

I could not sense the logic behind sensors-detect locating sensor chips on the bus (even being able to access it), while using i2cdump/etc. tools fails with "unsupported operation, SMBus quick read/write not supported" or similar.

So while it is not possible to communicate with the i2c implementation, somehow sensors-detect locates the chips.

Looking at the sources of the nv-i2c interface, it seems not to implement any SMBus methods, only the most basic i2c byte r/w access. Maybe it is not yet ready and will be completed in a future driver release or has a bug which makes it impossible to access it proberly for now (i2c* tools should at least work).

Would be really cool to be able to monitor the temperature of the gfxcard on linux in a common way which then makes it possible to use it with a variety of apps (like sensors-applet etc.).

Other thread:
http://www.nvnews.net/vbulletin/showthread.php?t=68106

FunkyM is offline   Reply With Quote
Old 04-23-06, 02:04 AM   #3
quadb0y
Registered User
 
Join Date: Apr 2006
Posts: 2
Default Re: 8756: Reading i2c information with lm_sensors ?

Thanks FunkyM, always glad to hear others are at the same point .. looks like back to waiting for the next release as usual.
NVIDIA fixed a lot of broken things for me over the previous release & to also get new stuff thrown in is like xmas

Do you think fan speed reporting & possibly controlling could be possible in time ?
I currently use nvclock to modify my card settings upon login, which uses it's own interface.
quadb0y is offline   Reply With Quote
Old 05-18-06, 09:27 AM   #4
MaegRil
Registered User
 
Join Date: Jun 2004
Posts: 4
Default Re: 8756: Reading i2c information with lm_sensors ?

Gkrellm can show the temps from my nvidia card with the new drivers.
How it manages to get the info. it needs, I don't know? Anyone else?
MaegRil is offline   Reply With Quote
Old 05-19-06, 04:08 PM   #5
MaegRil
Registered User
 
Join Date: Jun 2004
Posts: 4
Default Re: 8756: Reading i2c information with lm_sensors ?

Reading the nvidia i2c info.?

I've been having a wee poke about my system and come up with the following:
Both i2cdetect & i2cdump report:
Code:
i2c-4	unknown   	NVIDIA I2C Device               	Algorithm unavailable
i2c-3	unknown   	NVIDIA I2C Device               	Algorithm unavailable
i2c-2	unknown   	NVIDIA I2C Device               	Algorithm unavailable
i2c-1	unknown   	SMBus nForce2 adapter at 0700   	Algorithm unavailable
i2c-0	unknown   	SMBus nForce2 adapter at 0600   	Algorithm unavailable
dmesg reports:
Code:
i2c_adapter i2c-0: nForce2 SMBus adapter at 0x600
i2c_adapter i2c-1: nForce2 SMBus adapter at 0x700
i2c_adapter i2c-2: SMBus Quick command not supported, can't probe for chips
i2c_adapter i2c-3: SMBus Quick command not supported, can't probe for chips
i2c_adapter i2c-4: SMBus Quick command not supported, can't probe for chips
running sensors-detect results in the following output when regarding config files:
Code:
# I2C adapter drivers
# modprobe unknown adapter NVIDIA I2C Device
# modprobe unknown adapter NVIDIA I2C Device
# modprobe unknown adapter NVIDIA I2C Device
modprobe i2c-isa
# I2C chip drivers
modprobe ds1621
modprobe it87
# sleep 2 # optional
/usr/bin/sensors -s # recommended
So, ... it would seem like the existance of nvidia i2c has been acknowlegded, but it's info. cannot be read.

But, why is it that gkrellm can read the info?
I checked out the sensor-config file for grellm and this is what it looks like:
Code:
sensor sensor_config_version 1
sensor sensor_float_factor 10000
sensor gkrellm_float_factor 1000
sensor "CPU" "it8712-9191-0d00/temp1" 10000 0 1 0
sensor "System" "it8712-9191-0d00/temp2" 10000 0 1 0
sensor "temp3" "it8712-9191-0d00/temp3" 10000 0 0 0
sensor "GPU" "nVidia GPU Core" 10000 0 1 0
sensor "Ambient" "nVidia GPU Ambient" 10000 0 1 0
sensor "CPU" "it8712-9191-0d00/fan1" 10000 0 1 0
sensor "Exhaust" "it8712-9191-0d00/fan2" 10000 0 1 0
sensor "PSU" "it8712-9191-0d00/fan3" 10000 0 1 0
sensor "Vcore" "it8712-9191-0d00/in0" 10000 0 1 0
sensor "Vcor2" "it8712-9191-0d00/in1" 10000 0 0 0
sensor "+3.3V" "it8712-9191-0d00/in2" 20000 0 0 0
sensor "+5V" "it8712-9191-0d00/in3" 16800 0 0 0
sensor "+12V" "it8712-9191-0d00/in4" 40000 0 0 0
sensor "-12V" "it8712-9191-0d00/in5" 76700 -273600 0 0
sensor "-5V" "it8712-9191-0d00/in6" 43300 -136400 0 0
sensor "Stby" "it8712-9191-0d00/in7" 16800 0 0 0
sensor "Vbat" "it8712-9191-0d00/in8" 10000 0 0 0
sensor units_fahrenheit 0
sensor volt_display_mode 0
I don't know where gkrellm is pulling that info. from, but I'm keen to find out. Anyone?

OH, and I've attached a couple of screenshots of gkrellm.
Attached Thumbnails
Click image for larger version

Name:	gkrellm.png
Views:	266
Size:	42.4 KB
ID:	18200  Click image for larger version

Name:	gkrellm2.png
Views:	312
Size:	47.9 KB
ID:	18201  
MaegRil is offline   Reply With Quote
Old 05-20-06, 01:45 AM   #6
Dragoran
Registered User
 
Join Date: May 2004
Posts: 711
Default Re: 8756: Reading i2c information with lm_sensors ?

gkrellm may be simply using nvcontrol to get the info
Dragoran is offline   Reply With Quote
Old 05-20-06, 03:05 AM   #7
pe1chl
Registered User
 
Join Date: Aug 2003
Posts: 1,026
Default Re: 8756: Reading i2c information with lm_sensors ?

GKrellM Changelog
-----------------

2.2.5 - Sun Mar 20, 2005
------------------------
* Tom Felker patch: add to Linux sensors nVidia video card temperature
reading via the nvidia-settings command.
pe1chl is offline   Reply With Quote
Old 05-20-06, 02:50 PM   #8
MaegRil
Registered User
 
Join Date: Jun 2004
Posts: 4
Default Re: 8756: Reading i2c information with lm_sensors ?

Quote:
Originally Posted by pe1chl
GKrellM Changelog
-----------------

2.2.5 - Sun Mar 20, 2005
------------------------
* Tom Felker patch: add to Linux sensors nVidia video card temperature
reading via the nvidia-settings command.
Ahhh ...... well that explains it. Sort of.
Until January '06 I was using FC3, which featured gkrellm 2.2.7 and I never had the nvidia sensors come up. I used FC4 until about 2 weeks ago and didn't have any nvidia senors.
And now that I'm using FC5 with the latest nvidia drivers I get the nvidia sensors in gkrellm. hmmm ...

Thanks for the info. though. At least I know, now.
MaegRil is offline   Reply With Quote

Old 11-07-06, 08:53 PM   #9
FunkyM
Registered User
 
Join Date: Apr 2006
Posts: 17
Default Re: 8756: Reading i2c information with lm_sensors ?

This is working great now with the latest drivers (9629) except the temperature scale being wrong.

GE6600GT with detected Maxim MAX6659 sensor.

"sensors-detect" does not find the sensor, however manually inspecting it using the i2c* tools seems to correctly apply onto what lm_sensors lm90 kernel module maps on.

Code:
# i2cdetect -l
i2c-4   i2c             NVIDIA i2c adapter 2 at 1:00.0          Algorithm unavailable
i2c-3   i2c             NVIDIA i2c adapter 1 at 1:00.0          Algorithm unavailable
i2c-2   i2c             NVIDIA i2c adapter 0 at 1:00.0          Algorithm unavailable
i2c-1   smbus           SMBus nForce2 adapter at 5100           Non-I2C SMBus adapter
i2c-0   smbus           SMBus nForce2 adapter at 5000           Non-I2C SMBus adapter
Code:
#i2cdump -y 4 0x4c b
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f    0123456789abcdef
00: 2b 2f 80 00 07 55 00 55 00 00 00 00 00 00 00 00    +/?.?U.U........
10: e0 a0 a0 a0 a0 a0 a0 a0 00 55 55 55 55 55 55 55    ????????.UUUUUUU
20: 55 0a 86 86 86 86 86 86 86 86 86 86 86 86 86 86    U???????????????
30: 86 86 86 86 86 86 86 86 86 86 86 86 86 86 86 86    ????????????????
40: 86 86 86 86 86 86 86 86 86 86 86 86 86 86 86 86    ????????????????
50: 86 86 86 86 86 86 86 86 86 86 86 86 86 86 86 86    ????????????????
60: 86 86 86 86 86 86 86 86 86 86 86 86 86 86 86 86    ????????????????
70: 86 86 86 86 86 86 86 86 86 86 86 86 86 86 86 86    ????????????????
80: 86 86 86 86 86 86 86 86 86 86 86 86 86 86 86 86    ????????????????
90: 86 86 86 86 86 86 86 86 86 86 86 86 86 86 86 86    ????????????????
a0: 86 86 86 86 86 86 86 86 86 86 86 86 86 86 86 86    ????????????????
b0: 86 86 86 86 86 86 86 86 86 86 86 86 86 86 86 86    ????????????????
c0: 86 86 86 86 86 86 86 86 86 86 86 86 86 86 86 86    ????????????????
d0: 86 86 86 86 86 86 86 86 86 86 86 86 86 86 86 86    ????????????????
e0: 86 86 86 86 86 86 86 86 86 86 86 86 86 86 86 86    ????????????????
f0: 86 86 86 86 86 86 86 86 86 86 86 86 86 86 4d 59    ??????????????MY
Above maps perfectly onto the lm90 registers.

Code:
# echo "$[`i2cget -y 4 0x4c 0x01 b`+10]C"
58C
Reads the correct graphic chip temperature in celsius. The +10 offset is taken from the calculation that nvclock's i2c stuff does for this chip.

Code:
# echo "$[`i2cget -y 4 0x4c 0x00 b`]C"
43C
Reads the board temperature in celsius.

Required patch to the NVIDIA nv-i2c.c interface to allow any lm_sensors chip driver to actually start detection:

Code:
--- nv-i2c.c    2006-11-02 05:07:16.000000000 +0100
+++ nv-i2c.c.new        2006-11-08 04:43:15.000000000 +0100
@@ -212,6 +212,7 @@
 
 struct i2c_adapter nv_i2c_adapter_prototype = {
     .owner             = THIS_MODULE,
+    .class            = I2C_CLASS_HWMON,
     .algo              = &nv_i2c_algo,
     .algo_data         = NULL,
     .client_register   = nv_i2c_adapter_register_client,
Code:
# modprobe lm90 force_max6657=4,0x4c
# sensors
max6657-i2c-4-4c
Adapter: NVIDIA i2c adapter 2 at 1:00.0

M/B Temp:    +45C  (low  =    +0C, high =   +85C)   
CPU Temp:  +50.1C  (low  =  +0.0C, high = +85.2C)   
M/B Crit:    +85C  (hyst =   +75C)                   
CPU Crit:    +85C  (hyst =   +75C)
So the only thing missing appears to be correct calculation in the lm_sensors chip-driver for fully supporting this.

Anyone with other graphic chipsets (and other sensors) had any success with this?

Last edited by FunkyM; 11-07-06 at 10:20 PM.
FunkyM is offline   Reply With Quote
Old 11-10-06, 06:53 AM   #10
zbiggy
Registered User
 
Join Date: Sep 2002
Posts: 623
Default Re: 8756: Reading i2c information with lm_sensors ?

Is temperature sensor available in Geforce FX5200 and Geforce 6150 by hardware design?
nv-i2c.patch applied. Driver 1.0-9742.

echo "$[`i2cget -y 2 0x4c 0x01 b`+10]C"
Code:
Error: Read failed
10C
dmesg | grep i2c
Code:
i2c /dev entries driver
i2c_adapter i2c-0: nForce2 SMBus adapter at 0x600
i2c_adapter i2c-1: nForce2 SMBus adapter at 0x700
i2cdetect -l
Code:
i2c-4   i2c             NVIDIA i2c adapter 2 at 0:05.0          Algorithm unavailable
i2c-3   i2c             NVIDIA i2c adapter 1 at 0:05.0          Algorithm unavailable
i2c-2   i2c             NVIDIA i2c adapter 0 at 0:05.0          Algorithm unavailable
i2c-1   smbus           SMBus nForce2 adapter at 0700           Non-I2C SMBus adapter
i2c-0   smbus           SMBus nForce2 adapter at 0600           Non-I2C SMBus adapter
zbiggy is offline   Reply With Quote
Old 11-10-06, 10:58 AM   #11
FunkyM
Registered User
 
Join Date: Apr 2006
Posts: 17
Default Re: 8756: Reading i2c information with lm_sensors ?

GE-FX5200 appears to have the W83L785R sensor chip (lm_sensors chip driver module) which should work with lm_sensors (so it can't work for you if you modprobe'd the lm90 kernel module).

An easy way to check which chip you got might be to use "nvclock -i" and just see what sensor chip it reports. If it locates it, using the patch I supplied, you will be able to manually modprobe the reported chip driver from lm_sensors by suppling i2c bus and chip address as module parameters. (Use "modinfo" to check a sensor kernel module's parameters)

The you should be able to use lm_sensors roughly like this:

For my GE-6600GT that was "modprobe lm90 force_max6657=4,0x4c":

- The correct sensor chip using "nvclock -i"
- I found the module options using "modinfo lm90"
- The i2c address with "i2cdetect -l"
- The sensor chip address by checking on which addresses the sensor chip usually is residing (see module sourcecode; tells max6657 usually at 0x4c/0x4d)
- Used "i2cdetect -y 4" to verify such an address exists
- Used "i2cdump -y 4 (ADDRESS)" to see if the chip registers are readable

After that I could use i2cget and sensors itself to report the temperature.
This should be possible for your sensors aswell.

You might aswell now try to run "sensors-detect" and just check what it outputs on the i2c-4 device.

The magic patch to nv-i2c.c is required though, as no lm_sensors chip driver will work if the class ain't set to I2C_CLASS_HWMON (on 2.6 kernel).
FunkyM is offline   Reply With Quote
Reply


Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump


Similar Threads
Thread Thread Starter Forum Replies Last Post
LeVar Burton talks Reading Rainbow: from TV to e-books and beyond News Latest Tech And Game Headlines 0 06-22-12 02:40 AM

All times are GMT -5. The time now is 10:15 AM.


Powered by vBulletin® Version 3.7.1
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Copyright 1998 - 2014, nV News.