The Notebook Review forums were hosted by TechTarget, who shut down them down on January 31, 2022. This static read-only archive was pulled by NBR forum users between January 20 and January 31, 2022, in an effort to make sure that the valuable technical information that had been posted on the forums is preserved. For current discussions, many NBR forum users moved over to NotebookTalk.net after the shutdown.
Problems? See this thread at archive.org.
← Previous pageNext page →

    [Guide] How to control fans on Dell Laptops under Windows

    Discussion in 'Dell' started by valuxin, May 27, 2017.

  1. Atom Ant

    Atom Ant Hello, here I go again

    Reputations:
    1,340
    Messages:
    1,497
    Likes Received:
    272
    Trophy Points:
    101
    I just tried with Inspiron 5577, but Windows crash to bluescreen soon as I start Dell Fan utility. However the guide is not clear to me. Is this the only thing I need to do before?
    bcdedit.exe -set TESTSIGNING ON
     
  2. maffle

    maffle Notebook Evangelist

    Reputations:
    179
    Messages:
    545
    Likes Received:
    506
    Trophy Points:
    106
    I just found this thread. How come, no one knows if it works with the XPS line too, for example, XPS 15 9560 or maybe even the new model 9570? Anyone ever tested it?
     
  3. alexhawker

    alexhawker Spent Gladiator

    Reputations:
    500
    Messages:
    2,540
    Likes Received:
    792
    Trophy Points:
    131
    AFAIK, this hasn't worked for any models released in the past ~6 years.

    So....don't hold out any hope.
     
  4. vincenteuterpe

    vincenteuterpe Newbie

    Reputations:
    0
    Messages:
    1
    Likes Received:
    0
    Trophy Points:
    5
    -->
    Hello. Thank's a lot for your work! I'm not sure to do the right thing because i'm not sure to understand correctly what you mean about this sentence
    "": You have to put OP "bzh_dell_smm_io_x64.sys" (or x86) side by side with my EXE."""
    Could you explain what you mean and how to do it this please ?

    Best regards from france in Paris.

    Vincent.
     
  5. spektykles

    spektykles Notebook Guru

    Reputations:
    17
    Messages:
    65
    Likes Received:
    70
    Trophy Points:
    26
    Working on Dell 7577 BIOS 1.5.0, you must choose Override in EC Control. Also the fan on 7577 can go up to 6000rpm, but the sw only max out at 5000
     
    Maleko48 likes this.
  6. zemaitis

    zemaitis Newbie

    Reputations:
    0
    Messages:
    1
    Likes Received:
    0
    Trophy Points:
    5
    Yes I managed to make it work on Dell G5 5587 which I bought just yesterday (First I used dell fan utility with GUI and it was able to disable my EC. Then I switched to the the.exe CMD version shared in this topic by another member and my setup works like a charm!)

    However by using hwinfo64 I can set only three values for my fans: 0, 2200 and 4900. I wish there was something in between. Is there some way to unlock bios to customize these values?

    Also, for some of you this solution is not necessary.

    Dell released an "Intel Dynamic Platform and Thermal Framework" driver which overrides default EC controls and works much better. For example if you own a Dell G5 like I do, you can find it by going here http://www.dell.com/support/home/us/en/19/product-support/product/g-series-15-5587-laptop/ clicking Drivers & downloads and then clicking View More a couple times and you should be able to find it.

    Source: https://www.reddit.com/r/Dell/comments/8t8nqe/my_dell_g5_runs_at_100c/

    P.S. I noticed that my custom auto profiles in hwinfo stop working sometimes. I have to open the sensor window and click minimize. Are there any better alternatives? I tried SpeedFan but its a mistery for me how to set it up properly.
     
    Last edited: Jul 18, 2018
  7. psyray

    psyray Newbie

    Reputations:
    0
    Messages:
    1
    Likes Received:
    1
    Trophy Points:
    5
    Works very well on DELL 9560, click on Disable EC Control and don't forget to choose the override radio button.
    Now you can set the fan speed with the button below
     
    AirCooled1024 likes this.
  8. AirCooled1024

    AirCooled1024 Notebook Enthusiast

    Reputations:
    5
    Messages:
    22
    Likes Received:
    4
    Trophy Points:
    6
    After stumbling on a reddit post, I found this thread and tried the utility once again and it works beautifully. I'm using Precision 5520, which is the sibling of XPS 9560.

    I tried Dell Power Command and other options before but nothing worked. The "quiet" option in Dell Command just caps the CPU performance, and if you ever forget to set the system power plan to "High Performance", you'll be left with a crippled CPU when not on AC. Granted these rules are there for safety reasons, but in my opinion there has been way too much caution exercised.

    A few other software configurations I've done in the past year: uninstalled Intel Dynamic Platform and Thermal Framework and modified the installation folder privileges so that they don't come back (otherwise you can expect them to silently reinstall within 5 minutes) - this disables the thermal throttling when both CPU and GPU are loaded. Throttlestop - undervolt and fix CMOD to 100% so CPU doesn't stop working at 70C. I should add that I've carefully repasted and added thermal pads for better passive cooling. There are tradeoffs but I'm personally very happy with them.

    This fan control utility brings it one giant step closer to reasonable configuration. The fan noise at low temps is finally gone, and I'm perfectly fine with CPU @ 40C when using word or browsing. I've had the fan replaced a number of times due to the noise and faulty replacement parts. The last one appeared to be less noisy at first but now I think it's starting to whine a little bit again. I use MacBook pro at work and, even though I prefer Windows PC, MacBooks have much quieter yet more powerful fans and very reasonable fan control. I understand that it adds non-negligibly to the R&D cost and it might not be something we can expect in a PC yet but Dell blocking the users from easily optimizing their machines when they themselves failed is quite ridiculous. I'm very thankful to the people who figured this out initially and the OP who posted a tutorial. About to try to remove the Test Mode watermark for long-term use but I'm otherwise very satisfied (finally).

    I apparently have only 3 RPM levels too, but I think it works well for my purposes. Go to Speedfan-configuration-fan control and you can set a mapping from component temperatures to fan speeds. Pretty easy to use and very effective. Not sure about your system but like I mentioned, DPTF is only trouble for my system. I would recommend staying away unless there is a reason not to.
     
  9. FerrazCezar

    FerrazCezar Newbie

    Reputations:
    0
    Messages:
    2
    Likes Received:
    0
    Trophy Points:
    5
    Is there any way to disable the EC permanently or set to startup disabled? This tutorial worked for my Dell 7567 just fine, but I use a custom fan speed config in HWiNFO and would be nice having all this starting automatically with windows 10.
     
  10. AirCooled1024

    AirCooled1024 Notebook Enthusiast

    Reputations:
    5
    Messages:
    22
    Likes Received:
    4
    Trophy Points:
    6
    I found a not insignificant problem though. Disabling EC also disables brightness control via Fn+F11 and Fn+F12.

    After failing to identify anything in the Dell Fan Utility or driver code that is connected to brightness control, I'm currently using ClickMonitorDDC as a workaround with Ctrl+F11, Ctrl+F12 controlling brightness. Fn key doesn't seem to be supported by the hotkey function. But on the positive side, the program allows you to control brightness at the smallest step supported by the LCD (in this case 63 steps) and you can specify the step size associated with hotkey. :)

    I hope Dell soon realizes that their strict and unintelligent control of the fans is a disservice to many users and with no benefit to the rest. It would appear quite evil to me if they did it knowingly.

    P.S. Another surprising benefit is that since there is a control key on the right side of the keyboard, I can now pretty effortlessly control brightness onehandedly. It is quite nice especially in the dark, since I don't like keyboard lights. With a sigh of course, bemoaning the lack of flexibility in Dell default fan control and the resulting inconveniences for us users.

    Edit: Strangest thing, Fn key for brightness started working again (perhaps after a long sleep). Will report back if it lasts.

    Edit2: Turns out that the brightness control is disabled after EC is disabled in the utility app, but not when the computer is restarted and EC is still disabled. Putting the computer to sleep and waking brings back brightness control as well. There might be more to it but for now this seems a reasonable way to control both fans and brightness without too much effort...
     
    Last edited: Sep 3, 2018
  11. AirCooled1024

    AirCooled1024 Notebook Enthusiast

    Reputations:
    5
    Messages:
    22
    Likes Received:
    4
    Trophy Points:
    6
    Is your brightness control still working lol?

    Edit: Nvm see my last post :)
     
    Last edited: Sep 3, 2018
  12. kilimats

    kilimats Newbie

    Reputations:
    0
    Messages:
    7
    Likes Received:
    1
    Trophy Points:
    6
    HOLLY, after years of hearing my XPS 9560 fan running on medium while browsing the internet, i can finally turn the fans off completely thanks to this tool, this is AMAZING, thank you !!!!! SO MUCH!!!!!!!!!!!!!!!
     
    Last edited by a moderator: Oct 18, 2018
    Matt111 likes this.
  13. schmendrik

    schmendrik Notebook Consultant

    Reputations:
    0
    Messages:
    112
    Likes Received:
    4
    Trophy Points:
    31
    is this working on win7?
     
  14. unnoticed

    unnoticed Notebook Consultant

    Reputations:
    29
    Messages:
    118
    Likes Received:
    62
    Trophy Points:
    41
    Your download link is down for Google Drive.
    Can you please re-up the files?
    I had it but lost it in a clean out of my drives
     
  15. v8rollal

    v8rollal Newbie

    Reputations:
    0
    Messages:
    6
    Likes Received:
    0
    Trophy Points:
    5
    Hello, someone knows if ati firepro m6000 works in dell m6600, my computer works but the fans are spinning in and out again and again,when i am doing the dell diagnostics have error with the fan Error code 2000-0515 Validation 115248.
    Thank you.
     
  16. laica25

    laica25 Newbie

    Reputations:
    0
    Messages:
    2
    Likes Received:
    0
    Trophy Points:
    5
    CAN SOMEBODY PLEASE REUPLOAD THAT FILES?
     
  17. laica25

    laica25 Newbie

    Reputations:
    0
    Messages:
    2
    Likes Received:
    0
    Trophy Points:
    5
    I am currently using the DELL Fan Utility manually with the GUI. Fans are controlled by Speed Fan.

    The only problem I have: Dell Fan utility only works in Windows Testmode. I have a little pogramm to remove the watermark on the desktop, but I am a little bit concerend, that testmode could be en entrance for malware/viruses etc.

    I share the tools and Speedfan settings I use with this link: https://www4.zippyshare.com/v/KtP3lO0S/file.html
     
  18. Windsigh

    Windsigh Newbie

    Reputations:
    0
    Messages:
    1
    Likes Received:
    0
    Trophy Points:
    5
    I've literally just registered to say this: thank you. me and many many other Dell G3/ G5/G7 users are currently having issues with the fans being bad due to a recent BIOS update, plus our i7 8750H chip is one of the hotter ones too... So yeah, anyway, thank you again. I've finally tamed the fans on my laptop and it's a blessing to hear it breathe.

    Combination of -0.125V undervolting and "if t>=55°C then RPM=4900, else RPM=2200" logic kind of solves the problem for now.

    Cheers!
     
    Last edited by a moderator: Nov 20, 2018
  19. luke1333

    luke1333 Notebook Guru

    Reputations:
    5
    Messages:
    67
    Likes Received:
    13
    Trophy Points:
    16
    Wish you could change its size. It is so so tiny on my 4k xps 9570, can't read anything to even try it! Anway to resize it?

    Nevermind got it!!!! Will test and report back!
     
    Last edited: Dec 2, 2018
  20. Captain_Flint

    Captain_Flint Newbie

    Reputations:
    0
    Messages:
    1
    Likes Received:
    0
    Trophy Points:
    5
    I have this working on Dell XPS 9570 4k - Thank you! The constant fan on/off noise was driving me insane!
    Does anyone have any recommended settings for the XPS 9570 running a Intel Core i7-8750H?
    I mean in terms of safe operating temps before the fans kick in? Right now they are set to kick in at 52°C but if I have Photoshop/Illustrator open it can bring back the on/off issue because it keeps hitting that 52 mark. I could solve this by setting that limit higher but having no fan kick in till it hits 60°C sounds like a bad idea lol
    Lastly, does anyone know if this can work without having to be in windows test mode?
    Thanks again - why Dell does not allow us to control the fan curve without these hacks is beyond me.
     
  21. luke1333

    luke1333 Notebook Guru

    Reputations:
    5
    Messages:
    67
    Likes Received:
    13
    Trophy Points:
    16

    Can you enable EC again if you don't like custom fans?
     
  22. HeadHunter

    HeadHunter Notebook Consultant

    Reputations:
    1
    Messages:
    213
    Likes Received:
    5
    Trophy Points:
    31
    Hey guys can anybody share the CMD line version again? thx :)
     
  23. MikeR_Va

    MikeR_Va Notebook Enthusiast

    Reputations:
    1
    Messages:
    21
    Likes Received:
    5
    Trophy Points:
    6
    Hello All:

    This thread has been very helpful. Thanks to all who have offered help. I'm trying to get Dell's Command | Configure Utility to allow fan control -- there's a command that seems meant to do so -- but experiments have been inconclusive so far.

    Thought I had it working once outside of test mode, but a reboot killed it. Will report back if I make progress.

    Mike
     
    Last edited: Jan 14, 2019
  24. maffle

    maffle Notebook Evangelist

    Reputations:
    179
    Messages:
    545
    Likes Received:
    506
    Trophy Points:
    106
    Anyone got this tool working on XPS 15 9570? I wanted to give it a test but I cant enable non signed driver support because secure boot is on. Can you even just disable secure boot after you installed Windows? Wouldnt you need to disable it and then reinstall Windows?

    Does anyone still have the tool @vilo76 made for turning EC fan control off at Windows start? The link to the tool is dead.
     
    Last edited: Jan 15, 2019
  25. custom90gt

    custom90gt Doc Mod Super Moderator

    Reputations:
    7,897
    Messages:
    3,854
    Likes Received:
    4,755
    Trophy Points:
    331
    You can disable secure boot and still boot into your windows installation.
     
    Dannemand and maffle like this.
  26. maffle

    maffle Notebook Evangelist

    Reputations:
    179
    Messages:
    545
    Likes Received:
    506
    Trophy Points:
    106
    Ok took the risk, and tested it on the XPS 9570. It does not work correctly, at least not how I would like it to work. The fan speed overwrite works, so you can send a 0RPM to the fans, that works. But the Dell EC still overwrites it all the time again, for example for the dGPU trigger.

    EC fan control disabled, opened HwInfo (because the tool doesnt work), fans spin, I set manual 0RPM for both, works. I open Task manager/Edge, fans spin...
     
  27. MikeR_Va

    MikeR_Va Notebook Enthusiast

    Reputations:
    1
    Messages:
    21
    Likes Received:
    5
    Trophy Points:
    6
    Well, I was just sure I had this dealt with yesterday, but it's a tad more difficult than I thought -- isn't it always?

    First, for Maffle, I have tried this with good success on both a 9360 and a 9560 (both fans), so you may want to try again. But sure you run the fan control utility with admin privileges, test the fans and exit (both worked for me on the first run). Run Speedfan as admin, but sure you check the Dell box in options, and read and follow the directions about the relationship between basic and advanced fan controls. You'll want to use the advanced profiles, but it takes a bit of reading and fiddling. But I'm pretty sure it can be done. You will need a separate control utility for the GPU fan once you get it under your control.

    OK, now my report. Yesterday, it occurred to me that although the Fan Control Utility runs only in test mode, that the Command Configure command line solution might require being OUT of test mode. Hmm. . . Starting from a session in which I already had Speedfan controlling fans, I reset to standard mode (TESTSIGNING OFF), warm rebooted, started the Dell Config Command line utility with admin privileges. I then entered the command:

    cctk --FanCtrlOvrd=Enabled . . . and got confirmation.Cool!

    Speedfan came up and the controls worked (you can test in the main interface by unchecking auto control and using the little arrows to set 100% fan). Right then and there I decided I was some sort of genius.

    Nope. I was being a clueless dope and I was about to be humbled. A cold reboot killed control, and I spent too much time sorting out the fact that I'd fooled myself.

    Here's what was actually happening:

    1. I was gaining control of the fans in the initial session with testmode on.

    2. I then warm rebooted -- and control of the fans survives a warm reboot. My command line work was pure Placebo (see how you can fool yourself there?).

    3. More careful experiments confirm that fan control does NOT survive a cold reboot or (apparently) an attempt to warm reboot and re-enable secure boot.

    What's interesting is that this evolution involved turning TESTSIGNING OFF before the warm reboot. So fan control WILL survive a warm reboot and come up just fine in standard mode. It will run there happily, and you'll have control of both fans and brightness keys, and that control will survive "modern" sleep. So if you're one of those gamers who needs to be out of test mode to run games, this might be your temporary workaround.

    Again, on my 9360 Speedfan has control, the brightness F11:F12 keys work, all is good. I'm encouraged that this is possible, and my reading in the Command Configure guide suggests that it's likely that we can use a *.cctk file or a complied exe to get across the finish line. But I'm not confident enough yet to execute commands that mess directly with the BIOS.

    Anybody out there have experience with the Command | Configure software? I will keep reading and see what I can find out, but this is a take it slow thing for me. Still, caution is warranted, I think.

    It does appear that this is doable. If you start the CCTK Gui (Wizard), and select Local Package, you'll see a lot of BIOS settings you'll recognize, and you'll see the FanCtrlOvrd switch -- and on my machine when I have taken fan control, that switch is enabled. You can export this as a cctk file or as an Exe. The Validation utility says it's available and compatible. So it SHOULD work. But if it doesn't -- well, that could be bad . . .

    What I can't quite sort yet is whether this utility sets a BIOS config that sticks, or whether this will have to be run each time either at boot or at logon. Still trying to figure that out. The documentation and much on the web is meant for sysadmin types and is largely about rolling custom BIOS mods out to 100 PCs at once. I need something a tad more elementary than that.

    Best,
    Mike
     
    Last edited: Jan 16, 2019
  28. DoctorRzepa

    DoctorRzepa Notebook Guru

    Reputations:
    0
    Messages:
    71
    Likes Received:
    13
    Trophy Points:
    16
    At CES Dell announced that new G5 and G7 laptops are coming with Alienware Command Center which allows for fan control. Do you think it will be compaitible with 7577 or older G5 and G7? I think we should keep an eye for that piece of software.
     
    Maleko48 likes this.
  29. maffle

    maffle Notebook Evangelist

    Reputations:
    179
    Messages:
    545
    Likes Received:
    506
    Trophy Points:
    106
    @MikeR_Va No it DOES NOT work with the 9570. Like I said. It works but the EC overwrites it always again for an initial kick in, for example if dGPU is polled.
     
  30. MikeR_Va

    MikeR_Va Notebook Enthusiast

    Reputations:
    1
    Messages:
    21
    Likes Received:
    5
    Trophy Points:
    6
    Hey Maffle:

    Not sure what you mean here, and of course it's possible that the 9570 BIOS differs from that in my 9560.

    Here's my understanding of the Fan Utility from up the thread. Forgive me if this is insulting your intelligence -- just making sure we're tracking. From memory, the steps I engaged in follow:

    1. Start an elevated cmd session (run as admin). Type bcdedit -set TESTSIGNING ON. Warm reboot. This should show you a test logo/win version flag in the lower right corner of your desktop.

    2. Now that you're in test mode, open the Dell Fan Utility -- again with admin privileges. Click the override option in the upper right corner, then click the disable EC control bar. The program will ask are you sure. Say yes.

    3. At this point on my 9360, I had total control of the only fan, and I've been running that way for several months with no interference from the default EC setup. The cpu fan slider worked, Speedfan can see the fan, and the fans behave just as I've set them to in Speedfan.

    On my 9560, I have done less -- modding that is on my list. But I did the same set of steps above just to test it. Both sliders in the utility worked, and I could run either fan from 0-100% independently (keep in mind this isn't PWM control -- you effectively have a fan with a couple of speeds -- just 0/50%/100% on my 9360, for example). That would seem to imply that you should be able to get to the same point.

    4. There are two problems I can still see:

    First, running in test mode all the time with Secure Boot off creates some risks, as unsigned drivers are allowed, etc. So we'd like to run in standard mode. Once I get control, I can do that by opening that elevated command prompt again, typing bcdedit -set TESTSIGNING OFF, confirming that the command succeeded (it'll tell you), then warm rebooting. The machine will come up normally now (no logo in the bottom right corner now), and you can start speedfan and it will have control. That's good - it means that we can control the fans in normal operation. But it still requires that Secure boot be off, which isn't ideal.

    Second, it's too fiddly in general. Who wants to boot twice all the time? What would help is a BIOS switch that allowed OS fan control -- that control may be hidden in the present BIOS -- the switch appears to be there, and folks here are trying to figure out how to get at it.

    OK. This doesn't mean that your 9570 will absolutely work. But if you'll run the steps again, maybe we can figure out why it doesn't, or confirm that there's something new and more restrictive in your BIOS. Though I suspect not, I'm wrong about these things all the time. See above.

    Good luck, and let us know how you make out.

    Best,
    Mike
     
  31. Aaron44126

    Aaron44126 Notebook Prophet

    Reputations:
    879
    Messages:
    5,549
    Likes Received:
    2,070
    Trophy Points:
    331
    I just recently stumbled into this thread. I'm currently waiting for replacement fans to arrive for my M6700 and once they get here I might try this out.

    Has anyone tried this with a single-boot disable driver signature enforcement? It would save the trouble of having to turn test signing on and off all of the time and messing with secure boot.

    i.e. From the regular Windows desktop (secure boot on, test signing mode off) —
    * Go to Start, select Power, and hold the "Shift" key as you are selecting "Restart"
    * As the machine reboots, an options menu will pop up, choose the option for advanced startup settings
    * Reboot proceeds and eventually you are prompted with a numeric menu, select "Disable driver signature enforcement" (option 7 IIRC?)
    ** This isn't a permanent setting like test signing mode, it only applies to one boot
    * Wait for Windows to reboot, run the Dell fan utility, and disable the EC
    * Reboot once again and the EC should remain disabled (until you fully power off your system if I am understanding correctly)

    [Edit]
    The whole driver signing bit is required because kernel-mode (driver/.sys) code is required to send commands to the SMM. Windows for a while now has required that privileged kernel-mode code be signed (this has obvious security benefits). I found a GitHub repo from some guy who managed to pull this off in user mode (i.e. without a driver)... on Linux. If this can be replicated on Windows then it might be possible to disable fan control without a driver. I'll try to find some time to play with this. I don't understand the ioperm bit yet which appears to be the main Linux-specific thing in the code
    https://github.com/clopez/dellfan
    (Sourced from this message board post: http://lists.us.dell.com/pipermail/libsmbios-devel/2015-May/000568.html)
     
    Last edited: Jan 16, 2019
  32. Aaron44126

    Aaron44126 Notebook Prophet

    Reputations:
    879
    Messages:
    5,549
    Likes Received:
    2,070
    Trophy Points:
    331
    ioperm is used to open up I/O port access to user-mode processes (basically allowing them to send arbitrary commands to PCI devices) and is key to the whole solution. It is mainly used in Linux to get the graphics stack working in user mode, from what I can tell. There isn't an equivalent in Windows, you're "supposed" to use a device driver for this sort of thing, which is how the Dell fan utility works. (Naturally, drivers must be signed which is the cause of this whole signing/test mode problem.)

    There are alternatives like giveio.sys (packaged with some older hardware monitoring tools) or the Cygwin ioperm.sys driver... These seem to be from the 32-bit era and stopped working when Microsoft transitioned to 64-bit and started requiring kernel-mode code to be signed.

    I poked around for a while and found this:
    https://www.codeproject.com/Tips/985807//Tips/985807/Enable-I-O-Access-From-User-Mode
    This guy has source code for a driver that basically does ioperm's job (allowing user-mode access to send commands to a device). He also has included a signed 64-bit binary file giveio.sys.
    I did some testing and I was able to load and start the driver *without* mucking with test signing or "disable driver signature enforcement" mode. So, it appears to be a good starting point, at least Windows accepts the signature. (Granted, I haven't actually tried to get it to do anything yet.) It appears to use a trick to get around Windows PatchGuard which could be, well, patched in the future to keep it from working.

    Between this driver, the source code for the Linux dellfan utility listed above, and the source code for the Dell fan control utility, I'm going to see if I can stitch something together to get around this whole driver signing thing. We'll see...
     
    Maleko48 and maffle like this.
  33. Aaron44126

    Aaron44126 Notebook Prophet

    Reputations:
    879
    Messages:
    5,549
    Likes Received:
    2,070
    Trophy Points:
    331
    I can confirm that using "Disable driver signature enforcement" startup option (detailed two posts up) allows the Dell fan utility to work. You don't have to disable secure boot or enable test signing.

    I poked around some more and decided that the easiest path forward is to just get proper signatures for the Dell SMM controller .sys files. It looks like the cost for this is just around $75. I'll look into it tomorrow. (I have another custom driver that I need signed anyway.)
     
    Maleko48 and maffle like this.
  34. maffle

    maffle Notebook Evangelist

    Reputations:
    179
    Messages:
    545
    Likes Received:
    506
    Trophy Points:
    106
    @MikeR_Va ... Of course I am in test mode (annoying imprint on desktop in the right bottom corner). OF COURSE, I run it as admin.... It does NOT WORK on the 9570. The tool sees the fan speeds, but sliding the slider for FAN1/FAN2 does nothing they spin back always into the middle position. The driver is loaded though because afterwards, the fans wont go off anymore automatically by EC, I can send a 0RPM or whatever value via HwInfo to BOTH fans after EC button disable. BUT... the EC still interferences with it and resets it all the time, for example for dGPU polls.
     
  35. MikeR_Va

    MikeR_Va Notebook Enthusiast

    Reputations:
    1
    Messages:
    21
    Likes Received:
    5
    Trophy Points:
    6
    @maffle . . . that's interesting, actually. I don't know that I know enough to help you here, and again, I'm not trying to tell you you did it wrong. Just comparing notes to see if we can find the issue.

    Based on your most recent, I could add one item: When working with the Dell Fan App, I noticed that whenever I had missed a step or forgotten something (which I did on a number of occasions), the sliders would refuse to stay where I put them. If I slid the CPU slider to the right, it would just bounce back and the fans wouldn't run. When I went back and took another shot, finding some step I'd missed, I could move the slider normally, and the fans would spin up. So, if that's the behavior you're describing, something (though based on your description, I'm not sure what) is going wrong at step one -- you're not actually getting fan control. Maybe that's at least useful for diagnostics.

    If you get the sliders to work, that step is done, and there may be an HWInfo issue. Haven't used that tool for fan control, so can't help there. But can confirm that if you get that far, Speedfan will work as far forward as XX60 series XPSs.

    If none of that helps, I'm likely at a loss, though I'm happy to keep trying if you like. I feel your frustration. But sometimes I find that some trivial thing I missed is the key -- thus my seemingly overly detailed descriptions. Best of luck with the effort -- here's hoping you can make it work (and that Dell hasn't locked something new . . . ).

    @Aaron44126 . . . that's good to know. I will absolutely try that method and report my results. The problem, of course, is that this just saves a bit of typing. What we want is something that survives a cold boot. So far I can't come up with anything that will do that -- though, again, there's a Dell Command | Configure utility that may do it.

    I was contemplating trying that, but I'm finding that when I try to apply the override in the command line tool using the specified in the command,

    cctk --FanCtrlOvrd=Enabled

    I get confirmation from the software, but don't get fan control -- even in test mode. I thinks that's true even after a warm reboot -- might have to check that again. So I'm a bit lost about what the Fan Ctrl Gui is doing that the command line switch is not. But the tool is made to allow Sys Admins to configure fleets fo laptops, so maybe if I applied the setting in the Command | Control Wizard and applied it, that would work. I'm still hesitant to do that, but I'm still looking for more information that might make me less hesitant.

    Best,
    Mike
     
    Last edited: Jan 17, 2019
  36. Aaron44126

    Aaron44126 Notebook Prophet

    Reputations:
    879
    Messages:
    5,549
    Likes Received:
    2,070
    Trophy Points:
    331
    Here's what I've got for that.

    1. I'm going to get a certificate and sign the Dell SMM driver files. This will allow the driver to be loaded without having to muck with *anything* (secure boot, test signing on/off, or "disable driver signature enforcement" boot mode). I purchased the certificate this morning but I'm told it might take three days for it to be approved and issued. I already have experience using Microsoft's signtool to sign executables and driver files, I don't expect that there will be any trouble with this once I actually get the cert.

    (It might be possible to bypass this by using the signed 64-bit giveio.sys file that I mentioned before and finding a way to use that in place of the unsigned Dell SMM driver. However, the time it is going to take me to figure out how to do that isn't worth the cost of just buying a certificate.)

    2. I'm working on a command-line app, derived from the Dell fan utility code, that will just disable EC control and set the fans to run at max speed. (Someone else already did this, but the link is dead.) You could use Task Scheduler to have this run at boot time or upon login. (Automatically setting the fans to max speed is for safety and will remind you to start a proper fan control app like SpeedFan.) I'm working on this today and expect to have some output this afternoon.

    3. This one will be a little bit further out but I'd like to create a system service to use instead of a command line app. The service will disable the EC fan control at startup and set the fans to max speed, like the command line app. However, I would also like it to periodically probe and make sure that the EC fan control is still disabled, and re-disable it if necessary. (After hibernate/sleep?) Also, it could *enable* EC fan control at shutdown to put things back into the regular state. This one depends on if I can figure out how to check the EC fan control status and figure out how to re-enable it.


    I went ahead and set up custom fan profiles in speed fan. I love finally having control over this. I have the CPU fan running at 50% all of the time unless the temperature passes 80 C, and the GPU fan running at 0% up to 65, 50% up to 85, and 100% after that. Seems perfect from my testing, under regular light work conditions the CPU fan sits at 50% and the GPU fan sits at 0%. My main complaint about the default Dell configuration is that the CPU fan keeps toggling between 0% and 50% when the CPU temperature hits around 60 C (constant 50% is much preferred over on/off/on/off/on/off)... And the GPU fan follows along with it even though the GPU has no load.
     
    Last edited: Jan 17, 2019
  37. MikeR_Va

    MikeR_Va Notebook Enthusiast

    Reputations:
    1
    Messages:
    21
    Likes Received:
    5
    Trophy Points:
    6
    Aaron:

    That sounds outstanding. Just being able to run the Gui based utility without the driver issue would be a big step forward. And if you get to the command line solution, that would pretty much solve the problem -- though the service would admittedly be better still. I can confirm that the previous author's solution is no longer out there -- it was there when I first looked, but Google decided it was a virus and wouldn't allow a download. Then the link just died. So this would be a big help.

    I've spent a good bit of time modding my little 9360, and by way of repasting, heat padding, and undervolting I have about 20 C of thermal headroom that didn't exist before. The i7 8550 now idles between 25-30 C in a 64F ambient environment, and I run 50% fan at about 52 C and 100% at about 64 C. This probably seems aggressive, but I really only hear the fan when there's a huge raft of updates all running en masse or when I'm deliberately testing limits. I think Dell's limits are too high, probably because of noise complaints, so I share your enthusiasm for having control.

    One caution. If you're playing with this stuff, and if you're running Throttlestop and Speedfan, be careful about using TStops test module. I noticed in the midst of doing that that during the test, Speedfan couldn't run the fans up -- conflict of some sort. It was a repeatable error. Even passively cooled, the new configuration did OK until i (fairly promptly!) shut down the test, following which I tested with Prime 95 without difficulty. Could be unique to my machine, but if you're working on your machine as I did, just be careful of that.

    i have some similar plans for the house 9560 -- that will involve padding the mosfets in the power chain rather than the CPU (Google for the reasons why), using Throttlestop to engage speedshift (Dell apparently never did), and repasting. The i7 in the XPS 15 has a 45w TDP, so it's not going to run as cool as the 8550 (15w), but there are apparently good gains to be made.

    There really are only two things remaining for project 9360-- the one we're talking about here, and proper S3 sleep. Dell had a BIOS option for force the latter, but recently removed it. I mean to look at the BIOS changes to see if I can safely roll back to the last BIOS iteration that had the options (i.e., is it after the Spectre/Meltdown fix?), and hope that Dell might be persuaded to put it back, because I really don't care for modern sleep.

    If you're still having issues with the fans "breathing" as you describe, try longer hyteresis settings in Speedfan's advanced fan control set-up. That tells the fan to run longer (demanding a lower temp before it dials back) and seems to bridge those short gaps.

    I thank you very much for your help, and I look forward to testing your work.

    Mike
     
  38. Aaron44126

    Aaron44126 Notebook Prophet

    Reputations:
    879
    Messages:
    5,549
    Likes Received:
    2,070
    Trophy Points:
    331
    Yes, it took a bit of playing but I figured out a good setup in SpeedFan. I'm quite pleased with the setup. The "breathing" thing was actually what was happening with the stock Dell configuration (EC controlling the fans) and is eliminated now that I am using SpeedFan to control things. I figured out hysteresis. The main hang-up for me was figuring out the multiple different boxes you have to check in order for it to start taking control of the fans and also figuring out that the "alarm" temperature will override the "advanced fan settings" and force the fans to 100% if it is tripped.

    My CPU is Intel 3rd gen (Ivy Bridge) which doesn't support undervolting with Throttlestop (as far as I can tell) so I don't have that running for anything, but thanks for the heads up on that... But the Precision has a lot more thermal headroom than the XPS by virtue of just being larger so I'm not really having any sort of temperature problems. This whole effort is just to get the fans to do what I want (i.e. shut up), I don't like the default behavior. :p

    Regarding the BIOS and Spectre/Meltdown "safety", you should know that a BIOS update isn't required to actually correct this anymore, Microsoft has issued patches to apply the microcode fix from Intel at Windows boot time. ( https://arstechnica.com/gadgets/201...t-shipping-the-intel-spectre-microcode-fixes/) I'm pretty sure that they are all bundled in Windows 10 1809 and you'd have to go out of your way to disable the security fixes (there are registry toggles for them). There still might be other security concerns, I think that Dell regularly pushes updates for security issues in the Intel Management Engine.

    I have been able to compile and tweak the Dell fan utility GUI app and I'm sitting here waiting for Qt to build so that it can be distributed standalone...
     
    Last edited: Jan 17, 2019
  39. MikeR_Va

    MikeR_Va Notebook Enthusiast

    Reputations:
    1
    Messages:
    21
    Likes Received:
    5
    Trophy Points:
    6
     
  40. MikeR_Va

    MikeR_Va Notebook Enthusiast

    Reputations:
    1
    Messages:
    21
    Likes Received:
    5
    Trophy Points:
    6
    Aaron:

    That all sounds good. Hadn't noticed you were running a Precision. And yes, even the XPS 15 has a lot more cooling headroom than the 9360. But you can pad a 15w cpu direct to the chassis and get some pretty good benefit. I'm really liking the little guy, and it'll be just about perfect for me if I can beat these last two glitches.

    Appreciate the heads up on the Spectre fix. I had read MS was going to do that based on work by some folks at Google, but didn't know it was in the wild yet. Will check that out.

    Thanks very much for your work on the utility. If you can pull this off, I think you're going to have a lot of happy people here.

    Mike
     
    Last edited: Jan 17, 2019
  41. maffle

    maffle Notebook Evangelist

    Reputations:
    179
    Messages:
    545
    Likes Received:
    506
    Trophy Points:
    106
    No. Constant 0% is much more preferred. There is no reason to spin on the fans if CPU or GPU are under 65-70°C. That can easily be cooled passively. And Dell is just retarded because the EC also uses PCH and SSD temps for spinning on the fans, even the fans have no air flow to these parts.

    @MikeR_Va the stupid tool has no output showing you, if it loaded the driver correctly, or not. is there some way to see, if the driver really is running? but it has to, because like I said, the EC auto turn of doesnt work anymore afterward. it just seems the 9570 EC is not compatible with this driver.
     
    Last edited: Jan 17, 2019
  42. Aaron44126

    Aaron44126 Notebook Prophet

    Reputations:
    879
    Messages:
    5,549
    Likes Received:
    2,070
    Trophy Points:
    331
    You might be referring to this work which is different, it mostly mitigates the performance hit taken after applying Intel's microcode fix. It will go live with Windows 10 19H1 (dropping in April, probably).

    https://mspoweruser.com/windows-10-19h1-will-reduce-the-impact-of-spectre-mitigation-to-noise-level/
    https://techcommunity.microsoft.com...riant-2-with-Retpoline-on-Windows/ba-p/295618
     
  43. Aaron44126

    Aaron44126 Notebook Prophet

    Reputations:
    879
    Messages:
    5,549
    Likes Received:
    2,070
    Trophy Points:
    331
    The driver doesn't actually hang around, it just exists to send commands to the EC. When you fire up the app, the driver loads. When you click the "disable control" button, the driver tells the EC to stop controlling the fans. (A one-time command.) Then when you close the app, the driver is unloaded.

    The "command" to tell the EC to let go of the fans seems to stick until the EC is reset, which is why this survives a "warm reboot".

    Note, I have to make sure that the "override" radio option is selected before clicking the "disable control" button or it doesn't seem to work. That's a little confusing. (Oh, and you have to be running elevated / as admin.)

    And yes, it is sort of annoying that there is no confirmation to tell you if the process worked or not. If you are not able to take control of the fans with the sliders afterwards then it probably just doesn't work on your system.

    [Edit]
    If you do want to tell if the driver is "running" then run this command from an elevated command prompt:
    sc query BZHDELLSMMIO

    You should see this output:
    Code:
    SERVICE_NAME: BZHDELLSMMIO
            TYPE               : 1  KERNEL_DRIVER
            STATE              : 4  RUNNING
                                    (STOPPABLE, NOT_PAUSABLE, IGNORES_SHUTDOWN)
            WIN32_EXIT_CODE    : 0  (0x0)
            SERVICE_EXIT_CODE  : 0  (0x0)
            CHECKPOINT         : 0x0
            WAIT_HINT          : 0x0
    Again it only runs while the app is open. I'm not sure how well the app is at detecting errors, it appears to attempt to make sure that the driver started properly; if it is not in the "running" state then it may be an issue with signature checking or whatever.
     
    Last edited: Jan 17, 2019
    Maleko48 and maffle like this.
  44. Aaron44126

    Aaron44126 Notebook Prophet

    Reputations:
    879
    Messages:
    5,549
    Likes Received:
    2,070
    Trophy Points:
    331
    Status —
    Starting to understand the code well enough. To produce a standalone .exe file that does not require Qt DLL's, I have to do a full build of Qt (the GUI toolkit used for the GUI app); he also uses Qt for threading and other stuff in the app so I'm not going to try to strip it out for a command-line version. Qt requires a few hours to build, and I've had to restart it a couple of times while I learn my way around some errors. Bottom line, no console app until I get a full Qt build done and I'm not sure how many attempts it will take.

    Some takeaways from reviewing the code:
    * It is possible to enable EC control of the fans (in addition to disabling it), this functionality is just not exposed in the app. (Still not sure about probing for the current status, I'll have to experiment with it.)
    * There are two different commands listed to disable the fans (he seems to borrow code from a Linux tool that I linked in an earlier post for this); the app only attempts one of them, it is possible that the alternate one will help on some other systems?
     
    Last edited: Jan 17, 2019
    Maleko48 likes this.
  45. Aaron44126

    Aaron44126 Notebook Prophet

    Reputations:
    879
    Messages:
    5,549
    Likes Received:
    2,070
    Trophy Points:
    331
    Not done for the day though. See attached: signed Dell SMM IO driver .sys files.
    I haven't tested them yet in "regular" Windows mode. They work in "disable driver signature checking" mode. (I can't reboot yet to check, the Qt build is running...)

    To attempt: simply replace your existing .sys files next to dell_fan_utility.exe and try to run it ( without "disable driver signature checking" or "test signing mode" turned on).

    [Edit]
    It works!

    [Edit 2]
    Teaser... I'll try to finish it up tomorrow.
    [​IMG]
     

    Attached Files:

    Last edited: Jan 17, 2019
    Maleko48 likes this.
  46. MikeR_Va

    MikeR_Va Notebook Enthusiast

    Reputations:
    1
    Messages:
    21
    Likes Received:
    5
    Trophy Points:
    6
    Aaron:

    Congrats. Looks like you're pretty much there (of course if I knew how to do what you're up to, we wouldn't need to have this conversation, so what do I know?). Thanks for the hard work on this, and no real objection to your taking the rest of the night off at almost 11pm!

    Don't want to interrupt you while you're working on this, but when you're done, there are a couple of things I'm curious about. Recording them now lest I forget, but don't bother with these until you're done with the utility (or ever if you don't care to).

    1. Why do all these solutions set the fans to 100%, and if they do that, why don't the fans then spin up to 100%? The post- 'fan utility' behavior prior to Speedfan starting (I have that for a 30 sec delay at logon so that I can click around the fan utility to get control) is no fan, not full fan. So all these solutions seem almost backwards. It's not hard to think 100% would be the safe default, but the fans don't spin. That's the behavior we want in this instance, but the logic escapes me.

    2. Are you familiar at all with the Dell Cmd | Control software? Because, once you get beyond this brilliant little command line, the only thing that might be better than your proposed service would be access to a hidden Dell BIOS setting that makes all of this completely unnecessary. There might be something to look at there before you start on the more involved project with the service.

    Best of luck finishing up the project. If I get time today, I'll dig back into the BIOS/Spectre/Modern Sleep issues. If your solution survives hibernation, I'll turn that back on for long gaps. But I'd still rather S3 than "modern" sleep, which just seems horrid beyond description so far. Lot's of complaining on the web, but Redmond seems determined to keep it. There may be solutions to that issue too, but so far my solution it shutting down -- which actually isn't so bad now that we have wickedly fast SSDs.

    Look forward to your next.

    Mike
     
  47. Aaron44126

    Aaron44126 Notebook Prophet

    Reputations:
    879
    Messages:
    5,549
    Likes Received:
    2,070
    Trophy Points:
    331
    1. The "Dell fan utility" in-code behavior is, after disabling EC fan control, to set "fan 1" to 50% and not make any adjustments to "fan 2" (so it will be at 0%). The console app that I am working on does properly set the fans to 100% after disabling EC fan control (at least that is what happens on my M6700).
    2. I'm not familiar with Dell Cmd|Control, in fact I have very little Dell software installed on my machines. However having spent a couple of days looking at different solutions to this now, the only ones that I am aware of working (Linux i8k module, Linux dellfan tool, and this Windows GUI tool) all use the same mechanism to tell the EC to let go of fan control. It seems to bypass the BIOS and issues the command to the SMM controller directly. I don't plan to investigate Dell Cmd|Control but you are welcome to do it and of course let us know if you find anything interesting.

    I'm shying away from the service idea because I'm thinking it won't really be necessary. This is how I envision a setup working...

    * You have both the command line tool and SpeedFan installed. Create a scheduled task or script that runs at login. This script will fire up SpeedFan, wait some seconds for SpeedFan to initialize, and then fire the command line app and have it tell the EC to let go of fan control. SpeedFan should take over fan control immediately if it is already running.
    * Another scheduled task can be set up to run at logout to return fan control to the EC. (That way the fans are managed while SpeedFan is not running; for example during Windows Update or the full hour+ Windows upgrades which now happen twice per year, or if you want to boot another OS for whatever reason.)
    * Finally, another scheduled task can be set up to fire on a certain event to tell the EC to let go of the fans after resume from hibernate.

    I'll have examples of all of these after I finish getting everything set up on my system. I might make a whole new thread for it.


    Also, I tried this on my Precision 7530 this morning (this is the latest model Precision with 8th-gen CPU) and the SMM IO driver will not even load on this system, so it is not possible to send a command asking the EC to let go of fan control. However, I noticed that I am able to adjust the fan speeds with SpeedFan anyway. Any changes that I make are immediately taken away by the system. (If I set a fan to 100%, it spins up and then it spins right back down.) This doesn't bother me because I don't have a complaint about the fan behavior on this system, it already behaves basically as I would like it to, I was just curious if the same thing would work. (The 7530 also seems to have several more granular fan levels rather than just 3.) Anyway, bottom line, new systems have a different fan management mechanism in place and that might be also why @maffle can't get the GUI tool to work.
     
    Last edited: Jan 18, 2019
    Maleko48 and maffle like this.
  48. Aaron44126

    Aaron44126 Notebook Prophet

    Reputations:
    879
    Messages:
    5,549
    Likes Received:
    2,070
    Trophy Points:
    331
    I'm attaching the command-line app.

    Notes:
    * Must be run elevated / "as administrator", or loading the SMM IO driver will fail (if running with Task Scheduler you must check the box for "Run with highest privileges")
    * 64-bit OS support only
    * Working directory should be the same directory where DellFanCmd.exe and bzh_dell_smm_io_x64.sys are
    * Can be used without "test signing mode" enabled or "disable driver signature enforcement" enabled

    * A Visual C++ 2017 runtime might be required. If this is the case and you don't have it, you'll get some sort of missing DLL message when you try to run the app. Let me know what happens. If you do have a problem, try installing this: https://aka.ms/vs/15/release/vc_redist.x64.exe

    Disclaimer:
    * I've only tested this on a Precision M6700. I'm not responsible if anything bad happens to your system. (Shouldn't be any more dangerous than the "Dell fan utility" GUI app, though.)

    Just run: DellFanCmd [command]
    where [command] is one of:

    ec-disable: disable EC control of the fans (fans are now controlled manually, use SpeedFan)
    ec-enable: enable EC control of the fans (fans are now controlled automatically)
    ec-disable-alt: alternate method to disable EC fan control
    ec-enable-alt: alternate method to enable EC fan control

    I'm not sure what the alternate method does but it might help someone if the regular method doesn't work.

    I will be publishing the source code and additional setup suggestions ... Once I have time to do some writing and testing.

    P.S. If it works well for you, and you want to throw me a few bucks to help cover the cost of purchasing the driver signing certificate, send a PM... :p

    [Edit] Binary removed, see https://github.com/AaronKelley/DellFanCmd/releases
     
    Last edited: Jan 21, 2019
    ja14000, Maleko48 and maffle like this.
  49. maffle

    maffle Notebook Evangelist

    Reputations:
    179
    Messages:
    545
    Likes Received:
    506
    Trophy Points:
    106
    That is what I experienced too, with them spinning up/down immediately. So I guess the driver doesnt even load or not properly on the 9570. That is why I asked, if there was a way to see, if it was loaded correctly. I actually asked the developer of the driver, if there was a chance to modify it making it work for the 9570. And he answered in this "typical arrogant developer tone", moody, cocky, bored... and said if I want it to work, I am "free to modify the driver"... Unfortunatly low level driver or ASM programming is way beyond my skills.
     
  50. Aaron44126

    Aaron44126 Notebook Prophet

    Reputations:
    879
    Messages:
    5,549
    Likes Received:
    2,070
    Trophy Points:
    331
    If you try the command line tool that I posted, it will spit out an error if the driver does not load correctly. (Other than the additional information I don't think that it would bring any value to you, it's not going to work if the GUI app did not.)

    Even if you could get the driver to load I am not hopeful that it would solve the problem; there are other differences in the fan behavior so I suspect that they have more or less completely changed how it works. (I.e. on the Precision M6700, disabling the EC fan control is required before SpeedFan can do *anything* about the fan speed, but on the 8th-gen 7530 SpeedFan is able to make changes that are just overwritten immediately.) So, more than likely the EC command to let go of fan control would not work and someone is going to have to figure out a different way to do it (if it is even possible).
     
    Maleko48 and maffle like this.
← Previous pageNext page →