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 →

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

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

  1. ptrkhh

    ptrkhh Notebook Consultant

    Reputations:
    44
    Messages:
    242
    Likes Received:
    0
    Trophy Points:
    30
    Is there a way to apply the profile every 5 minutes or something? That might be a decent enough solution lol. I don't mind Dell's fan profile if it didnt spin the fan for no reason.

    Good point, its probably higher than what I need, but in such emergency situation, I wouldnt really mind.

    I will checkout SpeedFan and hwinfo64, thank you for your suggestions :)
     
  2. Aaron44126

    Aaron44126 Notebook Prophet

    Reputations:
    879
    Messages:
    5,549
    Likes Received:
    2,070
    Trophy Points:
    331
    Yes, just use Task Scheduler to fire off a job on the schedule of your choosing. You can either have it disable and then enable the EC fan control, or switch to a different thermal profile and then back to the original. Either one would have the "reset" behavior and both can be done with the tools posted above.
     
  3. amorsh

    amorsh Newbie

    Reputations:
    0
    Messages:
    7
    Likes Received:
    0
    Trophy Points:
    5
    Hi!

    Thanks for providing the tools DellFanCmd and DellFanKeepAlive!

    They've been proving useful to troubleshooting my issue with my M6800 not kicking on fans. I'm not sure exactly for the reason why, but it seems like something is preventing the fans from kicking on properly.

    The attached screenshot is of the DellFanCmd test results for my Dell Precision M6800 and specs for my laptop.

    Strangely - when using your DellFanKeepAlive program - the fans drop to 0 speed, and don't even kick on at all even with parameters i've set. Everything is being run in administrator mode.

    Once I can figure out how to get DellFanKeepAlive running and controlling my fans - i'd love to automate it somehow and run automatically in the background. SpeedFan seems to be working well and configuration of it seems to be the way to go for now. Keep up the great work.

    m6800gtx980m.PNG specs.PNG
     

    Attached Files:

  4. Aaron44126

    Aaron44126 Notebook Prophet

    Reputations:
    879
    Messages:
    5,549
    Likes Received:
    2,070
    Trophy Points:
    331
    DellFanKeepAlive largely relies on the EC to control the fans. Its main job is to prevent the EC from turning the fans off and otherwise let it exercise its normal control, which is more granular than the two speeds allowed with a manual control solution like SpeedFan (there are like five different fan speed levels instead of just two). The program disables the EC fan control to prevent the fans from turning off when certain conditions are met. If the EC never turns the fans on, though, it won't work.

    The only stories that I've heard about the M6800 not kicking the fans on are when a newer, unsupported AMD GPU is installed. But it looks like you have an NVIDIA GPU in your system... So I don't know what's going on there. If the EC won't behave then a manual/programmable solution like SpeedFan or HWiNFO64 is the best you're going to get.
     
  5. jbuildit

    jbuildit Notebook Enthusiast

    Reputations:
    0
    Messages:
    49
    Likes Received:
    3
    Trophy Points:
    16
    So I have been dissecting the original bin of this tool (the app by 424778940z) and I still don't get how the .sys file interacts with the BIOS. Does it simply override the fan controller or does it rewrite a portion of the BIOS? Or is the fan controller overridden? I spent about 2 hours or so picking over the schematic I have on a M4700 and the fan controller seems to interact with the MEC5055 internal controller, does the .sys override this controller? I know you guys didn't create the original dell_fan_utility package but I am curious if you know how it works?

    Thanks for the assistance.
     
  6. Aaron44126

    Aaron44126 Notebook Prophet

    Reputations:
    879
    Messages:
    5,549
    Likes Received:
    2,070
    Trophy Points:
    331
    It doesn't overwrite anything in the BIOS, it basically just sends commands to the EC. There are undocumented commands that can be issued to perform the options that you see in DellFanCmd. Dell tools will also use these (for instance, when you are upgrading the BIOS, there is a portion towards the end where it will halt the normal EC fan control and crank the fans to max).

    The .sys file is necessary because, in Windows, only kernel-mode code has the privilege to interact with the system in this way. Other tools like Open Network Monitor and HWiNFO64 work similarly, pairing a .sys/driver file with the program in order to allow the app to do the low-level system stuff that it needs.

    There is a less restricted WMI interface that does not require a separate driver that is used by the "Dell Power Manager" app, but it's basically the same; an interface to send commands to the BIOS or EC to tell it to do something. I have been successful in using it to send commands to change the thermal mode ("quiet", "ultra performance", etc.) but I was not successful in using it to actually get the EC to give up fan control. It might be possible, and I just don't know what I'm doing... my work on this has basically been stringing together stuff done by other people.
     
  7. jbuildit

    jbuildit Notebook Enthusiast

    Reputations:
    0
    Messages:
    49
    Likes Received:
    3
    Trophy Points:
    16
  8. Aaron44126

    Aaron44126 Notebook Prophet

    Reputations:
    879
    Messages:
    5,549
    Likes Received:
    2,070
    Trophy Points:
    331
    Hmm, I have never seen this before, but I will take a look. At a glance it looks like you can use it to change some of the options in the BIOS, or some of the options in Dell Power Manager (there is overlap between the two), but nothing deeper than that.
     
  9. jbuildit

    jbuildit Notebook Enthusiast

    Reputations:
    0
    Messages:
    49
    Likes Received:
    3
    Trophy Points:
    16
    Yea, I wasn't able to get most of the commands to work. A lot of the updated features aren't available on my older models. I did do some batchwork and put together a couple custom logos. My M4600 has the old BIOS logo but modified and the M6700 has the same concept but with the updated logo. I included some screenshots of icons and the shortcuts on my screen(s) if they are of actual interest, and the PNG versions that haven't been translated to icons (for some reason the format is blocked on NotebookReview) are also included.
     

    Attached Files:

  10. Aaron44126

    Aaron44126 Notebook Prophet

    Reputations:
    879
    Messages:
    5,549
    Likes Received:
    2,070
    Trophy Points:
    331
    Nice... You should be able to attach .zip files which contain any type of file.
    Do you mind if I use the "dellfan" icon for a future GUI version of the software? (With credit.)
    I'm getting plans together ........... I just don't really have time to work on it just now.
     
  11. jbuildit

    jbuildit Notebook Enthusiast

    Reputations:
    0
    Messages:
    49
    Likes Received:
    3
    Trophy Points:
    16
    Here is a zip file with all of the PNG's and icons used. I do not need any credit; heck, I used a licensed stock photo of a fan and Dell logos.
     

    Attached Files:

  12. jpsulisz

    jpsulisz Notebook Enthusiast

    Reputations:
    0
    Messages:
    24
    Likes Received:
    7
    Trophy Points:
    6
    Just wanted to thank @Aaron44126 for this, really helped me not pulling out my hair since the WX 4150 doesn't interact well unless flashed.

    Here are the results of my Dell Precision M4800, looks like brightness control also doesn't work here either:
    upload_2021-2-13_3-53-42.png
     
  13. Aaron44126

    Aaron44126 Notebook Prophet

    Reputations:
    879
    Messages:
    5,549
    Likes Received:
    2,070
    Trophy Points:
    331
    Thanks. Brightness control not working may well be because of your "unsupported" GPU, and not because of the Dell fan manipulation... that's a pretty common problem.
     
  14. Wafoe

    Wafoe Newbie

    Reputations:
    0
    Messages:
    2
    Likes Received:
    0
    Trophy Points:
    5
    Cool software. I've been using DellFanKeepAlive for a while, but not for the reason that the fan keeps shutting off, rather, the fan is always at a high RPM when connected to external screens. Weird, but DellFanKeepAlive keeps it at a low RPM. I'd like to see an option to disable the fan threshold and to just disable and enable EC off of temperature management, because sometimes it takes a long while to go back to 2600-ish RPM. It would also be cool to have the possibility to only have 1 fan running at a time instead of both. For light idle work, one fan seems good enough for cooling. When the system is being taxed, I don't mind the start-up sound of the fan because the system is loud in that case anyways.

    I might have noticed something interesting. I use a Dell G5 15 which has access to Alienware Command Center, which has a fan control option within it. However, it only allows for a positive offset (as to make the fans run louder), but it is very fine and can increment the fans by 1% at a time - both fans independently. It might be possible to use this control mechanism to make a fully custom curve with 100 possible fan speeds instead of 3. I'm not a developer myself so I have no idea how to research this, but I figured I might bring it to your attention!
     
  15. jbuildit

    jbuildit Notebook Enthusiast

    Reputations:
    0
    Messages:
    49
    Likes Received:
    3
    Trophy Points:
    16
    Can you send a download link for your version, if you have one? The one I found from 2018 was able to launch and I could configure power settings but it disabled fan settings.
     
  16. Aaron44126

    Aaron44126 Notebook Prophet

    Reputations:
    879
    Messages:
    5,549
    Likes Received:
    2,070
    Trophy Points:
    331
    Interesting. I'll try to take a look at this at some point. It might be possible to reverse engineer how they are talking to the BIOS like I did when coming up with the command line tool to change the thermal profile.
    ...However, unless they have made the BIOS interface for this granular fan control more universal than just on G5 and Alienware systems, I do not have any systems that i could test it on...
     
  17. Wafoe

    Wafoe Newbie

    Reputations:
    0
    Messages:
    2
    Likes Received:
    0
    Trophy Points:
    5
    Alienware Command Center? I downloaded it from the driver page for my laptop under Alienware Command Center Application. Make sure to also download the Windows Store application.

    Might be, might also not be... I don't see any specific settings within the BIOS of my G5 for fan control. If you ever want to test anything, you can shoot me a message.
     
  18. Andy2718

    Andy2718 Newbie

    Reputations:
    0
    Messages:
    1
    Likes Received:
    0
    Trophy Points:
    5
    Many thanks for this tool, it's been really useful. One minor issue I found is that usage shows that this is how I query the fan speed:
    Code:
      fan1-rpm                Report RPM for fan 1
      fan2-rpm                Report RPM for fan 2
    
    But the code ( DellFanCmd.cs) actually has this:
    Code:
    else if (args[0] == "rpm-fan1")
    {
        getFanRpm = true;
        fanSelection = FanIndex.Fan1;
    }
    else if (args[0] == "rpm-fan2")
    {
        getFanRpm = true;
        fanSelection = FanIndex.Fan2;
    }
    
     
  19. Aaron44126

    Aaron44126 Notebook Prophet

    Reputations:
    879
    Messages:
    5,549
    Likes Received:
    2,070
    Trophy Points:
    331
    Oops, yes, good catch...
    I'll get that fixed.
     
  20. Karath-Vanashta

    Karath-Vanashta Newbie

    Reputations:
    0
    Messages:
    5
    Likes Received:
    0
    Trophy Points:
    5
    This looks great. Definitely trying it on the M4800.
     
  21. kimiraikkonen

    kimiraikkonen Notebook Evangelist

    Reputations:
    20
    Messages:
    383
    Likes Received:
    22
    Trophy Points:
    31
    Do these tools work properly with DELL LATITUDE E6330 laptop on Windows 10 21H1?

    Default fan algorithm is crazy, for example; during browsing the web or typing some text which are basic usage types, the fan intermittently turns on and off erratically based on very minimal and momentarily temp changes causing very annoying windy noise. I just want to set to a lowest and steady fan speed to make it always run even during light usage, OR completely turn it off until CPU reaches the specific temp.

    Is that possible?
     
  22. Aaron44126

    Aaron44126 Notebook Prophet

    Reputations:
    879
    Messages:
    5,549
    Likes Received:
    2,070
    Trophy Points:
    331
    That's basically what "DellFanKeepAlive" is for ... I'm working on a more intuitive sort of all-in-one GUI version but probably a few months away from having something to show. (Time for side projects is quite limited.)
     
    kimiraikkonen likes this.
  23. kimiraikkonen

    kimiraikkonen Notebook Evangelist

    Reputations:
    20
    Messages:
    383
    Likes Received:
    22
    Trophy Points:
    31
    It would be great. I have E6430s BIOS in E6330 chassis (don't know how it happened as it is a used unit), which really requires a simple GUI-based way to control CPU fans for the sake of keeping user's sanity.

    It spins up and down extremely frequently and no way to adjust that behviour at the moment.
     
  24. Aaron44126

    Aaron44126 Notebook Prophet

    Reputations:
    879
    Messages:
    5,549
    Likes Received:
    2,070
    Trophy Points:
    331
    Preview...
    [​IMG]

    Sort of all-in-one fan management control panel. It has basically all of the functions from the different applications described in the first post, plus, a fix for this audio popping issue on the Realtek audio chip (it just streams "silence" to the sound chip to prevent it from going to sleep). The program also has command-line functionality so it will basically replace the different commandiline apps previously released.

    Plan:
    July 1 — 3.0 beta release — Source code available, everything in the screen shot above functional
    August 1 — 3.0 release — Bug fixes / refinement, also persist settings when the app is closed & opened again
    September 1 — 3.1 release — System tray status icon & minimize to tray functionality

    [Edit 6/21]
    Schedule change.
    July 1 — 3.0 beta release
    August 1 — 3.0 final release (including tray icon functionality)
    The program is progressing well so I think that I should be able to have everything that I want included by the end of next month (before the Precision 7X60 systems start shipping).
     
    Last edited: Jun 21, 2021
    zhongze12345, Maleko48 and custom90gt like this.
  25. Kocane

    Kocane Notebook Deity

    Reputations:
    395
    Messages:
    1,626
    Likes Received:
    15
    Trophy Points:
    56
    I'm planning to buy a Dell micro desktop (OptiPlex 7040). Does anyone know if these tools work with it?
     
  26. Aaron44126

    Aaron44126 Notebook Prophet

    Reputations:
    879
    Messages:
    5,549
    Likes Received:
    2,070
    Trophy Points:
    331
    Quite possibly, Dell seems to use the same firmware interface for fans in at least some desktops. I got a GitHub note from someone who tried using it in a desktop with more than two fans, and the tools worked, he was just asking if I could support more than two fans (which I will in the next version of the command-line tool).
     
  27. Aaron44126

    Aaron44126 Notebook Prophet

    Reputations:
    879
    Messages:
    5,549
    Likes Received:
    2,070
    Trophy Points:
    331
    [​IMG]
    Announcing Dell Fan Management, version 3 beta.
    This is a full GUI application that rolls together all of the functionality of the user-facing tools described above. (It also supports the same command line parameters as DellFanCmd, so you can use Task Scheduler or another automation tool to make things happen without invoking the GUI.)

    I welcome feedback from anyone who wants to try it out. I have a number of small things that I still want to hit for a non-beta release (scheduled for August 1), but the application is fully functional.

    Requirements:
    • 64-bit Windows
    • The program is intended for use with Precision 7000-series systems, but it will likely work with all manner of Dell laptops, and maybe even smaller desktops (with Intel Sandy Bridge / 2nd-gen CPU or better)
    • Current Visual C++ redistributable ( https://aka.ms/vs/16/release/vc_redist.x64.exe)
    • .NET Framework 4.8 runtime ( https://dotnet.microsoft.com/download/dotnet-framework/thank-you/net48-web-installer)
    • .NET 5.0 runtime ( https://dotnet.microsoft.com/download/dotnet/5.0/runtime, desktop x64)
    • In the registry, visit HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CI\Policy, make a DWORD value called "UpgradedSystem" (no quotes) and set it to 0. Then, reboot. This allows drivers without a Microsoft EV signature to be loaded. (The final release next month will offer to set this value automatically at first launch.)

    Source code is here: https://github.com/AaronKelley/DellFanManagement
    Binary/executable: https://1drv.ms/u/s!AsIwJHFk4EFdp_8c7-ZHoLoFq2F5mw?e=DI4nqN

    To run the program, extract the zip file, and then open "DellFanManagement.exe" with elevated permissions ("as administrator").

    You can set the program to "Manual" mode and then switch EC fan control on or off. With EC fan control off, you can set the fan speed to whatever setting you like. Also, if EC fan control is off, you can use a separate tool like SpeedFan to control the fans.

    I would like to draw special attention to "Consistency" mode (which basically replaces the "DellFanKeepAlive" tool). I'm really happy with how this turned out and it has removed all annoyances I have with the fan behavior in my Precision systems. The purpose of this mode is to maintain a consistent, low fan speed — to never let the fans power off, and also to keep them from ramping up unnecessarily. This is accomplished by waiting for ideal conditions and then automatically turning EC fan control off to "lock" the fans at the current speed. There are some options to set here:
    • Lower temperature threshold: This should be set a bit above what you would observe in an idle to moderate workload on the CPU. The program will wait for all measured temperatures to be below this value before locking the fan speed.
    • Upper temperature threshold: This should be set to a value that you would see under a high workload on the CPU, when you would actually want the fans to run at a higher speed. If any measured temperature crosses over this value, EC fan control will be restored, allowing the system to ramp the fans up.
    • RPM threshold: This should be set just a little bit higher than the lowest speed that the fans normally operate at before turning off. For example, in my Precision 7530, the lowest speed for the fans is around 2300 so I set this value to 2400.
    • ("Alerts" will pop a tray notification when the fan speed is locked or unlocked, but this feature is not yet available.)
    • When "Consistency" mode is on, the program status bar will indicate what state it is in.
    • To further reduce the chance that the fans could ramp up unnecessarily, make sure to clean the dust off of your fans from time to time, and you can also disable turbo boost on your CPU when you are not doing CPU-intensive work:
    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]

    There is also a system tray icon. If animation is enabled, the animation speed changes dynamically with the system fan RPMs. In "Consistency" mode, the icon turns blue when the fan speed is locked and red when it is unlocked.
    [​IMG]

    The "Thermal setting" option is a quick way to switch between the different settings also available in the Dell Power Manager application (or selectable in the BIOS on newer systems). Older systems may not support this functionality, and in this case, the radio buttons are disabled.

    Finally, there's a "bonus feature" unrelated to fans and thermals called "audio keep alive". This keeps an audio device active to prevent it from making pop/click sounds when a system alert or sound starts to play. This is something that often occurs in systems with the Realtek audio chip. Just pick the Realtek device from the drop-down menu and then check the box.

    When you close the program, it will automatically enable EC fan control. However, when you run it again, the options that had been previous selected will be set automatically. (If the program crashes for some reason and fails to enable EC fan control, fully powering off the system and then powering it on again will put things back in the normal state.)

    Notes:
    • Minimize-to-tray functionality is not yet present but is planned for the next release.
    • I am using NVAPI to read the GPU temperature if an NVIDIA GPU is present. If an AMD GPU is present, I use Libre Hardware Monitor to read the GPU temperature. This caused a pretty noticeable resource drain when I tried it with NVIDIA GPUs (which is why I switched to NVAPI), so I'd be interested in hearing if that is the same for AMD GPU users. If it is the case, I will have to look into an alternate method to read the AMD GPU temperature. (I do not have any systems with AMD GPUs to test with.)

    Pinging for notification:
    @Ionising_Radiation @zhongze12345 @custom90gt @Maleko48 @mkoev @Kocane @morbvamp @amorsh @jbuildit @Wafoe @kimiraikkonen
     
    Last edited: Jul 1, 2021
  28. Vaardu

    Vaardu Notebook Evangelist

    Reputations:
    140
    Messages:
    308
    Likes Received:
    283
    Trophy Points:
    76
    Gave it a whirl on my M4800 with the WX-4150 but was shown this error.
    upload_2021-7-1_14-9-0.png
     
  29. Aaron44126

    Aaron44126 Notebook Prophet

    Reputations:
    879
    Messages:
    5,549
    Likes Received:
    2,070
    Trophy Points:
    331
    Hmm hmm. Apparently if you do not have an NVIDIA system, I should not even try to load the NVAPI library. I'll try to find a workaround for this.
     
  30. Aaron44126

    Aaron44126 Notebook Prophet

    Reputations:
    879
    Messages:
    5,549
    Likes Received:
    2,070
    Trophy Points:
    331
    I've updated the program with a workaround for this issue. Same link. Please download again and give it another go...
     
  31. Vaardu

    Vaardu Notebook Evangelist

    Reputations:
    140
    Messages:
    308
    Likes Received:
    283
    Trophy Points:
    76
    Downloaded, and a different error this time.
    upload_2021-7-1_20-16-31.png
     
  32. Aaron44126

    Aaron44126 Notebook Prophet

    Reputations:
    879
    Messages:
    5,549
    Likes Received:
    2,070
    Trophy Points:
    331
    Pushed out another update which should fix this one. This one tells me that Libre Hardware Monitor must be putting out some temperature value on your system that it is not on mine, that I would like to exclude. (Post a screen shot of the app running if it works this time.)
     
  33. Vaardu

    Vaardu Notebook Evangelist

    Reputations:
    140
    Messages:
    308
    Likes Received:
    283
    Trophy Points:
    76
    Another error popped up, different one:
    upload_2021-7-1_20-56-41.png
     
  34. Aaron44126

    Aaron44126 Notebook Prophet

    Reputations:
    879
    Messages:
    5,549
    Likes Received:
    2,070
    Trophy Points:
    331
    Oops, I somehow included the pdb file instead of the dll there. Uploaded again...
     
  35. Vaardu

    Vaardu Notebook Evangelist

    Reputations:
    140
    Messages:
    308
    Likes Received:
    283
    Trophy Points:
    76
    upload_2021-7-1_22-10-54.png

    Working now, but is thermal setting meant to be greyed out?
     
  36. Aaron44126

    Aaron44126 Notebook Prophet

    Reputations:
    879
    Messages:
    5,549
    Likes Received:
    2,070
    Trophy Points:
    331
    Yes, setting thermal setting from this program doesn't work on older systems so it greys out in that case. Same thing on my M6700.
     
    Vaardu likes this.
  37. jbuildit

    jbuildit Notebook Enthusiast

    Reputations:
    0
    Messages:
    49
    Likes Received:
    3
    Trophy Points:
    16
    After running the application as administrator on a week-old install of Windows 10, I can't seem to be able to shut down anymore - at least from the start menu. I don't know if this is a driver-specific thing but I can't seem to get the Dell BIOS to switch power states after Windows sends the shutdown command (i.e: cut the power post-shutdown). Just wanted to point this out in case this affects other systems. This was on my M6700 as well.
     
  38. Aaron44126

    Aaron44126 Notebook Prophet

    Reputations:
    879
    Messages:
    5,549
    Likes Received:
    2,070
    Trophy Points:
    331
    ...Did you have the application open when you issued the shut down command? (It does release fan control to the BIOS when it is closing, but I wonder if the shut down somehow interrupts its normal close process and prevents this?)
     
  39. jbuildit

    jbuildit Notebook Enthusiast

    Reputations:
    0
    Messages:
    49
    Likes Received:
    3
    Trophy Points:
    16
    I started the program about 5 power cycles ago (failed shutdowns) but haven't since. I did run DellFanCmd through batch scripts as well but those worked perfectly fine on previous installs, other PC's, etc. Is there somewhere where I should delete or reinstall the .sys driver, if that could be the cause?
     
  40. Aaron44126

    Aaron44126 Notebook Prophet

    Reputations:
    879
    Messages:
    5,549
    Likes Received:
    2,070
    Trophy Points:
    331
    The .sys file / driver should be unloaded when the program terminates normally.

    You can check to see if it is loaded:
    Go to the registry and look for the key HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\BZHDELLSMMIO. If it exists, the driver is loaded; if it does not, the driver is not loaded.
    If the driver is loaded and you want to unload it manually, just run this command from command prompt "as admin":
    sc delete BZHDELLSMMIO
    It will be automatically loaded again if you run one of the tools that uses it.

    (Note: Even if the driver is loaded, it doesn't do anything unless a program is running that uses it.)
     
  41. zhongze12345

    zhongze12345 Notebook Evangelist

    Reputations:
    52
    Messages:
    307
    Likes Received:
    118
    Trophy Points:
    56
    The manual fan control isn't working and the fan RPM's report odd numbers. As a side note, in HWinfo64, I couldn't find the option for EC monitoring and there wasn't a pop-up asking to monitor the EC on program startup.
    The computer is a Precision 7760 upload_2021-7-17_11-10-13.png

    The weird fan speeds are there no matter what options I choose
     
  42. Aaron44126

    Aaron44126 Notebook Prophet

    Reputations:
    879
    Messages:
    5,549
    Likes Received:
    2,070
    Trophy Points:
    331
    That number is uint.max, a special value that indicates an error retrieving the fan speed.
    Sigh... I guess they finally changed the BIOS interface for dealing with the fans and this program won't work on systems newer than 7X50. This would also likely impact HWINFO64 and SpeedFan. (If fan monitoring works in either of those then I need to dig in and figure out what they are doing differently than me.)

    I have a 7560 on the way so I'll play with it once I have the system in-hand...
     
    Last edited: Jul 17, 2021
    zhongze12345 likes this.
  43. jbuildit

    jbuildit Notebook Enthusiast

    Reputations:
    0
    Messages:
    49
    Likes Received:
    3
    Trophy Points:
    16
    The driver was indeed not loaded.

    I checked Event Viewer and saw a few Kernel-Power errors stating that the shutdown was "unexpected," meaning it still is actively attempting to switch to S5 (full power off) in spite of no disk activity. The fans also kick up to around max and stay at that level until I manually initiate the S5 state. Going into S3 (sleep) or restarting have no problems whatsoever; only the shutdown or hibernate commands which go to S5 seem to cause this issue. I'd have to think that it could be caused by the BIOS disagreeing with the OS. The only options I have enabled security/bootwise is UEFI support and turned the TPM on for Bitlocker encyption. I don't have secure boot or legacy ROM's enabled, two things that I have seen inhibit some other systems on newer BIOS revisions. Do you think I should reset the BIOS or would it be too much of a hassle to get the TPM reconfigured?
     
  44. Aaron44126

    Aaron44126 Notebook Prophet

    Reputations:
    879
    Messages:
    5,549
    Likes Received:
    2,070
    Trophy Points:
    331
    So I also have a M6700 and I have been using UEFI+SecureBoot on it without any trouble... basically for the entire time that I've had it, 9 years.

    Resetting the BIOS is fine. You'll need to re-enable the TPM afterwards.
    Suspend BitLocker protection immediately before shutting down to reset the BIOS — this will avoid you having to enter your BitLocker recovery key after the reset. You'll want to have your BitLocker recovery key on hand anyway, just in case.
     
  45. jbuildit

    jbuildit Notebook Enthusiast

    Reputations:
    0
    Messages:
    49
    Likes Received:
    3
    Trophy Points:
    16
    Eureka! I seem to be able to shutdown using /s /f in command prompt. Upon googling further into this I was able to figure out that turning off fast startup would fix the issue. Thanks for the aid though.
     
    Last edited: Jul 17, 2021
  46. Aaron44126

    Aaron44126 Notebook Prophet

    Reputations:
    879
    Messages:
    5,549
    Likes Received:
    2,070
    Trophy Points:
    331
    Taking a little detour with this project... No longer expecting a "full" release of Dell Fan Management v3 on August 1.

    The reason starts with word that the fan can no longer be controlled on the new Precision 7X60 systems.

    I am investigating switching away from the "bzh_dell_smm_io_x64.sys" and just using Dell's SMBIOS WMI interface to issue the fan control commands. This has a number of benefits:
    * No third-party/custom driver will be needed.
    * It will not be necessary to make the registry change to allow drivers lacking a Microsoft signature to be loaded.
    * Should be more forward-compatible with new systems.

    Downside:
    No one has done it before (on Windows in particular), as far as I can tell.

    I've successfully interacted with the SMBIOS via WMI before — that's how the program checks and sets the "thermal mode" setting. The problem is an unknown/cryptic interface without documentation.

    I ran across this project which has documented a lot of the SMBIOS/WMI stuff. It's for Linux, but it should help me figure out the interface with less guesswork. They already know the tokens for enabling/disabling fan control, setting the different fan levels, etc.
    https://github.com/dell/libsmbios
    [Edit]...Actually a repo with Dell people committing to it, so it has some "official" status.

    Hopefully, I can figure this out in the next few days; if so, I will issue a "beta 2" release around August 1.
     
    Last edited: Jul 19, 2021
  47. Aaron44126

    Aaron44126 Notebook Prophet

    Reputations:
    879
    Messages:
    5,549
    Likes Received:
    2,070
    Trophy Points:
    331
    Making some progress...
    * The "DellFanLib" implementation is now entirely .NET; I ported everything and threw all of the C++ code away. (Easier to read and deal with IMO.) The only C++ code left is the BZH driver.
    * Now able to read arbitrary token values in Windows via WMI; even ones not listed in the SMBIOS DMI tables. I dug around in the Linux kernel source code to see how the commands are supposed to be structured.
    * The Precision 7530 BIOS appears to contain the token flags for manual fan control. Also it has five fan levels instead of three.
    * So far unsuccessful in writing any token values. Starting with something simple like controlling the keyboard backlight brightness level, which is something that the Linux kernel also does. I'm going to hop over to Linux and try there, to make sure that it "should" work as I expect on this system. Dell actually has a command line tool for it called smbios-token-ctl, but it won't let you set values for tokens that aren't listed in the SMBIOS DMI tables. (The keyboard brightness ones are; the fan control ones are not.)
    * I dug around in the libsmbios git repository... This is actual Dell code for interacting with the BIOS. Tools like smbios-token-ctl make calls to a C library, and the code that actually interacts with the BIOS is not present in the repo, so I can't see how it works. However, I found that they used to have a complete C++ library for dealing with this, which appears to support reading the token values on Windows, but without using WMI. They never implemented write support on Windows but there is a Linux implementation. Another approach that I am going to look into; going lower level than WMI would allow this approach to work on systems older than Precision 7X10.

    [Edit]
    Digging around a bit more...
    Pretty sure that "writing" tokens from Windows will be possible, but only by implementing another custom driver. This requires writing to the kernel memory space and regular programs aren't allowed to do that (even if run "as administrator"). This is probably why writing tokens using the WMI interface does not work...
    Anyway. This means I need to do some proof-of-concept work on Linux. No way I'm going to try to learn driver development without having a pretty clear indication that what I'm trying to do will actually work in the end.
     
    Last edited: Jul 22, 2021
  48. Aaron44126

    Aaron44126 Notebook Prophet

    Reputations:
    879
    Messages:
    5,549
    Likes Received:
    2,070
    Trophy Points:
    331
    Today, I was successful in setting "tokens" from Windows through the WMI/SMI interface. I'm able to set things like the keyboard brightness level, and various options that are available to be set in the BIOS. Basically I can hit the various things in this list:
    https://github.com/dell/libsmbios/blob/master/doc/token_list.csv

    Also, I did a full scan of tokens from 0000 to FFFF and found that there are some that exist in the Precision 7530 BIOS but are not on this list. ( @Ionising_Radiation Maybe the undervolt enable/disable flag is in there... The easiest way to check would be to do a dump on two systems of the same model, but one with the flag set and one with it not set, and then just compare them.)

    Anyway, the fan control tokens do work on the Precision 7530. I'm waiting for confirmation that they work on the Precision 7X60 systems and then I will work on updating the app to support them.

    I mentioned that there are five fan levels, but when I tested them, two of them resulted in the same speed so effectively there are just four. Still, better than before. On my Precision 7530 I was able to set it to:
    0 RPM
    ≈ 2300 RPM
    ≈ 3900 RPM
    ≈ 4800 RPM

    ...Though the fans can't be set individually with this method, when selecting a value it sets both fans to the same speed.

    [Edit]
    Also, I see where you can change the system's "subsystem ID" which I did not try but that would maybe allow a situation where you would not have to modify the NVIDIA driver INF file after loading in an unsupported GPU, by just setting the ID to the system that the GPU is supposed to be in .......
     
    Last edited: Jul 23, 2021
    Ionising_Radiation likes this.
  49. Aaron44126

    Aaron44126 Notebook Prophet

    Reputations:
    879
    Messages:
    5,549
    Likes Received:
    2,070
    Trophy Points:
    331
    Last edited: Jul 27, 2021
    custom90gt and alaskajoel like this.
  50. 91jeremyjay

    91jeremyjay Newbie

    Reputations:
    0
    Messages:
    1
    Likes Received:
    2
    Trophy Points:
    6
    Hello,

    I just installed the Dell Fan Management 3 Beta.
    I have the Dell Inspiron 13 5301 with the i5-1135g7.

    It works perfectly, especially the consistency mode.

    There are 3 fan levels : 0 rpm, 2500 rpm and 4800 rpm.
    I set the consistency mode at 3000 rpm and it's perfect.

    Thank you from Nice, France.
     
    alaskajoel and Aaron44126 like this.
← Previous pageNext page →