Bug 39513 - sensors are inaccessible on radeon 9600xt agp
Summary: sensors are inaccessible on radeon 9600xt agp
Status: RESOLVED FIXED
Alias: None
Product: DRI
Classification: Unclassified
Component: DRM/Radeon (show other bugs)
Version: XOrg git
Hardware: Other All
: medium normal
Assignee: Default DRI bug account
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-07-24 14:46 UTC by almos
Modified: 2011-10-22 09:32 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments
vbios.rom (52.00 KB, application/octet-stream)
2011-07-28 13:42 UTC, almos
no flags Details
dmesg with 3.0 (38.11 KB, patch)
2011-07-28 13:44 UTC, almos
no flags Details | Splinter Review
fix (2.23 KB, patch)
2011-07-29 09:18 UTC, Alex Deucher
no flags Details | Splinter Review
dmesg with patch (43.15 KB, patch)
2011-07-29 12:30 UTC, almos
no flags Details | Splinter Review
fix (2.22 KB, patch)
2011-07-29 13:11 UTC, Alex Deucher
no flags Details | Splinter Review

Note You need to log in before you can comment on or make changes to this bug.
Description almos 2011-07-24 14:46:01 UTC
My asus radeon 9600xt card has a hw monitoring chip onboard (a windows program came with it to read temperature and fan speed). I read that it's now possible to access it via the dri framework and the standard lm-sensors toolkit, and the lm63 is the driver I need.

I ran sensors-detect:
Driver `f75375s':
  * Bus `Radeon i2c bit bus MONID'
    Busdriver `UNKNOWN', I2C address 0x2e
    Chip `Fintek F75373S/SG' (confidence: 7)

