# Weird CPU noise

## rsepulve

I recently installed Gentoo on my Dell Inspiron 8100.  Previously, I had been running RedHat 7.2.

It's been great but for one annoying problem.  I now notice a high-pitched, and rather loud whining noise (it sounds like an electrical whine) coming from my laptop.  My laptop was  completely silent running under RedHat 7.2 (other than the fans turning on occasionally).

I believe the sound is CPU related.  When I run off the battery (which makes the CPU run at 800MHz) the noise is less noticable than under AC power (1.2GHz).  When the CPU load is at or near 100% the noise completely disappears.  The noise bothers me so much that I actually wrote a program that loops forever and I run it with a low priority.  It makes the noise go away and doesn't seem to affect performance, but I shouldn't have to do that.

Finally, the noise starts fairly early in the boot process, but I haven't been able to isolate exactly when it starts, but definitely before the file systems are mounted.

Anyone ever experience anything like this?  Any suggestions?  I'm think of recompiling the kernel with a slightly different configuration.  Maybe something in the kernel is causing it?

Thanks.

----------

## pjp

Very strange.  I would offer to you www.google.com/linux.  Also, I recall something about 'stepping' through the boot process by way of <enter> to continue.  Been a while since I've rebooted (and paid attention to it), but I thought there was a prompt for this.  Maybe that was RedHat.

----------

## TripKnot

This is a problem with APM, specifically the make CPU idle calls option.  Whats happening is when the CPU is idle it throttles the CPU.  At high CPU usage there is little throttling so the noise is less noticable.  When on battery the CPU is already throttled to a lower state full time and the APM throttling feature may not be used.    Solution is to disable this in the kernel. The only APM feature I use on my I4000 is console blanking.  The rest of your APM features can be set via the bios, which actually work in linux as opposed to being overrided in wondows.

----------

## cranch

That is bizare that you ask this.  I was just going to post something about it.  My 8100 does the same thing at idle time.  When it is being used heavily, then the noise seems to go away.  I'll edit my bios options and see if it helps.  

Speaking of 8100's.  What does it take to get it into suspend mode.  Mine will continously run the screensave, but never hit standby or suspend.  If I shut the lid, the display blanks, but the machine never powers down.  This an APM feature as well?

----------

## rsepulve

I had indeed enabled the "Make CPU Idle calls when idle" kernel option.  I haven't yet rebuilt my kernel, but I disabled the Intel SpeedStep stuff in the APM Bios and that fixed the problem.  Thanks for your help.

Cranch -- I don't have my screensaver set to suspend the laptop, but when I close the lid or do Fn-Suspend, my laptop suspends itself.  I didn't do anything special to get this to work other than make sure that my Bios settings were correct (e.g., Supsend when lid is closed).  Also, my laptop doesn't put itself to sleep when I close the lid and have AC power connected, only when it's running off battery.  You can change that behavior in the bios.

----------

## TripKnot

Although disabling the speedstep worked for now, I would still disable that make idle call in the kernel and then reenable speedstep so you can benefit from the lower core freq when running on the battery.

----------

## BradN

My AMD based Vaio does a similar thing, although without any "make CPU idle calls" or anything.  It isn't annoying enough for me to want to do anything about it though.

----------

## Veauger

Just fixed this in my Dell Latitude by disabling speedstep and ACPI.

From what I've been able to google:

Buzzing noises in devices like this are usually caused by the transformers. If you have opened a power supply before, you've seen them -- they're the round things wrapped in thin copper wire, which surrounds a ferrite core. This copper material is covered with varnish. When this varnish starts to decay, most likely from heat, the metal starts to seperate from the ferrite core, and buzzing results.

Now I dont know if this applies here at all, but if certain ACPI states in the machine reroute current through one of these failing transformers, or change the current moving through one, its possible that this is what is causing the buzz, and why we are able to turn it 'on and off' with software.

I hear that on these transformers, buzz can be fixed by spreading some silicone paste on the surface of the metal wrapping.

Any electrical engineers like to comment on this?  Would be nice to have a physical fix to this.

----------

## ColinAnderson

Anything like this!?!?  https://forums.gentoo.org/viewtopic.php?t=134553

