Part I: Introduction
Hi there!
I was curios about fan control problem on Dell laptops for some time. The thing is, that Dell on most of their laptops don't allow controlling fans via Embedded Controller (EC) as Notebook Fan Control utility do. The only way to control fans is over SMM. HWinfo64 and SpeedFan have such an option, but in most cases setting up custom fan speed resulting in fight between EC and the program - EC sets its own values for fan prior to program values. The only way to be able to control fans with software is to turn EC thermal management (tm) feature off. Back in times, on Dell Precision M6500 and older there was a keys combination that could bring up EC menu where you could turn thermal management off. But this menu was removed from newer laptops, so taking control over the fans was not an easy task. Lucky Linux users found out some time ago a method to disable EC tm via i8k driver and SMM commands and control the fans with i8kutils.
Googling a lot for Windows solution showed no usable results until I found someone (424778940z) on GitHub who developed a Dell SMM I/O driver. Looking through his repos I was kindly surprised also to find Dell Fan Utility which is using this driver. That's pretty amazing. But the problem is - there is no compiled binaries, only source code. First thing I did, found his email in contribution log and asked him to share final binaries, because I'm not kind of man who is into compiling under Windows. After day of waiting, I've decided to compile it by myself and yeah, I spent reasonable amount of time till I got final "product" - but it's totally worth it. A bit time later, the Dev contacted with me and kindly shared his precompiled binaries. But overall, there are all binaries on my hands and they are working perfectly on my Precision M4600. And since I have AMD GPU on it, my laptop can't adjust fan speeds based on it's temps - EC is basically reads temps from Intel GPU chip instead of AMD (and most interesting part is that Intel GPU turned off). This solution really helped me a lot![]()
Part II: Practical
Let's do some magic and take control over the fans and shut this damn EC thermal management down. But before that you need to turn off driver signature check or enable testsigning mode with the following command under CMD with administrative privileges:
After successfully setting testsigning mode you should reboot.Code:bcdedit.exe -set TESTSIGNING ON
!!!Warning!!! This method has been tested only on several machines. Use it on your own risk!
Here is the GUI of the utility. Basically, it can monitor/set your fans speeds and disable EC control. The utility designed to run on Windows 10 x64 and x86 systems so it might not work on older versions of Windows.
If you are accepting all the risks, click "Disable EC Control" button and try to adjust fan speeds within the app. If setting custom speeds works - my congrats, you've just taken control over the fans. Now, to make you life more sweet, you might willing to use something more powerful and flexible in terms of thermal control such as HWinfo64 or SpeedFan utilities. First one is good for novice users and is easier to setup. 2nd utility is more complex and if you gonna to give it a try - enable Dell laptop support in Options menu and restart the app.
A bit later I'm going to upload some configurations for both utilities.
Thank you for reading! Good luck and have fun!-------------------------
Downloads:
-
Wow thanks for sharing!
Im grilling out school right now but ill give this a try tomorrow when I wake up. (pretty late here in Korea) -
Gonna test it on M6800 during sunday.
Does the bios reset also resets EC?
Sent from my Moto G Play using Tapatalk -
Last edited: May 27, 2017
-
I can't get testsigning mode enabled... for some reason it won't let me disable secure boot even though it says I disabled it in bios.
-
Hey just wondering how I can get this to work?
I have a m4600 with a quadro 2000m, 2860qm cpu I have signed the driver and loaded the dell utility app after I disable it doesn't seem to do anything? what do I do next? thanks -
Ok so it seems to work through using fan control, the dell fan utility app itself doesn't seem to work with controlling the speeds though.
Do you have any recommended settings to use with the m4600?
also do you know if we can upgrade our video cards on these laptops from what I've read since I have the IPS screen I can't upgrade past the 2000m is that correct? thanks -
Or look in the correct thread for m4600 http://forum.notebookreview.com/threads/precision-m4600-owners-lounge.581542/Last edited: Jul 9, 2017 -
Thank you so much for this tool I had Linux on my m4600 a couple of weeks back for my IT study, I knew there was a tool to make this all work within Linux but not windows I had been looking online for this fix for ages.
I've had my m4600 since the start of 2016 and love this laptop!, so happy to find this tool!.
1 question though I can only do speeds of 0,2500,4900 nothing in between is that normal? seems to run great at 2500rpm on all the time, can this be adjusted to 3000rpm?.
Also I read that link you sent I have bits and pieces of that thread before, my main question is can I run one of these 5100 amd cards on my m4600 with the IPS screen or is the cable and motherboard not going to let that happen and I'm stuck at with the 2000m? thanks! -
Ok so I found 1 problem with this setup, even with power management inside windows 10 set to not turn off when it has been ide for awhile it shuts down the computer, which is strange maybe the bios can't control talk to the OS anymore to do with the power management and just shuts down when it notices it has been ide...
-
The way i got this to work was to run the following in admin command prompt Bcdedit.exe -set TESTSIGNING ON reboot run the fan utility as admin disable ec then close the program. Doing this will allow speed fan to take over will work through reboots but not shutdown. Make sure you have speed fan setup correctly to control your fans. You also may need to disable driver signing via advanced startup to get the driver to install on first run. Would be nice for the utility to save its configuration so one could make a scheduled task to run on login.
-
Erm, doesn't I8KFanGui not work for you guys, no? I haven't tried the Dell Fan Utility as yet but have used I8KFanGui for a while and seems to work a treat
-
I know that this doesnt really provide exacting control over fan speeds, but for those with Precision line machines (and maybe others, I dont know off hand if this utility can be used on other models) the Dell Command Power Manager app gives you a few thermal and performance profiles to use which will change the way the fans act and ramp up. Thats what I use.
http://en.community.dell.com/techcenter/enterprise-client/w/wiki/7535.dell-command-power-manager -
Does it really work? I am going to try this one was thinking about such thing as the fan sometimes make a lot of noise there must be something to control it.
Thanks, Buddy! Will try this one! -
One thing that bother me is that fans only goes 100% on my previous 7567 when it throttled! so I was playing, temps were increasing, it reaches 84°C the fan goes from 70-80% to 100% but CPU slows from 3.4ghz to 2ghz! and temperature drops to mid 70s, I'll try once I get a new 7577 to see if I can leave it 100% so temperatures won't increase at the point of throttling.
Maleko48 likes this. -
Noted! I will try your software since my fan has some issue recently..
-
-
Hi,
I just signed up here to thank valuxin! This has fixed my one but major issue with my XPS 9550, and about 2000 bucks of money as I was just about to give up and buy an HP Precision x360 where the fans can be controlled for.
This solution works perfectly, I disable the fan with this piece (8Kutils did not work on my Windows, got a BSOD each time running it), and use Speedfan to control the fan instead. That gives me a fanless experience when working normally, just a bit of a fan when gaming lightly and the full blast in heavy gaming. But for 90% of my usage, the XPS is now dead silent (I also did a repaste which helps keeping the temperatures in the 50-60 degree range without fans blowing).
So big thank you, and one kind request: Any chance you could write a command line version of that? I am right now having the software run automatically after each logon via task scheduler, but I have to click manually on "disable" and then close the software (keeping running it leads to some audio issues, but once it is closed, all is perfect again). Hence a command line option which simply loads the software, disables the EC, and then closes the software again would be great.
THANK YOU! Brilliant work.
Cheers
A happy fanlessfan -
@fanlessfan
Nice to see happy people here
Yeah, it would be nice to have CMD implementation, but it needs time and knowledge to make this wish come true. I can't do it right now, but there are all sources on github. I hope some will do this work for us -
Fair enough
I am not that deep into compiling stuff / programming, so I hope for an angel to help out sooner or later, and until then I am happily doing the 2 mouseclicks manually after each logon, and enjoy the silence afterwards
-
-
Has anyone tried this program with a dell 7559?
-
I hope to mess around with this on my Dell Inspiron 7577 laptop soon as well. I really wish I had more programming experience and knowledge under my belt to be able to play with stuff like this!
-
Why it doesnt show rpm of fans? Dell Inspirion 7567
-
@bartold3ak You have to open the utity with administrator privileges.
It does indeed work on my Dell 7567 with i5 and gtx 1050. Thank you so much for your effort @valuxin ! Few things i've noticed:
- every step from the guide requires administrator privileges
- disable secure boot before trying to enable testsigning
- you can only set 3 modes with the sliders in config - 0rmp, 2.5k rpm and 5k rpm. However...
- it is possible to adjust the fan speed more precisely with debug->pwm slider. It works only for the GPU fan for some reason, unfortunately. And it works in kinda unstable way - the fan speed seems to fluctuate.
- i am too afraid to check the "dc refresh" and "test" buttons because they look scary and enigmatic
In conclussion - Dell is damn lazy and they set only 3 cooling profiles. 5k rpm is too much for gaming, 2.5k rpm seems a bit too little (i've achieved 80 degrees on both cpu and gpu during not-that demanding benchmark, but i'd probably test it further). 3,75k would be perfect, but it seems unachievable. Even if the pwm slider would work for both fans, it seems too risky(and annoying) to keep fans fluctuating like this on the long run.Maleko48 likes this. -
I thought I remembered reading somewhere that once the manual fan control has been turned on and is overriding the stock hardware control, that despite the Dell Fan Utility being wonky, and not quite working correctly, that you could actually go into a different hardware-controlling utility such as Speed Fan (or possibly even Afterburner's Fan Control?) and get more precise control from their interfaces. Have you tried messing with either of those?
Also, it sounds like dc refresh may just be a way to update the DC frequency being pushed to the fans more often so it wins the fight vs what the stock factory-embedded-signal hardware control is trying to feed the fans. I'm not sure how to better explain it, but it makes sense to me on an electrical engineering sort of level. -
-
LINKS:
http://maxedtech.com/about-testmode/ -
@Maleko48 Uhh, it was kinda late and i've made some mistakes in my post. It is not possible to control fans by Dell Fan Utility (except pwm). There are only 3 steps of the slider, but they are not working. I've used the utility only to disable EC, then adjusted fan speeds by SpeedFan. 0-30% margin is 0rpm, then between 30-70% its 2.5k, and 5k above 70%. A little bit wonky. HWInfo64 was more precise - there also were only 3-step sliders. Im gonna test the MSI Afterburner again with an administrator privileges (without them Fan settings were grayed out) later (just reinstalled Win10, need to configure it again).
vikram0136 and Maleko48 like this. -
Thanks A LOT for this, the fan behaviour on my Dell 7577 was driving me crazy to the point I considered getting rid of it, it works very well with HWinfo64 to control the fans (I tried Speedfan but had troubled with it)
Now the only thing that could make it better is an option to disable EC control automatically on start but it's already a huge improvement to be able to tame the fans, thanks againMaleko48 likes this. -
Hi, thanks for your work. I have a question:
Is it possible to restore fan control? Is fan control revert back (contorlling itself by pc) when user close app? -
anyone tried this on a xps 15 9550/9560 ?
btw. there is also notebook fan control - https://github.com/hirschmann/nbfc/releases -
How did you use HWinfo64 to control the fan? What is the temp that the laptop finally gets loud after the fan control?
/Edit: Did some research and I just found the Fan Control Look-up Table (HWinfo64 -> Sensors -> Continue -> hit the icon Fan -> Custom Auto).
My temperature right now is 45C - fan speed at 2500 RPM (10 chrome tabs is open). The laptop is really quiet. But in the Look-up Table I saw that if the laptop hit 60C, the fan would increase right up to 4900 RPM (maximum speed).
A little nervous to try and change the fan speed. Should I disable EC control first, then change the fan speed according to the temp and that's it?Last edited: Feb 2, 2018Maleko48 likes this. -
I just picked one of these machines up and man is it loud. I tried this but I am wondering if there is a way to unlock fan control in the bios? Has anyone tried figuring this out?
-
-
Hi folks,
I've compiled a command line tool based on software provided in the OP.
You can use it to auto disable EC at Windows startup.
I personally use it in conjunction with SpeedFan (advanced fan control), and I'm very happy of the overall results.
Could have been almost perfect if Dell had allowed us to control fan pwm with more than 3 levels.
By the way, I've discovered that on my 7577, GPU fan (FAN #2 in Speedfan) was quieter than CPU fan, so this is the one I kick in for low T°C.
My current fan curves are :
GPU fan (fan #2) : 0% until 65°C / 50% until 80°C / 100% above (with 15°C hysteresis)
CPU fan (fan #1) : 0% until 70°C / 50% until 80°C / 100% above (with 10°C hysteresis)
At office, making dev + net, CPU package oscillates between 45°C and 63°C with GPU fan @50% all time (with -135mV on 7700HQ and -100mV on HD630).
GPU fan never turns off but this is intended, for I much prefer having a constant very low noise than an intermittent "kicks in" noisier fan.
Don't know if I'm allowed to do so, but if you are interested : https://drive.google.com/open?id=1zjsFyCC0LFZNA6w924oBz2mmrOmJxwLQ
You have to put OP "bzh_dell_smm_io_x64.sys" (or x86) side by side with my EXE.
Of course, EXE needs admin rights, and driver signature turned OFF ;-)Last edited: Feb 21, 2018vincenteuterpe, Maleko48 and SaintBahamut like this. -
I'm no expert, but would such a mod allow for a different fan setup in the 7577?
https://www.amazon.com/adapter-connector-converts-proprietary-sleeved/dp/B005G50C6Q -
I'm afraid no, this is software problem.
-
Is it not both? One are the temperature tresholds at which the fans change speeds (software), and the other that the pwm for the fan control is limited to 3 settings at this moment, 0/2500/4900 rpm (i.e. a hardware issue)? With a 4rd pwm setting, i.e. 3500 prm fan speed, we could also be helped...
-
As I understand it, fan hardware is not the culprit.
If a Fan is PWM compliant, its RPM will react almost linearly with PWM input.
The problem is that Dell driver does not react linearly to PWM values that our software send to it. -
Ah ok. This driver cannot be replaced by 3rd party one, one which is able to control the PWM more adequately?
-
Maybe some specialist could dig deep into drivers to find a way to directly pilot FANs ...
But as far as I know, actual control is made by sending PWM command to internal piece of hardware that controls FANs.
And this is this piece of hardware that do not allow a fully linear control.
The default Dell FAN manager is implemented into the BIOS (or another HW component), thus having a more direct access to FANs, and thus being allowed to control RPMs more precisely.
Dell FAN manager is able to set FANs at 2200rpm on my 7577, value that neither SpeedFan nor HWinfo64 can achieve (min value is 2500rpm at 35% PWM).kweniston likes this. -
I think this is my first post on the forum. Sorry, but I've been lurking a lot
I dug into this stuff for like few hours and found out dell's CCTK; there was a command lind tool/exe that allows you to enable/disable settings in BIOS through the exe.
the options that are relevant to this stuff (disabling fan control/fan speed control) seems to be fanctrlovrd and fanspeed.
typing "cctk --fanctrlovrd disable" (disables fan speed control) gives you "usage error" output; also typing "cctk --fanspeed low" gives you same error message.
most importantly, doing cctk --fanspeed and cctk --fanctrlovrd gives you error message called:
"This option is not available or cannot be configured through this tool: fanspeed/fanctrlovrd".
I think the option is locked out in BIOS, can anybody try this through dell's CCTK and see if it works?Maleko48 likes this. -
-
Out of curiosity, does I8KfanGUI no longer work in Windows 10, or with newer Dell hardware, or is its precision lower than desired? I've always used it on my ancient Dell. With a fan policy set up and a bit of undervolting and underclocking, it can run fanlessly.
Now it would be really cool to be able to set the RPMs to increase more gradually with temperature. But I get over 5 minutes of silence at 100% CPU usage in my best-battery-life/lowest-noise configuration, which means in a realistic use case it would be silent indefinitely. -
Those with a Dell 7577 where this program is working: What bios version are you on?
I'm on 1.4.2 and I cannot disable EC.... -
-
i got a question, normally when i game like playing escape from tarkov, ets2mp, csgo, squad, cpu reaches 80c and gpu stays near 60c. while at those temps i can see that in hwinfo fans are running at 6000rpm. but the thing is with this utility i can only set max of 4900rpm which is worse for me. also i dont think that it is a bug of hwinfo cause there is a noticable diffrence between those rpms. any solution? also i have Dell 7577 1050ti version
[Guide] How to control fans on Dell Laptops under Windows
Discussion in 'Dell' started by valuxin, May 27, 2017.