May 16May 16 I found this when doing some research into the ITE IT87 Driver from CAhttps://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 FIXI'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/B0DHZQ8VZYhttps://www.amazon.com/dp/B0FK5666QQI 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 DDR4CODE INPUT TO GRAB DEVICE INFOecho "=== 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 doneOUTPUT=== 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
May 26May 26 Would it be possible to support different temperature ranges for different sets of drives?EDIT: for the same fane.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 May 26May 26 by andrebrait
May 26May 26 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 May 26May 26 by thisguyneedsabeer
May 30May 30 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
May 30May 30 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?
May 31May 31 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 thankshttps://github.com/protheus313/fanctrlplus
May 31May 31 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 thankshttps://github.com/protheus313/fanctrlplusI think this project has been abandoned but however you installed this one, just substitute protheus313/fanctrlplus for ck9393/fanctrlplus, e.g. in Docker Compose
June 1Jun 1 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.
June 1Jun 1 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?
June 1Jun 1 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 June 1Jun 1 by fnrod
June 6Jun 6 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...
June 7Jun 7 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?
June 7Jun 7 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
June 12Jun 12 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.
June 18Jun 18 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 😉
June 28Jun 28 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.
June 28Jun 28 Anyone looked at https://github.com/javi-dev/fanctrlplus? It's quite a recent but active fork of the fanctrlplus plugin.
July 5Jul 5 Anyone else having issues where when the plugin looks at drive or CPU temps it drops everything to 0 and stops working?
July 9Jul 9 On 6/18/2026 at 9:20 AM, buscopina said: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 😉The only thing i changed was the BIOS curve, but it didn't fix it instantly, It randomly started working again. But after a few days it stopped working.I upgraded to 7.3.2 this night, IT87 drivers were updated, but no luck. So we are in the same boat again
July 9Jul 9 FanCtrlPlus widget showing wrong/blank fan sensor instead of configured it8696 fan sensorHi, I’m having an issue with the FanCtrlPlus dashboard/widget showing an incorrect fan reading.I’m using Unraid on a GIGABYTE B860I AORUS PRO ICE motherboard. The board’s real fan readings are coming from the it8696 sensor chip, but the FanCtrlPlus widget appears to be picking up a blank/bogus acpi_fan entry instead.The actual fans are working and reporting correctly from terminal:root@UnraidNas:~# for h in /sys/class/hwmon/hwmon*; do echo "===== $(cat "$h/name" 2>/dev/null) : $h =====" for f in "$h"/fan*_input; do [ -e "$f" ] && echo "$(basename "$f"): $(cat "$f" 2>/dev/null) RPM" done done ===== nvme : /sys/class/hwmon/hwmon0 ===== ===== acpi_fan : /sys/class/hwmon/hwmon1 ===== fan1_input: RPM ===== gigabyte_wmi : /sys/class/hwmon/hwmon2 ===== ===== coretemp : /sys/class/hwmon/hwmon3 ===== ===== acpitz : /sys/class/hwmon/hwmon4 ===== ===== it8696 : /sys/class/hwmon/hwmon5 ===== fan1_input: 1121 RPM fan2_input: 1229 RPM fan5_input: 1403 RPM The problem is that the widget shows FAN 1 = 0 RPM, even though the actual CPU fan is clearly reporting correctly under:/sys/class/hwmon/hwmon5/fan1_input Confirmed directly:root@UnraidNas:~# cat /sys/class/hwmon/hwmon5/fan1_input 1126 The bogus/blank sensor appears to be this ACPI fan device:root@UnraidNas:~# readlink -f /sys/class/hwmon/hwmon1 /sys/devices/platform/INTC1042:00/INTC1063:00/hwmon/hwmon1 root@UnraidNas:~# udevadm info -a -p $(readlink -f /sys/class/hwmon/hwmon1) | head -80 looking at device '/devices/platform/INTC1042:00/INTC1063:00/hwmon/hwmon1': KERNEL=="hwmon1" SUBSYSTEM=="hwmon" DRIVER=="" ATTR{name}=="acpi_fan" looking at parent device '/devices/platform/INTC1042:00/INTC1063:00': KERNELS=="INTC1063:00" SUBSYSTEMS=="platform" DRIVERS=="acpi-fan" The actual usable motherboard fan sensor is:root@UnraidNas:~# readlink -f /sys/class/hwmon/hwmon5 /sys/devices/platform/it87.2624/hwmon/hwmon5 So it looks like the widget is either:Grabbing the first fan1_input it finds, even if it is blank/unreadable.Not honoring the configured/identified FanCtrlPlus sensor labels.Not allowing the user to exclude bad hwmon devices like acpi_fan.Showing stale/wrong sensor mapping in the dashboard widget.Feature/fix request:Could the widget ignore fan inputs that return blank/unreadable values, or allow users to explicitly select/exclude hwmon sources for the widget? In my case, the plugin should use:it8696 / hwmon5 / fan1_input = CPU fan it8696 / hwmon5 / fan2_input = Top exhaust it8696 / hwmon5 / fan5_input = Array fans and ignore:acpi_fan / hwmon1 / fan1_input = blank This seems like either a widget bug or a sensor-selection issue. The real fan readings are correct from /sys/class/hwmon, but the widget is displaying the wrong source.Thanks.
July 11Jul 11 HeyI'm having trouble getting this plugin to work properly and am hoping someone is able to help me.I have installed the plug in along with the ITE driverI have set all fans to PWM mode in bios and to run at 100%Smartfan finds the pwm controller and I can identify the fansAfter a couple of minutes (or 1 or 2 fan speed manipulations) the plugin loses the ability to control the fans anymore I had the same problem with dynamix fan control, which I have now uninstalled as this plugin is much cleaner and more developed.My motherboard is a Gigabyte b650 gaming x ax on the AM5 platform.Grateful for any help!
July 18Jul 18 On 1/23/2026 at 4:17 AM, OrdinaryButt said:Somehow FanCtrlPlus reads (or calculate wrong) disk temperature. I have a fan job monitoring 4 disks, only one active at the moment and reporting 33°C but FC+ shows 33°C and PWM values are high. No change after clicking the run/refresh button on the Dashboard page.Did you ever identify the problem here? I just recently started having the same issue with incorrect HHD temps being displayed.
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.