noise - Any way to disable specific CPU idle (Cx) states?

08
2014-07
  • Philippe Leybaert

    I just got a new Toshiba Tecra S11 notebook, which has a Core i5 520M CPU, and it appears to suffer from a well-known problem: a high pitched noise when the CPU is idle.

    Googling around revealed that this is caused by a specific power-saving mode in the CPU. In most cases, C4 mode is blamed for the noise.

    So my question is: is it possible to disable C4 mode (or any other "sleep" mode) using some utility or BIOS setting? I don't mind if it hurts battery life.

    I'd appreciate any advice on this matter. It's driving me crazy.

    FYI: I'm running Windows 7 64-bit

  • Answers
  • Tom Wijsman

    I've checked the Toshiba (Canada) site and there no mention of that problem, either in their technical service bulletins, or from users in the forums.

    I then called Toshiba personally (we're a Toshiba reseller/repair depot), and got them to dig around in their notes to see if there are any reports outside of what's on the website. They told me that they can't find anything relating to this being a common, or even previously reported, problem with the Tecra line.

    I questioned them on possible warranty replacement, and they responded that if it's under warranty and it's determined that it's not a disk in the DVD drive, or a fan that's failing/whining because it's full of dirt, then that whine is not acceptable, and it would be repaired.

    Which is how I would expect to deal with it if you had brought it directly to us.

    My suspects would be LCD inverter first (common whiner), and if that proves to be OK, then the next step would be to test with a new CPU (only because it's easier), and then replace the motherboard with the intention being to get rid of faulty voltage controllers and capacitors that are (more likely) causing the noise. None of this "it's normal" crud. ;)

    So, if you're under warranty (Tecra's usually have 3 years of warranty; you can check yours here) it sounds like it'd be covered, and that's probably your best bet to get rid of it, and not hamper your battery life (or alike) by disabling features.

  • Community

    Philippe is right on about cpu whine and how common it is. I am an IT technician and can testify. It not really the cpu that whines but rather a coil on an inductor on the motherboard near the cpu voltage regulators. When certain voltages are applied a resonance can sometimes be heard. I've had lcd monitors that whined when in power save mode. Opening it up and applying a drop of hot glue fixes it. Similar principle and could probably be fixed the same way. Most of the core 2's and up have some sort of whine in certain power states if you can listen closely. Factors like case design and fan placement affect the degree you can hear it. Like most of the other posters, I too at first thought it must be an lcd inverter, or some moving part like a fan or hard drive, but you can open up the machine and use a straw by your ear to isolate the sound. If your bios had an option to disable enhanced power states you'd be good. I'm currently dealing with the same issue on a core i5 430 Asus laptop. This is common in certain macbooks from a few years ago. Dell even has a KB article describing it.

    http://support.dell.com/support/topics/global.aspx/support/dsn/en/document?c=us&cs=19&dl=false&l=en&s=dhs&docid=0A7D5CD2E17F5125E0401E0A55176204&doclang=en

    Google "cpu whine" or "how to disable c4 state" for countless others. I can only post one link here.

  • studiohack

    I was confirming Petko's post as a working fix, and contributing by mentioning the possibility of BIOSbits.org modified GRUB configuring the BIOS for the user on startup. However, I do not know if the OS will override on startup.

    After a few hours testing, I can confirm with Petko's similar results from today in XP and Windows 7. not so much heat or battery life difference, but a lot less whine.

    The problem of having to manually open the program and enter the data can be solved by using a utility called Autohotkey from Autohotkey.com. It's free and allows you to compile a binary that will launch CPUID and enter the commands to disable the deeper Cstates.

  • Arjan

    Rather than some BIOS setting, on my first MacBook keeping the webcam running would ensure some specific power saving never happened, and kept the "CPU Whine" from occurring.

    Likewise, in an answer by nik, a Dell support article is mentioned which blames the C3 (clock-stopped) power state. It suggests enabling bluetooth to keep the C3 state from entering.


    Despite the name "CPU Whine", it's often --if not always-- not the CPU, but the capacitors of the power supply that cause the whine.

  • Arjan

    I have the same problem with my Dell M1330 with a 2.4 GHz C2D. I used RMClock to disable the C4 state (it's the only way I've found so far), and the whine went away instantly.

    Every single other solution for the whine (disabling popup/popdown, undervolting, etc.) did absolutely nothing. Dell has no option to disable C4 in the bios. Unfortunately, RMClock usually/always freezes my system (Win7 x32) minutes after I click this setting, so I get a few minutes of blissful silence before the computer locks up.

    I've been searching everywhere for another way to disable C4 - I doubt that it's disabling C4 itself that's locking up my system, but rather a bug in RMClock (which stopped development in '07).

  • The Psychotic Bearded LadyBoy

    I disabled Intel SpeedStep in my Dell 1557 laptop bios (no option for disabling C3, C4 etc there) and that's seemingly fixed the whining problem for me! But of course this is hardly a fix, I've never used my laptop's battery, so at this moment in time this is perfectly okay for me.

    And if I ever wanted to maximize my battery performance at the expense of whine, I could just make a simple bios alteration. I'm sure if you get into the habit of changing this bios option on and off, it's not such a big deal, just like typing a user account password when logging onto an OS.

    If it works for you, please spread the word! Blogs, YouTube (videos and comments) wherever. So many people have this exceedingly annoying problem!

    Of course a better work around would be for Dell and other laptop manufacturers to update their bios to automatically switch off SpeedStep when AC power IS detected and then switch it back on when AC power IS NOT present, or removed. An option for leaving SpeedStep off permanently would be good to keep as well, for those who are willing to sacrifice battery performance for a lack of whine!

    If SpeedStep can be switched on and off through software as well, they could make a simple program to do the same thing.

    Perhaps someone wants to start up a petition and get websites like anandtech.com, lifehacker.com, thinq.co.uk etc, magazines and online shows like Tekzilla to put pressure on laptop manufacturers to do this? Personally I've got too many health probs at the moment to bother with all this malarkey, so someone else will have to pick up the ball. I have no idea what percentage of people this will work for, but if it works for a significant amount of people, it may well be worth pursuing! Of course other fixes like the Bluetooth and RMClock ones should be mentioned.

  • Petko

    My interpretation of this "(Behavior is the same as 000b)" from the documentation is that the CPU will behave like it is not sleeping, which is true for C1 as the CPU is just halted and can resume to work instantaneously.

    Unfortunately for Nehalem C2 (stopped clock) cannot be specified as limit and C3 (low voltage) is causing the problem, so C1 limit is the only reasonable alternative.

    However, even with C0 or C1 limit my CPU is not overheating and the fan is not going crazy like it happens with the other fix (to disable idling of the CPU from Windows power management) so I suppose even with C0 limit there are some enabled power saving mechanisms.

    When I'm on power supply it is enough for me that the fan is not crazy and there is no whine. When on battery I have not noticed life reduction greater than 30 minutes, but in case of desperate need I can always switch on the whine :)

  • Peter

    From Microsoft Support (for a different issue, but still helpful):

    You can disable the Advance Configuration and Power Interface (ACPI) C-states by using a BIOS firmware option on the computer. If the firmware does not include this option, a software workaround is available. You can disable the ACPI C2-state and C3-state by setting a registry key. To do this, follow these steps:

    1. At a command prompt, run the following command:
    reg add HKLM\System\CurrentControlSet\Control\Processor /v Capabilities /t REG_DWORD /d 0x0007e066

    2. Restart the computer.

    Note The computer idle power consumption will increase significantly if the deeper ACPI C-states (processor idle sleep states) are disabled. Windows Server 2008 R2 uses these deeper C-states on the Xeon 5500 series as a key energy-saving feature.

    To continue to benefit from these energy-saving states, remove the registry key that you set in step 1 after you install the hotfix that this article describes. To do remove the registry key, follow these steps:

    1. At a command prompt, run the following command:
    reg delete HKLM\System\CurrentControlSet\Control\Processor /v Capabilities /f

    2. Restart the computer.

  • spowers

    In general you should be able to change the power management settings in BIOS. Believe it will be the ACPI field.

  • Jayapal Chandran

    i hope OS idle state is different from processor idle state.

    i wrote a program for myself to prevent the system going idle though i had full control of the operating system.

    IF this could be useful THEN

    http://vikku.info/programming/win32api/prevent-windows-system-entering-idle-state-using-windowless-timers-getlastinputinfo.htm see the download section

    ELSE

    just add a comment stating that my answer is irrelevant then i will remove my answer so that it will not mislead the users.


  • Related Question

    cooling - New CPU Idles at 70C
  • Jarrod Mosen

    I've just recently assembled a new computer, and the CPU (in the UEFI BIOS), reaches over 70C, and either stays there, or drops down to ~40C. I've checked the placement of my cooler (stock) and thermal paste, and they all seem in working order.

    Specifications:

    • Intel Core i7 2600K
    • Corsair 650W (HX)
    • ASUS P8P67 PRO
    • Anything else you need?

    Other than buying a new cooler/paste, what other solutions could there be, to getting this down to an acceptable temperature?


  • Related Answers
  • Dustin G.

    ** Read all of these suggestions / comments before trying to resolve your issue **

    1. Intel usually has a pretty decent stock cooler and the one that came with yours should be no exception.

    2. There is such thing as too much thermal paste, and rarely too little (unless you put none on at all) the amount I've see on the Intel stock is usually decent.

    3. Try to jiggle the heatsink, there should not be much give - almost as if it's screwed to the side of the case - if it jiggles too much - try to re-connect.

    4. I you have touched the top of our CPU or the thermal paste with your fingers, then use a dry, lint-free piece of toilet paper and remove the thermal paste, if it's still on, get some isoprophyl alcohol or mineral spirits and a lint-free cloth / tissue (no lotion in it) and remove the paste and re-apply using about a pea-sized amount of what thermal paste you have. The oils on your hand can interfere with cooling (think deep-fat fryer).

    5. I would also see if there is an update for your UEFI BIOS in the event that it's reporting an incorrect temperature or there is a correction for thermal thresholds.

    6. Boot into windows and make sure you have installed the latest updates as well as the supporting software for your motherboard including any hardware monitors and see if it is still sitting at 70C idling - it's possible that the thermal management is not on in the BIOS but may kick in while your using Windows.

  • Lil' Smokey

    Wow, that's a tough one. If you just recently built everything I would say that you might want to check how the the CPU is seated. Also, it could be a faulty sensor on the mobo, since it sometimes drops down to 40C.

    Does your fan stop running intermittently? Did you apply a thin even amount of paste to the CPU? When the temp goes up to 70C is the processor under load? I'm guessing that x86 apps that report the temp give you the same kind of readings right? When you say you just assembled the machine, how long ago?

  • Bandit

    I've heard bad things about stock coolers...

    Is the heatsink getting hot as well? If the heatsink is getting hot, you need more airflow.

    If the heatsink is not getting hot, there is probably weak contact between the cpu and the heatsink.

    Also, did you have to stick a sensor anywhere? Or is it reading the temperature sensor inside of the CPU?