Saturday, March 29, 2008

Patching the DSDT table for 8510p to reduce fan noise

Following the previous post, here are the steps that worked on my Vista SP1 x64 notebook.  Please note this is for reference only, this could damage your machine.

  1. Download the Microsoft ASL Compiler v3.0.1 and install it on your notebook.
  2. Start a command prompt using "Run as administrator" to make sure you have the correction permissions.
  3. Create a working directory, I used C:\DsdtPatch.
  4. Copy asl.exe from C:\Program Files (x86)\Microsoft ASL Compiler v3.0 to your working directory.
  5. Extract your current AML data from your registry.  It is located at HKEY_LOCAL_MACHINE\HARDWARE\ACPI\DSDT\HP____\8510x\00010000.  You need to extract the binary data in the key 00000000 to the file system.  I've written a quick and dirty .Net program to do that.
    1. Unzip ExtractDsdt.exe into your working directory.
    2. run ExtractDsdt, a file 8510x.orig will be created.  Make a backup of this file.
  6. copy 8510x.orig 8510x.aml
  7. asl /u 8510x.aml, the file 8510x.asl will be created.
  8. Open 8510x.asl in notebook.  Now we begin our patching.
  9. Search for the following (note the pattern could be different for your machine).

    For my F.0F BIOS the original values are

    Name(C357, Package(0x6)
    {
        0x64,
        0x4b,
        0x3c,
        0x32,
        0x1e,
        0x0
    })

    I found it easiest to search for "Package(0x6)" from notepad, that should take you to the right section, check that there are 6 hex values within the braces and within the _TZ_ scope.

    Each value should represents the % fan speed at each temperature trip point in hex.  I changed mine to.

    Name(C357, Package(0x6)
    {
        0x64,
        0x4b,
        0x32,
        0x1e,
        0x14,
        0x0
    })

    Save your file after your changes.
  10. Now we can compile our updated 8510x.asl back to 8510x.aml.  Execute asl 8510x.asl, I ignored the warnings, but if you get errors, go back and check your syntax.  If you get "error: expecting Symbol '('" the number in the brackets is the line number, go to that line in 8510x.asl and add a pair of bracket () to the end of the previous line, I had to repeat this a few times before it will compile.

    For example, change

    If(LEqual(Arg0, 0x0))
    {
        C375
    }

    to

    If(LEqual(Arg0, 0x0))
    {
        C375()
    }

  11. When you've compiled successfully, the file 8510x.aml will be updated.  Check the timestamp.

    Load this file to your system asl /loadtable 8510x.aml.
  12. Now reboot, if everything works, your notebook fan should be slower after a few minutes after things settled down after reboot.  WARNING: if it doesn't work and you get a blue screen during reboot.  Press F8 and choose the "use last known good" option.

Hope this works for you if you're like me and was annoyed by the fan noise.

96 comments:

Anonymous said...

Hi Eddie!

Read your posting on http://forums12.itrc.hp.com/service/forums/bizsupport/questionanswer.do?threadId=1168521&admit=109447627+1206811795141+28353475 and also participate in this forum. As I am having problems compiling the DSDT on Linux, could you pls send me a patched 8510p F.0F asl-file? I wanna give it a try as I get fed up with this noise. Thanks!

dom (at) wahuu (dot) at

Eddie Tse said...

I actually think the original table has errors as it doesn't compile using the Intel compiler, but works using the Microsoft compiler purely because the MS compiler is not as strict. You might want to try compile it on Windows and use the binary on Linux.

I posted my patched .asl here.

Anonymous said...

Thanks! What I meant was if you could put the compiled aml-file online as I do not have a MS compiler. Do you think this approach could work?

Anonymous said...

Hi

I patched my dsdt table of my hp 8510 p following the steps you said, but the laptop doesn't stop making that terrible fan-noise, you know what could get wrong because I did al the steps you gave and noting seemed to be wrong.

Thank you

Joris Buys
joris_buys@telenet.be

Eddie Tse said...

Are you running in particular hot climate? My room temperature is about 22c. Maybe you can try tweak the values lower. I've updated my ASM and ASL file with slightly different values, maybe you can try them as a reference.