According to the lm-sensors documentation this fintek chip is lm63-compatible, but neither lm63 nor f75375s seems to work. Both modules load without any error, but if I run 'sensors', only the motherboard sensors are printed.
Comment 1 Alex Deucher 2011-07-25 06:00:26 UTC
What kernel are you using?  I added support for sensor chips on combios boards in 3.0.
Comment 2 almos 2011-07-28 13:14:35 UTC
(In reply to comment #1)
> What kernel are you using?  I added support for sensor chips on combios boards
> in 3.0.

I've been using 2.6.37.6, but now I tried 3.0 and it still doesn't work. What kernel modules do I need? This is my current lsmod:
Module                  Size  Used by
lm63                    3987  0 
i2c_smbus               1635  0 
i2c_dev                 3398  0 
ppdev                   4098  0 
lp                      5346  0 
binfmt_misc             4537  1 
fuse                   45642  1 
ext4                  255119  1 
jbd2                   42738  1 ext4
crc16                   1003  1 ext4
w83627hf               13188  0 
hwmon_vid               1488  1 w83627hf
radeon                729789  3 
ttm                    34276  1 radeon
drm_kms_helper         17609  1 radeon
drm                   120674  5 radeon,ttm,drm_kms_helper
i2c_algo_bit            3627  1 radeon
snd_emu10k1_synth       4100  0 
snd_emux_synth         23798  1 snd_emu10k1_synth
snd_seq_virmidi         2864  1 snd_emux_synth
snd_seq_midi_emul       3330  1 snd_emux_synth
snd_emu10k1           102136  3 snd_emu10k1_synth
snd_ac97_codec         76304  1 snd_emu10k1
usbhid                 24234  2 
hid                    54546  1 usbhid
ac97_bus                 694  1 snd_ac97_codec
snd_pcm_oss            26736  0 
snd_mixer_oss          10135  1 snd_pcm_oss
snd_pcm                45529  3 snd_emu10k1,snd_ac97_codec,snd_pcm_oss
snd_page_alloc          4689  2 snd_emu10k1,snd_pcm
snd_util_mem            1444  2 snd_emux_synth,snd_emu10k1
snd_hwdep               3951  2 snd_emux_synth,snd_emu10k1
snd_seq_dummy            959  0 
snd_seq_oss            20199  0 
snd_seq_midi            3248  0 
emu10k1_gp              1286  0 
snd_rawmidi            12391  3 snd_seq_virmidi,snd_emu10k1,snd_seq_midi
snd_seq_midi_event      3692  3 snd_seq_virmidi,snd_seq_oss,snd_seq_midi
snd_seq                32780  9 snd_emux_synth,snd_seq_virmidi,snd_seq_midi_emul,snd_seq_dummy,snd_seq_oss,snd_seq_midi,snd_seq_midi_event
i2c_i801                6258  0 
snd_timer              12339  3 snd_emu10k1,snd_pcm,snd_seq
snd_seq_device          3496  8 snd_emu10k1_synth,snd_emux_synth,snd_emu10k1,snd_seq_dummy,snd_seq_oss,snd_seq_midi,snd_rawmidi,snd_seq
snd                    31970  17 snd_emux_synth,snd_seq_virmidi,snd_emu10k1,snd_ac97_codec,snd_pcm_oss,snd_mixer_oss,snd_pcm,snd_hwdep,snd_seq_oss,snd_rawmidi,snd_seq,snd_timer,snd_seq_device
i2c_core               12918  8 lm63,i2c_smbus,i2c_dev,radeon,drm_kms_helper,drm,i2c_algo_bit,i2c_i801
rng_core                2266  0 
gameport                5284  2 emu10k1_gp
evdev                   6203  7 
soundcore               3330  1 snd
parport_pc             15729  1 
parport                21079  3 ppdev,lp,parport_pc
processor              17844  0 
button                  3250  0 
ext3                   85805  1 
jbd                    27300  1 ext3
mbcache                 3097  2 ext4,ext3
sg                     16165  0 
sr_mod                 10676  0 
sd_mod                 25474  4 
cdrom                  26230  1 sr_mod
crc_t10dif               988  1 sd_mod
ata_generic             2279  0 
ata_piix               17562  4 
uhci_hcd               15698  0 
libata                123440  2 ata_generic,ata_piix
fan                     1702  0 
thermal                 6003  0 
thermal_sys             9473  3 processor,fan,thermal
8139too                14544  0 
mii                     2759  1 8139too
scsi_mod              128163  4 sg,sr_mod,sd_mod,libata
ehci_hcd               28685  0 
usbcore                89900  6 usbhid,uhci_hcd,ehci_hcd
Comment 3 Alex Deucher 2011-07-28 13:21:06 UTC
Please attach a copy of your vbios.

(as root)
(use lspci to get the bus id)
cd /sys/bus/pci/devices/<pci bus id>
echo 1 > rom
cat rom > /tmp/vbios.rom
echo 0 > rom

Also attach a copy of your dmesg output from the 3.0 kernel.
Comment 4 almos 2011-07-28 13:42:09 UTC
Created attachment 49685 [details]
vbios.rom
Comment 5 almos 2011-07-28 13:44:43 UTC
Created attachment 49686 [details] [review]
dmesg with 3.0
Comment 6 Alex Deucher 2011-07-28 19:10:49 UTC
What are the pci ids and subsystem ids for your video card (lspci -vn)?  The card doesn't have thermal controller table entry in the vbios, so we'll have to manually add it.
Comment 7 almos 2011-07-29 08:43:08 UTC
(In reply to comment #6)
> What are the pci ids and subsystem ids for your video card (lspci -vn)?  The
01:00.0 0300: 1002:4152 (prog-if 00 [VGA controller])
	Subsystem: 1043:c002

01:00.1 0380: 1002:4172
	Subsystem: 1043:c003

> card doesn't have thermal controller table entry in the vbios, so we'll have to
> manually add it.
Comment 8 Alex Deucher 2011-07-29 09:18:22 UTC
Created attachment 49724 [details] [review]
fix

This patch should fix it.  Let me know if it works and I'll send it upstream.
Comment 9 almos 2011-07-29 10:37:58 UTC
I applied the patch, but there are still no readings.
Comment 10 Alex Deucher 2011-07-29 10:58:08 UTC
Can you attach your dmesg with the patch applied?
Comment 11 almos 2011-07-29 12:30:31 UTC
Created attachment 49727 [details] [review]
dmesg with patch
Comment 12 Alex Deucher 2011-07-29 13:11:16 UTC
Created attachment 49728 [details] [review]
fix

Had the name wrong on the last one.  Try this one.
Comment 13 almos 2011-07-30 05:19:41 UTC
The fixed fix works. Now it reads this:
f75375-i2c-4-2e
Adapter: Radeon i2c bit bus MONID
in0:          +1.70 V  (min =  +0.00 V, max =  +0.00 V)
in1:          +1.03 V  (min =  +0.00 V, max =  +0.00 V)
in2:          +0.89 V  (min =  +0.00 V, max =  +0.00 V)
in3:          +1.06 V  (min =  +0.00 V, max =  +0.00 V)
fan1:           0 RPM  (min =    0 RPM)
fan2:           0 RPM  (min =    0 RPM)
temp1:        +38.0°C  (high =  +0.0°C, hyst =  +0.0°C)
temp2:        +39.0°C  (high =  +0.0°C, hyst =  +0.0°C)

Thank you.
Comment 14 Alex Deucher 2011-07-30 11:12:54 UTC
I've sent the patch to Dave.  thanks!
Comment 15 Thierry Vignaud 2011-08-04 23:48:13 UTC
I've a very similar issue on RV350.
See https://bugs.freedesktop.org/show_bug.cgi?id=39848
Comment 16 Florian Mickler 2011-08-08 01:49:13 UTC
A patch referencing this bug report has been merged in Linux v3.1-rc1:

commit c41b9ee901bb2c7e3eacfa7e171de50c15d61c0b
Author: Alex Deucher <alexander.deucher@amd.com>
Date:   Sat Jul 30 18:12:24 2011 +0000

    drm/radeon/kms: add thermal chip quirk for asus 9600xt
Comment 17 auxsvr 2011-10-22 09:17:54 UTC
I'm running kernel 3.1rc9, asus 9600xt and the f75375 sensor is detected, yet the readings are obviously wrong and constant:

f75375-i2c-3-28
Adapter: Radeon i2c bit bus MONID
in0:         +2.00 V  (min =  +2.00 V, max =  +2.00 V)
in1:         +2.00 V  (min =  +2.00 V, max =  +2.00 V)
in2:         +2.00 V  (min =  +2.00 V, max =  +2.00 V)
in3:         +2.00 V  (min =  +2.00 V, max =  +2.00 V)
fan1:         22 RPM  (min = 1000 RPM)
fan2:         22 RPM  (min = 1000 RPM)
temp1:        -6.0°C  (high = +65.0°C, hyst = +50.0°C)  
temp2:        -6.0°C  (high = +70.0°C, hyst = +50.0°C)

Is there any special configuration needed?
Comment 18 almos 2011-10-22 09:32:56 UTC
(In reply to comment #17)
> I'm running kernel 3.1rc9, asus 9600xt and the f75375 sensor is detected, yet
> the readings are obviously wrong and constant:
> 
><snip>
> Is there any special configuration needed?
I'm using 3.0.1 with Alex's patch, and the readings are OK (at least the voltages and temperatures seem correct, I have a fanless cooler). No configuration is needed and none is possible.


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.