PatrickSn Posted April 19 Share Posted April 19 I have been troubleshooting this problem for a while now and still haven't come to a solution. I am trying to control my CPU and case fan of a Dell Precision 3420 tower, using the CPU temperature. The only setting I can do in the BIOS is a toggle between setting the fans at 100% and letting the OS control the fans (so no fan curve option possible). When no scripts are active (fresh install), unRAID sets the fans at a constant ~1100 RPM without any problems (max RPM of the fans is ~1900). But as it produces some noise I want to control the fans. I wanted to do it first with the Dyanmix plugin, but it does not allow to control based on CPU temp. However, I made a custom script with the user scripts plugin. Using the echo command and the /sys/class/hwmon/hwmon3/pwmX location I can set the pwm of the fans. (do note that the Dynamix plugin also made the fans pulse, just not according to the CPU temp) But I ran into a problem. When the PWM is set to any value between 0 and 60, the fan will spin down (as expected). Between 190 and 255 the dans spin at max speed (also quite expected, I think?). But when the PWM is set between 60 and 190, the fan is pulsing heavily. Reading the fanX_target values, it returns randomly one of these three: "invalid argument", 0, 800. Note that the PWM values used in troubleshooting are constant. So fluctuations due to temperature are not the cause here. I suspect that unRAID tries to set the CPU fan speed to a constant (like the 1100 RPM in the fresh install case), and when trying to set it differently, the fans switch back and forth. But I cannot find anything about that in unRAID. Almost all of the previous posts about fans are about fans for HDDs, I cannot find anything about how unRAID regulates the CPU fans. I hope someone can help me with this. Quote Link to comment
Vr2Io Posted April 19 Share Posted April 19 (edited) I never found Unraid will control FAN PWM, I also make adjustment on PWM by user script, just simple set the value and no fluctuation. But the path different as you, you may try echo 1 > /sys/devices/platform/f71882fg.656/pwm1_enable echo 32 > /sys/devices/platform/f71882fg.656/pwm1 echo 1 > /sys/devices/platform/nct6775.656/hwmon/hwmon1/pwm1_enable echo $rpm > /sys/devices/platform/nct6775.656/hwmon/hwmon1/pwm1 Edited April 19 by Vr2Io Quote Link to comment
PatrickSn Posted April 19 Author Share Posted April 19 (edited) I have read about that somewhere, that using the absolute path instead of the hwmon can prevent the script not working anymore in the future, because the hwmon devices may change. But have not looked at it like the cause of the problem. So I will try it! Will report back in a few min. Update: the only absolute path I found was: FAN1_PWM_PATH="/sys/devices/platform/dell_smm_hwmon/hwmon/hwmon3/pwm1" FAN2_PWM_PATH="/sys/devices/platform/dell_smm_hwmon/hwmon/hwmon3/pwm2" But writing the PWM speeds here still does not help with the pulsing. Edited April 19 by PatrickSn Quote Link to comment
Vr2Io Posted April 19 Share Posted April 19 (edited) 24 minutes ago, PatrickSn said: that using the absolute path instead of the hwmon Yes, /sys/class/ path should better I also make some test on my fan, low range dead zone was 15 ( 328rpm, lower then 15 will be 0rpm ) and no high range dead zone ( 3000rpm ) .... but this should be fan spec. related. Edited April 19 by Vr2Io Quote Link to comment
PatrickSn Posted April 19 Author Share Posted April 19 I do not suspect it is the fan specs. They are Noctua RF-8's and the range of pulsing is basically every speed except max and 0. I suspect Dell's proprietary motherboard is the issue to be fair. But then again, It's still weird that on a fresh unRAID the fans do have a constant (but uncontrollable) speed of 1100 rpm without pulsing. So something is setting that speed. I just do not know what. Quote Link to comment
Recommended Posts
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.