如何获取最新硬件的传感器读数?


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(Ubuntu的同时,10.10使用2.6.35),或通过使用支持独立的驱动程序

更新lm传感器的最简单方法是什么?


3
我知道了,但是认为它需要一个HOWTO,所以我将很快发布答案。
jg-faustus

Answers:


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)以使用新配置。

检查配置后

    $ 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读数进行比较,确认它们彼此一致。
  • 如果使用Windows双重引导,则可以将CPU温度与Real Temp进行比较。

校准显示值

  • 您可以将行添加compute in1 (56/10+1)*@, @/(56/10+1)到sensor3.conf。@是传感器值。第一次计算将传感器值转换为显示值,第二次计算将其转换回。
  • 看到 man sensors.conf
  • 要获得准确的温度,需要红外测温仪和几个小时的工作时间(请参阅takkat的回复),但是通常您可以以较少的努力获得“标准”值。

如果您知道改善此答案的方法,请执行。


1
太好了!拯救了我的一天!:D
MestreLion
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.