Bagaimana cara mendapatkan pembacaan sensor untuk perangkat keras terbaru?

10

Bagaimana cara memperbarui terbaik lm-sensorsuntuk bekerja dengan perangkat keras terbaru?

Saya memiliki instalasi baru Ubuntu 10.10 server, dan mendapatkan yang berikut:

$ sudo apt-get install lm-sensors
$ sensors
No sensors found! [...] 
Try sensors-detect [...]
$ sudo sensors-detect
[...]
Driver 'to-be-written':
  * Chip "Nuvoton W83667HG-B Super IO Sensors" (confidence: 9)
Note: there is no driver for [this sensor] yet.
Check http://www.lm-sensors.org/wiki/Devices for updates.

The Link memberitahu saya bahwa chip ini didukung dari kernel 2.6.36 (sementara Ubuntu 10.10 menggunakan 2.6.35) atau dengan menggunakan sopir mandiri .

Apa cara paling sederhana untuk memperbarui lm-sensor?

jg-faustus
sumber
3
Saya sudah mengetahuinya, tetapi saya pikir itu membutuhkan HOWTO, jadi saya akan segera mengirim jawaban.
jg-faustus

Jawaban:

11

Ini adalah alternatif utama:

Tunggu : Jika Anda tidak menganggap pembacaan sensor penting, Anda mungkin hanya menunggu rilis Ubuntu berikutnya, yang mungkin menyertakan dukungan untuk chip secara default.

Driver mandiri : Jika Anda tidak ingin menunggu, driver mandiri mungkin menjadi pilihan terbaik, karena itu membuat perubahan minimal ke seluruh sistem. Lihat di bawah untuk cara menginstalnya.

Tingkatkan kernel : Ini agak lebih berisiko, karena Anda akan menjalankan kombinasi yang tidak didukung dan belum teruji dari versi Ubuntu dan versi kernel - meningkatkan kernel dapat memperbaiki dukungan sensor sambil merusak sesuatu yang lain. Memutakhirkan kernel mungkin juga berfungsi dengan baik, selama Anda siap untuk memutar kembali jika tidak.

Cara termudah untuk memutakhirkan kernel adalah dengan menggunakan salah satu paket kernel prebuilt Ubuntu, lihat ubuntu.com builds untuk mendapatkan petunjuk.


Menginstal driver mandiri

Baca Ubuntu kompilasi HOWTO , instal alat kompilasi:

sudo apt-get install build-essential

Unduh kode sumber untuk driver

    wget [.h, .c and Makefile files]
  • Kompilasi, instal, dan muat modul baru. Berikut w83627ehfadalah nama driver yang baru dikompilasi, itu akan berbeda antara sistem.

    make all
    sudo make install
    sudo modprobe w83627ehf
    

Periksa apakah itu berfungsi

    $ sensors
    w83667hg-isa-0a10
    Adapter: ISA adapter
    in0:       +1.18 V  (min =  +0.62 V, max =  +1.47 V)   
    in1:       +1.11 V  (min =  +1.05 V, max =  +1.15 V)   
    [... snip ...]

Tambahkan konfigurasi

Masih membutuhkan konfigurasi khusus chip, ini adalah bagian yang sulit.

  • Kasus keberuntungan: Temukan konfigurasi yang sudah jadi di konfigurasi lm-sensors.org .
  • Pencarian Google: Cari nama chip dan Anda mungkin menemukan seseorang dengan chip yang sama dan konfigurasi yang berfungsi.
  • Pilihan terakhir: Bandingkan dengan nilai-nilai di BIOS dan tebak dengan cermat bacaan mana yang digunakan.
  • Konfigurasi masuk /etc/sensors3.conf
  • Muat ulang ( sudo sensors -s) atau mulai ulang ( sudo service lm-sensors restart) untuk menggunakan konfigurasi baru.

Memeriksa post-config

    $ sensors
    w83667hg-isa-0a10
    Adapter: ISA adapter
    VCore:       +1.18 V  (min =  +0.62 V, max =  +1.47 V)   
    Vtt:         +1.11 V  (min =  +1.05 V, max =  +1.15 V)   
    AVCC:        +3.34 V  (min =  +2.98 V, max =  +3.63 V)   
    +3.3V:       +3.34 V  (min =  +2.98 V, max =  +3.63 V)   
    IGD:         +1.56 V  (min =  +1.00 V, max =  +2.00 V)   
    3VSB:        +3.26 V  (min =  +2.98 V, max =  +3.63 V)   
    VBat:        +3.31 V  (min =  +2.54 V, max =  +3.46 V)   
    CPU Fan:    1834 RPM  (min =  301 RPM, div = 32)
    M/B Temp:    +30.0°C  (high = +55.0°C, hyst = +52.0°C)  sensor = thermistor
    CPU Temp:    +67.0°C  (high = +72.0°C, hyst = +70.0°C)  sensor = thermistor
    AUX Temp:    +27.0°C  (high = +80.0°C, hyst = +75.0°C)  sensor = thermistor

Buat itu berfungsi setelah restart

  • Edit /etc/rc.local
  • Tambahkan baris modprobe w83627ehf
  • (Ganti w83627ehfdengan sensor untuk sistem Anda. Pastikan untuk meletakkannya sebelum exit 0baris, yang mengakhiri skrip.)

Sanity memeriksa output

  • Bandingkan sensorsdaftar dengan pembacaan BIOS, verifikasi bahwa semuanya ada di stadion baseball satu sama lain.
  • Jika Anda dual boot dengan Windows Anda dapat membandingkan suhu CPU dengan Real Temp .

Mengkalibrasi nilai tampilan

  • Anda dapat menambahkan baris seperti compute in1 (56/10+1)*@, @/(56/10+1)untuk sensors3.conf. @adalah nilai sensor. Perhitungan pertama mengubah nilai sensor menjadi nilai tampilan, perhitungan kedua mengubahnya kembali.
  • Lihat man sensors.conf
  • Untuk mendapatkan suhu yang akurat akan membutuhkan termometer inframerah dan beberapa jam kerja (lihat balasan takkat di sini ), tetapi Anda biasanya bisa mendapatkan nilai "rata-rata" dengan sedikit usaha.

Jika Anda tahu cara untuk meningkatkan jawaban ini, silakan lakukan.

jg-faustus
sumber
1
Jawaban FANTASIC! Selamatkan hari saya! : D
MestreLion