Centos – no pwm-capable sensor modules installed on MSI B75MA-P45

centosfansensors

I am using a MSI B75MA-P45 motherboard on Centos 6 and my CPU fan is currently stuck at 100%. I can see RPM of the fan and temperature inside my BIOS however when I run sensors-detect I only see CPU and core temperatures.

My fan is connected via the 4 pin system fan connection on the motherboard.

Any ideas on what I can do to get pwm working for my fan?

Update:

This is what I can see when I check sensors

[root@localhost config]# sensors
acpitz-virtual-0
Adapter: Virtual device
temp1:        +27.8 C  (crit = +106.0 C)
temp2:        +29.8 C  (crit = +106.0 C)

coretemp-isa-0000
Adapter: ISA adapter
Physical id 0:  +31.0 C  (high = +85.0 C, crit = +105.0 C)
Core 0:         +31.0 C  (high = +85.0 C, crit = +105.0 C)
Core 1:         +29.0 C  (high = +85.0 C, crit = +105.0 C)

I get the following when running sensors-detect and was wondering why I don't see lm78 when I run sensors?

Now follows a summary of the probes I have just done.
Just press ENTER to continue: 

Driver `coretemp':
  * Chip `Intel digital thermal sensor' (confidence: 9)

Driver `lm78':
  * ISA bus, address 0x290
    Chip `National Semiconductor LM78' (confidence: 6)

Do you want to overwrite /etc/sysconfig/lm_sensors? (YES/no): YES

Update 2:

When running pwmconfig I get the following issue

/usr/sbin/pwmconfig: There are no pwm-capable sensor modules installed

Best Answer

Note that the detection confidence of the LM78 is only 6, not 9 as with the coretemp module.

There are several lm78 clones that are similar enough to be detected as lm78 unless a more specific test is done to identify that particular clone. Unfortunately, some of those "clones" are so different from the actual lm78 that the lm78 driver module cannot handle them.

You have allowed sensors-detect to modify /etc/sysconfig/lm_sensors, so the system will at least make an attempt to load the lm78 driver at next reboot, or when the lm_sensors subsystem is restarted. If the lm78 was loaded and successfully accessed the monitoring chip, the sensors command output would include a block that would start with:

lm78-isa-0290

If the module is actually loaded but there is no such block in the sensors command output, then the module did not successfully take control of the "lm78" monitoring chip. The output of the dmesg command might include more clues as to what went wrong: for example, if the monitoring chip is actually a true lm78 but its I/O addresses are marked as reserved by ACPI, then the driver cannot attach to it. In this case, an error message in dmesg will indicate that.

If the address space of the lm78 chip is actually reserved by ACPI, then there is a chance that the ACPI firmware will be accessing the lm78 chip while the system is running, which might cause occasional false readings for the Linux lm78 driver. If the chip also controls fan speeds, it might also cause the fan to be set to wrong speeds. You can usually get around the ACPI reservation by specifying the boot option acpi_enforce_resources=lax, but you'll do so at your own risk.

If the problem is an incorrect chip detection, the lm_sensors package in CentOS 6 might be too old for your hardware. You might want to grab the latest version of lm_sensors from https://github.com/groeck/lm-sensors and compile it on your system. The newer sensors-detect might give a more specific identification for your monitoring chip than just the generic "lm78". If a more specific driver module is available for your kernel, it might give better results.

Related Question