Anonymous said...

Hi, I'm trying to use your fix but I am a bit confused. Not really too good with low level hardware or DOS so I'm not exactly sure what I am doing.

So far, I've created the directory C:\DsdtPatch and have the following files in there:
asl.exe
8510x.orig
ExtractDsdt.exe

Now, here is where I get confused. How exactly do I create the 8510x.aml file?

-Thanks for the help!

Anonymous said...

Hi Eddie, after Bios Upgrade to release F0F i've the same fan noise problem ot the other guys.
I tried to apply your patch to my system ( even using files posted by you), but nothihg change.
Have you any suggestion?
Thank you in advance.
Fabio

Anonymous said...

On my 8510w with Bios F.0F this worked just fine. The fan is running at a lower level than before. There is still some noise, but at a "normal" level, considered that the heat must be cleared in some way. Thank you for these great instructions.

Eddie Tse said...

Once you've extracted 8510x.orig, step 6 is copy that file to 8510x.aml.

I've posted copies of files I used in a previous comment. I don't know how many variation of the 8510 notebooks are there so can comment from experience on my own notebook.

This patch only changes the fan speed at each threshold, if this doesn't work, maybe your CPU is not idle or the room temperature is high?

You can try tweaking the numbers to lower values. Ie

Name(C357, Package(0x6)
{
0x64,
0x4b,
0x23,
0x1e,
0x14,
0x0
})

At the same time you don't want to cook your laptop.

Anonymous said...

Hi!

After trying all those things Eddie wrote, the fan of my 8510p kept on making noise.
So I tried some other changes and ...
I found _the_ solution!
It's /so/ uncomplicated that you might think that it can't be the solution.
The problem can be solved within the 'ATI control center'.
Herfe you'll find an option 'Powerplay' where you can choose the behaviour of the graphics chipset when in battery-mode and in
AC-mode.
Because I own a German version of Windows, I don't know the corresponding english names, but I think there should be an option in 'Powerplay' called "Maximum battery life" or something like this.
If you choose this option for both (AC-mode and battery-mode), the fan should work very quietly furtheron.

TP

Anonymous said...

Thank eddie for the nice job!!

Anonymous said...

Hi Eddie!

Absolutely fantastic job! I'm having the same noise problem with my nc8430 and was actually playing around with the DSDT, but then I saw this guide! It looks like most of the newer HP machines have very similar DSDT structure. Anyway, can you release the source code of your .Net program, so it can be "generalized" for all HP. I'm working on a "universal" HP guide! Thanks..

Anonymous said...

Hi Eddie

I am so glad you developed this solution and wrote this. The solution works also fine with BIOS Version F.11.

Thank you!

CalypsoFolie said...

It works like a charm with my 8510p with x64 Vista SP1.
You deserve somesort of medal, man!! :)
I was so incredibly annoyed with the constant noise... At least now, when it's in standby it's bearly audible.

ALL HAIL EDDIE!!! :D

Anonymous said...

