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.
 Next page →

    DellFanManagement & DellFanKeepAlive – Tools for managing the fan speed in Dell laptops

    Discussion in 'Dell' started by Aaron44126, Jun 18, 2020.

  1. Aaron44126

    Aaron44126 Notebook Prophet

    Reputations:
    879
    Messages:
    5,549
    Likes Received:
    2,070
    Trophy Points:
    331
    Introducing DellFanManagement, a suite of tools for manipulating the fans in Dell laptops.

    There are a few different tools in the package:

    DellFanLib, a library (DellFanLib.dll) which facilitates passing fan commands to the embedded controller (EC). It uses bzh_dell_smm_io_x64.sys, and all of the other tools depend on this.
    DellFanLibInterop, a .NET library (DellFanLibInterop.dll) which makes it easy to make calls to DellFanLib from a .NET environment. Other .NET developers could use this to build their own Dell fan control apps. Maybe someone can think of a different strategy that works better for certain situations.
    DellFanCmd, which behaves the same as the old version of the app with the same name. A new test feature has been added which can quickly determine if it will work with your laptop model and what the available fan speeds are.
    DellFanKeepAlive, a new tool which allows for locking the fans at a specific speed during certain conditions and allowing the EC to manage them during others.
    DellSmmIoLib, a library which allows sending commands to the Dell SMM BIOS (without using bzh_dell_smm_io_x64.sys).
    DellSetThermalSetting, a simple tool that allows adjusting the system thermal setting (optimized/cool/quiet/performance) from the command line.

    The source code for the entire package is available at https://github.com/AaronKelley/DellFanManagement.
    Binaries can be downloaded from https://github.com/AaronKelley/DellFanManagement/releases.


    History (working backwards)

    I previously released the command-line app DellFanCmd, which allows for disabling the EC fan control. DellFanCmd can also set the fan to a certain speed. Other apps like SpeedFan can also manage the fan once EC fan control is disabled. HWiNFO64 has since been updated to use the same mechanism for fan control, so it can manage the fans in the same manner without DellFanCmd or bzh_dell_smm_io_x64.sys.
    Source code
    NotebookReview forum thread

    DellFanCmd is derived from an app called "Dell fan utility", by 424778940z. It uses the same driver, bzh_dell_smm_io_x64.sys, which is by the same author.
    Dell fan utility source code
    bzh_dell_smm_io_x64.sys source code
    NotebookReview forum thread

    bzh_dell_smm_io_x64.sys is derived from the "i8k" driver on Linux and these projects which enable the same level of fan manipulation in Dell laptops on Linux:
    https://github.com/clopez/dellfan
    https://github.com/TomFreudenberg/dell-bios-fan-control
    ...and also from I8kfanGUI and its associated driver by Christian Diefer.
    https://www.diefer.de/i8kfan/index.html


    System requirements
    • 64-bit Windows 10/11.
    • All of the tools require loading a driver, so you must be running them elevated / "as administrator".
    • All of the tools require the Visual C++ 2019 redistributable. You will get some sort of DLL load error if it is not installed. https://aka.ms/vs/16/release/vc_redist.x64.exe
    • All of the tools aside from DellFanLib are .NET binaries and require Microsoft .NET Framework 4.8.
    • bzh_dell_smm_io_x64.sys is signed with a valid code-signing certificate, but it is not an EV certificate. You must make a registry change, and then reboot, in order for it to be allowed to load. More details on this can be found here. You will get a driver load error if this is not done.
    Code:
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CI\Policy]
    "UpgradedSystem"=dword:00000000
    • See list of supported systems in the post below; there are most likely other supported systems that are not on the list, almost all models released since 2011 (Intel 2nd-gen Sandy Bridge or newer) work.


    Possibilities and limitations

    Basically, people have discovered a few commands that can be passed to the EC that have to do with fan management.

    You can disable EC fan control or enable EC fan control. EC fan control is enabled by default, whenever you boot the system. If EC fan control is disabled, the fans will no longer respond to changes in temperature or system load. EC fan control will remain disabled until it is specifically enabled again, or you do a full shutdown of the system. The system will always start from a cold boot with EC fan control enabled, but it will not be enabled after a reboot.

    You can set the fan level for each fan to level 0 (off), level 1, or level 2. The actual speed (RPM) for level 1 and level 2 varies from system to system. I've found that level 1 is a little bit below the lowest level that the EC normally chooses to use, and level 2 is a bit below the highest level that the EC normally chooses to use. For example, in my Precision 7530, level 1 is 2100 RPM and level 2 is 4400 RPM. However, if the EC is in charge of the fans, it won't run them any lower than 2300 RPM (unless they are off) and it can push them up as high as 4800 RPM.

    Basically, this means that any setup that uses these EC commands is limited to just three fan speeds: "off", "medium", and "high". if the EC is left in charge of the fans, it has five (?) different fan speeds that it will use in addition to the "off" speed, so more granular fan speed modulation is possible but you have no direct control over it.

    The last thing that you can do is query the fan speed for either fan. This works whether EC fan control is enabled or not.


    DellFanCmd

    This is a simple command-line tool that allows for passing commands to the EC.

    Code:
    Usage: DellFanCmd [command]
    Available commands:
      ec-disable              Turn EC fan control off (fan goes to manual control)
      ec-disable-nofanchg     Turn EC fan control off and don't change the fan speed
      ec-enable               Turn EC fan control on (fan goes to automatic control)
      test                    Try turning EC fan control off,
                              and record the fan RPM at different levels.
      fan1-rpm                Report RPM for fan 1
      fan2-rpm                Report RPM for fan 2
                              (RPMs are reported via status/error code)
    
    After EC fan control is off, you may use:
      fan1-level0             Set fan 1 to level 0 (0%)
      fan1-level1             Set fan 1 to level 1 (50%)
      fan1-level2             Set fan 1 to level 2 (100%)
      fan2-level0             Set fan 2 to level 0 (0%)
      fan2-level1             Set fan 2 to level 1 (50%)
      fan2-level2             Set fan 2 to level 2 (100%)
    
    Append "-alt" to EC disable or enable commands to attempt alternate method.
    (Example: ec-disable-alt)
    You can read more about how this works and how to use it in the DellFanCmd thread. One thing that has been added is the test function. Running "DellFanCmd test" will run through a test sequence; the program will disable EC fan control, try the fans at each of the different levels and record the RPMs, and then enable EC fan control again.


    DellSetThermalSetting

    This is a simple command-line app that allows you to adjust the system's thermal setting / thermal mode from the command line. (This is the same setting that you can adjust from Dell Power Manager, or from the BIOS on systems with 10th gen CPUs and up.)

    This program must be run elevated / as administrator. It should work on any system that Dell Power Manager works on (systems with 4th gen CPUs and up). Unlike the other tools, it does not require the Visual C++ redistributable and it does not require that you make the registry change to allow non-EV-signed drivers to be loaded.

    Code:
    Usage is simple:
      DellSetThermalSetting.exe Optimized          Set system to optimized mode
      DellSetThermalSetting.exe Cool               Set system to cool mode
      DellSetThermalSetting.exe Quiet              Set system to quiet mode
      DellSetThermalSetting.exe UltraPerformance   Set system to ultra performance mode

    DellFanKeepAlive

    Background

    I basically set all of this up so that I could build this program, which is borne out of long-term frustrations that I have with the fan control in my Precision M6700 in particular.

    I purchased my Precision M6700 at launch in 2012, but before that my primary system was an Inspiron 1720. This was a nice, solidly built high-spec machine (for its time)... They don't make Inspirons like that anymore. One thing that I loved about it was that it was quiet even under high load. Eventually, I needed more horsepower so I replaced it with the M6700, which was Dell's top offering for a high-spec laptop at the time. I was generally pleased with it but noticed right away that the fans were louder. Even more obnoxious was the noise that they make when starting up from the off state. Instead of gradually revving up to the lowest running speed (≈2400 RPM), they whir up to a higher speed before settling down which causes a very noticeable "fans are turning on" sound. (My sensorimotor OCD really hates this, it's quite distracting.) And the system likes to alternate between fans on and fans off on a ≈10 minute cycle if there isn't a whole lot going on.

    The Precision wasn't designed to be a quiet system. It wasn't even really designed to be a personal home system, it seems like they are more for specific high-performance use cases. But it's a shame because they are an excellent choice for a home system for power-user types who just want a nice, solid laptop that is serviceable, upgradeable, and that can offer high performance when desired. It's not bulky like some high-end consumer systems that lean more towards the gaming space, with crazy LED lights and huge rear exhaust radiators (but the Precision is still totally usable for gaming). If Dell spent a little bit of time working on the thermal management (...and the keyboard layout, but that's another story) then they'd have something that I really couldn't complain about.

    So anyway, my goal is basically to have two modes of operation that I can easily switch between. There is "regular mode", where I am just using the system lightly, browsing the web, writing, watching videos, doing light dev work, etc. In this case the CPU is not being pushed very hard. The system should totally be able to run with the fans at a consistent, low level for an extended period of time. Then, there is "performance mode" which I will switch over to if I need extra CPU or GPU power. In this case, the fans will be allowed to ramp up. Switching between modes should be deliberate but super easy.

    What is DellFanKeepAlive?

    My original idea for this was, I just wanted to let the EC manage the fans normally but prevent them from ever turning off, which is where the name came from. This would at least stop the on-again off-again fan behavior, plus the annoying startup sound in my M6700, for a nice and consistent and still quiet noise coming out of the fans. This is done by continuously watching the fan speed and system temperatures. When the fan speed hits the lowest normal EC fan speed, and the temperatures are pretty low, EC fan control will be shut off and the fans will be locked at their lowest normal speed. If the system comes under load and things start heating up, EC fan control will be re-enabled so that the fans can ramp up.

    Setup

    Technically, you don't need to set up two modes of operation to use this app ("regular"/"performance" as described above), so this section can be skipped. However, I have found that if you do not take some measure to limit the CPU speed, a light load can cause the temperatures to spike up quickly which will create more fan speed variation than desired or necessary. So, here is an easy way to set up two different performance modes that can be easily toggled between, on more recent versions of Windows 10.

    1. Use the Balanced power plan. (This is the default and you sort of have to go out of your way to change it.)
    [​IMG]
    2. In advanced power settings, set the maximum processor state to 99%.
    [​IMG]
    3. Set the power slider one step from the right. (You will have to make this change separately on AC power and battery power, as the system "remembers" the slider position separately for each.) This, combined with the previous step, will prevent the CPU from entering "turbo boost" speeds and you'll be capped in the mid 2 GHz range — which is completely fine for more light desktop work.
    [​IMG]
    4. If you want to uncap the CPU speed for higher performance, all you need to do is move the slider over to the right.
    [​IMG]

    Alternate method.
    (This is actually what I am using.)
    You can leave the power slider one notch from the right and, instead, switch between the "Balanced" power profile and the "High performance" power profile, either programmatically or with a script. "Balanced" should have the maximum processor state set to 99%, and "High performance" should have the maximum power state set to 100%, so switching to "High performance" will uncap the CPU.

    Benefits to this method:
    • You can have other differences between "regular mode" and "performance mode" aside from the CPU speed cap.
    • For example, the Precision M6700 supports the "Dell Feature Enhancement Pack" application which adds some extra thermal management options to advanced power settings. I'm using the "Quiet" thermal mode in the "balanced" profile, and "Standard" in "high performance".
    [​IMG]
    • I don't know of a way to use a script to change the power slider, but you can use a script to change the power profile. Here are commands to switch to "balanced" and "high performance", respectively.
    Code:
    powercfg -s 381b4222-f694-41f0-9685-ff5bb260df2e
    powercfg -s 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c
    (I'm using another tool to automatically change profiles when certain programs are open, so I rarely have to manually flip power modes at all.)

    Using DellFanKeepAlive

    The program takes three command-line parameters.
    1. Lower temperature threshold (°C)
    2. Upper temperature threshold (°C)
    3. Fan speed threshold (RPM)

    When you run the program, it will stay active and monitor the temperature (all CPU cores, and the discrete GPU as well if you have one) and the fan speeds. It will wait until all of the temperatures are below the lower temperature threshold and all of the fan speeds are below the fan speed threshold (but above zero), and at that point, it will shut off the EC fan control, locking the fan speed.

    If any of the temperatures rise above the upper temperature threshold, EC fan control will be enabled and the EC can cool the system according to however it normally works.

    The goal here is...
    • The fans will never totally spin down because the program will lock the fan speed before the EC gets around to shutting them off.
    • The fan speed will remain constant under moderate CPU load; only if one of the CPU core temperatures rises above the upper threshold will they be allowed to ramp up.

    If you set the lower temperature threshold too low, the system might decide to shut off the fans before the temperature gets low enough.
    If you set the upper temperature threshold too high, then it might take a while for the upper threshold to be reached and the fans to activate (and they will roar to life when they do).
    If you set the two temperatures too close together, then you might end up with flip-flop behavior as the temperature waffles above and below the thresholds.

    It takes some trial and error to find a good setup and it depends for each system. But really... You just want to set the upper threshold to the temperature at which you want the fans to kick up and the lower threshold comfortably below that.

    For my Precision M6700, I am using:
    lower threshold 70 (idle temperatures can actually drop into the 50's)
    upper threshold 80
    fan threshold 2800

    My Precision 7530 runs considerably cooler; I am using:
    lower threshold 54 (idle temperatures can actually drop into the 30's)
    upper threshold 64
    fan threshold 2400

    Here's what it looks like running my Precision M6700.

    [​IMG]

    You can see the current temperature and RPM values, and also the range of temperatures that have been observed since the program started. (Temperatures are provided by Open Hardware Monitor.) In addition to text stating that the fan speed is locked, you can tell that this is the case because of the blue background.

    Here is what things look like after some light gaming... The CPU temperature was pushed above 80, so the fan speed was unlocked (EC takes control), and the background turns red to make it obvious that this happened.
    [​IMG]

    On my Precision 7530, there are more cores to show (and lower temperatures).
    [​IMG]

    This happens sometimes immediately after starting the program... The EC has turned the fans off, so we have to wait for it to decide to turn them back on before the fan speed will be locked.
    [​IMG]

    I think that the EC might use CPU load in addition to temperature to decide what speed to run the fans at. Here, the temperature rose so the fan speed was unlocked, but the temperature is now stable at around 50. I don't think that there is any reason for the fans to be running at 4000 RPM... But I'm going to let the EC do its thing. We have to wait for the EC to the speed before it will be locked again.
    [​IMG]

    This one is on an Inspiron 15R 5520. The program correctly detects that this system only has one fan.
    [​IMG]

    Startup

    There are any number of ways to start the program at boot. I'm using Task Scheduler with an "At log on" trigger that just fires up the program. In this case you have to make sure that the task has "Run with highest privileges" selected, again, the program must be run elevated so that it can load the EC I/O driver. The thresholds can be specified in the "Add arguments" field.
    [​IMG]

    (I fully intend to make a GUI version of this app that can hide in the system tray. I'm waiting to see how things shake out with WinUI before deciding which direction to go with it.)

    One more note... If you run DellFanCmd while DellFanKeepAlive is running, it will probably cause DellFanKeepAlive to crash. Don't run the tools at the same time.


    DellFanLib and DellFanLibInterop

    These can be used to build your own fan control solutions. They have similar interfaces; DellFanLibInterop exists just to make it easy to call DellFanLib from a .NET environment without having to set up the interop calls yourself. Check DellFanLib.h and DellFanLib.cs to see the interface, or look at the DellFanCmd source code which is a pretty straight-forward command-line implementation.


    DellSmmIoLib

    This is a .NET library that allows sending commands to the Dell SMM BIOS using the ACPI/WMI interface. This is the same method that Dell Power Manager uses to talk to the BIOS. I think that it should be possible to build this out and replace bzh_dell_smm_io_x64.sys, so that a separate driver won't be needed to send fan control commands, but I haven't figured out how to replicate the commands used in DellFanLib yet.


    Always interested in ideas for improvement, or if anyone has ideas for other strategies (within the constraints of what is possible with the limited EC control) that might work better.
     
    Last edited: Dec 31, 2021
  2. Aaron44126

    Aaron44126 Notebook Prophet

    Reputations:
    879
    Messages:
    5,549
    Likes Received:
    2,070
    Trophy Points:
    331
    Supported systems:
    We have confirmation that this method works with these systems. (Add yours in a comment below and I will add it to this list.) I think that it is highly likely to work with any system closely related to these (basically any system with a 2nd-generation Sandy Bridge CPU, or later).

    Precision M4600 / Precision M6600
    Precision M4700 / Precision M6700
    Precision M4800 / Precision M6800
    Precision 7530 / Precision 7730
    Precision 7550 / Precision 7750

    Precision 5520

    Latitude E6540
    Latitude E7440

    Inspiron 5379
    Inspiron 5577
    Inspiron 15R 5520
    Inspiron 15R 5521

    Inspiron 7559
    Inspiron 7567
    Inspiron 7577

    Inspiron 7779 ("2-in-1")

    G5 5587
    G7 7588

    XPS 9360
    XPS 9550
    XPS 9560 ( Seems to be broken with later BIOS versions)
    XPS 9570 ( BIOS 1.6.0 or lower?)
    Note: Some XPS systems seem to lose the ability to control the screen brightness from the keyboard after disabling EC fan control

    How to check to see if your system supports this fan control mechanism.

    1. Make sure that Visual C++ 2019 redistributable and .NET Framework 4.8 are installed.
    https://aka.ms/vs/16/release/vc_redist.x64.exe
    https://dotnet.microsoft.com/download/dotnet-framework/thank-you/net48-web-installer

    2. Apply the registry change to allow non-EV-signed drivers to be loaded.
    Code:
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CI\Policy]
    "UpgradedSystem"=dword:00000000
    Reboot.
    (You can remove this after the test to restore things to how they used to be.)

    3. Download DellFanCmd and unzip.
    https://github.com/AaronKelley/DellFanManagement/releases

    4. Open a command prompt "as administrator" in the location where you unzipped the files.

    5. Run the command:
    Code:
    DellFanCmd test
    6. The system should cycle through some different fan speeds and come back with the RPM values... Post back with the results.
     
    Last edited: Feb 13, 2021
  3. alittleteapot

    alittleteapot Notebook Consultant

    Reputations:
    22
    Messages:
    112
    Likes Received:
    63
    Trophy Points:
    41
    Hi Aaron!

    I thought I would post the results here. Ambient temperature is around 77 F, and this is my Precision 7730 under idle load:

    Fan 1 initial speed: 3389
    Fan 2 initial speed: 3584

    Fan 1 level 0 speed: 0
    Fan 1 level 1 speed: 2018
    Fan 1 level 2 speed: 4192

    Fan 2 level 0 speed: 0
    Fan 2 level 1 speed: 2005
    Fan 2 level 2 speed: 4201
     
    Aaron44126 likes this.
  4. Aaron44126

    Aaron44126 Notebook Prophet

    Reputations:
    879
    Messages:
    5,549
    Likes Received:
    2,070
    Trophy Points:
    331
    Thanks. That's about the same as I see on the Precision 7530. I haven't had confirmation that any newer systems are supported (Precision 7X40, 7X50)... hoping that nothing has changed.
     
  5. minimalmayhem

    minimalmayhem Notebook Enthusiast

    Reputations:
    5
    Messages:
    11
    Likes Received:
    5
    Trophy Points:
    6
    On my 7550:
    Loading SMM I/O driver...
    ...Success.
    Disabling EC fan control...
    Measuring: Fan 1, level 0...
    Measuring: Fan 1, level 1...
    Measuring: Fan 1, level 2...
    Measuring: Fan 2, level 0...
    Measuring: Fan 2, level 1...
    Measuring: Fan 2, level 2...
    Enabling EC fan control...
    Test procedure is finished.
    Fan 1 initial speed: 2780
    Fan 2 initial speed: 2767
    Fan 1 level 0 speed: 0
    Fan 1 level 1 speed: 2225
    Fan 1 level 2 speed: 4830
    Fan 2 level 0 speed: 0
    Fan 2 level 1 speed: 2226
    Fan 2 level 2 speed: 4848
    Unloading SMM I/O driver...
    ...Done.
     
  6. Aaron44126

    Aaron44126 Notebook Prophet

    Reputations:
    879
    Messages:
    5,549
    Likes Received:
    2,070
    Trophy Points:
    331
    Excellent, thank you...
     
  7. Aaron44126

    Aaron44126 Notebook Prophet

    Reputations:
    879
    Messages:
    5,549
    Likes Received:
    2,070
    Trophy Points:
    331
    I have a new goal for a feature add. I want to add the capability to switch the Dell "thermal mode" (Optimized/Cool/Quiet/Performance) either programmatically or from a command-line tool. Right now, I only know of these ways to switch it.
    * Systems with 3rd gen CPUs and lower — It's attached to the Windows power profile (so you can switch it from the command line by issuing a command to switch power profiles)
    * Systems with 4th gen CPUs and higher — can only be switched from the Dell Power Manager GUI app, open it up and select from the list of radio buttons
    * Systems with 10th gen CPUs and higher — you can use Dell Power Manager, or you can also use a new menu that has been added in the BIOS setup

    I've been poking around in the DLLs that are shipped with Dell Power Manager this morning to see how the app does it. I've made some interesting discoveries.

    * Dell Power Manager talks to the BIOS via WMI — it is not necessary to actually load a driver. It might be possible to use this instead of the bzh_dell_smm_io_x64.sys driver with the above tools.
    * The methods in the DLL library that interface with the BIOS have a security check in front of them, so you can't just write an app and hook up to the DPM DLLs and do whatever you want. They check to make sure that the calling executable is signed by Dell before allowing access to most things. I will be able to work around this because the check happens entirely in the DLL userspace; the interface to the BIOS itself doesn't seem to have any checks in front of it.
    * I am able to read the model number and system service tag pretty easily. I was also able to successfully query the BIOS and detect the current thermal mode and also the list of available thermal modes (highlighted at the bottom here), which requires bypassing the signature security check, so proof of concept is sort of done.

    [​IMG]

    I still have to unravel some more before I can actually change the thermal mode, but I am proceeding...
     
  8. Aaron44126

    Aaron44126 Notebook Prophet

    Reputations:
    879
    Messages:
    5,549
    Likes Received:
    2,070
    Trophy Points:
    331
    Did some reverse engineering against SmbLib.dll and came up with a simple interface to send commands to the BIOS. It hits the Microsoft ACPI/WMI interface so a separate driver is not needed.

    I am able to read the thermal mode and also change it.
    [​IMG]

    Will investigate tomorrow if this interface can be used for stuff that I am currently using bzh_dell_smm_io_x64.sys for (enable/disable fan control, change fan speed, query RPM).
     
  9. Aaron44126

    Aaron44126 Notebook Prophet

    Reputations:
    879
    Messages:
    5,549
    Likes Received:
    2,070
    Trophy Points:
    331
    New release, version 2.1. I've made some tweaks to the other tools but the main one is a new DellSetThermalSetting which simply allows setting the thermal setting (optimized/cool/quiet/performance) from the command line. I'm updating the documentation up top.

    I tried using the ACPI/WMI interface to issue other commands but was unable to get it to work. I still think that it is possible, just a matter of figuring out how to package up the commands to be sent to the SMM BIOS. Possibly something simple that I didn't try. If anyone else wants to take a stab at it, be my guest...
     
    Maleko48 likes this.
  10. minimalmayhem

    minimalmayhem Notebook Enthusiast

    Reputations:
    5
    Messages:
    11
    Likes Received:
    5
    Trophy Points:
    6
    This is great, thanks. the actual dell thermal app takes ages (well, a few seconds) to load, so having this (quick!) utility is really nice.
     
  11. Aaron44126

    Aaron44126 Notebook Prophet

    Reputations:
    879
    Messages:
    5,549
    Likes Received:
    2,070
    Trophy Points:
    331
    Yes, I noticed that the Dell Power Manager app takes a good 20 seconds or so to load on my system too. You could easily set up desktop shortcuts or something to fire the command line app and switch to a certain mode.
     
  12. minimalmayhem

    minimalmayhem Notebook Enthusiast

    Reputations:
    5
    Messages:
    11
    Likes Received:
    5
    Trophy Points:
    6
    That's exactly what I did! I prefer cool over optimised for most day to day stuff....that little bit of extra heat coming into my palms with 'optimised' is just a bit unpleasant
     
  13. wretchedsoul

    wretchedsoul Newbie

    Reputations:
    0
    Messages:
    1
    Likes Received:
    0
    Trophy Points:
    5
    Hey guys need some help, inspiron 15 7559, did the regedit, extract dellfancmd and run cmd to the path but loading SMM I/O driver failed. Thank you so much
     
  14. Aaron44126

    Aaron44126 Notebook Prophet

    Reputations:
    879
    Messages:
    5,549
    Likes Received:
    2,070
    Trophy Points:
    331
    Basically things to check...
    * You're running 64-bit Windows
    * Visual C++ 2019 redistributable is installed
    * bzh_dell_smm_io_x64.sys file exists wherever you are running the program from
    * Command prompt is run elevated / "as administrator"
     
  15. Maleko48

    Maleko48 Notebook Deity

    Reputations:
    207
    Messages:
    711
    Likes Received:
    529
    Trophy Points:
    106
    this looks exciting, I hope to play with it soon! :)

    Any idea why I am getting this error when trying to update my Dell Power Manager from v3.6.0 to newest release version?
     

    Attached Files:

    Last edited: Jul 29, 2020
  16. Sibb

    Sibb Newbie

    Reputations:
    0
    Messages:
    3
    Likes Received:
    0
    Trophy Points:
    5
    I have an issue running the DellFanCmd.
    I extracted the DellFannCmd.zip to desktop (bzh_dell_smm_io_x64.sys, DellFanLib.dll and the .exe), I run the .exe as admin, CMD flashes up and that is it. The .exe is not running in the background (task manager) and it is not in the system tray.

    I have a Lattitude 7280 with W10 and latest BIOS, CPU fan do the pumping thing (from 0 to 100% in 1 sec, over and over), because I am using it with a Dell Docking station.

    What I did:
    -- Visual C++ 2019 installed

    --While installing NET: .NET Framework 4.8 or a later update is already installed on this computer.

    -- HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CI\Policy
    Right click on Policy, new key, DWORD 32-bit, name: UpgradedSystem, value data: . Restarted few times after that.

    Could you please help me to run the .exe?

    .
     
  17. Aaron44126

    Aaron44126 Notebook Prophet

    Reputations:
    879
    Messages:
    5,549
    Likes Received:
    2,070
    Trophy Points:
    331
    This is a fully command-line app. It does not run in the background and it does not stay active. It does its job and then quits. You have to run it from the command line to see the output. If you're not comfortable with the command line then you should look at Dell fan utility. You can drop my copy of bzh_dell_smm_io_x64.sys in place of his and then you won't have to worry about turning off driver signing or whatever.
     
  18. Sibb

    Sibb Newbie

    Reputations:
    0
    Messages:
    3
    Likes Received:
    0
    Trophy Points:
    5
    Thank you, it was new to me, that you can start and add options to a .exe through cmd.
    Could you please interpret the behavior of my machine?
    • With or without docking station (USB C), after a time the fan (cpu only) start to pump (0-100% in quick bursts)
    • Sometimes after 1-3 restart/shutdown the fan works normal
    • I run the cmd as admin and after DellFanCmd.exe ec-disable the fan worked at 100% and after few seconds started to pump
      "Loading SMM I/O driver...
      ...Success.
      Attempting to disable EC control of the fan...
      ...Success.
    • DellFanCmd.exe ec-enable worked but fan still pumping
      Loading SMM I/O driver...
      ...Success.
      Attempting to enable EC control of the fan...
      ...Success.
      Unloading SMM I/O driver...
      ...Done.
    • I run the test, fan1 was measured at level 0-2, but the speed was displayed as 0.
    I turned the EC off and on. Could be the EC damaged on mainboard? Could be the fan itself be broken?
     
  19. Aaron44126

    Aaron44126 Notebook Prophet

    Reputations:
    879
    Messages:
    5,549
    Likes Received:
    2,070
    Trophy Points:
    331
    That seems like very strange behavior. What model system do you have?
    [Edit] Nevermind I see it is a Latitude. I haven't done any testing on these systems but it sounds like there might indeed be a system issue with your motherboard or fan.

    Is your system new? Has it always had this problem?
     
  20. Sibb

    Sibb Newbie

    Reputations:
    0
    Messages:
    3
    Likes Received:
    0
    Trophy Points:
    5
    I bought it through ebay it had low resolution screen, the motherboard was clean and the thermal grease was fresh.
    At the beginning it happend only once but then more often.
    Btw: I used the alt methode, no change.
    After few restarts the fan started to work fine, I run "...exe test" after measirung Fan1, level 0 the fan started to pump again.
    I also got since last two days error while booting:
    Fan malfunction. Pres F1 to retry boot... F5 onboard diagnostics, which found nothing.
     
  21. Aaron44126

    Aaron44126 Notebook Prophet

    Reputations:
    879
    Messages:
    5,549
    Likes Received:
    2,070
    Trophy Points:
    331
    If you got that from the BIOS then I think that there is a hardware issue of some sort. I'd check for a replacement fan on eBay, hopefully that is all that is needed to take care of it.
     
  22. maj3091

    maj3091 Newbie

    Reputations:
    0
    Messages:
    3
    Likes Received:
    0
    Trophy Points:
    5
    Hi,

    Recently came across this post whilst trying to solve a random shutdown issue on my Dell Inspiron 5579 ( i7-8550U @ 1.8Ghz, 16Gb RAM, Win10 (x64) ), which by googling, I'd determined was a thermal shutdown, as there was nothing graceful about it, it was just off and wouldn't power on again for a good few minutes sometimes, albeit, there wasn't a great deal of heat (from what I could tell).

    Firstly, I want to say thanks to @Aaron44126 for the effort in putting this together, as this is definitely looking like a step in the right direction in resolving my issue.

    Just to provide some feedback. I ran the dellfancmd test option and got the following output on my setup.


    Loading SMM I/O driver...
    ...Success.
    Disabling EC fan control...
    Looks like fan 2 is not present, system only has one fan?
    Measuring: Fan 1, level 0...
    Measuring: Fan 1, level 1...
    Measuring: Fan 1, level 2...
    Enabling EC fan control...
    Test procedure is finished.


    Fan 1 initial speed: 0

    Fan 1 level 0 speed: 0
    Fan 1 level 1 speed: 2527
    Fan 1 level 2 speed: 5080

    Unloading SMM I/O driver...
    ...Done.


    Not sure if the line in red above is a normal thing, I suspect not, and that may well explain my issue. In the BIOS logs, I do have a fan controller error, which appears to be stopping the fan being controlled by the BIOS, yet it can quite happily be controlled by this tool.

    I did try to use the ThermalSetting tool to see if I could force manage the fan (If I understood it's usage correctly), but that failed to work for me on any setting, giving the below:

    Thermal setting, before change: Error
    Failed to apply the new thermal setting.


    I'm running the dellfancmd tool with the fan1-level1 option and it was stable all day yesterday. It is early days yet, as sometimes my laptop has gone days without an issue, yet on other days it can shutdown 4 times in an hour, then be stable for the rest of the day.

    I know there is a BIOS update available (I'm currently running 1.11.0), but I didn't see anything about addressing fan issues. To be honest, I've been nervous about doing it for fear of a shutdown mid flashing.

    At the moment, i'm happy to have the fan at 50% constantly and live with the noise, if it means it not randomly turning off, although I'd rather it get to a more controlled fan setting at some point.

    Anyway, apologies for the long winded message, I just want to say thanks and provide some feedback on potentially a different setup.
     
  23. Aaron44126

    Aaron44126 Notebook Prophet

    Reputations:
    879
    Messages:
    5,549
    Likes Received:
    2,070
    Trophy Points:
    331
    Not unusual for the initial speed to show 0. It is unusual if the fan speed does not ramp up in response to temperature/load. In this case I would recommend that the motherboard be replaced if the system is under warranty (which it should be if you got a three-year), but otherwise, you'll have to use third-party tools like this to manage the fan.

    You can use HWiNFO or SpeedFan to have the fan respond to temperature, but, only the three that can be set here can be used (off/medium/high), not a more granular set of speeds which is supposed to be what you get with the EC managing the fan.

    I wouldn't be too worried about flashing the BIOS. You can set the fan speed to max and then run the flash. The fan speed change will "stick", even if Windows is shut down, until the system is fully shut down or another program makes an EC adjustment (which the BIOS flasher might do at the very end).
     
  24. maj3091

    maj3091 Newbie

    Reputations:
    0
    Messages:
    3
    Likes Received:
    0
    Trophy Points:
    5
    Thanks for the reply. Unfortunately it wasn't on a three year warranty, so don't want to go there, albeit I'm due an upgrade through work soon.

    Thanks for tips, I'll give it another few days running as it is, before I attempt the flash, just to be sure that I've found the issue for sure.

    Appreciate the help.
     
  25. Aaron44126

    Aaron44126 Notebook Prophet

    Reputations:
    879
    Messages:
    5,549
    Likes Received:
    2,070
    Trophy Points:
    331
    Couple things to mention.

    I don't really expect updating the BIOS to actually help with this issue (although it might).

    Also regarding the failure to switch thermal modes, have you tried Dell Power Manager? (You can download this program directly from Dell.) You can also switch the thermal mode in there under "Thermal Management". I'm sort of surprised if it works in there but not through the command-line app (assuming that you were running the command-line app "as administrator") because they do basically the same thing in the background.
     
  26. maj3091

    maj3091 Newbie

    Reputations:
    0
    Messages:
    3
    Likes Received:
    0
    Trophy Points:
    5
    I did try the Dell Power Manager, prior to finding this thread and there is no thermal management option under there.

    The Dell site does suggest that if there's been a fan failure, then it won't appear. This does tie in with the error I had in the BIOS, but still seems strange to me that I can control it directly.

    Using the fancmd tool, I can now see the fans under HWinfo (but not speedfan), so I may have go at setting that up at somepoint.

    At the moment, things seem to be running OK at 50% constant fan.

    I want to try using the alt switch from tomorrow though, as I've noticed things lag sometimes, but not sure if it's related.

    Thanks again for your assistance, much appreciated.
     
  27. Aaron44126

    Aaron44126 Notebook Prophet

    Reputations:
    879
    Messages:
    5,549
    Likes Received:
    2,070
    Trophy Points:
    331
    In SpeedFan, you have to go to settings and specifically enable some checkbox for Dell fan control. I have some details on how I used to have it set up in the first post in this thread.
    Ok, so it makes sense that if Dell Power Manager won't let you see/adjust the thermal setting, then it wouldn't work with my command-line tool either. The EC/BIOS must be tossing back an error there.
     
  28. LaptopFan99

    LaptopFan99 Newbie

    Reputations:
    0
    Messages:
    3
    Likes Received:
    1
    Trophy Points:
    5
    Thank you so much for making this software! It seems like exactly what I need, but unfortunately it is not working for me. I suspect this may be due to my laptop's BIOS version, which was 1.19 and then I updated to 1.20, but it still did not work. Was the software designed for use with an older version of the BIOS?

    I am on a Dell XPS 9560. I've seen an old post on the previous thread where someone said it worked for their 9560 in March 2019. Do you think an older BIOS from around that time would be more likely to work? (I'm just trying to avoid a rollback if it's not necessary)

    Here are more details about my problem:

    When I run DellFanCmd test, the fan control only sometimes works. It always sets the fan speeds properly for fan 1, but for fan 2 it is usually operating at max (~6000 RPM) and the test does not lower this number at all. Sometimes when I run the test, it does lower both fan speeds.

    It seems that the EC takes control again only seconds after running the "ec-disable" or "ec-disable-alt" commands. After running either of these commands, I'm not able to manually set the fan speeds with either DellFanCmd or HWInfo.

    The odd thing is that my system is just idling around 42-47C for both CPU and GPU, so it is very weird that I'm at 6000 RPM at all. I'm on a Balanced profile and Dell Power Manager is set to quiet. It seems that my system runs fan #2 at max speeds for a LONG time recently, like 1 hour or more, while the temps are very low (mid 40s C). Then it randomly decides to slow down to 2500-3000 rpm, with random bursts up/down... so frustrating! Any ideas or suggestions are very welcome. Thanks so much for your hard work on this!
     
    Maleko48 likes this.
  29. Aaron44126

    Aaron44126 Notebook Prophet

    Reputations:
    879
    Messages:
    5,549
    Likes Received:
    2,070
    Trophy Points:
    331
    Support broke with a BIOS update to the XPS 9570, there is some information in this post. Looks like this might be the case for the 9560 as well. I added a note to the supported systems list (second post in this thread).
    http://forum.notebookreview.com/thr...ps-under-windows.805317/page-16#post-10851726

    Unfortunately, I don't really have any idea how a workaround might be produced :-\
    I also don't have a system that I could even run some tests with.

    [Edit]
    Maybe try running in "Optimized" mode instead of "Quiet" mode. On my 7530, "Quiet" is definitely louder than "Optimized" for some reason. This can be measured... In "Optimized" the lowest fan speed is around 2300 and the next highest is around 2700. But in "Quiet", the lowest is also 2300, but then the next one up is 3000, and the system likes to alternate between those under a modest office workload.

    Also try limiting the max CPU speed (I have details about this in the first post — you don't have to use DellFanKeepAlive, just look at my Windows power settings setup). That can help keep the fans under control.
     
    Last edited: Sep 16, 2020
    LaptopFan99 and cfe like this.
  30. LaptopFan99

    LaptopFan99 Newbie

    Reputations:
    0
    Messages:
    3
    Likes Received:
    1
    Trophy Points:
    5
    Thanks very much for your reply, and for linking that post. I already limited the CPU to 99% and set the system cooling policy to "passive" rather than "active". I've also been using Throttlestop to disable Turbo and slightly downvolt my processor (since some games were causing periodic overheating). So far it seems that the system is very loud (fan #2 at 6000 rpm) in either Quiet or Optimized modes. It is hard to understand why my system is running the fan so high with my CPU at 47C and even with clock at ~1 GHz (way below the max speed). I feel like the noise issues were not this bad in the past, perhaps the new BIOS versions have made things worse.

    I'm thinking about downgrading to BIOS 1.6, just a little hesitant since it is from back in December 2017. I'll keep experimenting with settings for now, and will post again if I find any solution!

    Update: I found a solution! (for the most part)

    Fan #2 was running at max speed because the Nvidia Control Panel was set to use the "High Performance GPU" (GTX 1050) to run my web browser and some other common applications. It seems this caused the EC to force fan #2 to maximum speeds whenever these applications were open. After changing the settings in Nvidia Control Panel (Manage 3D Settings -> Program Settings) to use Internal Graphics for these programs, my fan speeds reduced to idling at ~3500 RPM in Quiet mode. When changing to Optimized mode, both fans went to ~3800 RPM.

    So my situation is much improved now, as running at 6000 RPM sounded like I was working on a drone rather than a laptop. Anyway, thanks again for your reply. If the fans cause any more trouble I can always roll back the BIOS and give DellFanKeepAlive a try!

    Update #2: It seems that DellFanCmd is working now that I've disabled the "High Performance GPU" for all of my running applications in Nvidia Control Panel, even with the latest bios version 1.20! I was able to reduce my idle fan speeds from 3500 to 2500 rpm, which is very quiet! The system now runs around 57 C, but I think that's a nice trade-off, and it is great to be able to control the fans.
     
    Last edited: Sep 16, 2020
  31. LaptopFan99

    LaptopFan99 Newbie

    Reputations:
    0
    Messages:
    3
    Likes Received:
    1
    Trophy Points:
    5
    Update for anyone with new BIOS (I have 1.20) or an XPS 9560/similar:

    DellFanCmd / DellFanKeepAlive seem to intermittently work. Meaning sometimes the EC control takes over despite this software trying to disable it. But other times, DellFanCmd is able to take over and actually reduces the fan speeds to the specified setting. It seemed that using the internal GPU for all software helps reduce fan speeds, but the system still seems to randomly speed up my fans, even when I'm not using the high performance GPU or even doing any computations at all. It's quite annoying. I may downgrade the BIOS soon and try DellFanCmd again if this can't be fixed.
     
  32. mkoev

    mkoev Notebook Enthusiast

    Reputations:
    0
    Messages:
    46
    Likes Received:
    7
    Trophy Points:
    16
    Hello all. I am trying to use the DellSetThermalSetting app, but it just says

    Thermal setting, before change: Error
    Thermal setting, after change: Error

    Tried it with EC enabled and disabled. The DellFanCmd.exe is working great. Made sure I've got all the libraries in the same folder, cmd is running as Admin.

    Using Dell 7577 with Win 10 Home 64bit.
     
  33. Aaron44126

    Aaron44126 Notebook Prophet

    Reputations:
    879
    Messages:
    5,549
    Likes Received:
    2,070
    Trophy Points:
    331
    Are you able to adjust the thermal setting in Dell Power Manager on this system?
     
  34. Maleko48

    Maleko48 Notebook Deity

    Reputations:
    207
    Messages:
    711
    Likes Received:
    529
    Trophy Points:
    106
    The 7577 never received that control portion of Dell Power Manager... I believe it is only valid starting on 8th or 9th gen CPUs through Dell.
     
  35. Aaron44126

    Aaron44126 Notebook Prophet

    Reputations:
    879
    Messages:
    5,549
    Likes Received:
    2,070
    Trophy Points:
    331
    On the Precision line the setting is available starting from 4th gen CPUs, but I do not know if that is the case for all product lines. My console app will not be able to change the setting if it is not available in Dell Power Manager.
     
    Maleko48 likes this.
  36. Maleko48

    Maleko48 Notebook Deity

    Reputations:
    207
    Messages:
    711
    Likes Received:
    529
    Trophy Points:
    106
    Yeah... I have just come to expect nearly no support from Dell at this point... except to kneecap existing machines in the name of "security" to get users to spend more money on another machine... except that doesn't work on me and my next machine almost certainly will NOT be a Dell.

    I have tried updating to the newest DPM but have been unable to for some time due to an installation/update error despite my best efforts to work around it. I don't use DPM anyways, as I just set what it can control in my BIOS and forget about it. I prefer to have less junk running on my machine in the background anyways.

    A properly setup, tuned, and automated machine using ThrottleStop and your utilities is better than whatever "thermal" profiles Dell has to offer anyways imo.
     
  37. Aaron44126

    Aaron44126 Notebook Prophet

    Reputations:
    879
    Messages:
    5,549
    Likes Received:
    2,070
    Trophy Points:
    331
    The thermal profiles allow you to tilt the system performance in favor of either performance, noise, or surface temperature (pick one to improve at the expense of the other two). They can certainly be used in conjunction with ThrottleStop, and not just necessarily instead of it.

    Dell Power Manager doesn't actually need to be installed to use the console app to switch profiles. Newer Dell systems also allow the thermal profile to be set in the BIOS, but either the console app or DPM will allow it to be set "on the fly" without a reboot. I have my system dynamically switching between "Quiet" and "Performance" depending on what apps I am running.
     
  38. mkoev

    mkoev Notebook Enthusiast

    Reputations:
    0
    Messages:
    46
    Likes Received:
    7
    Trophy Points:
    16
    Thank you for all the answers. Indeed the 7577 never got the control portion in DPM. I really hate the fact than I can't control my fans with the click/press of a button so having some profiles to easily change between them would've been great.
     
  39. Maleko48

    Maleko48 Notebook Deity

    Reputations:
    207
    Messages:
    711
    Likes Received:
    529
    Trophy Points:
    106
    I wrote a couple of batch scripts and pinned them to my taskbar: DisableEC, EnableEC, FanLv0, FanLv1, FanLv2
    Good enough for now
     
  40. mkoev

    mkoev Notebook Enthusiast

    Reputations:
    0
    Messages:
    46
    Likes Received:
    7
    Trophy Points:
    16
    Do you mind posting them? :D
     
  41. Maleko48

    Maleko48 Notebook Deity

    Reputations:
    207
    Messages:
    711
    Likes Received:
    529
    Trophy Points:
    106
    They are literally the exact commands spelled out in this thread's OP shoved into a batch file with the "Run as Admin" option checked and a custom icon set for them. Here are mine... Obviously they live on my C:\ drive at C:\DellFanControl\DellFanCmd-2.1\
    It takes a bit of Windows screwery to pin batch file shortcuts to your taskbar... I basically had to rename them as a .exe, pin the exe then rename the file back to .bat . Note, they do not run silently... that takes more Windows screwery than I care about at the moment.

    Here is what my taskbar looks like: upload_2020-10-17_15-54-8.png

    DellFanCmd_ECDisable.bat
    C:\DellFanControl\DellFanCmd-2.1\DellFanCmd.exe ec-disable-nofanchg

    DellFanCmd_ECEnable.bat
    C:\DellFanControl\DellFanCmd-2.1\DellFanCmd.exe ec-enable

    DellFanCmd_FanLevel0.bat
    C:\DellFanControl\DellFanCmd-2.1\DellFanCmd.exe ec-disable-nofanchg
    C:\DellFanControl\DellFanCmd-2.1\DellFanCmd.exe fan1-level0
    C:\DellFanControl\DellFanCmd-2.1\DellFanCmd.exe fan2-level0


    DellFanCmd_FanLevel1.bat
    C:\DellFanControl\DellFanCmd-2.1\DellFanCmd.exe ec-disable-nofanchg
    C:\DellFanControl\DellFanCmd-2.1\DellFanCmd.exe fan1-level1
    C:\DellFanControl\DellFanCmd-2.1\DellFanCmd.exe fan2-level1


    DellFanCmd_FanLevel2.bat
    C:\DellFanControl\DellFanCmd-2.1\DellFanCmd.exe ec-disable-nofanchg
    C:\DellFanControl\DellFanCmd-2.1\DellFanCmd.exe fan1-level2
    C:\DellFanControl\DellFanCmd-2.1\DellFanCmd.exe fan2-level2
     
  42. Aaron44126

    Aaron44126 Notebook Prophet

    Reputations:
    879
    Messages:
    5,549
    Likes Received:
    2,070
    Trophy Points:
    331
    To run silently you can point your shortcuts to cmdh.exe (attached). This program takes the same parameters as cmd.exe but does not spawn a visible console window ("h" is for "hidden"). The command would just be
    cmdh.exe [full path to batch file]
     

    Attached Files:

    Maleko48 likes this.
  43. mkoev

    mkoev Notebook Enthusiast

    Reputations:
    0
    Messages:
    46
    Likes Received:
    7
    Trophy Points:
    16
    You guys are golden!!!! Thanks so much! :)
     
  44. Kocane

    Kocane Notebook Deity

    Reputations:
    395
    Messages:
    1,626
    Likes Received:
    15
    Trophy Points:
    56
    This tool is very much appreciated. Final solution to getting my brothers AIO (7775) under control. Despite hardly getting warm it has a knack for increasing the fan RPM but this tool lets us control it with Speedfan or HWiNFO. Funny how such an AIO is so much like a laptop but I guess it makes sense. Thank you very much for providing us this tool.

    EDIT: Hmm, I'm trying to use DellFanKeepAlive. I use the exe with parameters "DellFanKeepAlive.exe 70 80 1059" and it launches and monitors speed and temperatures but don't seem to have much affect and it gives me an "!! Errors detected, check error log file for details !!".

    upload_2020-10-31_20-15-32.png

    The error in the log is just repeatedly:
    Code:
    31/10/2020 20:13:59 - System.FormatException Input string was not in a correct format.
       at System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer& number, NumberFormatInfo info, Boolean parseDecimal)
       at System.Number.ParseInt32(String s, NumberStyles style, NumberFormatInfo info)
       at DellFanManagement.KeepAlive.TemperatureReader.GetCpuCoreTemperatures()
       at DellFanManagement.KeepAlive.DellFanKeepAlive.Main(String[] args)
    Any idea? Combining EC control at load but making the PC shut up when idling/light loaded seems the ideal solution. Using DellFanCmd works just fine, to switch between speeds and turning EC on/off.

    Thanks
     
    Last edited: Oct 31, 2020
  45. Aaron44126

    Aaron44126 Notebook Prophet

    Reputations:
    879
    Messages:
    5,549
    Likes Received:
    2,070
    Trophy Points:
    331
    Hmm, I do not get any errors when I run DellFanKeepAlive under normal circumstances. It looks like there is something going on which is preventing Open Hardware Monitor from seeing the temperatures of your individual CPU cores. (There should be a line for each core in addition to the "CPU package" line.)

    If you run Open Hardware Monitor directly, does it report temperature values for the individual cores? What type of CPU does this thing have?
    https://openhardwaremonitor.org/downloads/
     
    Last edited: Nov 2, 2020
  46. morbvamp

    morbvamp Newbie

    Reputations:
    0
    Messages:
    2
    Likes Received:
    0
    Trophy Points:
    5
    Hi, I was trying to execute DellFanKeepAlive process but it crashes with the following error:
    [​IMG]

    P.S. I'm not running DellFanCmd at all.
    P.S.2 DellFanCmd works fine..
     
  47. Aaron44126

    Aaron44126 Notebook Prophet

    Reputations:
    879
    Messages:
    5,549
    Likes Received:
    2,070
    Trophy Points:
    331
    See directions in the first post. You have to provide lower temperature bound, upper temperature bound, and RPM bound as command-line parameters. (At some point I'm going to update the app to complain properly if you leave these out. I also have plans for a more robust GUI app that runs from the system tray but life is preventing me from working on it right now.)
     
    morbvamp likes this.
  48. morbvamp

    morbvamp Newbie

    Reputations:
    0
    Messages:
    2
    Likes Received:
    0
    Trophy Points:
    5
    I was able to run DellFanKeepAlive passing the parameters needed. I can also confirm that this works on my Dell XPS 13 9300 withouth any issues. Now I need to find the best low-high-rpm values for this laptop!

    Thanks for your hard work and help!
     
  49. ptrkhh

    ptrkhh Notebook Consultant

    Reputations:
    44
    Messages:
    242
    Likes Received:
    0
    Trophy Points:
    30
    Is it possible to do something like DellFanKeepAlive but in fanless (level 0) mode instead of 50% speed (level 1)?

    Basically I want to save as much battery as possible, and therefore the fan needs to be off as much as possible, and it should only run in an emergency (temperature reaches above 85 or 90). Current Intel CPU (the 14nm, at least) is efficient enough to run in fanless mode in browsing and office tasks. I am currently typing this with the fan off (level 0) on my XPS 15 9560, and the temperature is at 47 degrees, even though the ambient temperature is easily above 25.

    Basically what I want:
    • 0-85 degrees --> Fan level 0
    • Above 85 degrees --> Give control back to EC
    Either that, or:
    • 0-85 degrees --> Fan level 0
    • 85-90 degrees --> Fan level 1
    • Above 90 degrees --> Fan level 2
    _________________________


    Btw long before I found this program, the Dell fan management is quite weird. Basically:
    1. Idle with fan on
    2. Open Dell Command Power Manager
    3. Set the fan profile to something else (this could literally be anything, you could go from Quiet -> Cool for that matter)
    4. Fan turns off
    5. Set the fan profile back to the previous option
    6. Fan is still off
    Idk it feels like EC sometimes 'forgot' to adjust the fan speed or something unless I told them "Hey active fan profile X". Anybody has an idea what's going on there?
     
  50. Aaron44126

    Aaron44126 Notebook Prophet

    Reputations:
    879
    Messages:
    5,549
    Likes Received:
    2,070
    Trophy Points:
    331
    I have observed this as well. I'm not completely sure how the EC decides to do what it does, but it seems to have a timer component — i.e., "if things were hot recently, then once the temperature is below X threshold for X seconds, shut off the fans". Making a profile change resets the whole state of the system and can cause the fans to immediately shut off.

    Your first request "basically what I want" is something that I will look into providing with the next update to the app. (No timeline commitment, I have a lot of stuff on my plate.) Though in a case like this, when you hand control back to the EC at a high temperature you will find the fans immediately/suddenly ramping up to the highest level, because that is where the EC will want to put them.

    Your second request "Either that, or" is already possible using DellFanCmd + SpeedFan. I have some directions on how to set it up in this post. Note that in SpeedFan, you have to find a checkbox in settings to turn on Dell laptop fan support, which is not on by default, and then restart the app before it will see your fans.
    http://forum.notebookreview.com/thr...ual-custom-control-of-the-laptop-fans.827106/
    I think that you might also be able to do it with hwinfo64 (no DellFanCmd required). I haven't played with the fan management options in there but other users have reported that it works and you can set thresholds.
     
    Last edited: Dec 2, 2020
 Next page →