Skip to content
View in the app

A better way to browse. Learn more.

Unraid

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (โ‹ฎ) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

[Plugin] FanCrtl Plus

Featured Replies

I found this when doing some research into the ITE IT87 Driver from CA

https://github.com/frankcrawford/it87
"Fix it8689 control issues. Some Gigabyte motherboards with it8689 don't allow for manual control. This is a known issue and the fix is known but complex. For now, a BIOS curve workaround is required for manual control. If you truly want/need fan control for these boards set this curve in the BIOS for each fan channel: (Note that some boards don't allow for 90C so manual control may stop above that threshold temp)."

My system temps and fans are detected Dynimax AutoFan Plugin, but they won't identify with the FanCTRL plugin.
Based in the info above, I'm guessing this is why I'm not able to identify with the FanCTRL plugin.

I'll toss my info here for @CkChong incase they return to active development.

ALTERNATE SOLUTION - EXTERNAL HARDWARE FIX
I've pretty much given up on getting this to work and have went with a different cooling method via hardware:
https://www.amazon.com/dp/B0DHZQ8VZY
https://www.amazon.com/dp/B0FK5666QQ

I pretty much have this stack of 5 fans setup in front of my case and it passes additional cooling through the entire case - a significant temperature drop that keeps my drives around 30 degrees when idle and allows me to complete a full parity check without stopping during the hotter summer months.

Yes, the fans are controllable via the included dial box - seriously the best money I've spent on my unRAID box (besides more drives)


My board: Gigabyte Z690 GAMING X DDR4

CODE INPUT TO GRAB DEVICE INFO

echo "=== hwmon devices ==="
grep -H . /sys/class/hwmon/hwmon*/name
echo ""echo "=== Available PWM controllers (safe check) ==="for d in /sys/class/hwmon/hwmon*; do
name=$(cat "$d/name" 2>/dev/null)
echo "-- $d ($name) --"ls "$d"/pwm* 2>/dev/null
done

OUTPUT

=== hwmon devices ===
/sys/class/hwmon/hwmon0/name:nvme
/sys/class/hwmon/hwmon1/name:gigabyte_wmi
/sys/class/hwmon/hwmon2/name:coretemp
/sys/class/hwmon/hwmon3/name:acpitz
/sys/class/hwmon/hwmon4/name:it8689

