# can't get fanspeed by lm_sensors

## DeIM

My board is Z97M-Plus with Nuvoton NCT6791D Super IO Sensors but:

```
# sensors

acpitz-virtual-0

Adapter: Virtual device

temp1:        +27.8°C  (crit = +105.0°C)

temp2:        +29.8°C  (crit = +105.0°C)

coretemp-isa-0000

Adapter: ISA adapter

Physical id 0:  +31.0°C  (high = +80.0°C, crit = +100.0°C)

Core 0:         +29.0°C  (high = +80.0°C, crit = +100.0°C)

Core 1:         +26.0°C  (high = +80.0°C, crit = +100.0°C)

Core 2:         +28.0°C  (high = +80.0°C, crit = +100.0°C)

Core 3:         +29.0°C  (high = +80.0°C, crit = +100.0°C)
```

It doesn't show Nuvoton items   :Sad: 

```
# sensors-detect 

# sensors-detect revision 6209 (2014-01-14 22:51:58 +0100)

# System: ASUS All Series

# Board: ASUSTeK COMPUTER INC. Z97M-PLUS

This program will help you determine which kernel modules you need

to load to use lm_sensors most effectively. It is generally safe

and recommended to accept the default answers to all questions,

unless you know what you're doing.

Some south bridges, CPUs or memory controllers contain embedded sensors.

Do you want to scan for them? This is totally safe. (YES/no): 

Silicon Integrated Systems SIS5595...                       No

VIA VT82C686 Integrated Sensors...                          No

VIA VT8231 Integrated Sensors...                            No

AMD K8 thermal sensors...                                   No

AMD Family 10h thermal sensors...                           No

AMD Family 11h thermal sensors...                           No

AMD Family 12h and 14h thermal sensors...                   No

AMD Family 15h thermal sensors...                           No

AMD Family 15h power sensors...                             No

AMD Family 16h power sensors...                             No

Intel digital thermal sensor...                             Success!

    (driver `coretemp')

Intel AMB FB-DIMM thermal sensor...                         No

VIA C7 thermal sensor...                                    No

VIA Nano thermal sensor...                                  No

Some Super I/O chips contain embedded sensors. We have to write to

standard I/O ports to probe them. This is usually safe.

Do you want to scan for Super I/O sensors? (YES/no): 

Probing for Super-I/O at 0x2e/0x2f

Trying family `National Semiconductor/ITE'...               No

Trying family `SMSC'...                                     No

