bergware/dynamix

Autofan does not consider the nvme drives located in cache

Opened this issue · 3 comments

sayuop commented

I just recently got myself a NAS and i am running unraid 6.12.4
For some reason the plugin is just detecting my HDD's in the array and adjusting temperature according to them.
the plugin works perfectly in that use case however my nvme drives are usually the ones running hot under load, for some reason it does not take them into consideration.

Any way i can get autofan to detect the drives temps and adjust with them?
I've tried excluding all my HDD's to see if this solved the problem but it resulted in autofan reading the hottest temperature was 0 and turned off the fans.

I'm fairly new to this and any help is appreciated.

I can confirm I am experiencing this issue as well, NVME drive temperatures are being ignored.

I'm not a Linux expert, but have dug through everything and narrowed it down to the get_highest_hd_temp function in the autofan script.

Line 203 is checking if the disk is sleeping, and requires a "0" to be returned to poll a drive for temperature. It looks like SDSPIN doesn't handle NVME drives and returns a "1" code of "failure".

Not sure if the fix here is to request SDSPIN be modified to handle NVME drives or modify the logic in autofan script to change to only check if sdX drives are spinning.

Looks like there's a potential fix located in the main forum thread here.

https://forums.unraid.net/topic/34889-dynamix-v6-plugins/?do=findComment&comment=1195568

This is still happening in 2024 2 years after the fix was provided in the unraid forums.

Can someone please implement it? It is baffling how an OS that exclusively has to do with multiple hard drives being present, does not have a proper fan control system. Thank god for this plugin but it's unfortunate that it's not maintained well and doesn't work well with NVME drives.