=== Available PWM controllers (safe check) ===
-- /sys/class/hwmon/hwmon0 (nvme) --
-- /sys/class/hwmon/hwmon1 (gigabyte_wmi) --
-- /sys/class/hwmon/hwmon2 (coretemp) --
-- /sys/class/hwmon/hwmon3 (acpitz) --
-- /sys/class/hwmon/hwmon4 (it8689) --
/sys/class/hwmon/hwmon4/pwm1                        /sys/class/hwmon/hwmon4/pwm3_freq
/sys/class/hwmon/hwmon4/pwm1_auto_channels_temp     /sys/class/hwmon/hwmon4/pwm4
/sys/class/hwmon/hwmon4/pwm1_auto_point1_temp       /sys/class/hwmon/hwmon4/pwm4_auto_channels_temp
/sys/class/hwmon/hwmon4/pwm1_auto_point1_temp_hyst  /sys/class/hwmon/hwmon4/pwm4_auto_point1_temp
/sys/class/hwmon/hwmon4/pwm1_auto_point2_temp       /sys/class/hwmon/hwmon4/pwm4_auto_point1_temp_hyst
/sys/class/hwmon/hwmon4/pwm1_auto_point3_temp       /sys/class/hwmon/hwmon4/pwm4_auto_point2_temp
/sys/class/hwmon/hwmon4/pwm1_auto_slope             /sys/class/hwmon/hwmon4/pwm4_auto_point3_temp
/sys/class/hwmon/hwmon4/pwm1_auto_start             /sys/class/hwmon/hwmon4/pwm4_auto_slope
/sys/class/hwmon/hwmon4/pwm1_enable                 /sys/class/hwmon/hwmon4/pwm4_enable
/sys/class/hwmon/hwmon4/pwm1_freq                   /sys/class/hwmon/hwmon4/pwm4_freq
/sys/class/hwmon/hwmon4/pwm2                        /sys/class/hwmon/hwmon4/pwm5
/sys/class/hwmon/hwmon4/pwm2_auto_channels_temp     /sys/class/hwmon/hwmon4/pwm5_auto_channels_temp
/sys/class/hwmon/hwmon4/pwm2_auto_point1_temp       /sys/class/hwmon/hwmon4/pwm5_auto_point1_temp
/sys/class/hwmon/hwmon4/pwm2_auto_point1_temp_hyst  /sys/class/hwmon/hwmon4/pwm5_auto_point1_temp_hyst
/sys/class/hwmon/hwmon4/pwm2_auto_point2_temp       /sys/class/hwmon/hwmon4/pwm5_auto_point2_temp
/sys/class/hwmon/hwmon4/pwm2_auto_point3_temp       /sys/class/hwmon/hwmon4/pwm5_auto_point3_temp
/sys/class/hwmon/hwmon4/pwm2_auto_slope             /sys/class/hwmon/hwmon4/pwm5_auto_slope
/sys/class/hwmon/hwmon4/pwm2_auto_start             /sys/class/hwmon/hwmon4/pwm5_enable
/sys/class/hwmon/hwmon4/pwm2_enable                 /sys/class/hwmon/hwmon4/pwm5_freq
/sys/class/hwmon/hwmon4/pwm2_freq                   /sys/class/hwmon/hwmon4/pwm6
/sys/class/hwmon/hwmon4/pwm3                        /sys/class/hwmon/hwmon4/pwm6_auto_channels_temp
/sys/class/hwmon/hwmon4/pwm3_auto_channels_temp     /sys/class/hwmon/hwmon4/pwm6_auto_point1_temp
/sys/class/hwmon/hwmon4/pwm3_auto_point1_temp       /sys/class/hwmon/hwmon4/pwm6_auto_point1_temp_hyst
/sys/class/hwmon/hwmon4/pwm3_auto_point1_temp_hyst  /sys/class/hwmon/hwmon4/pwm6_auto_point2_temp
/sys/class/hwmon/hwmon4/pwm3_auto_point2_temp       /sys/class/hwmon/hwmon4/pwm6_auto_point3_temp
/sys/class/hwmon/hwmon4/pwm3_auto_point3_temp       /sys/class/hwmon/hwmon4/pwm6_auto_slope
/sys/class/hwmon/hwmon4/pwm3_auto_slope             /sys/class/hwmon/hwmon4/pwm6_enable
/sys/class/hwmon/hwmon4/pwm3_auto_start             /sys/class/hwmon/hwmon4/pwm6_freq
/sys/class/hwmon/hwmon4/pwm3_enable
  • 2 weeks later...
  • Replies 217
  • Views 31.7k
  • Created
  • Last Reply

Top Posters In This Topic

Most Popular Posts

  • Thanks for the feedback. CPU temperature monitoring is planned for a future version, but not the upcoming release. Just need a bit of time to figure out the logic and test things properly โ€” stay tune

  • Thanks! CPU support is already in the works โ€” just need a bit more time ๐Ÿ™‚

  • Iโ€™m aware that Unraid 7.2.0 will bring a major UI overhaul. Because of that, Iโ€™ve decided to hold off on any new UI features until after the new design is finalized โ€” otherwise itโ€™s very likely things

Posted Images

Would it be possible to support different temperature ranges for different sets of drives?

EDIT: for the same fan

e.g. I have HDDs and SSDs being cooled by the same fan and I'd like the fan to react to temperature changes in both, but the range of temperature for my HDDs is 30~45ยบC (25% fan speed to 100% fan speed) and for the SSDs that range would be from 40~65ยบC.

I assume, other than adding the ability to add an arbitrary set of Drive Selector + Temperature Range elements on the GUI, this would require the percentage formular to change to something along the lines of (pseudo-algorithm):

let x = select_speed(hdd_temp, 30, 45, idle_hdd_speed)
let y = select_speed(ssd_temp, 40, 65, idle_ssd_speed)
let final_speed = max(x, y)

Edited by andrebrait

Plugin appears to be unstable with 7.3.0. Happy to provide whatever logs would assist in debugging issues. Fan speed is no longer displayed across the bottom of the UI and the RPM/PWM data goes missing on the dashboard. It returns post reboot.

Edit: Downgraded to 7.2.5, where it was previously working, and that has since stopped working as well.

Edited by thisguyneedsabeer

Yup, not working anymore. Guess it was update to 7.2.6. I updated now to 7.3.1 and it's not working too. Sad, this was the only fan control plugin that worked on my system. I hope for an update sooner or later

