I recently wiped Windows in favor of CachyOS, and it’s been lovely! However, I have one outstanding issue that I can’t seem to figure out.

To start, I have a Gigabyte B550I Aorus Pro AX motherboard. I followed the guide on the Arch Wiki for my particular chipset.

I still can’t seem to control my cooling fans.

  • I have lm_sensors installed
  • I installed CoolerControl
  • I used modprobe it87 force_id=0x8628
  • I tried adding the .conf files to /etc/modprobe.d/ and /etc/modules-load.d/
  • When the steps above didn’t work, I installed the it87-dkms-git package

No matter what I’ve tried, the only time the fan sensors get detected is when I also specify acpi_enforce_resources=lax in GRUB. From what I barely understand, that’s not an option you want to leave on permanently, but perhaps y’all know better or have other ideas.

If it helps:

  • Motherboard: Gigabyte B550I Aorus Pro AX
  • Latest CachyOS kernel
  • Boot: GRUB

Edit: I have a semi-solution.

sudo modprobe it87 force_id=0x8688 ignore_resource_conflict=1

…allows the module to load without completely changing the acpi policy. I still don’t know how to make it cleanly permanent or automated, but this is significant progress.

Also note that it should have been 0x8688 in my case, as revealed by sensors-detect.

Edit 2: Added

/etc/modules-load.d/it87.conf
it87

And

/etc/modprobe.d/it87.conf
options it87 force_id=0x8688 ignore_resource_conflict=1

And everything loads automatically! Thanks everyone!

  • SteveTech@programming.dev
    link
    fedilink
    English
    arrow-up
    3
    ·
    1 day ago

    You can try ignore_resource_conflict which is it87 specific, rather than a system wide acpi_enforce_resources.

    modprobe it87 force_id=0x8628 ignore_resource_conflict=1

    The reason why this is needed is ACPI claims the I/O ports required to talk to the it87, and Linux doesn’t want to override that.

    • Telorand@reddthat.comOP
      link
      fedilink
      arrow-up
      3
      ·
      1 day ago

      It worked, and I appreciate the explanation. I also realized I was using the wrong ID (which still worked, somehow); it should have been 0x8688.

      I guess I can now figure out the best way to get that to run at startup or on login! Thanks again.

      • SteveTech@programming.dev
        link
        fedilink
        English
        arrow-up
        2
        ·
        11 hours ago

        Epic!

        You should be able to add options it87 force_id=0x8688 ignore_resource_conflict=1 to /etc/modprobe.d/it87.conf (or whatever filename) and it87 to /etc/modules. To get it to run at startup.

        • Telorand@reddthat.comOP
          link
          fedilink
          arrow-up
          2
          ·
          10 hours ago

          Tried it, and it works! Loads at startup, and I don’t have to reload the CoolerControl daemon or do any other manual intervention.

          Thanks!