An excellent solution (which HP should've implemented themself!). I played around with settings quite a bit - I even tried some where the fan would be either 100% off or 100% on above or below various temperatures and some where the fan speed was lower at higher temperatures just to try and map out where the CPU temperature was hovering around. In the end, I settled on an exponential fan speed curve: 0, 6, 12, 25, 50 and 100% (Hex 00, 06, 0C, 19, 32, 64). I figured that if the fan speed was insufficient, the processor would increase in temperature and trip the next fan speed setting. Unexpectedly, the fan just doesn't ramp up as you'd expect except under heavy CPU loads meaning that lower fan speeds are sufficient to keep the unit cool. My fan is now quieter than the hard drive for normal usage even with ATI PowerPlay set to Maximum Performance. Air temperature from the vent is not too warm and everything finally seems to be honky dory with this machine. Thanks a lot Eddie.

Anonymous said...

works as a charm on my 8510w with F.11 BIOS win xp pro. Thanks!!

Anonymous said...

hi ,i was passing by
and currently working with DSDT-s
and...
managed to get it to compile with IASL
(important for use on linux)
http://rapidshare.com/files/123638243/iasl_8510x.zip.html
have NOT tested,be avare.
just compiling
here is the difference in files (diff)

not realy shure about the correct use of
Return(Package(0x02){0x00, 0x00}) ?


--- 8510x/8510x.ASL 2008-03-30 16:47:48.000000000 +0100
+++ iasl_made/8510x.ASL 2008-06-18 09:17:39.000000000 +0100
@@ -3,6 +3,10 @@

DefinitionBlock("8510x.aml", "DSDT", 0x01, "HP ", "8510x", 0x00010000)
{
+ External (\_TZ_.TZ1_)
+ External (\_TZ_.C374)
+ External (\_TZ_.TZ1_._CRT)
+
Name(C000, 0x0)
Name(C001, 0x0)
Processor(\_PR_.CPU0, 0x1, 0x1010, 0x6)
@@ -13529,6 +13533,10 @@
Notify(\_TZ_.TZ3_, 0x81)
}
}
+ Method(C375, 0x0, Serialized)
+ {
+ Return(Package(0x02){0x00, 0x00})
+ }
Method(C37C, 0x1, Serialized)
{
Store(Arg0, Local1)

Anonymous said...
This comment has been removed by a blog administrator.
Anonymous said...

Hi Eddie, you made my day! I was close to return this f.... hovercraft to HP and ask to get the money back. At the end I am using now the parameters from Steven Cinquegrana and I am really happy now with my quietly running machine (8510p, C2D 9300, Vista SP1).

Kudos to you Eddie!

Regards from Germany,

Norbert

Anonymous said...

i have a hp compaq 8510p notebook with vista 32.do you thinh there would be a problem running all this?? or thiw solution has affect only in 64??

Eddie Tse said...

These instructions should work on 32bit Windows as well. I've had report that they work on XP as well.

Anonymous said...
This comment has been removed by a blog administrator.
Anonymous said...

Hi Eddie,

do you expect any troubles when updating the bios to new version F.13 (from F.11) after having applied patch?

Anonymous said...

Thank you SO much for this solution, I patched using your example AML file and it's made a big difference. Peace and quiet at last!

My system is 8510p, T8100 2.1GHz, BIOS F.11, running WinXP-32 SP2.

Coupled with undervolting (see this notebookreview.com article) which reduces temps by ~10 deg overall, this is now a very happy lappy! Thank you!!

Eddie Tse said...

Just upgraded to F.13, and it is still working.

Anonymous said...

i have problem in step 5.i have allready a file dsdtpatch,with 3 filew inside:8510x.orig,asl.exe,extract dsdt.exe
nest??

Anonymous said...

Hi, with me, ms compiler does give errors from the basic asl file, what can i do ?

Anonymous said...

Please help...

Anonymous said...

Hey, I tried it on my 8510p (winxp 32bits) and it works well.

Thank you so much!

Eddie Tse said...

What kind of error are you getting? It is most likely missing a bracket or havent patched the parenthesises properly. Maybe you can try my precompiled one at your own risk.

darko said...

Hi Eddie,

I am also confused with steps 6 and 7. Could you please explain in more details how to create 8510x.aml file. Is that file placed in the same directory C:\DsdtPatch or somewhere else.

Please help, many thanks!
Regards!

Anonymous said...

I'm getting an error about a "_" sign, if i take your .asl do i only need to load in in to my tables ?

Anonymous said...
This comment has been removed by a blog administrator.
Anonymous said...

Thank You Eddie for your tremendous patch. I've made the changes on my business laptop HP 8510w with Windows XP installed without problem.
I tried to do the same on my home laptop HP DV9575EO with Vista Home Premium. The binary value is saved in different place in the Registry i.e.: [HKEY_LOCAL_MACHINE\HARDWARE\ACPI\DSDT\HP____\30CB____\06040000] so I had to write my own program in VS.NET (compiled on WinXP) to extract this value. The binary file was only 35kB (?) (76kB from 8510w) and the assembler instruction Name(C357, Package(0x6)) is missing in the deassembled 30CB____.asl file. Do You know what other instruction should I use to patch that annoying noise on this so called "Entertainment PC"?
Thank You,
Ireneus
Stockholm, Sweden

Anonymous said...

Hey Ireneus Pisanko! I'm trying to write a code to extract the binary value from the registry. Unfurtunately, I suck in coding! Please release your code, so I can take a peak :) Thanks!!!

Anonymous said...

Hey Ireneus Pisanko. The .dsl will be different on every model and BIOS. (Different .dsl can even appear on same type of computers with different internal revisions.) So, what you have to do, is to hunt for hexadecimal values that are listed and looks like fan speeds! You can check out your computers fan speed using some software and then hunt for the hexadecimal values! By the, I posted the previous post, so I helped you, now you can help me :)