I'm going to disable the APM stuff and anything related to speedstep.  Thanks.   :Smile: 

I hope it works!

----------

## ColinAnderson

I've tried disabling APM (both in the kernel and with the apm=off parameter on bootup).  Didn't work.  I disabled SpeedStep in the BIOS.  Didn't work.  I re-enabled SpeedStep in the BIOS, but disabled Smart CPU Mode (which slows the processor in idle states, etc, etc.) and it DID work.  But I'm confused.  Isn't the Smart CPU Mode and SpeedStep the same thing?  Any insight would be appreciated.  They both describe about the same thing in the BIOS information.

----------

## ColinAnderson

Good Lord!!!!  That didn't fix the noise.  It's not as loud and constant, but it still chirps when text is scrolling on screen (mainly when compiling).  This is driving me insane.   :Sad: 

----------

## Veauger

Well, mine would actually stop buzzing when I scrolled.  If the above fixes didn't work, you're probably out of luck.  And the manufacturer won't do much about it either.  Very unfortunate.  I'll be buying power books from now on.  They don't buzz.  Either that or build my own -- at least that way I can only blame myself.

----------

## Desecrater

I had a similar problem when running Reedhat 9, when my CPU would idle it made the nooise and as soon as I touched a key or moved the mouse it stopped.  I hadnt treid to fix it yet, but if it happens again I can refer here   :Very Happy: 

----------

## sekh

Hi.

I'm on a dell inspiron 8600.

for me what causes this seems to be the 'processor' option under ACPI.

I tries compiling it as a module instead of compiling it into the kernel. This caused the noise to vanish. As soon as i 

```
insmod processor
```

The whining is back! 

If i do a 

```
rmmod processor
```