I'm on 7.3.0 and mine is still working, just as a data point. Is it not displaying, or not spinning the fan correctly, or what?

Hey all,

ive seen a fork of this awesome plugin to add extra support for HBA's and GPUs etc. any thoughts on how to get it installed or if these features will come to the original release? many thanks

https://github.com/protheus313/fanctrlplus

1 hour ago, Zass said:

Hey all,

ive seen a fork of this awesome plugin to add extra support for HBA's and GPUs etc. any thoughts on how to get it installed or if these features will come to the original release? many thanks

https://github.com/protheus313/fanctrlplus

I think this project has been abandoned but however you installed this one, just substitute protheus313/fanctrlplus for ck9393/fanctrlplus, e.g. in Docker Compose

On 5/30/2026 at 12:12 PM, ElNosoLoco said:

I'm on 7.3.0 and mine is still working, just as a data point. Is it not displaying, or not spinning the fan correctly, or what?

Not spinning the fans down anymore, stuck at 1500rpm, identify (pause fan) doesn't work either for me. Maybe problems with the IT87 driver?

Now I just tried the Dynamix Auto Fan Plugin, but stuck at 1500rpm too.

6 minutes ago, fnrod said:

Not spinning the fans down anymore, stuck at 1500rpm, identify (pause fan) doesn't work either for me. Maybe problems with the IT87 driver?

Now I just tried the Dynamix Auto Fan Plugin, but stuck at 1500rpm too.

Sounds likely, if two different plugins are failing. Did you see xDmOx's post above about the IT87 driver and their external solution?

34 minutes ago, ElNosoLoco said:

Sounds likely, if two different plugins are failing. Did you see xDmOx's post above about the IT87 driver and their external solution?

Yeah, will try the BIOS Curve later, or tomorrow.

Edit: tried the BIOS Curve, not working either. I will now just wait and hope that someday it is working again ๐Ÿ˜…

Edited by fnrod

Yep, it seems that this Plugin is not working as expected anymore with the newes Unraid release... I have rolled back to @alturismo 's PWM Fan plugin even if it is not as customizable as this one. Instead of the CPU Fan I am now controlling another case fan that helps cooling the upper compartment of the NAS with CPU temp and the lower one based on HDD temps... CPU itself is handled via BIOS directly...

A pity that this one seems to have been abandoned now...

Why do I loose my labels (names) and settings every time I need to reboot my server? To be more precise, I do not fully loose my settings but it's applying an outdated version of my settings.

Am I doing something wrong? Where does FanCtrl Plus save its config?

27 minutes ago, fae_76 said:

Why do I loose my labels (names) and settings every time I need to reboot my server? To be more precise, I do not fully loose my settings but it's applying an outdated version of my settings.

Am I doing something wrong? Where does FanCtrl Plus save its config?

Looks like /boot/config/plugins/fanctrlplus/*.cfg

Soo, I just went to my unraid webui and noticed that my fans are controlled again. I restarted the server and I can still control the fans.

Power Consumption went down 1W after Appdata Backup updated my apps on Monday morning. Maybe it was an app or plugin related issue for me.

On 6/12/2026 at 11:11 AM, fnrod said:

Soo, I just went to my unraid webui and noticed that my fans are controlled again. I restarted the server and I can still control the fans.

Power Consumption went down 1W after Appdata Backup updated my apps on Monday morning. Maybe it was an app or plugin related issue for me.

Did you adjust anything in the meantime? Upgrade, downgrade, modifications?! If so, maybe you should tell us what did the trick so others can follow accordingly ๐Ÿ˜‰

  • 2 weeks later...

I'm new to this plugin, but I've got a MSI PRO Z690-A DDR4 motherboard on Unraid 7.3.1, with the Nuvoton NCT6687 Driver.

The plugin keeps "forgetting" my PWM assignments. I was manually correcting that but then I noticed it was just creating duplicate profiles in the config file, so I had to clean those up by hand.


Even though the plugin is set to sync every 2 minutes, there are no sync updates going to the log file, and the fans just stick at whatever % speed they were at the last time I ran a manual sync. I guess for now this is tolerable, as they are stuck at 100%.

Sounds like the plugin is not actively maintained at the moment. Bummer. /

Anyone else having issues where when the plugin looks at drive or CPU temps it drops everything to 0 and stops working?

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions โ†’ Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.