PeterDB Posted August 18, 2022 Share Posted August 18, 2022 (edited) I'm writing this not only for myself, as I had a to spend a couple of hours to get this to work, but also because I find others who still experience issues with getting temperature and fan readings out when they are using Dynamix System Temperature or Dynamix Auto Fan Control Support together with the NCT6775 driver for Nuvoton NCT5572D/NCT6771F/NCT6772F/NCT6775F/W83677HG-I and other chips. The issue that most will experience is that only CPU temps are showing up, but none of the fan or other temperature sensors are showing up. There are a lot of instructions of solving the various issues, such as sensor detection, adding acpi_enforce_resources=lax to syslinux.cfg or just getting the driver to load, but there is no end-to-end guide! Newer Asus motherboards, who are notorious for using Nuvoton sensors, will in the future have a different driver, read more here https://www.phoronix.com/forums/forum/hardware/motherboards-chipsets/1304134-new-asus-sensor-driver-for-linux-aims-for-greater-flexibility-faster-sensor-reading. However, for older boards such as my Asus Sabertooth X99 with the Nuvoton thermal sensors, enabling acpi_enforce_resources=lax has been advised in for several years. This guide assumes you have a bit of experience with Unraid, but if you don't just post here and I'll try to help! DISCLAIMER: Adding acpi_enforce_resources=lax to syslinux.cfg could/can cause adverse effects, read more here: https://bugzilla.kernel.org/show_bug.cgi?id=204807#c37 It would be strongly advise that should you need to do any firmware updates to boot into regular Unraid OS for the boot menu and not choose the default Unraid OS NCT6775 Workaround option. Steps for workaround Open the Unraid terminal Type sensors-detect and accept everything At the end of sensors-detect it will show you a list of the found drivers, write these down: in the below case it's "nct6775" and "coretemp" On the Unraid flash drive edit the Go-file found in /boot/config (make sure to make a backup!) and add the lines referring to the drivers, and save the file modprobe nct6775 modprobe coretemp /usr/bin/sensors -s Now go to the Unraid dashboards Main page and click on your flash drive Scroll down to the section Syslinux Configuration and on the right side click on "Menu View" Add the label Unraid OS NCT6775 WORKAROUND under the label Unraid OS. The text you need to add is shown below. label Unraid OS NCT6775 WORKAROUND kernel /bzimage append initrd=/bzroot acpi_enforce_resources=lax Once you've added the label click on the "Raw View" option on the right side and select the new Unraid OS NCT6775 WORKAROUND as default but clicking the little round radiobutton and then click "Apply" Now reboot All done and it should work, and you'll be able to configure the Dynamix System Temperature and Dynamix Auto Fan Control Support plugins Proof that it does: Edited August 19, 2022 by PeterDB Added quote from original NCT6775 dev and maintainer 2 3 Quote Link to comment
ich777 Posted August 18, 2022 Share Posted August 18, 2022 2 hours ago, PeterDB said: Unraid OS NCT6775FIX I would rather call this workaround then a FIX since adding this: 2 hours ago, PeterDB said: acpi_enforce_resources=lax can lead to system instability, other weird behavior and can in certain cases damage your hardware. You can find a good write up about what this option does here: Click Please also keep in mind that this is only a friendly reminder and nothing that I want to criticize. Quote Link to comment
PeterDB Posted August 18, 2022 Author Share Posted August 18, 2022 Sadly, I read it already, but it's what is being advised for the nct6775 driver when there are detection issues, and sadly it seems no one is doing anymore development on it. I'll correct the screenshots and add a disclaimer. Quote Link to comment
PeterDB Posted August 18, 2022 Author Share Posted August 18, 2022 23 minutes ago, ich777 said: I would rather call this workaround then a FIX since adding this: can lead to system instability, other weird behavior and can in certain cases damage your hardware. You can find a good write up about what this option does here: Click Please also keep in mind that this is only a friendly reminder and nothing that I want to criticize. @ich777Considering this is an issue for several people here, and considering your wealth of knowledge, do you have another suggestion? Quote Link to comment
ich777 Posted August 18, 2022 Share Posted August 18, 2022 55 minutes ago, PeterDB said: @ich777Considering this is an issue for several people here, and considering your wealth of knowledge, do you have another suggestion? Sadly enough there is no other way currently, you can use this "workaround" or not... Quote Link to comment
Ymetro Posted February 5, 2023 Share Posted February 5, 2023 (edited) Thanks for the excellent step-by-step guide, @PeterDB! 👍 My guess is that my worked without the workaround in 6.11.5 on my ASRock Z97 Extreme4, but after the first scan after a fresh boot all sensors are detected and then they disappear after selecting or scanning, not coming back after further unloads and rescans, but once again after a reboot of the server. So I applied the workaround, but it did not fix it in my case. It seems my problem has something to do with the Kraken X42 AIO CPU cooler I have installed, as the sensors command shows: Linux 5.19.17-Unraid. root@UPC:~# sensors Error: File /etc/sensors.d/sensors.conf, line 25: Undeclared bus id referenced Error: File /etc/sensors.d/sensors.conf, line 27: Undeclared bus id referenced sensors_init: Can't parse bus name and the content of /etc/sensors.d/sensors.conf shows: root@UPC:~# cat /etc/sensors.d/sensors.conf # sensors chip "nct6791-isa-0290" ignore "temp8" chip "nct6791-isa-0290" ignore "temp9" chip "nct6791-isa-0290" ignore "temp10" chip "nct6791-isa-0290" ignore "fan1" chip "nct6791-isa-0290" ignore "fan5" chip "nct6791-isa-0290" ignore "fan6" chip "coretemp-isa-0000" label "temp1" "CPU Temp" chip "nct6791-isa-0290" label "temp1" "MB Temp" chip "nct6791-isa-0290" label "fan2" "Array Fan" chip "nct6791-isa-0290" label "fan3" "Array Fan" chip "nct6791-isa-0290" label "fan4" "Array Fan" chip "kraken2-hid-3-6" label "fan1" "Array Fan" chip "kraken2-hid-3-6" label "fan2" "Array Fan" I don't know what this means or how it works, but any idea how to fix these "declarations" of "kraken2-hid-3-6" or where I can find a solution? Edited February 5, 2023 by Ymetro Quote Link to comment
PeterDB Posted February 6, 2023 Author Share Posted February 6, 2023 It seems that it cannot load correctly due to the drivers for the Kraken not being part of the OS. Looking at others online, Kraken AIOs seems to be very sporadically supported on Linux and many opting for Windows VMs to control it. It seems there is a driver, but I cannot find any details on really how to install it. It might be an idea to reach out to the dev Jonas Malaco (https://jonasmalaco.com/) who created it and actually who wrote LiquidCTL. Some posts: https://www.kernel.org/doc/html/latest/hwmon/nzxt-kraken2.html https://github.com/liquidctl/liquidctl 1 Quote Link to comment
tunablenormal Posted March 28, 2023 Share Posted March 28, 2023 Thanks for this thread! I'm sure you saved me several hours of searching and digging through 100+ page "support" threads. Just to help those searching in the future, I'm running an ASRock Z370 ITX motherboard and it is also using NCT6775. This tutorial got me up and running in minutes with temps and fan controls. Also, thanks to @ich777 for the link to the details on the risks of enabling acpi_enforce_resources=lax. Its good to have some understanding of what this work around is actually doing. Quote Link to comment
Ymetro Posted April 18, 2023 Share Posted April 18, 2023 (edited) Just found out that when commenting out # chip "kraken2-hid-3-6" # label "fan1" "Array Fan" # chip "kraken2-hid-3-6" # label "fan2" "Array Fan" in sensors.conf made everything working. Sjeez. Ánd it is showing the Kraken fans?? Now to only make this persistent after boot it seems I have to edit the /boot/config/plugins/dynamix.system.temp/sensors.conf file. Alas I cannot reboot the system to test this as it is currently moving a lot of data from an emulated drive to the others atm, and it takes days. All the sensors are visible now after running the probes and "sensors -s" commands; temps and fans. Not sure if it is because an Unraid update, but it is working without using the "acpi_enforce_resources=lax" boot option. Edited April 18, 2023 by Ymetro Quote Link to comment
EmilS Posted June 8, 2023 Share Posted June 8, 2023 Thanks for you greate step-by-step guide Works for ASUS W680-ACE 1 Quote Link to comment
gnollo Posted June 25, 2023 Share Posted June 25, 2023 I have a Gigabyte G33-DS3R. Would your tutorial be applicable to this motherboard? Currently I can see under PWM controller: it8718-pwm1 it8718-pwm2 it8718-pwm3 If I choose the first and click on detect under PWM FAN it fills it in with this text /sys/devices/platform/it87.656/hwmon/hwmon1/fan1_input I have three NORCO s500 cases plugged in the power sockets currently (4 in the system), each one of them has hard drives connected to the motherboard and hard disk connector cards. Are those three above the fans of the NORCOs? Would seem like the CPU fan is not detected. I have not connected the two case fans yet to the motherboard, they are just hooked up to the power cable at the moment, will try connecting to the motherboard next Quote Link to comment
PeterDB Posted June 25, 2023 Author Share Posted June 25, 2023 I doubt your issue has anything with the NCT6775 driver. If you have a multiple PWM controllers, you need to test each own to find out which one is the main PWM controller. Although most of the times its the one ending in pwm1. Unless you connect the NORCO s500 fans to the motherboard PWM/Fan headers, you won't get able to get any readouts from them. From what I read the NORCO s500 fan is internal in the unit and you only connect power and sata to the units, so unless you open it and connect the cable to the motherboard it's not going to be readout in Unraid. That means that it's the internal temp sensor in the NORCO s500 which controls the fan. As for why the CPU fan isn't found, it's most likely the ict8718 controllers, if not, you'd need to use the sensors-detect to find which driver is missing. However, i'll be honest the GA-G33-DS3R is quite old and you might not be able to find a lot of information out there. Quote Link to comment
gnollo Posted June 26, 2023 Share Posted June 26, 2023 Thanks PeterDB. I have plugged the rear two fans directly in the the fan sockets on the motherboard and they immediately started spinning way faster than before, so I hope this will improve the airflow through the case. I receive email warnings when HDD reaches temps of over 45C, I will monitor that to see if there are any changes. Quote Link to comment
gnollo Posted July 12, 2023 Share Posted July 12, 2023 On 6/26/2023 at 5:23 PM, gnollo said: Thanks PeterDB. I have plugged the rear two fans directly in the the fan sockets on the motherboard and they immediately started spinning way faster than before, so I hope this will improve the airflow through the case. I receive email warnings when HDD reaches temps of over 45C, I will monitor that to see if there are any changes. Have not had a single warning since I plugged the rear fans in the motherboard. It has not been super hot but had a few warm days and it has held up well so far. Quote Link to comment
tuk123 Posted July 16, 2023 Share Posted July 16, 2023 I have nothing to add to the conversation but I just want to thank PeterDB for the writeup. I can finally see the controller from the dropdown! 1 Quote Link to comment
feins Posted September 30, 2023 Share Posted September 30, 2023 Mine a Lenovo Thinkstation P500, i try to do a sensors scan and my Nuvoton chip got this output Found unknown chip with ID 0xb732 any help? Quote Link to comment
craigr Posted December 2, 2023 Share Posted December 2, 2023 (edited) On 6/25/2023 at 10:36 AM, PeterDB said: I doubt your issue has anything with the NCT6775 driver. If you have a multiple PWM controllers, you need to test each own to find out which one is the main PWM controller. Although most of the times its the one ending in pwm1. Unless you connect the NORCO s500 fans to the motherboard PWM/Fan headers, you won't get able to get any readouts from them. From what I read the NORCO s500 fan is internal in the unit and you only connect power and sata to the units, so unless you open it and connect the cable to the motherboard it's not going to be readout in Unraid. That means that it's the internal temp sensor in the NORCO s500 which controls the fan. As for why the CPU fan isn't found, it's most likely the ict8718 controllers, if not, you'd need to use the sensors-detect to find which driver is missing. However, i'll be honest the GA-G33-DS3R is quite old and you might not be able to find a lot of information out there. Do the SS-500's have a temp sensor and fan control? I have four SS-500's that are very old, but it seemed to me when I installed them so long ago that their fans always spun at 100%. I ran the fans to the motherboard to gain some control. That said, it seems gnollo's fans ran faster when he did the same and his drives ran cooler. Right now I am stuck having all four fans on one controller channel. So one hard drive hot means all for POD fans spin up faster. It's loud and annoying. I may have to try connecting the fans back to each SS-500 and see what happens if I don't find an answer. Edited December 2, 2023 by craigr Quote Link to comment
nerfdederp Posted December 11, 2023 Share Posted December 11, 2023 On the SELinux config side, any idea of why when I click the radio to toggle the workaround as active and click apply, it reverts back to the original config and the new entry is removed? Quote Link to comment
lilpete Posted February 4 Share Posted February 4 Hi, I've been having issues getting the Minimum PWM Value to be detected, although the sensors and fan RPMs do largely show up (although it shows 4 when I have 5 fans). Given that the values are detected I'm guessing I don't need the acpi_enforce_resources=lax flag to be added and have a different (probably user related) problem? Many thanks! Quote Link to comment
mjeshurun Posted June 17 Share Posted June 17 Hello Friends, I'm happy to find this thread. My Unraid 6.10.12 server is running on an Asus ROG Strix Z490-I Gaming motherboard and it also doesn't show the PWM controller information on the Dynamix Fan Auto Control plugin settings. Before deciding whether to use the workaround mentioned by @PeterDB, I wanted to ask a small question. I remember seeing that in this motherboard's GUI bios settings, there is a dedicated settings area for fans controls. Does this mean this motherboard can automatically adjust the fans speed depending on the computer's workload (thus not needing the Dynamix Fan Auto Control plugin), or will these automatic speed adjustments happen only after the motherboard receives a command from the OS (or in this case, a command sent from the Dynamix Fan Auto Control plugin)? Quote Link to comment
PeterDB Posted June 17 Author Share Posted June 17 5 minutes ago, mjeshurun said: Hello Friends, I'm happy to find this thread. My Unraid 6.10.12 server is running on an Asus ROG Strix Z490-I Gaming motherboard and it also doesn't show the PWM controller information on the Dynamix Fan Auto Control plugin settings. Before deciding whether to use the workaround mentioned by @PeterDB, I wanted to ask a small question. I remember seeing that in this motherboard's GUI bios settings, there is a dedicated settings area for fans controls. Does this mean this motherboard can automatically adjust the fans speed depending on the computer's workload (thus not needing the Dynamix Fan Auto Control plugin), or will these automatic speed adjustments happen only after the motherboard receives a command from the OS (or in this case, a command sent from the Dynamix Fan Auto Control plugin)? my motherboard has the same options for fan control, but the motherboard options are tied to a temp sensor, at leas with mine it is. You can control it via the bios, but I had my fans constantly spinning then. I switched them all to pwm, and no temp sensors, then did the workaround I propose here. Now I have fans only spinning when the temp is high as based on disks also. For me this worked better, try or not, up to you, but I can recommend it 1 Quote Link to comment
mjeshurun Posted June 17 Share Posted June 17 36 minutes ago, PeterDB said: my motherboard has the same options for fan control, but the motherboard options are tied to a temp sensor, at leas with mine it is. You can control it via the bios, but I had my fans constantly spinning then. I switched them all to pwm, and no temp sensors, then did the workaround I propose here. Now I have fans only spinning when the temp is high as based on disks also. For me this worked better, try or not, up to you, but I can recommend it Wonderful. Thank you very much for the feedback 🙏 During the time since you've enabled the workaround, did the change lead to any related issues? Quote Link to comment
PeterDB Posted June 17 Author Share Posted June 17 16 minutes ago, mjeshurun said: Wonderful. Thank you very much for the feedback 🙏 During the time since you've enabled the workaround, did the change lead to any related issues? actually, none at all. I thought it would, but I've experience no adverse reactions... only the desire to purchase new hardware where I don't have to do the workaround. 1 Quote Link to comment
mjeshurun Posted June 17 Share Posted June 17 1 hour ago, PeterDB said: actually, none at all. I thought it would, but I've experience no adverse reactions... only the desire to purchase new hardware where I don't have to do the workaround. Good to know you didn't experience any issues Could this solution be relevant to fix our problem in a better way than the workaround? https://www.cyberciti.biz/faq/howto-linux-get-sensors-information/ Quote Link to comment
PeterDB Posted June 17 Author Share Posted June 17 7 hours ago, mjeshurun said: Good to know you didn't experience any issues Could this solution be relevant to fix our problem in a better way than the workaround? https://www.cyberciti.biz/faq/howto-linux-get-sensors-information/ The short answer: no Why? lmsensor is a tool to mainly readout temp and fan data. However, if there is no data, then it cannot read anything? Why is there no data, because the driver is doesn't work anymore because of its code and hardware design. No matter you do, you still need a driver to read out and input temp data and make changes to pwm voltages. And in order to load the driver you need to lower the acpi enforcement settings. Way back when I put this together, I contact one of kernel maintainers for hwmon and got these responses: Email Extract: My name is PeterDB and proud user of the NCT6775 driver you wrote. Thanks so much for doing this! Unfortunately, as the Git repository is no longer available, and I was not able to raise an issue there, I am reaching out to you directly. I hope this is okay. The reason being is that with later kernels it only seems possible to get the NCT6775 driver working if you add acpi_enforce_resources=lax to either syslinux.cfg or the GRUB bootloader. Is there any way that you might be able to patch this? Response: No, because it is a board problem and not a driver problem. The BIOS reserves the memory space used to access the chip for itself. Overriding it has some risk, thus the boot option is required. Email: Do you have any objection to me sharing this information and screenshot of the email on the Unraid community specifically in this post:h ttps://forums.unraid.net/topic/127313-nct6775-dynamix-system-temperature-dynamix-auto-fan-control-support/ Response: Ok with me, though the information on that page seems pretty complete. It already states that that acpi_enforce_resources=lax is necesssary and risky. And, yes, it is a workaround/hack/kludge, not a fix 1 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.