I recently came across a thread in !linux_gaming@lemmy.world that pointed me in the right direction, so I figured I’d summarize my findings for anyone else having issues with this specific chipset.

If you have a MSI B650 like me, you’ve probably struggled with custom fan speeds. Case and even CPU fans are not even detected, running sensors-detect doesn’t help and applications like CoolerControl don’t show any fans aside from the GPU.

Background:

The chip responsible for the interface is NCT6683D. You can confirm this by running dmesg | grep -i nct as root. “nct6683” will appear there.

“nct6683” is also the name of the corresponding kernel driver that is most likely included in your distribution but may not be loaded by default. In my case the default driver was “nct6775”, which is why my fans were not detected by any application.

Viewing fan speeds:

Simply loading nct6683 will give you access to the fan speeds, but you won’t be able to control them. They will be read only. You can test this by running modprobe nct6683 force=1 as root - this way the driver will be loaded for your current session but won’t persist after a reboot.

Controlling fan speeds:

If you want full control over your fan speeds for custom curves and such, you need driver “NCT6687D”, which is not included in the kernel and instead available on Github:

https://github.com/Fred78290/nct6687d

You can install it by following the build instructions in the link. After that is done, navigate to /etc/modules-load.d/ and edit modules.conf. There you will find your current chip driver listed. Either delete it or comment it out and put nct6687 in its place.

Reboot your system and you now should have access to all the fan controls in the software of your choice.

I hope this guide can be of help to some. It should be noted that my system is based on Ubuntu LTS, so I can’t guarantee that it will work the same on other distributions. Good luck!

    • Hubi@feddit.orgOP
      link
      fedilink
      English
      arrow-up
      4
      ·
      15 days ago

      Absolutely, thanks again! I had already given up on ever getting it to work until your comment pointed me in the right direction. And even then it took me an hour to get it all working. The documentation was pretty lacking and I finally found a fairly recent thread in a German forum that had the infos I needed.

      • MrSoup@lemmy.zip
        link
        fedilink
        English
        arrow-up
        2
        ·
        edit-2
        15 days ago

        it took me an hour to get it all working.

        You could have just asked me lol, that’s the same driver I’m using :P

        Anyway, I wasn’t aware of this German thread, it got some good troubleshooting info even for other mobos.

        Edit: keep an eye on that nct module when you update the kernel. With fedora sometimes it fails to configure the new one for a stupid error like “not a git repo” and I need to manually generate new kernel’s initramfs with dracut or I’ll get a kernel panic trying to boot with that.

        • Hubi@feddit.orgOP
          link
          fedilink
          English
          arrow-up
          2
          ·
          15 days ago

          Thanks for the heads up, I’ll definitely keep that in mind.

          I know I could’ve asked but I didn’t think we’d have the exact same chip. Also, where’s the fun in that ;D