Anonymous said...

Hi Edddie,
I have a Fujitsu A6120 that really needs ACPI patching because, even after undervolting, it still runs too hot for my liking. The fan is weak and the on-off setpoints are set too high from bios. Your program to extract the binary DSDT data didn't work and when I used regedit to export the 44K binary key in a "hive" format, the ASL assembler choked on it. Any ideas??

Thanks,

Scott

Anonymous said...

hi, greetings from germany,
in combination with undervolting (from 1.2125V to 1.0875V ,t7700) my notebook runs silent and stays cool, thank you for this guide, good job!

Ali said...

Hey people!
I finally created a more universal guide than this one. Please try it at: http://notebookequus.blogspot.com/

Unknown said...

Hello I used Ali's guide to patch my HP Compaq 6730s!
Name(CPFS, Package(0x6)
{
0x64,
0x46,
0x3c,
0x32,
0x0,
0x0
})
(it must be the right code)

I have 3 questions:
1) Why I have 0x0 2 times in a row?
2) My computer is very often (Windows XP) on 0x32 (50 % fan speed) - I want to change it to 20 % because my temperatures are under 45 degrees (in normal work mode)!
3) IF I PATCHED WRONG THE TABLE CAN I HARM DIRECTLY MY BIOS?
IF It break my Windows XP it will be Ok, But if it harm my BIOS it will be big problem1

Thank you for your attention!
Regards,
Zdravko Genov

Eddie Tse said...

As far as I know, each notebook has a different values, I guess only HP knows the exact reason for each tune.

The values should be only for that instance of Windows and is not permanent. You can use the last known good if it doesn't work, but you should have a copy of your original values just in case. Also using the wrong value can potentially damage and void your hardware warranty so do it at your own risk.

Unknown said...

Thank you Sir, Eddie!
Every good answer.
It is exactly what I wanted to know!

I have already copy of my table.

Just one question!
Do you think this:
Name(CPFS, Package(0x6)
{
0x64,
0x46,
0x3c,
0x32,
0x0,
0x0
})

is the code for the fan speed?
Because honesty I can't find other code for the fan speeds in the table!

Again Thank you for your time and attention!

Anonymous said...

Nice stepwise explanation... thanks eddie

Anonymous said...

Dear Eddie,

THANK YOU A LOOOOOOTTTT! After few months of anger it's finally quiet! Anyway I pushed fan much lower as you:
Name(C357, Package(0x6)
{
0x64,
0x37,
0x2D,
0x1e,
0x14,
0x0
})
After test all works ok. fan is running at 45% RMP (0x2d) (CPU temp around 55 deg.) and while working goes short on 55% RMP (0x37) (CPU over 60 deg.). With 3d game (the witcher) it's goes on 100% but its acceptable. 0x1e and 0x14 never was used.
Anyway working make finally fun! Thanx again Szeski

Unknown said...

do you how to configure temp thershold other than fan speed?

I found my 8510p always invokes fan at 60 degree, I would like to adjust this value to 65 or above? any hint to do this? I am unable to modify asl file by myself, and i know fault change would lead to system failure.

rideforever said...

Thanks ! On 8510W with XP, this worked great - I don't believe it. Thank you so much. This is my BIOS ver btw HP - 7120720
KBC Version 71.36
EPP runtime BIOS - Version 1.1
12/17/07

Anonymous said...

