可能であれば、Advanced Micro Devices [AMD] nee ATI RS880 [Radeon HD4290]カードから温度を読み取りたい。 ASUS M4A89GTDPRO/USB3マザーボードに統合されています。
sensor-detectは以下を報告します:
Do you want to probe the I2C/SMBus adapters now? (YES/no):
Using driver `i2c-piix4' for device 0000:00:14.0: ATI Technologies Inc SB600/SB700/SB800 SMBus
Module i2c-dev loaded successfully.
Next adapter: Radeon i2c bit bus 0x90 (i2c-0)
Do you want to scan it? (yes/NO/selectively): yes
Next adapter: Radeon i2c bit bus 0x91 (i2c-1)
Do you want to scan it? (yes/NO/selectively): yes
Next adapter: Radeon i2c bit bus 0x92 (i2c-2)
Do you want to scan it? (yes/NO/selectively): yes
Next adapter: Radeon i2c bit bus 0x93 (i2c-3)
Do you want to scan it? (yes/NO/selectively): yes
Next adapter: Radeon i2c bit bus 0x14 (i2c-4)
Do you want to scan it? (yes/NO/selectively): yes
sensors
コマンドの出力には何の関係もありません。
x.org Webサイト この情報を提供します:
熱センサーは、外部i2cチップまたは内部熱センサー(rv6xx-常緑樹のみ。2.6.36以降でサポート)を介して実装されます。すべてのOEMが熱センサーを実装しているわけではありません。 i2cチップを使用するアシックスの温度を取得するには、ボードで使用されているセンサー(lm63、lm64など)に適切なhwmonドライバーをロードする必要があります。 drmは、適切なhwmonドライバーを読み込もうとします。内部温度センサーを使用するボードでは、drmはhwmonインターフェースを自動的にセットアップします。適切なドライバーがロードされると、温度はlm_sensorsツールまたは/ sys/class/hwmonのsysfsを介してアクセスできます。
Hw.i2cモジュールパラメータはデフォルトで0です。モジュールの説明から(modinfo radeon
)それが正確に何をするのか私にはわかりません。それを有効にすると、温度を取得するのに役立ちますか?
Ubuntu14.04とカーネル3.14を使用して、AMD Radeon HD 8670/R7 250カード(OLANDチップセットファミリー)から温度を読み取ることができます。
$ sensors
[…]
radeon-pci-0100
Adapter: PCI adapter
temp1: +50.0°C (crit = +120.0°C, hyst = +90.0°C)
[…]
ただし、sensors-detect
はRadeonカードの温度センサーを検出しません。 sensors
は、カーネルのhwmonインターフェイスを介してアクセスできるため、センサーを「認識」します。つまり、radeon
driverは、センサーをシステムにアクティブに「公開」します。
ディレクトリ/sys/class/hwmon
には、すべてのhwmonインターフェイスのリストがあります。
$ ls -l /sys/class/hwmon/
total 0
drwxr-xr-x 2 root root 0 Jun 28 15:02 ./
drwxr-xr-x 56 root root 0 Jun 28 15:02 ../
lrwxrwxrwx 1 root root 0 Jun 28 15:02 hwmon0 -> ../../devices/virtual/hwmon/hwmon0/
lrwxrwxrwx 1 root root 0 Jun 28 15:02 hwmon1 -> ../../devices/pci0000:00/0000:00:01.0/0000:01:00.0/hwmon/hwmon1/
lrwxrwxrwx 1 root root 0 Jun 28 15:02 hwmon2 -> ../../devices/platform/coretemp.0/hwmon/hwmon2/
lrwxrwxrwx 1 root root 0 Jun 28 15:02 hwmon3 -> ../../devices/platform/nct6775.2560/hwmon/hwmon3/
中間結論:Radeonカードの温度を読み取るために、I²Cが機能するかどうかは問題ではありません。
http://xorg.freedesktop.org/wiki/RadeonFeature/ によると、温度センサーは私のカード(HD8670)と同じようにHD4290カードでもサポートされています。ただし、ドキュメントには「i2cチップまたは内部センサー」と記載されています(脚注28)。
同じサイトで、次の引用を見つけることができます:
熱センサーは、外部i2cチップまたは内部熱センサー(rv6xx-常緑樹のみ。2.6.36以降でサポート)を介して実装されます。すべてのOEMが熱センサーを実装しているわけではありません。 i2cチップを使用するアシックスの温度を取得するには、ボードで使用されているセンサー(lm63、lm64など)に適切なhwmonドライバーをロードする必要があります。 drmは、適切なhwmonドライバーを読み込もうとします。内部温度センサーを使用するボードでは、drmはhwmonインターフェースを自動的にセットアップします。適切なドライバーがロードされると、温度はlm_sensorsツールまたは/ sys/class/hwmonのsysfsを介してアクセスできます。
結論:ボード上の温度センサーがI²Cを介して接続されている可能性があります可能性があります。この場合、sensors-detect
はそれを見つけることができるはずです。それでも、グラフィックカードに温度センサーがない可能性もあります。
追記
私には、hw_i2c
パラメーターのセマンティクスは0 =無効および1 =有効のように見えます。
$ modinfo -p radeon
[…]
hw_i2c:hw i2c engine enable (0 = disable) (int)
[…]
私のシステムでは、cat /sys/module/radeon/parameters/hw_i2c
は0
を提供しますが、それでも、すべてRadeonドライバーから発信される8つのI²Cバスがあります。
$ ls -l /sys/bus/i2c/devices/
total 0
drwxr-xr-x 2 root root 0 Jun 28 14:31 ./
drwxr-xr-x 4 root root 0 Jun 28 14:31 ../
lrwxrwxrwx 1 root root 0 Jun 28 14:31 i2c-0 -> ../../../devices/pci0000:00/0000:00:01.0/0000:01:00.0/i2c-0/
lrwxrwxrwx 1 root root 0 Jun 28 14:31 i2c-1 -> ../../../devices/pci0000:00/0000:00:01.0/0000:01:00.0/i2c-1/
lrwxrwxrwx 1 root root 0 Jun 28 14:31 i2c-2 -> ../../../devices/pci0000:00/0000:00:01.0/0000:01:00.0/i2c-2/
[…]
lrwxrwxrwx 1 root root 0 Jun 28 14:31 i2c-7 -> ../../../devices/pci0000:00/0000:00:01.0/0000:01:00.0/i2c-7/
$ grep . /sys/bus/i2c/devices/i2c-*/name
/sys/bus/i2c/devices/i2c-0/name:Radeon i2c bit bus 0x90
/sys/bus/i2c/devices/i2c-1/name:Radeon i2c bit bus 0x91
/sys/bus/i2c/devices/i2c-2/name:Radeon i2c bit bus 0x92
/sys/bus/i2c/devices/i2c-3/name:Radeon i2c bit bus 0x93
/sys/bus/i2c/devices/i2c-4/name:Radeon i2c bit bus 0x94
/sys/bus/i2c/devices/i2c-5/name:Radeon i2c bit bus 0x95
/sys/bus/i2c/devices/i2c-6/name:Radeon i2c bit bus 0x96
/sys/bus/i2c/devices/i2c-7/name:Radeon i2c bit bus 0x97
ddccontrol
ツールを使用して、I²Cを介してHDMI接続ディスプレイと「通信」できます。バックライトの明るさを調整します。したがって、I²Cは間違いなく機能します。