zoukankan      html  css  js  c++  java
  • LM-Sensors unable to load driver module

    Fix - sort of - for LM-Sensors unable to load driver module

    In short:

    In /etc/default/grub set

    GRUB_CMDLINE_LINUX_DEFAULT="quiet acpi_enforce_resources=lax"

    then do

    # update-grub; reboot

    And be prepared for some ACPI trouble.

    On many of my systems with recent kernels sensord does no more provide full information:

    # sensors
    acpitz-virtual-0
    Adapter: Virtual device
    temp1:       +50.5 C  (crit = +80.0 C)

    This is due to buggy ACPI BIOSses which never will get fixed as those are long term out of any support.

    The symptoms are:

    # sensors-detect
    [..]
    Driver `w83627hf':
      * ISA bus, address 0x290
        Chip `Winbond W83697HF/F/HG Super IO Sensors' (confidence: 9)
    To load everything that is needed, add this to /etc/modules:
    #----cut here----
    # Chip drivers
    w83627hf
    #----cut here----

    but

    # modprobe w83627hf
    FATAL: Error inserting w83627hf (/lib/modules/2.6.32-5-686/kernel/drivers/hwmon/w83627hf.ko): Device or resource busy

    Usually the power resources and other thermal information should show up in /proc/acpi, but often you just get the CPU information, nothing else. This is because the ACPI part of the BIOS claims the resource, but does not provide appropriate information.

    This is a BIOS bug, not a kernel bug. The kernel does the right thing: Protect the ACPI regions against other drivers accessing them, as this can lead to serious problems.

    If you know what you are doing - and faulty ACPI BIOSses apparently do not - you can add a commandline option to the Linux kernel to relax this ACPI check:

    vi /etc/default/grub

    GRUB_CMDLINE_LINUX_DEFAULT="quiet acpi_enforce_resources=lax"

    Note that you must add "acpi_enforce_resources=lax" to the DEFAULT commandline. Other settings present there should still be kept. Then do:

    update-grub

    However you are living in danger then. Having said that you must know, that this was the previous behavior of Linux until this problem was noted and fixed. So there always was ACPI present and you lived in danger, the kernel just did not protect you.

    The trick is, to only load this on the DEFAULT commandline, such that it is not present in recovery mode. Hence you still can boot into recovery in case there is some driver conflict with ACPI.

    Before

    # sensors
    acpitz-virtual-0
    Adapter: Virtual device
    temp1:       +50.5 C  (crit = +80.0 C)

    After

    # sensors
    acpitz-virtual-0
    Adapter: Virtual device
    temp1:       +48.0 C  (crit = +80.0 C)
    w83697hf-isa-0290
    Adapter: ISA adapter
    in0:         +1.71 V  (min =  +0.13 V, max =  +0.00 V)   ALARM
    in2:         +3.20 V  (min =  +0.00 V, max =  +1.15 V)   ALARM
    in3:         +3.02 V  (min =  +0.03 V, max =  +2.06 V)   ALARM
    in4:         +3.01 V  (min =  +0.00 V, max =  +1.54 V)   ALARM
    in5:         +0.67 V  (min =  +0.06 V, max =  +2.05 V)
    in6:         +0.91 V  (min =  +1.04 V, max =  +1.02 V)   ALARM
    in7:         +3.30 V  (min =  +2.18 V, max =  +0.00 V)   ALARM
    in8:         +3.34 V  (min =  +0.19 V, max =  +1.06 V)   ALARM
    fan1:       2163 RPM  (min =   -1 RPM, div = 8)  ALARM
    fan2:       3013 RPM  (min = 1155 RPM, div = 8)
    temp1:       +35.0 C  (high = +16.0 C, hyst = +22.0 C)  ALARM  sensor = thermistor
    temp2:       +48.0 C  (high = +80.0 C, hyst = +75.0 C)  sensor = diode
    beep_enable:enabled

    However as you can see, something still is wrong now. Most limits are really wrong, hence they alarm.

    Before they were (however on a different mainboard):

    Oct 13 16:41:24 hydra sensord: Chip: w83697hf-isa-0290
    Oct 13 16:41:24 hydra sensord: Adapter: ISA adapter
    Oct 13 16:41:24 hydra sensord:   in0: +1.74 V (min = +1.57 V, max = +1.73 V) [ALARM]
    Oct 13 16:41:24 hydra sensord:   in2: +3.23 V (min = +3.14 V, max = +3.47 V)
    Oct 13 16:41:24 hydra sensord:   in3: +3.04 V (min = +2.83 V, max = +3.12 V)
    Oct 13 16:41:24 hydra sensord:   in4: +3.04 V (min = +2.85 V, max = +3.47 V)
    Oct 13 16:41:24 hydra sensord:   in5: +0.66 V (min = +0.34 V, max = +0.80 V)
    Oct 13 16:41:24 hydra sensord:   in6: +0.86 V (min = +0.78 V, max = +0.94 V)
    Oct 13 16:41:24 hydra sensord:   in7: +3.28 V (min = +2.83 V, max = +3.12 V) [ALARM]
    Oct 13 16:41:24 hydra sensord:   in8: +3.31 V (min = +2.40 V, max = +3.60 V)
    Oct 13 16:41:24 hydra sensord:   fan1: 3924 RPM (min = 2343 RPM, div = 8)
    Oct 13 16:41:24 hydra sensord:   fan2: 4218 RPM (min = 1155 RPM, div = 8)
    Oct 13 16:41:24 hydra sensord:   temp1: 30.0 C (limit = 75.0 C, hysteresis = 55.0 C)
    Oct 13 16:41:24 hydra sensord:   temp2: 44.5 C (limit = 80.0 C, hysteresis = 75.0 C)
    Oct 13 16:41:24 hydra sensord:   beep_enable: Sound alarm enabled

    So apparently at my side the readings seem correct, but the limits not. That is not a problem for me. I need the readings, the rest I can do/fix myself.

  • 相关阅读:
    Eclipse的自动排版设置(format)
    Java中" "表示几个空格
    cookie和session详解
    IO流操作详解
    springmvc常用注解标签详解
    mavenWeb工程建立步骤
    数据导出为excel表格
    Springmvc jar包介绍
    【初级算法】5.只出现一次的数字
    【初级算法】4.存在重复
  • 原文地址:https://www.cnblogs.com/cute/p/5015425.html
Copyright © 2011-2022 走看看