最後更新 26. 7. 2004
本文件也可以在 http://gentoo-wiki.com/HARDWARE_Sensors 找到。
警告 (請先看這裡)
- 這些只適用於 Shuttle XPC 的使用者:
核心(2.6.2-rc2-mm1)中的 it87 模組還沒搞定 reset_it87 開關的功能 (這表示:如果您載入這個模組,您的風扇將會以全速運轉。
我針對這個問題寫了一個修補檔,在 http://nopaste.php-q.net/49089 可以找到。
*更新*此風扇問題在2.6.5-rc2-mm4中已經解決, it87.c 有一個參數 reset 來進行這件事。
此外,在 procfs 中能夠控制您風扇的方式尚未移植到 sysfs...
如果有哪個人知道如何解決這個問題,我非常想知道....(因為我自己就有一個) - 不要同時載入 i2c_viapro 和 VIA686A !!!! 這兩個會打架,然後都沒作用。(感謝 Kow 幫忙加入這條)
1. 簡介
許多東西已經整合在新的核心源碼中,其中一項就是 lm_sensors 。這由兩個部份所組成,核心模組和用戶空間的應用程式。它讓您能夠從您主機板上的溫度感測器中讀取溫度、得知並設定風扇轉速、得知並設定溫度警示等等。
在您開始使用這份導覽文件之前,請注意並不是所有的核心模組都已經被轉移或放到核心源碼中了。要獲取更多關於 lm_sensors 由2.4核心轉移到2.6核心的資訊以及被支援的硬體及其驅動程式,請參照 這裡、這裡和這裡。
2. 快速且骯髒的指南
- 確定您已經讀了這頁,弄出 lm_sensors 的那些人在這一頁告訴您偵測不到您的晶片組時要怎麼辦、您的硬體所需的特殊參數、以及最重要的:您的硬體是否被 2.6.x所支援!
- 建立 /sys
Code: Select all
mkdir /sys - 移除廢棄的套件
I2C已經被整合到核心源碼中,gkrellm-sensors已經廢棄,gkrellm不需要它就可以運作良好。
Code: Select all
emerge -C i2c gkrellm-sensors lm-sensors - 取得閃亮的新核心源碼
我建議使用 mm-sources,因為比較新的源碼快照通常會被放在這份核心源碼中。
Code: Select all
emerge development-sources 或 emerge mm-sources 或 emerge gentoo-dev-sources - 將 /usr/src/linux指向您新的核心源碼位置
- 將 I2C 編成模組並依您的硬體選擇適當的模組
Code: Select all
Device Drivers ---> I2C support ---> <M> I2C support <M> I2C device interface I2C Hardware Bus support ---> <M> Choose the appropriate module for your hardware here I2C Hardware Sensors Chip support ---> <M> Choose the appropriate module for your sensors here - 編譯您的核心 並將編好的核心放到 /boot 中
Code: Select all
make && make modules_install - 重新開機
- 取得 lm_sensors 使用者所需的應用程式
您可能需要將其 unmask ,也許會有更新的版本。
Code: Select all
emerge =lm-sensors-2.8.4 - 重新安裝 gkrellm 以便使其讀取您的感測器資料。
載入之。打開 properties 並尋找內建的 "sensors" 項目。您應該可以找到您所有的感測器。
如果一切正常,您應該會看到像是下面這種情形:
Code: Select all
fuero@bmfh fuero $ sensors
it87-isa-0290
Adapter: ISA adapter
Algorithm: ISA algorithm
ERROR: Can't get alarm data!
VCore 1: +1.48 V (min = +1.53 V, max = +1.87 V)
VCore 2: +1.47 V (min = +2.25 V, max = +2.75 V)
+3.3V: +6.64 V (min = +2.96 V, max = +3.60 V)
+5V: +4.86 V (min = +4.50 V, max = +5.48 V)
+12V: +11.84 V (min = +11.36 V, max = +13.80 V)
-12V: -20.38 V (min = -15.86 V, max = -13.40 V)
-5V: -2.38 V (min = -10.13 V, max = -9.44 V)
Stdby: +4.77 V (min = +4.50 V, max = +5.48 V)
VBat: +4.08 V
fan1: 3770 RPM (min = 3000 RPM, div = 2)
fan2: 0 RPM (min = 3000 RPM, div = 2)
fan3: 0 RPM (min = 3000 RPM, div = 2)
M/B Temp: +54°C (low = +20°C, high = +60°C) sensor = thermistor
CPU Temp: -22°C (low = +20°C, high = +60°C) sensor = invalid
Temp3: +40°C (low = +20°C, high = +60°C) sensor = thermistor
fuero@bmfh fuero $ ls /sys/bus/i2c/devices/
0-0290
fuero@bmfh fuero $ ls /sys/bus/i2c/devices/0-0290/
alarms fan_div1 fan_min1 in_input3 in_input7 in_max3 in_max7 in_min3 in_min7 pwm1 sensor2 temp_max2
beep_enable fan_div2 fan_min2 in_input4 in_input8 in_max4 in_max8 in_min4 in_min8 pwm2 temp_input1 temp_min1
beep_mask fan_input1 in_input0 in_input5 in_max0 in_max5 in_min0 in_min5 name pwm_enable2 temp_input2 temp_min2
detach_state fan_input2 in_input2 in_input6 in_max2 in_max6 in_min2 in_min6 power sensor1 temp_max1- "我的感測器沒有出現!"、"我的感測器沒被偵測到!",請問該怎麼辦?
RTFM 這裡、這裡和這裡,並檢視錯誤回報。如果這些都幫不了你,我恐怕也是愛莫能助...您可以試驗模組和其參數(這些本來是 sensors-detect 應該為你作的),或是向 lm_sensors 那些人提出錯誤報告。 - "我的感測器顯示的溫度老是多出10度!"、"我的感測資訊應該要除以二!",請問該怎麼辦?
如果您安裝了 lm_sensors 且想由指令'sesnors'看到正確的輸出,請編輯 /etc/sensors.conf 並依您的需要調整。
如果您使用 gkrellm 時發生問題,您可以在'Properties'視窗中的'Offset'和'Factor'輸入框中輸入數值來解決之。 - sensors-detect 蹦出"No i2c device files found. Use prog/mkdev/mkdev.sh to create them"!該怎麼辦?
Code: Select all
modprobe i2c-dev ; sensors-detect - sensors-detect 沒辦法找到某些模組! / 為什麼這些模組會消失呢?
請確定在您設定核心時啟動了相關的選項,還有記得讀 1.!