WARNING! Installing new BIOS f15 on changes DSDT will broke your Windows Installation. :( It happend to me. You have to revert oryginal DSDT before BIOS update!

Anonymous said...

That's great. Thank you very much Eddie.

Anonymous said...

does not work on bios F.15, so i just go back to F.13

Anonymous said...

Hi Eddie,

recently I bought a used 8510P Laptop. I am also annoyed with the permanent noise!

Unfortunately the laptop is already updated to Bios Version F.15, so your solution does not work for me.

I searched and searched but I didn't find a download for the old BIOS Version F.13.

Could you please send me the Bios F.13 to my mail account sullermuc@gmx.de ?
Thanks in advance,
Stefan

Eddie Tse said...

F.15 does work if you have restored the table to its original state before you upgrade your BIOS, otherwise Windows will bluescreen on boot. I have F.15 running with the patch.

If you have done the patch on revision before F.15, you need to remove the patch, upgrade the BIOS, reapply the patch using the full procedures.

Anonymous said...

Hi Eddie!

It works with F.15- I am happy! Thank you very very much!

If possible, please delete my eMail Adress above. I do not like spam :-)

Kind regards,
Stefan

Unknown said...

I whod just like to thank you this workend great on mine 8510p.

Thank you very much.


Kind regards,
Robert

Anonymous said...

Thank you very much Eddie. My 8510p now purrs like a kitten. For your information, I've made this change in Windows XP SP3 using bios version f.15 and I haven't had any problems yet (only made the change today).

TheDro

Anonymous said...

Thx Eddie!

I used your method to increase the fan speed of my 8510p running 32 bit Vista, it works!!

My setting:

Name(C355, Package(0x6)
{
0x64,
0x5a,
0x50,
0x4b,
0x1e,
0x0
})

Thx again~~~~~~

Henry Chinaski said...

It worked great on my 8510w, had to add a few () to get rid of the errors.
Does this setting remain (is it written to the BIOS?) if i reinstall Windows or upgrade to Windows 7?

Unknown said...

