क्या radeon.hw_i2c = 1 का तापमान रीडिंग से कोई लेना देना है?


2

यदि संभव हो तो मैं एक उन्नत माइक्रो डिवाइसेस [AMD] nee अति RS880 [Radeon HD 4290] कार्ड से तापमान को पढ़ना चाहता हूं। यह एक ASUS M4A89GTDPRO / USB3 मदरबोर्ड पर एकीकृत है।

सेंसर का पता लगाने के बाद रिपोर्ट:

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 वेबसाइट इस जानकारी के साथ प्रदान करते हैं:

थर्मल सेंसर बाहरी i2c चिप्स के माध्यम से या आंतरिक थर्मल सेंसर (केवल rv6xx- सदाबहार के माध्यम से लागू होते हैं; 2.6.36 या नए में समर्थित); सभी ओईएम एक थर्मल सेंसर लागू नहीं करते हैं। I2c चिप्स का उपयोग करने वाले asics पर तापमान प्राप्त करने के लिए, आपको अपने बोर्ड (lm63, lm64, आदि) पर उपयोग किए जाने वाले सेंसर के लिए उपयुक्त hwmon ड्राइवर को लोड करने की आवश्यकता है। ड्रम उपयुक्त hwmon ड्राइवर को लोड करने का प्रयास करेगा। आंतरिक थर्मल सेंसर का उपयोग करने वाले बोर्डों पर, ड्रम स्वचालित रूप से hwmon इंटरफ़ेस स्थापित करेगा। जब उपयुक्त ड्राइवर को लोड किया जाता है, तो तापमान को lm_sensors टूल या sysfs के माध्यम से / sys / class / hwmon में एक्सेस किया जा सकता है।

Hw.i2c मॉड्यूल पैरामीटर डिफ़ॉल्ट रूप से 0 है। मॉड्यूल के विवरण से ( modinfo radeon) यह मेरे लिए स्पष्ट नहीं है कि यह वास्तव में क्या करता है। क्या यह तापमान प्राप्त करने में मदद करता है?

जवाबों:


3

मैं कर्नेल 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-detectRadeon कार्ड के तापमान सेंसर का पता नहीं लगाता है। 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 निश्चित रूप से काम करता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.