Announcement

Collapse
No announcement yet.

New ASUS Sensor Driver For Linux Aims For Greater Flexibility & Faster Sensor Reading

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • New ASUS Sensor Driver For Linux Aims For Greater Flexibility & Faster Sensor Reading

    Phoronix: New ASUS Sensor Driver For Linux Aims For Greater Flexibility & Faster Sensor Reading

    It's just with the in-development Linux 5.17 kernel that the "asus_wmi_ec_sensors" is making its debut for greatly expanded sensor support for modern ASUS desktop motherboards. However, there is already a new driver that has been in development that ultimately aims to be superior to this still-new driver...

    https://www.phoronix.com/scan.php?pa...-Sensor-Driver

  • #2
    I'm hoping they will eventually come up with something that also works on some of the older Asus Intel based boards, such as my Z97 Pro; which afaik. lacks ACPI / WMI based control methods but still claims the ACPI SystemIO range that conflicts with the nct6775 driver, rendering the onboard NCT6791D non-functional without acpi_enforce_resources=lax

    root@grml ~ # cat /sys/class/dmi/id/board_name
    Z97-PRO(Wi-Fi ac)

    root@grml ~ # modprobe nct6775
    root@grml ~ # sensors
    coretemp-isa-0000
    Adapter: ISA adapter
    Package id 0: +32.0°C (high = +80.0°C, crit = +100.0°C)
    Core 0: +30.0°C (high = +80.0°C, crit = +100.0°C)
    Core 1: +32.0°C (high = +80.0°C, crit = +100.0°C)
    Core 2: +27.0°C (high = +80.0°C, crit = +100.0°C)
    Core 3: +25.0°C (high = +80.0°C, crit = +100.0°C)

    acpitz-acpi-0
    Adapter: ACPI interface
    temp1: +27.8°C (crit = +105.0°C)
    temp2: +29.8°C (crit = +105.0°C)


    root@grml ~ # dmesg | grep -e nct6775 -e 'ACPI Warning'
    [ 2.869361] ACPI Warning: SystemIO range 0x0000000000001828-0x000000000000182F conflicts with OpRegion 0x0000000000001800-0x000000000000187F (\PMIO
    ) (20200925/utaddress-204)
    [ 2.869369] ACPI Warning: SystemIO range 0x0000000000001C40-0x0000000000001C4F conflicts with OpRegion 0x0000000000001C00-0x0000000000001C7F (\_GPE
    .GPBX) (20200925/utaddress-204)
    [ 2.869372] ACPI Warning: SystemIO range 0x0000000000001C40-0x0000000000001C4F conflicts with OpRegion 0x0000000000001C00-0x0000000000001FFF (\GPR)
    (20200925/utaddress-204)
    [ 2.869375] ACPI Warning: SystemIO range 0x0000000000001C30-0x0000000000001C3F conflicts with OpRegion 0x0000000000001C00-0x0000000000001C7F (\_GPE
    .GPBX) (20200925/utaddress-204)
    [ 2.869378] ACPI Warning: SystemIO range 0x0000000000001C30-0x0000000000001C3F conflicts with OpRegion 0x0000000000001C00-0x0000000000001C3F (\GPRL
    ) (20200925/utaddress-204)
    [ 2.869381] ACPI Warning: SystemIO range 0x0000000000001C30-0x0000000000001C3F conflicts with OpRegion 0x0000000000001C00-0x0000000000001FFF (\GPR)
    (20200925/utaddress-204)
    [ 2.869384] ACPI Warning: SystemIO range 0x0000000000001C00-0x0000000000001C2F conflicts with OpRegion 0x0000000000001C00-0x0000000000001C7F (\_GPE
    .GPBX) (20200925/utaddress-204)
    [ 2.869387] ACPI Warning: SystemIO range 0x0000000000001C00-0x0000000000001C2F conflicts with OpRegion 0x0000000000001C00-0x0000000000001C3F (\GPRL
    ) (20200925/utaddress-204)
    [ 2.869389] ACPI Warning: SystemIO range 0x0000000000001C00-0x0000000000001C2F conflicts with OpRegion 0x0000000000001C00-0x0000000000001FFF (\GPR)
    (20200925/utaddress-204)
    [ 240.928152] nct6775: Enabling hardware monitor logical device mappings.
    [ 240.928161] nct6775: Found NCT6791D or compatible chip at 0x2e:0x290
    [ 240.928164] ACPI Warning: SystemIO range 0x0000000000000295-0x0000000000000296 conflicts with OpRegion 0x0000000000000290-0x0000000000000299 (\_GPE
    .HWM) (20200925/utaddress-204)

    Laxing acpi enforcement makes it seemingly work but also adds bunch of scary lines like this:

    ACPI: OSL: Resource conflict: System may be unstable or behave erratically

    Comment


    • #3
      Will be interesting if Guenter Roeck accepts this into mainline. So far a requirement has been that drivers like this (without using wmi) need to be based on spec sheets from the SuperIO manufacturer. Apparently he is afraid that bugs that creep in through reverse engineering might lead to unstable/erratically behaviour or even bricked hardware.

      Unfortunately I'm on Gigabyte and they definitely refuse to hand out spec sheets (I tried) and nobody with more time and skills seems to step up to at least try to fix it for this vendor. My Aorus X570 Master isn't even supported by the gigabyte-wmi driver that was started last year I believe

      Comment


      • #4
        This is why I'm hesitant to get another Gigabyte motherboard. The X370 I have right now needed some hacks to get sensor reporting and the new driver available is incredibly limited (only supports a handful of models and only reads a few sensors).

        This driver only supports reading right? I seemed to read somewhere that actual fan control is not possible.

        Comment


        • #5
          Originally posted by Melcar View Post
          This driver only supports reading right? I seemed to read somewhere that actual fan control is not possible.
          I cannot use the gigabyte-wmi-driver at all, but I guess it's only for reading. But I'm pretty sure I managed to control my fans to some degree with the in-kernel ITE sensors driver (one of two chips on my board is somewhat supported and I'm able to force it for the other chip). So with some tinkering there seem to be possibilities. I unfortunately don't have much time to tinker ...

          Comment


          • #6
            Originally posted by mazumoto View Post

            I cannot use the gigabyte-wmi-driver at all, but I guess it's only for reading. But I'm pretty sure I managed to control my fans to some degree with the in-kernel ITE sensors driver (one of two chips on my board is somewhat supported and I'm able to force it for the other chip). So with some tinkering there seem to be possibilities. I unfortunately don't have much time to tinker ...
            Yes, the it87 driver does allow fan control, but you need the out of tree driver and the lax kernel parameter to get rid of the ACPI conflict (so you can read all the sensor groups). Then one can use fan control (and fancontrolgui) to do simple fan profiles, which is better than nothing. Unfortunately such method is not recommended by kernel developers as it may cause hardware problems. There are reports of sudden overvolting for example. In my case it caused the pwm signal from the headers to sometimes randomly either spike up to 100% or get stuck at the minimum value.

            Comment

            Working...
            X