AaronKelley / DellFanManagement

A suite of tools for managing the fans in many Dell laptops.
GNU General Public License v3.0
245 stars 30 forks source link

Request to have an option for more fan control #3

Open oshura3 opened 3 years ago

oshura3 commented 3 years ago

Hey there, I think that your various programs are pretty cool and could definitely be of use when it comes to controlling the fans on the Dell Precision Workstations. I haven't been able to figure out a way to access the control all the other fans.

I was wondering if there's a way for you to adjust the code so that more than just the two fans can be checked/adjusted by the various programs. I tried to adjust it myself with the files I downloaded from the release page but I don't know enough about coding to figure out how to do that.

Is there a way to have up to "Fan 6" instead of just up to "Fan 2"?

Thanks either way!

AaronKelley commented 3 years ago

No, sorry. I'd love to have this too, but the BIOS interface only offers three fan speeds for manual control (off/medium/high).

oshura3 commented 3 years ago

Oh, I think I didn't explain myself correctly. I was referring to the amount of fans, not to the speed control.

AaronKelley commented 3 years ago

OK... I am curious what system you are using that has more than two fans? Is it a Precision tower? Is the software as-is able to control two of the fans? (I've only tried this on laptops, which only have two fans max.)

oshura3 commented 3 years ago

Curiosity is important! I have a Dell Precision T5810. It has three fans in the front as a case cooling assembly and then it has one CPU cooler fan with a possibility to add one more HDD fan. I have currently a total of 5 fans but will likely end up with 6 as I would like to add an additional exhaust fan (I'm going to have to jerry rig something for that with a 5-4pin adapter cable though).

I am willing to help you figure this out if you're interested in doing so.

AaronKelley commented 3 years ago

I am wondering if the interface in a Precision desktop is the same as the laptop interface when it comes to controlling fans. Here is something that you can try...

Download and install SpeedFan. http://www.almico.com/speedfan.php

Inside SpeedFan, hit the "Configure" button, go to the "Options" tab, and check the box for "Enable DELL support". Press "OK" and then close and restart the app.

Now, is SpeedFan able to correctly read RPMs for more than two fans in the system?

Another thing you could try if you want to take it a step further. Download my package and run "DellFanCmd ec-disable" from a command prompt (running as admin). This will unlock the fans for manual control. Is SpeedFan able to control all of the fans now? (You can adjust the Pwm values in the main window... again, there are only three available speeds, so just try the values "0", "50", and "100".)

oshura3 commented 3 years ago

Hey there,

I had actually done that with the speedfan software and am able to read the RPMs for all of the fans in my system (four active and one at 0 since there's no fan connected to the HDD fan pin). Speedfan can indeed control the fans. The value to make them go from "idle" to "holy cow it's working!" is 70. The only downside to using speed fan is once the value drops below 70, the RPMs drop WAAAY lower than the "idle" that I have them set at through the BIOS.

I have a feeling that your DellFanCmd program can help so that the RPMs don't drop below a certain value, but since I can only control two fans out of the "five" that my system has the values on the front case fans end up dropping to like 500 RPMs which is way too low to keep the temps down. If the program was able to give me the option of how many fans I want to control, I feel that it would work to make sure RPMs don't drop down so low.

When you say that with "DellFanCmd ec-disable" the fans will be unlocked for manual control, does that mean that Speedfan will be able to work at values other than 70 or 0? I apologize if the question seems obvious as I'm still getting the hang of everything.

Thanks for the communications and being willing to work with me on this so far.

AaronKelley commented 3 years ago

If you are able to control the fans from SpeedFan without running "DellFanCmd ec-disable", then this system definitely behaves differently than a laptop. In all of the laptops that have been tried, if you try to control the fans using SpeedFan only, it works for only a moment and then the BIOS immediately sets the fan speed back to what it used to be. "DellFanCmd ec-disable" just tells the BIOS to stop trying to control the fans. (Additionally, this is an all-or-nothing switch. I can't tell the BIOS to control some fans automatically but not other fans.)

"DellFanCmd ec-disable" will not allow SpeedFan to have more granular control. The Dell BIOS interface only allows for three speeds. SpeedFan knows this — it uses the same interface as my program to control the fans — and it probably just sends commands for "speed level 0" for pwm values 0-33, "speed level 1" for pwm values 34-67, and "speed level 2" for pwm values 68+ (or something like that, specific thresholds might be different).

I can update DellFanCmd to allow speed control for up to seven fans (that's the maximum that it looks like the BIOS interface supports). I'll post an update in a few days. However, if SpeedFan already allows for manual fan control on this system then I don't think that my update will be unlocking any additional functionality for you.