Trying family `VIA/Winbond/Nuvoton/Fintek'...               Yes

Found `Nuvoton NCT6791D Super IO Sensors'                   Success!

    (address 0x290, driver `nct6775')

Probing for Super-I/O at 0x4e/0x4f

Trying family `National Semiconductor/ITE'...               No

Trying family `SMSC'...                                     No

Trying family `VIA/Winbond/Nuvoton/Fintek'...               No

Trying family `ITE'...                                      No

Some systems (mainly servers) implement IPMI, a set of common interfaces

through which system health data may be retrieved, amongst other things.

We first try to get the information from SMBIOS. If we don't find it

there, we have to read from arbitrary I/O ports to probe for such

interfaces. This is normally safe. Do you want to scan for IPMI

interfaces? (YES/no): 

# DMI data unavailable, please consider installing dmidecode 2.7

# or later for better results.

Probing for `IPMI BMC KCS' at 0xca0...                      No

Probing for `IPMI BMC SMIC' at 0xca8...                     No

Some hardware monitoring chips are accessible through the ISA I/O ports.

We have to write to arbitrary I/O ports to probe them. This is usually

safe though. Yes, you do have ISA I/O ports even if you do not have any

ISA slots! Do you want to scan the ISA I/O ports? (yes/NO): 

Lastly, we can probe the I2C/SMBus adapters for connected hardware

monitoring devices. This is the most risky part, and while it works

reasonably well on most systems, it has been reported to cause trouble

on some systems.

Do you want to probe the I2C/SMBus adapters now? (YES/no): 

Found unknown SMBus adapter 8086:8ca2 at 0000:00:1f.3.

Sorry, no supported PCI bus adapters found.

Next adapter: i915 gmbus ssc (i2c-0)

Do you want to scan it? (yes/NO/selectively): 

Next adapter: i915 gmbus vga (i2c-1)

Do you want to scan it? (yes/NO/selectively): 

Next adapter: i915 gmbus panel (i2c-2)

Do you want to scan it? (yes/NO/selectively): 

Next adapter: i915 gmbus dpc (i2c-3)

Do you want to scan it? (yes/NO/selectively): 

Next adapter: i915 gmbus dpb (i2c-4)

Do you want to scan it? (yes/NO/selectively): 

Next adapter: i915 gmbus dpd (i2c-5)

Do you want to scan it? (yes/NO/selectively): 

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 `nct6775':

  * ISA bus, address 0x290

    Chip `Nuvoton NCT6791D Super IO Sensors' (confidence: 9)
```

```
# cat /etc/conf.d/lm_sensors 

# Generated by sensors-detect on Fri Sep 25 10:48:16 2015

# This file is sourced by /etc/init.d/lm_sensors and defines the modules to

# be loaded/unloaded.

#

# The format of this file is a shell script that simply defines variables:

# HWMON_MODULES for hardware monitoring driver modules, and optionally

# BUS_MODULES for any required bus driver module (for example for I2C or SPI).

# Load modules at startup

LOADMODULES=yes

# Initialize sensors at startup

INITSENSORS=yes

HWMON_MODULES="coretemp nct6775"

MODULE_1=coretemp

MODULE_0=nct6775
```

```
# lsmod 

Module                  Size  Used by

coretemp                5884  0 

nct6775                37920  0 

hwmon_vid               3076  1 nct6775

x86_pkg_temp_thermal     4567  0 

i2c_i801               10157  0
```

What I'm doing wrong?

----------

## krinn

Check for conflict, i don't get it myself too because of that (but tbh never really check why as i don't care about it)

```
rmmod nct6775

modprobe nct6775

dmesg

```

bad result :

```
[ 2703.639828] nct6775: Enabling hardware monitor logical device mappings.

[ 2703.639838] nct6775: Found NCT6791D or compatible chip at 0x2e:0x290

[ 2703.639841] ACPI Warning: SystemIO range 0x00000295-0x00000296 conflicts with OpRegion 0x00000290-0x00000299 (\_GPE.HWM_) (20140926/utaddress-258)

[ 2703.639844] ACPI: If an ACPI driver is available for this device, you should use it instead of the native driver

```

If it's that, sorry, you need someone else that know or has look at fixing this, something i didn't do myself.

----------

## DeIM

yes, found conflict in log too   :Sad: 

```
[    4.157577] nct6775: Enabling hardware monitor logical device mappings.

[    4.157588] nct6775: Found NCT6791D or compatible chip at 0x2e:0x290

[    4.157592] ACPI Warning: SystemIO range 0x0000000000000295-0x0000000000000296 conflicts with OpRegion 0x0000000000000290-0x0000000000000299 (\_GPE.HWM_) (20150204/utaddress-254)

[    4.157596] ACPI: If an ACPI driver is available for this device, you should use it instead of the native driver
```

I don't need it so much but if somebody found solution...   :Wink: 

Thank you for answer anyway.

----------

## krinn

https://www.kernel.org/doc/Documentation/kernel-parameters.txt

```
acpi_enforce_resources=   [ACPI]

         { strict | lax | no }
```

You may goes into lax (allow shared) or no (disable checks) of the conflicting regions.

But it sucks too bad for me, i would had try this only if lax could be use with the range in question ; i don't find safe to allow ANY acpi conflicts to exist when i try to fix one only (it looks like opening Pandora's box). And the "no" option looks for total crazy fools.

But if you're less shy than me, good luck  :Wink: 

And reading module doc of lcp6775 about asus implementations (have a read), i find it definitively not worth the effort myself.

----------