Hi,
I have hp6730s and the micro$oft ASL seems it does not decompile correctly. Trying to compile what ASL decompiled gaves an error (something like Subtract(SizeOf() error: expecting argument type "SuperName").
Even deleting that line or putting Sizeof(BCLS) gives blue screen on reboot.
Here's what worked for me:
1. decompile with iasl.exe ("iasl -d dsdt.aml" found it here: http://www.virtualbox.org/browser/trunk/tools/win.x86/bin/iasl.exe?rev=1 )
2. copile with micro$oft ASL (corrected one "error" it gave at line 3095 on my xpsp3: Subtract (SizeOf (DerefOf (Index (BCLS, BCLI))), 0x01, Local1) => modified to => Subtract (SizeOf(BCLS), 0x01, Local1)
3. asl /loadtable

At step 2 besides the error, the section with fan speeds is:
Name (CPFS, Package (0x06)
{
0x64,
0x46,
0x3C,
0x32, => modified to 0x19 (25%)
0x00,
0x00
})

Hope this helps someone.

Anonymous said...

hello eddie. i patched the table before upgrading to F.15 and now i get the bluescreen on boot and windows cannot start. i tried updating to the F.14 bios version using a usb stick but it wouldn't let me (can't update to older version). please help me! formatting the system is not an option!

note that i was able to boot from Hiren's Boot CD (miniXP) and i can view my HD then. I went to the registry when i did that but the key that was there before is now missing. what does that mean? i do not have the original .aml or asl file, only the patched ones. please help!

please contact me at:
g9kyris@hotmail.com

Kyris

Eddie Tse said...

Try this to recover.

Boot into windows using your setup disk. Can't remember exactly on top of my head, but choose the recovery option where you get to see a command prompt.

Start regedit

Select HKEY_LOCAL_MACHINE

Right click choose "Load hive"

Load your machine registry (%windir%/system32/config/system)

Then remove the registry of your customised DSDT value.



Reboot

Anonymous said...

how do i start regedit from the recovery console? i navigate to the system32 folder and type regedt32.exe but it cannot be run. i searched the internet and found something about a BartPE CD to allow me to run the registry from there. is there any other way?

kyris

Anonymous said...

thank you very much. i used BartPE CD to boot into windows and then followed your instructions and deleted the registry key from my disc. that fixed my problem. thanks again

Anonymous said...

hello again. i updated the bios to F.16 but i think the problem is not fixed with the new bios. these are the values i entered:

100% -> 0x64
75% -> 0x4b
50% -> 0x32
35% -> 0x23
20% -> 0x14
0% -> 0x0

any help appreciated.

kyris

Anonymous said...

What're the steps we should follow before upgrade the new firmware?
Remove the DSDT/HP____/8510x registry?

Thanks!

Eddie Tse said...

Yep, remove that regkey before upgrade the firmware should work fine.

Anonymous said...

eddie, can you tell me what to do with my problem?

kyris

Anonymous said...

BTW, I need to clean all the DSDT registries(Search and Del) in order to boot with the latest BIOS.

Anonymous said...

Thank you so very much. Just rebooted to the sound of silence from this 8510p.

My pc seemed indentical except that the line
Name(C357, Package(0x6)
was
Name(C358, Package(0x6)

Also thanks to the guy who linked to the stuff on undervolting. I gave that a shot too and it helped some. Still think idle temp is high though at 53 Celcius, or is that normal?

This pc is not even mine so I'm really glad I didn't cook it (at least it hasn't happened yet :).

Anonymous said...

Since I had some problems with the method described here (fan did sometimes not really speed up when the system was under high CPU load) I was looking for another workaround.

Found a way and described it here:
http://www.notebook-treff.de/board/notebook-hardware-control/acpi-module/9038-neuer-weg-l%C3%BCfterdrehzahl-anzupassen-bei-problemen-mit-iasl-insbesondere-bei-hp-8510p-8510w-und-anderen/ (in German).

Maybe that helps some people who had similar problems.

Tom said...

Hello everyone. It seems to work also in Windows 7.

Cheers
Thomas

Steven Cinquegrana said...

Since posting my numbers here over a year ago, I've updated my BIOS to F.15 and re-imaged my machine. So I went through the DSDT setup again. I've found that, under normal (ie non-game or video editing, etc) use, I can set the first three fan steps to 0% and only kick the fan in above this (approx. 65C according to RealTemp).

I start with 10% (0Ah), then 30% (1Eh) at about 75C and finally 100% (64h) above 85C (the last fan step). This works great and the temperature of the CPU only ever gets to about 92C under 100% CPU utilisation during which the fan is flat-out. (And it would do this even if you never changed the DSDT table.)

Right now, my temp is sitting at 60-62C and the fan is moving between off and 10% on. And, man, is it quiet!

PS Watch out for Windows (XP) updates - I think they can revert your DSDT settings as my machine seemed to be very loud again prior to re-imaging and setting new DSDT settings.

Anonymous said...

hey ed thanks alot i did it.

styllus said...

Hello Eddie, I try modify my DSDT table and fan speed in HP Probook but i dont succseful because in decompile/compile the Microsoft ASL write some error...:-( Does anyone know how to modify the fanspeed in HP Probook? could you help me? thanks for anything...

Topdown said...

Hi Eddie,
great guide. Unfortunately I cannot get my ASL to compile. I've fixed one error by putting brackets on one function call as you found, but I have a number of other errors:

8510x.asl:

3060: Method(_BQC, 0x0, Serialized)
^***
8510x.asl(3060): warning: not a valid reserved NameSeg

6958: Name(_WDG, Buffer(0xf0)
^***
8510x.asl(6958): warning: not a valid reserved NameSeg

7454: Method(_WED, 0x1, NotSerialized)
^***
8510x.asl(7454): warning: not a valid reserved NameSeg

14193: \_SB_.C272.C273(0x5, 0x0)
^***
8510x.asl(14193): error: expecting Symbol '('


Any ideas?

Topdown said...

BTW, I'm on Bios F.15 on the 8510p

Topdown said...

Fixed. Sorry Eddie, I should have read your comment about ignoring the warnings more closely :) Sucessfully slowed fan to the settings supplied by Steven Cinquegrana. Previously the temp ~62C, now it is ~68C, and fan is slightly quieter, although still noticable. I've already cleaned out the dust etc, so will see how this performs.

Anonymous said...

I do find have extractdsdt.zip anymore (points to a dead link).. anyone can create a mirror please?

Anonymous said...

To anonymous looking for extractdsdt, you can use iasl.exe -d instead. I just followed this guide and it has made a great improvement to my 8510w.

Unknown said...

Hi Eddie,
nice work and have patched my old nx8220 successfully using your guide.

has anyone tried this on an HP EliteBook 8530p? powerful laptop but the fan, though quiet, varies all of the time which is more annoying.

The DSDT table needs the intel compiler ( MS one gives error ) but there doesn't seem to be the typical 'steps' going from 100% down in the file.

surely the 8530p isn't 'that' different to the very similar 6730..

covered for the 8710w in post 76 here:
http://forum.notebookreview.com/showthread.php?t=253102&page=8

Pfpa said...

Eddie,
Could this procedure work in any notebook? Which changes would be needed?

Unknown said...

Pfpa,
just try it!
does your laptop have a HKLM\HARDWARE\ACPI\DSDT tree?

if it does, use the tool and try and decompile

Bartosz Zalewski said...

Thank you very much Eddie.
Works fine on my 8510p with Windows 7 x64 but im used lower values:
Name(C357, Package(0x6)
{
0x64,
0x37,
0x2D,
0x1e,
0x14,
0x0
})
Remember cleaning your laptop. Use iasl.exe -g to extract DSDT table. You will receive a file named DSDT_8510x.dat but do not worry is the same as DSDT_8510x.aml.

Regards.
Bartosz

Alex said...

Unfortunately, the link to the .net program isn't working, is it possible that you could once again upload,

Thanks Alex

Unknown said...

Great I found this. The horrible fan noise of my 8510p annoys me for almost two years now. Thanks for writing this tutorial!

One problem, it doesn't work for me

I've used the intel acpi toolkit to extract the ACPI data but if I try to compile an ASL of my editted ACPI table I get the following errors.

Someone? :)

Copyright (c) 1996,2006 Microsoft Corporation
Compliant with the ACPI 3.0a Specification

dsdt_8510x.dsl:

3464: Method (_BQC, 0, Serialized)
^***
dsdt_8510x.dsl(3464): warning: not a valid reserved NameSeg

6070: Store (\_SB.C0B5 (), Local1)
^***
dsdt_8510x.dsl(6070): error: \_SB.C0B5 is not a method

Unknown said...

Hi Eddie. Awesome work. My 8510p is like a pitfire taking off right now and I can't wait to shut it up. However, the simient download server appears to be offline so I can't download your little .net program. Could you upload it somewhere else and post a link please? Thanks#

James

Anonymous said...

Eddie Tse,

It seems that the link to your quick and dirty .net dsdt extract program does not work anymore.

Can you help me?

Anonymous said...

Guy, You must be a president in Australia, Very Very Very Very Good Job

Anonymous said...

Hi All,

I make this very small program to extract dsdt table from the registry table. it's command line program who create dsdt.aml file. http://rapidshare.com/files/377250685/dsdt.exe.html...Enjoy. thanks a lot eddie

Vaz said...

The previous post refers to HP Compaq 6735s (not 6435s).

Vaz said...

This was very useful. It didn't work very easily with my HP Compaq 6735s but worked eventually with some tweaks. Here is what I did in case someone else finds it useful. There is no fan speed table, but there are 4 logical fans, each of which can be on or off and this determines the single fan speed (the code relies on an assumption that the OS will turn on and off the fans in the right respective order, which seems to work). So, look for the following code:

PowerResource (PFN0, 0x00, 0x0000)
{
Method (_STA, 0, NotSerialized)
{
Return (FNST (0x01, 0x64))
}

Method (_ON, 0, NotSerialized)
{
If (LLessEqual (\WCOS (), 0x03))
{
FNON (0x01, 0x64)
}
Else
{
If (LGreater (DerefOf (Index (LSRP, 0x00)), GTRP (ATV0, 0x00)))
{
FNON (0x01, 0x64)
}
}
}

Method (_OFF, 0, NotSerialized)
{
FNOF (0x01, 0x46)
}
}


There would be several of these (I have 4 - named PFN0, PFN1, PFN2, PFN3). The numbers are as in the table of the original post. Note that the number in FNOF(0x0X, Y) should be the
same as in the next PFN.

Choosing the numbers is then a personal choice depending on your environment, load and noise tolerance; also whether you prefer a short burst of loudness and overall quietness or a
constant middle noise.

For those that want concrete steps, change:

FNON(0x2, 0x3c) to FNON(0x2, 0x28)
FNON(0x4, 0x3c) to FNON(0x4, 0x28)

FNON(0x4, 0x32) to FNON(0x4, 0x1e)

FNON(0x8, 0x32) to FNON(0x8, 0x1e)



Hope this helps. It comes with all the above caveats. One of the recent references above (notebookreview forum) talks about tweaking the temperature thresholds if anyone prefers to
do that instead or the tweaks here don't work.

Unknown said...

Pers A. Hey my notebook makes a terrible sound.

Pers B. Well, that's no problem.
Just switch off the fan!

Pers A. Is it that simple?

Pers A. Yes
Completely no more annoying noise.
Well, maybe you'r heating up your processor until it vaporized or burns down - but, hey that's only a minor issue.

--> My advice:
If you follow the guide, you are lowering the fan speeds. Make sure you keep an eye on CPU temperate! The temperature will off course increase.
Make sure you use a prog ( like CoreTemp ) to monitor the temperate. It is goes to high, please reactivate the fan to run faster, better than destroying your motherboard. ( Moreover By using this hoax you will loose your guarantee! )

Anonymous said...

Hello Eddie

I cannot find the "extractdsdt.exe" file anymore under the inital link on top. Can you pls. reresh the link or sent the file directly via PM to me ?
My adress: hu-tv/at/gmx.de

Thank you so much !

Anonymous said...

Oh, the indescribable joys of life!!!

Thanks Eddie and notebookequus!

I was not using my 8510w due to the jet engine fan, and now the fan runs very quietly in the background most of the time with the cpu temp in the mid 50s.


You must try this, folks. The only coding I ever did before this was a tiny bit of Matlab a decade ago, and I could do this, though it took me a few tries because I did not read all of the comments carefully..

It worked for me on my 8510w using Bios F.15 and Windows 7 32-bit.

Some things I did:
1. Read all of the comments carefully (eventually).
2. Because Eddie's extraction file is no longer posted, use "equus.exe" posted at http://notebookequus.blogspot.com/
3. Carefully read Eddie's comments about adding parentheses to the dsdt.asl file if you get warnings, to get it to compile successfully. Also make sure to check the timestamp of the dsdt.aml file to be sure that the compiling was successful.

I used these fan settings:
0x64,
0x32,
0x19,
0x0c,
0x06,
0x0

Anonymous said...

equus.exe wouldn't work for me. I found an alternate DSDT extractor at http://tonycr.wordpress.com/xp_dsdt/.

It only mentions Win7 on the page, but seems to work ok on XP (sp3 here).

Anonymous said...

Interesting story you got here. It would be great to read something more concerning that theme. Thanks for giving that data. Elly
outcall escort Kiev

DjCobyLevy said...

Eddie,

Thank you for your post.
Worked Succesfully on HP Compaq 8510W.

Download My Ready-Made DSDT from RapidShare :

https://rapidshare.com/files/2281264195/HP_Compaq_8510W_Fan_Patch.rar

Just run it :
asl /loadtable DSDT.aml
and reboot.

Be AWARE :
this is for HP Compaq 8510W ONLY.

Dave said...

Eddie, thanks for the great work. I used your technique on my previously noisy 8510w, but my starting BIOS ver was F.20. Like commenter Kwinten, I had problems compiling the table re method _SB_065B. In my case, I found errors using both the Intel and MS compilers. I was able to resolve them for the Intel compiler by removing the () after _SB.C0B5 in a couple of lines. Seems the intel compiler has a different sensitivity to that. Hope that helps someone else.

Thanks again,
Dave (user of a now-quiet 8510w)
My own blog: http://davebaar.com