मैं कर्नेल 3.14 के साथ Ubuntu 14.04 का उपयोग करके अपने 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
ड्राइवर सक्रिय रूप से सिस्टम में सेंसर को "उजागर" करता है।
निर्देशिका में /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 worksC काम करता है या नहीं।
के अनुसार http://xorg.freedesktop.org/wiki/RadeonFeature/ तापमान सेंसर HD4290 कार्ड पर समर्थित है के रूप में यह मेरा कार्ड (HD8670) पर है। हालांकि, प्रलेखन "i2c चिप या आंतरिक सेंसर" (फुटनोट 28) कहता है।
उसी साइट पर आप निम्नलिखित उद्धरण पा सकते हैं:
थर्मल सेंसर बाहरी i2c चिप्स के माध्यम से या आंतरिक थर्मल सेंसर (केवल rv6xx- सदाबहार के माध्यम से लागू होते हैं; 2.6.36 या नए में समर्थित); सभी ओईएम एक थर्मल सेंसर लागू नहीं करते हैं। I2c चिप्स का उपयोग करने वाले asics पर तापमान प्राप्त करने के लिए, आपको अपने बोर्ड (lm63, lm64, आदि) पर उपयोग किए जाने वाले सेंसर के लिए उपयुक्त hwmon ड्राइवर को लोड करने की आवश्यकता है। ड्रम उपयुक्त hwmon ड्राइवर को लोड करने का प्रयास करेगा। आंतरिक थर्मल सेंसर का उपयोग करने वाले बोर्डों पर, ड्रम स्वचालित रूप से hwmon इंटरफ़ेस स्थापित करेगा। जब उपयुक्त ड्राइवर को लोड किया जाता है, तो तापमान को lm_sensors टूल या sysfs के माध्यम से / sys / class / hwmon में एक्सेस किया जा सकता है।
नीचे पंक्ति: ऐसा हो सकता है कि आपके बोर्ड पर तापमान संवेदक 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
, अभी भी मेरे पास 8 I ,C बसें हैं जो सभी Radeon ड्राइवर से उत्पन्न होती हैं:
$ 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 usingC के माध्यम से अपने एचडीएमआई-कनेक्टेड डिस्प्ले पर "बात" करने में सक्षम हूं । इसलिए, I²C निश्चित रूप से काम करता है।