วิธีรับการอ่านเซ็นเซอร์สำหรับฮาร์ดแวร์ล่าสุด


10

ฉันจะปรับปรุงlm-sensorsให้ทำงานกับฮาร์ดแวร์ล่าสุดได้อย่างไร

ฉันติดตั้งเซิร์ฟเวอร์ Ubuntu 10.10 ใหม่และได้รับสิ่งต่อไปนี้:

$ 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.

เชื่อมโยงบอกว่าชิปนี้ได้รับการสนับสนุนจากเคอร์เนล 2.6.36 (ในขณะที่อูบุนตู 10.10 ใช้ 2.6.35) หรือโดยการใช้ไดรเวอร์แบบสแตนด์อโลน

วิธีที่ง่ายที่สุดในการอัพเดตเซ็นเซอร์ lm คืออะไร?


3
ฉันคิดออก แต่คิดว่ามันต้องมี HOWTO ดังนั้นฉันจะโพสต์คำตอบในไม่ช้า
jg-faustus

คำตอบ:


11

นี่เป็นทางเลือกหลัก:

รอเลย : หากคุณไม่พิจารณาการอ่านเซ็นเซอร์ที่สำคัญคุณอาจรอการเปิดตัว Ubuntu ครั้งต่อไปซึ่งอาจรวมถึงการรองรับชิปตามค่าเริ่มต้น

ไดรเวอร์แบบสแตนด์อโลน : หากคุณไม่ต้องการรอไดรเวอร์แบบสแตนด์อโลนอาจเป็นตัวเลือกที่ดีที่สุดเนื่องจากจะทำการเปลี่ยนแปลงส่วนที่เหลือของระบบเพียงเล็กน้อย ดูวิธีการติดตั้งด้านล่าง

อัปเกรดเคอร์เนล : สิ่งนี้ค่อนข้างมีความเสี่ยงมากขึ้นเนื่องจากคุณจะเรียกใช้การรวมกันของเวอร์ชัน Ubuntu และเวอร์ชันเคอร์เนลที่ไม่ได้รับการสนับสนุนและไม่ผ่านการทดสอบการอัพเกรดเคอร์เนลอาจแก้ไขการสนับสนุนเซ็นเซอร์ในขณะที่แตกอย่างอื่น การอัพเกรดเคอร์เนลอาจใช้งานได้ดีตราบใดที่คุณพร้อมที่จะย้อนกลับในกรณีที่มันไม่ทำงาน

วิธีที่ง่ายที่สุดในการอัพเกรดเคอร์เนลคือใช้แพ็คเกจเคอร์เนลที่สร้างไว้ล่วงหน้าของ Ubuntu ดูคำแนะนำในการสร้างเคอร์เนลของ ubuntu.com


การติดตั้งไดรเวอร์แบบสแตนด์อโลน

อ่านUbuntu รวบรวม HOWTOติดตั้งเครื่องมือรวบรวม:

sudo apt-get install build-essential

ดาวน์โหลดซอร์สโค้ดสำหรับไดรเวอร์

    wget [.h, .c and Makefile files]
  • รวบรวมติดตั้งและโหลดโมดูลใหม่ นี่w83627ehfคือชื่อของไดรเวอร์ที่คอมไพล์เมื่อเร็ว ๆ นี้ซึ่งจะแตกต่างกันระหว่างระบบ

    make all
    sudo make install
    sudo modprobe w83627ehf
    

ตรวจสอบว่ามันใช้งานได้

    $ 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 ...]

เพิ่มการกำหนดค่า

มันยังต้องการการกำหนดค่าเฉพาะชิปนี่เป็นส่วนที่ยาก

  • กรณีที่โชคดี: หาการตั้งค่าสำเร็จรูปที่lm-sensors.org การกำหนดค่า
  • การล่าสัตว์ของ Google: ค้นหาชื่อชิปและคุณอาจพบคนที่มีชิปตัวเดียวกันและการกำหนดค่าที่ใช้งานได้
  • วิธีสุดท้าย: เปรียบเทียบกับค่าใน BIOS และทำการเดาอย่างมีความรู้ว่าการอ่านไปที่ใด
  • การกำหนดค่าเข้ามา /etc/sensors3.conf
  • โหลด ( sudo sensors -s) หรือรีสตาร์ท ( sudo service lm-sensors restart) เพื่อใช้การกำหนดค่าใหม่

ตรวจสอบ 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

ทำให้ทำงานหลังจากรีสตาร์ท

  • แก้ไข /etc/rc.local
  • เพิ่มบรรทัด modprobe w83627ehf
  • (แทนที่w83627ehfด้วยเซ็นเซอร์สำหรับระบบของคุณตรวจสอบให้แน่ใจว่าวางไว้ตรงหน้าexit 0บรรทัดซึ่งจะยุติสคริปต์)

สติตรวจสอบผลลัพธ์

  • เปรียบเทียบsensorsรายชื่อกับการอ่าน BIOS ตรวจสอบว่าพวกเขาอยู่ใน ballpark ของกันและกัน
  • หากคุณบูตคู่กับ Windows คุณสามารถเปรียบเทียบอุณหภูมิ CPU กับอุณหภูมิจริง

การปรับเทียบค่าการแสดงผล

  • คุณสามารถเพิ่มบรรทัดที่ต้องการcompute in1 (56/10+1)*@, @/(56/10+1)sensors3.conf @คือค่าเซ็นเซอร์ การคำนวณครั้งแรกแปลงค่าเซ็นเซอร์เพื่อแสดงค่าการคำนวณครั้งที่สองแปลงค่ากลับ
  • ดู man sensors.conf
  • การรับอุณหภูมิที่ถูกต้องจะต้องใช้เครื่องวัดอุณหภูมิแบบอินฟราเรดและใช้เวลา 2-3 ชั่วโมงในการทำงาน (ดูคำตอบของ takkat ที่นี่ ) แต่โดยปกติคุณสามารถรับค่า "ballpark" ได้อย่างง่ายดาย

หากคุณรู้วิธีปรับปรุงคำตอบนี้โปรดทำ


1
FANTASIC คำตอบ! บันทึกวันของฉัน! : D
MestreLion
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.