it goes away (it also does a nasty kernel panic and such  :Razz:  but the system seems to survive.

Anyone know excactly what this processor option does and if it's needed?

Another thing i was curious about was that as a sub-option of processor there is something called 'thermal'. It says that it is highly recommended that this is enabled as the cpu might otherwise be damaged.

My question is then: does this 'highly recommended use' only count when the processor feature is enabled? If not i guess i might have to enable the processor feature again to get the thermal feature in there too  :Sad: 

Any kernel/acpi experts have any input on this?

----------

## DexterF

I've got a whining noise from my Samsung SpinPoint hard disk after I moved from a VIA 686 southbridge to nForce2 MCP (on a rather cheap ECS N2U400-A).

Now the interesting point is: it only occurs with 2.6 kernels. 

Tried Slackware, tried Knoppix, no difference. As soon as I boot a 2.4 or WinXP the disk falls silent.

----------

## ercxy

I have lattitude d600 and i have been trying to understand this noise.. It is good to know that i am not alone.. 

I have nosie with 2.6 kernels and everything fine with 2.4 kernels..

I am going to disable acpi as suggested , let's see what happens

----------

## galooo

Hello

(im french, sorry for my bad english ...   :Wink:  )

I have a weird problem on my computer; a strange noise, very "acute".

I though it was my fan CPU, but no ...  :Sad: 

It seems that its a electronical noise ... but i dont know what ... I think its my CPU ..

 :Sad: 

But i dont know from where come this fucking noise !   :Evil or Very Mad: 

PS : i'm on Win XP pro, with CPU Athlon XP 2400 +, MotherBoard MSI K7N2 Delta

----------

## Fudor

I also have the same problem as you and I have an athlon xp 2800+ on a asus a7n8x mobo with onboard soundstorm sound.

There are two things I know you can do which seem to help alot while not completly getting rid of the problem. For some reason, setting you pc speaker sound in alsamixer to the maximum while muting your microphone seems to reduce the noise alot!

It used to drive me insane, but now its bareable. Hope this helps

----------

## Rumil

If you have "CPU Disconnect" option in your BIOS try to set it to "Disabled".

If you don't have it, but have nforce2-based motherboard try setting PCI offset 6F to 0F, 9F or 1F (setpci -s 0:00.0 6F.B=0F). Helped in my case. If you have motherboard based on different chipset search on the Internet for correct register and value to set to disable "CPU Dissconnect".

----------

## chINeSe mIDgEts

this happened to my desktop....for some reason one of the mounting levers (intel) came undone, so the fan was on half-assedly  so it did make that noise sometimes

----------

## KhanReaper

For the past two years of owning an Inspiron 8200, only since the major distros moved to kernel 2.6 has this problem affected me. From my analyses,  the problem originated with something to do with the laptop's power management features--both ACPI and APM--however, I never found an optimal configuration that would allow for some power management to work while abating the whining.

Has the community reached consensus as to identify a definitive solution to this problem? Might anyone be willing to share a kernel configuration with me?

And, out of curiosity, has anyone gotten any of the laptop's power management features to work? If so, what features, with which interface APM or ACPI, and what bios version? How about getting these things to work with NVIDIA's drivers?

I would like to say that I have been able to fix nearly every problem that Linux has thrown at me in the past seven years; but this one has stumped me completely. In fact, it has decreased the likelihood that I would ever buy a new laptop from Dell.

----------

## chickaroo

```
emerge setiathome
```

 :Very Happy: 

----------

## psilo23

What is interesting, is that I only really notice this whine on my Inspiron 8600 when I boot and am on the battery.  If I boot with AC on and then remove the power plug, my powersaving functions kick in (based on http://www.gentoo.org/doc/en/power-management-guide.xml) , the CPU gets scaled, but I don't notice a whine.  Furthermore, I noticed that if I boot with battery and scale the frequency (either manually or with speedfreqd) I get a more noticeable whine at full Mhz and less whine at reduced (~1/3) MHz.  Again, booting with AC on, removing the power plug, and then scaling the frequences has no whine at either full or reduced MHz.  Very strange.

aloha

psilo

----------

## moixa

Hi guys,

I whipped up this patch some time ago. Works fine for me and gets rid of that silly sound. I believe to have found the instructions for it somewhere in the linux-kernel-list.

```

--- linux-2.6.8-gentoo-r1/include/asm-i386/param.h.org  2004-08-22 14:07:17.842457000 +0200

+++ linux-2.6.8-gentoo-r1/include/asm-i386/param.h      2004-08-22 14:07:32.142457000 +0200

@@ -2,7 +2,7 @@

 #define _ASMi386_PARAM_H

 

 #ifdef __KERNEL__

-# define HZ            1000            /* Internal kernel timer frequency */

+# define HZ            100             /* Internal kernel timer frequency */

 # define USER_HZ       100             /* .. some user interfaces are in "ticks" */

 # define CLOCKS_PER_SEC                (USER_HZ)       /* like times() */

 #endif

```

If any of you can explain what side-effects this possibly could have (I don't experience any), please post!

Cheers,

Tobias

----------

## mouse256

thanks rumil!

I also had the problem with asus a7nx8 (nforce 2), disabling acpi and so on in kernel as suggested did not work, but the setpci from rumil did the job! 

I made a script to add the command to the default runlevel, now I just hear it for some seconds while booting  :Smile: 

----------

## bugsan

i have a A7N8X-X

i have the "sound" under mandrake 10.1 (i've found this thread with google)

The setcpi works ! no sound anymore.

IMHO It's not a solution and it should be fixed in the kernel.

----------

## mouse256

 *bugsan wrote:*   

> 
> 
> IMHO It's not a solution and it should be fixed in the kernel.

 

I think so too, because the "make cpu idle calls" option in the kernel just doesn't work on the nforce2 mobo, linux always make these calls.

But I have no idea how I can make a bugreport or whateven  :Sad: 

----------

## g4c9z

I don't have a laptop, but my desktop with an A7N8X-X motherboard had this problem and I found another way to fix it, by adding:

```
append="no-hlt"
```

to the kernel parameters in /etc/lilo.conf (see man lilo.conf for exactly how to set it up).  Then don't forget to run lilo to actually put it in your master boot record.

What this does is prevents the halt instruction from ever being executed, thereby forcing the CPU to always run at 100% capacity (which is what always happens in Windows, which is apparently why they ASUS never found the error in their motherboard).  This means your computer will consume more power (as much as if it was using Windows), but I prefer that to an annoying noise.

This solution came from somewhere else on the Gentoo forums I think but I can't find that thread anymore.

----------

## setagllib

Kernel timer granularity will affect the maximum precision with which events can be scheduled and file/devicce/etc polls can be timed. This can sometimes make a visible difference in MPlayer (but not if you use the RTC, which you SHOULD) and WINGs-based apps since WINGs uses a stupid timing system based on timer ticks instead of real time (for instance, WindowMaker animations are much faster in 1000 than 100).

It is perfectly safe and certainly more efficient to run at 100 than 1000, but there is still a loss of precision for event polls and so on. Don't worry too much though.

I will soon have a D600 and report if I have the problem.

----------

## mouse256

 *g4c9z wrote:*   

> ...
> 
> What this does is prevents the halt instruction from ever being executed, thereby forcing the CPU to always run at 100% capacity (which is what always happens in Windows, which is apparently why they ASUS never found the error in their motherboard).  This means your computer will consume more power (as much as if it was using Windows), but I prefer that to an annoying noise.
> 
> ...

 

I don't understand that. In windows when my cpu is stressed it becomes way more hot as when it's idle, so it can't be running at 100% capacity all the time, or am I wrong?

----------

## g4c9z

Hmm, interesting.  I don't properly understand it either, but my guess (and I'm just making this up) is that when Windows is always in an infinite loop (as is the case when you're not doing anything else useful), it's only using one component of the processor.  When something more complex is happening, there's electricity going through all kinds of circuitry in the processor, hence more heat.  But again, that's just my pseudorandom guess.  :Smile: 

----------

## mouse256

I think it works another way. Normally when the cpu is idle, there happens nothing. But you can also send special idle instructions to the cpu, and when you do that the cpu will get even more colder. 

But if this is true, there is a problem in the next theory:

*) Windows doesn't make the noise, so he isn't sending idle calls (Although I thought windows did it)

*) linux makes the sound, so it send idle calls. But when you disable idle calls in the kernel, the sound doesn't stop   :Question: 

I've read a lot of it on the internet, and as far as I can find the nforce2 mobo's make these idle calls from the bios, so the os must not do it. And that seems to be the reason why the "setpci" command solves the problem: it sets a bit so the bios won't make the idle call anymore.

But now my problem is: if that's right, and the bios makes the idle call, then why don't we have that sound in windows? I've also been busy in windows with setting that idle bit, but it makes no difference at all in windows. It seems windows and linux are doing something different, but I don't know what, and I either don't know which os is actually doing the right things...

----------

## comcute

 *mouse256 wrote:*   

> I think it works another way. Normally when the cpu is idle, there happens nothing. But you can also send special idle instructions to the cpu, and when you do that the cpu will get even more colder. 
> 
> But if this is true, there is a problem in the next theory:
> 
> *) Windows doesn't make the noise, so he isn't sending idle calls (Although I thought windows did it)
> ...

 

Yes it does, try disabling nforce audio drivers and you hear same annoying sound.

 *mouse256 wrote:*   

> 
> 
> *) linux makes the sound, so it send idle calls. But when you disable idle calls in the kernel, the sound doesn't stop  
> 
> I've read a lot of it on the internet, and as far as I can find the nforce2 mobo's make these idle calls from the bios, so the os must not do it. And that seems to be the reason why the "setpci" command solves the problem: it sets a bit so the bios won't make the idle call anymore.
> ...

 

Have you tried nforce official sound drivers?

If you load nvsound module into kernel, this annoying sound goes away.

With alsa, only way getting rid of it is setpci -s 0:00.0 6F.B=0F

----------

## mouse256

hmm, I doesn't hear the sound in windows when I disable the nforce drivers, maybe I'm doing something wrong, but I believe you it can  :Smile: 

And installing the official nvidia drivers in linux, I would like to, but I didn't manage to get them working  :Sad:  , maybe you have a step-by-step installation procedure?

----------

## Zeddicus

Okay -- slightly necromantic here, but I figure this might be helpful for someone.  :Smile: 

I've found that adding "idle=poll" to the kernel arguments completely eliminates this sound on my Inspiron 8200 (even with speedstep/thermal/etc enabled).  Hope it works for others!  :Smile: 

----------

