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 →

    8710w - fan works all the time

    Discussion in 'HP' started by wojwoda, May 24, 2008.

  1. Destiny

    Destiny Notebook Deity

    Reputations:
    211
    Messages:
    845
    Likes Received:
    0
    Trophy Points:
    30
    Can't u change the gfx then? Would having nvidia make any difference?
     
  2. piksi

    piksi Notebook Enthusiast

    Reputations:
    0
    Messages:
    18
    Likes Received:
    0
    Trophy Points:
    5
    I've never seen 8710W's sold with anything other than Nvidia Quadros, at least here in Europe. I've had 3 pieces of Quadro 1600FX Mobiles and each one of them has worked in similar manner.
     
  3. stumo

    stumo Notebook Consultant

    Reputations:
    77
    Messages:
    278
    Likes Received:
    2
    Trophy Points:
    31
    Please don't tell me the 8710w has a design problem with and external HDMI monitor. I've just spent 2 months getting HP to swap out my old nw9440 for one of these becasuse of its DVI colour of death issue! And I have just gone and bought a second 8710w to run as an htpc via hdmi!!!

    say it aint so!!!!!!!!
     
  4. Ackeron

    Ackeron Notebook Deity NBR Reviewer

    Reputations:
    157
    Messages:
    1,027
    Likes Received:
    0
    Trophy Points:
    55
    Weird...no problems on the 8510p with external HDMI or VGA monitor. Hopefully it's a single-unit issue (fixable!) and not across the whole line :(
     
  5. stumo

    stumo Notebook Consultant

    Reputations:
    77
    Messages:
    278
    Likes Received:
    2
    Trophy Points:
    31
    Well when I stumbled on this thread it immediately got me very worried. I think 8710w users need to test the HDMI connection on a 1080p external display (I only have a 720p). That problem that piksi mentioned above is scarily similar to the nw9440 colour of death issue. For background info, and to see just how serious that problem is, please see this thread... http://www.notebookforums.com/thread213715.html
    It would be much better to discover the problem now, rather than 1.5 years down the track as I did with my nw9440. HP did eventually come to the party in my case, but many others are still fighting/giving-up.
     
  6. piksi

    piksi Notebook Enthusiast

    Reputations:
    0
    Messages:
    18
    Likes Received:
    0
    Trophy Points:
    5
    Well, people, I have *baffling* news :)

    I called HP business support yet again, i described the hdmi problem and assured them that this is a "feature" present on many 8710w's and also told about the nw9440 problem.

    After a long explanation and some elevator jazz, the support person said that he had consulted a fellow technician who explained that the problem was caused *solely by pin9 of hdmi connector*. So, this is HP's official stand on the issue.

    As i'm using 1680x1050 EIZO Coloredge CE210W via HDMI->DVI-D cable as my second monitor, i looked up the HDMI and DVI specs and noticed something: pin9 is TMDC Data0 - and on HDMI it's TMDC Data0 - for blue channel. From the HW9440 posts I read the main problem was with blue channel and shades of blue. HP advised me to go buy a HDMI cable with a cut pin9 - so practically they're advising "go buy a nonstandard cable to fix our design flaw"

    I pried out the pin9 from the HDMI connector and for the first 2-3 minutes it really DID seem to help, but after that the TZ5 temps rose back up to 70C... So I wonder if HP's next going to suggest prying out "pin8 and then pin16 and all the remaining pins" until the problem is solved......

    The laptop will be picked up at the beginning of next week for changing all the internal parts (for some reason the service person mocked the HP service at Poland saying the guys there are "sh*theads that can't do stuff right" and told he was going to send it to the nearby Fixforum at Espoo next to Helsinki). If replacing all the parts on this second 8710W don't help, they'll jump over the "2nd stage" of service (which i have no idea what it is) and jump right to "3rd stage" which means sending the laptop to "the indian guys" where they are supposed to isolate the problem.
     
  7. Destiny

    Destiny Notebook Deity

    Reputations:
    211
    Messages:
    845
    Likes Received:
    0
    Trophy Points:
    30
    LOL :)

    I always thought it was India that was the worse place to talk to or to send the laptop to? Especially that when my old HP died it was send for full refurbishment to Poland :) LOL

    Anyway, we all want to know the outcome :)

    BTW. I never understood why they do not want to give new laptop if they are changing all parts inside. LOL. Craziest thing ever ;)
     
  8. chrixx

    chrixx Product Specialist NBR Reviewer

    Reputations:
    641
    Messages:
    1,859
    Likes Received:
    0
    Trophy Points:
    55
    HP is definitely bull****ting you. These laptops are designed and engineered by a team in the US and Taiwan. There is no such thing as a "laboratory in India" that strips apart these laptops for analysis. The Indian operation is primarily a global remote tech support operation.
     
  9. stumo

    stumo Notebook Consultant

    Reputations:
    77
    Messages:
    278
    Likes Received:
    2
    Trophy Points:
    31
    I'm with chrixx on this one, sonds like BS all the way.
    All I can add, having been through this with HP on my nw9440 (and getting a new 8710w at the end), is that the service tech who comes out (all workstations are onsite warranty here in Oz) or who actually does the work if offsite, is your key to getting case progression.

    In my case he came and swapped out the gpu, and it still had the same problem, and after seeing it with his own eyes, he said there is nothing more he can do to fix it.

    So take down his name, because the CS wallys will need to contact him and he will tell them the facts, ie. it can't be fixed, and he can tell them to do a DOA (which means swapping out the whole laptop). The problem we may have is that there is no new model to swap out with yet, assuming the 3600m version has the same fault? - can anyone confirm/deny this?

    I hope to be able to test my 8710w's at 1080p in the next few days, and I will report back.
     
  10. Destiny

    Destiny Notebook Deity

    Reputations:
    211
    Messages:
    845
    Likes Received:
    0
    Trophy Points:
    30
    When I had my notebook serviced, 1st stage was on-site engineer, while 2nd [apparently proper investigation team] was in Scotland (I live in UK).
     
  11. stumo

    stumo Notebook Consultant

    Reputations:
    77
    Messages:
    278
    Likes Received:
    2
    Trophy Points:
    31
    Sorry if this has been covered before (I don't have a spare week to read through the whole saga/thread) but I'm pretty sure TZ5 isn't an actual temperature. I think HP uses it to directly control the fan. You will notice it jumps up and down in fixed increments that correspond exactly to different fan speeds. All my current HPs are the same, there is always a TZx which coresponds to fan speed.

    I think what happens in the ACPI is that the fan is controlled by the pretend temperature TZ5 only. So when TZ5 is set to say 60, fan speed becomes say 25% etc etc. So when a device requires extra cooling, be it CPU, GPU, NB, HDD, Delta CPU/GPU load, whatever, all it does is set TZ5 to the desired level, and the fan goes to the required speed. This is easier to code than having every source individually driving the single fan.

    So there seems to be a bug in their ACPI code. Something is setting TZ5 to 70 for no real thermal reason, but is not then resetting it, and then we have to wait until a device resets it to its proper thermal level, in most cases when the GPU drops below 55 (if ever). Just a thought...

    Maybe they have carried over their bodge from the nw9440 problem. HP's "fix" for the nw9440 was as soon as GPU temp increases over a short time, it will wack the fan on full speed (in a vain attempt to catch the temps before they go critical).

    Anyway, I too have just had my main 8710w set TZ5 to 70 for no apparant reason. I have only really used it for 2 weeks now and this is the first time it has happened. I'm using it 2x 1920x1200 in dualview through DVI on a NAS docking station.

    *Edit*
    This has happened on my htpc 8710w now too, at only 720p resolution. It happened after some light 3D duties, when the GPU temp got up a bit. Then once 3D was finished, and GPU temps went back down to normal, it still kept TZ5 at 70, until GPU got below 55 (which took hours). So I'd say it is likely to be a bug in the ACPI code to do with the GPU not stepping down its fan speed requests properly.

    Hmmm, this needs more investigation. First thing to do is reliably recreate it, seems HDMI is the best place to start. And I really need to dump their ACPI code and have a look. - I haven't had to do this for several years, does anyone know of a good tool to use these days?
     
  12. FoxWhere

    FoxWhere Notebook Consultant

    Reputations:
    11
    Messages:
    177
    Likes Received:
    0
    Trophy Points:
    30
    How can we make HP aware of this problem so that they start investigating their BIOS code?
     
  13. miika

    miika Notebook Enthusiast

    Reputations:
    20
    Messages:
    10
    Likes Received:
    0
    Trophy Points:
    5
    Perhaps... but I'm kinda reluctant to call them because my impression is that there's near zero chance of getting them to do anything useful. They'll just take this in for a long time and return it with the same problem (perhaps with my LG screen switched to a Samsung for no specific reason too...). And for me, the main problem isn't really the external monitor because I can live without one. Although it would be nice to have it. Also as I mentioned earlier, I actually used a VGA cable instead of a DVI or HDMI and had the same problem, so I'm not sure if it has anything to do with that. Personally I'm most annoyed by the fact that the vacuum cleaner mode is activated after some semi-intense viewport working in 3D software or after a few minutes of watching videos, and it slows down only much later.

    My theory at this point is that the problem is simply caused by a somewhat poor cooling system (either by build or design) combined with badly chosen fan speeds and thresholds. It's not that far fetched that the GPU temps would rise a few degrees when using an external screen, and unfortunately that's enough to put it into the vacuum cleaner mode which is programmed to last really long. I'm no too sure about this though, but it kind of makes sense. :) I'd definitely like to see the ACPI disassembly, if only for curiousity.
     
  14. kaRRer

    kaRRer Notebook Enthusiast

    Reputations:
    0
    Messages:
    42
    Likes Received:
    0
    Trophy Points:
    15
    Hi all, ///(Attention! Not native eng. speaker here!)

    my 8710p has the same problem... Yea i know its the same build, except the fx1600.

    Using speedfan 4.34 i have an "ACPI (Temp1)" field with a value of 65C along with endlessly running fan. Right after a restart it was 61C (silent fan) but after running a directX game its stuck on 65C, even with turned on air conditioner (core1 & 0/GPU has stepped back to 46C/58) this value does not want to change.

    I updated the BIOS to F0C from F03 & F0B but nothing changed. Its interesting that before the bios upgrade i got 27-30C idle temperatures, now i have 45-50. (GPU remained the same 56-60C - im not sure), but maybe its just something with changing from speedfan version 4.33 to 4.34 (???). Anyway the fan is running at full all the time, and i almost feel white hair growing on my head.

    Its so annoying, it was not some cheap machine, i have payed a lot for this cra*.
     
  15. Destiny

    Destiny Notebook Deity

    Reputations:
    211
    Messages:
    845
    Likes Received:
    0
    Trophy Points:
    30
    Have you actually checked if any other notebook with this GPU has similar problems? especially other brands? maybe as it is a workstation gpu it has to be cooled like that?
     
  16. miika

    miika Notebook Enthusiast

    Reputations:
    20
    Messages:
    10
    Likes Received:
    0
    Trophy Points:
    5
    Ok, finally took some time to get the DSDT dump. It's incredibly difficult to export binary keys as raw binary from the Windows registry, by the way. Other than that, it disassembled pretty nicely. Not sure if this has any practical use, but it's attached here just in case anyone cares. For some reason, its name is "nc65xx", not "8710w" or something logical like that. There's also some error in the first lnie, not sure if that's important.

    As you can see, it's rather convoluted. What I could determine with some inspection:

    - Lines 15528 to 15533 are fan speeds at different levels. In hex of course, in the range of 0 to 100 %
    - Lines 15379 to 15523 are fan speed thresholds for various TZ:s. Specifically, lines 15478 to 15497 are GPU thersholds (two almost identical sets, I guess it switches between them based on whatever criteria). All thresholds are in tenths of degrees celcius, added with 0xAAC. So e.g. the entry 0x0CD2 means temperature 0x0CD2 - 0xAAC = 0x226 = 550 = 55 degrees. Don't ask me how I found out, I don't even remember. :p
    - TZ:s and their properties are defined starting with lines ThermalZone (TZx). For example, TZ2 starts at line 15865. The functions are very messy and not very human readable in general. _ACx:s basically define the thresholds, and apparently get them from the above mentioned locations via bunch of indirections.

    I'm tempted to tweak some of those numbers just to solve some of the annoying problems, but I'm not sure how risky that would be. Anyway, this is probably not very useful or important to anyone, but I couldn't resist the nerd challenge.

    Also TZ5 definitely looks like the fan speed percentage. I think it's TZ2 that we should be interested in.
     

    Attached Files:

  17. kaRRer

    kaRRer Notebook Enthusiast

    Reputations:
    0
    Messages:
    42
    Likes Received:
    0
    Trophy Points:
    15
    I doubt that its normal...

    Ok lets see:

    1. Without external monitor i get 55C for the GPU (silent fan)
    2. after connecting my eizo the GPU is running up to max 66C on idle...
    ...but at this point the fan is still totally silent. (only hdd noise).
    3. Now i start to do something cpu intensive (>52Celsius) , without "touching" the GPU (its around 63-66C). At this point the fan starts to kick in...
    and does not stop until i disconnect my external monitor (= GPU going back under 56C).

    Question:
    Why does not the fan kicks in when the GPU goes even above 65C (not stressing the system, just connecting ext. monitor, see 2. point) whereas the fan is running -after stressing the cpu/gpu (TZ5 >= 70)- until the GPU does not get back to 55C. Its stupid.

    Summary:
    Conclusion:
    You can do nothing about it.
     
  18. kaRRer

    kaRRer Notebook Enthusiast

    Reputations:
    0
    Messages:
    42
    Likes Received:
    0
    Trophy Points:
    15
    Nice work, maybe it can help.
     
  19. Destiny

    Destiny Notebook Deity

    Reputations:
    211
    Messages:
    845
    Likes Received:
    0
    Trophy Points:
    30
    The problem is not whether you can actually dump DSDT, but if you will be able to write the new one ther?

    Anyway, well done!
     
  20. Ackeron

    Ackeron Notebook Deity NBR Reviewer

    Reputations:
    157
    Messages:
    1,027
    Likes Received:
    0
    Trophy Points:
    55
    Yeah that was a Speedfan issue. 4.33 was reporting incorrect temperatures.

    Yeah I've been watching TZ2 for some time...I heard from someone else that TZ2 was the main controller re: fan speed, but that CPU played a role too. Perhaps there's a CPU issue which is causing the processors to work overtime when an external is connected :\
     
  21. stumo

    stumo Notebook Consultant

    Reputations:
    77
    Messages:
    278
    Likes Received:
    2
    Trophy Points:
    31
    Yes good work miika, but I'm afraid Destiny might be right... I'm pretty sure the DSDT in the registry gets re-read from the BIOS every boot, I don't think you can change it at runtime in the registry with windows.

    But at least now we should hopefully be able to work out exactly what is going on with this TZ5=70 issue.
     
  22. miika

    miika Notebook Enthusiast

    Reputations:
    20
    Messages:
    10
    Likes Received:
    0
    Trophy Points:
    5
    I think it can be done, see for example this page about a similar but simpler hack for 8510p:

    http://eddietse.blogspot.com/2008/03/patching-dsdt-table-for-8510p-to-reduce.html

    I was able to recompile the (unchanged) source, and the resulting file is an exact copy of the original binary extracted from the registry. This is kind of encouraging, because it suggests that making minor changes to the tables will not cause any complicated and potentially dangerous changes elsewhere. I'm pretty sure that I could change the thresholds and speeds if I wanted, although I'm a bit worried about any side effects it might have. This would probably do nothing to help with the external monitor issues (it seems like a GPU hardware heating issue to me), but it could make the fan stop sooner after the GPU has had heavy load. Another idea would be to make the fan speedup more gradual, which could prevent it from going to the 70% territory that often. At the moment it goes straight from 30% (near silent) to 70% (vacuum cleaner) which is kind of dumb - why not go through 50% first, for example. That could be much more tolerable. Anyway, I've never done anything related to this before so I'm no expert by any means. We'll see, maybe I'll try it at some point.

    Ackeron, it looks like TZ2 (GPU) and TZ0 (CPU) are the ones that actually affect the fan speed. TZ5 is just determined based on them. Both of them fire the fan up at high loads, which is correct behavior because they do need to be cooled down of course. But the actual problems seem to be all about TZ2 (GPU). The CPU doesn't seem to be a problem, as the fans slow down quickly even after hours of continuous 100% CPU load.
     
  23. stumo

    stumo Notebook Consultant

    Reputations:
    77
    Messages:
    278
    Likes Received:
    2
    Trophy Points:
    31
    Cool, I hope it works.

    There is also TZ3 (which I think could be the NB chipset). I have a USB-CAN device I use here and it makes TZ3 go up, and when it gets to 47 it sets TZ5 to 50, then back to 30 when TZ3 goes below 46.

    Also don't be too concerned about doing a hack because of GPU temps. I just had my main 8710w set TZ5 to 70 for no reason! all temps were well into their normal ranges, and I was simply web browsing (with dualview via DVI).

    I think the best thing to do would be to try and get the GPU to set TZ5 to 50, if TZ2 (GPU) is in normal temp range (<60) and TZ5 is at 70. Then afterwards, hopefully the normal TZ2(GPU) code will resume proper control. I reckon its worth a try, I'm willing to test any code you come up with.
     
  24. miika

    miika Notebook Enthusiast

    Reputations:
    20
    Messages:
    10
    Likes Received:
    0
    Trophy Points:
    5
    Well, I patched the DSDT and everything seems to run fine - that is, no bluescreens or exploding components (so far).

    The only change I made was setting the GPU 55C threshold to 60C instead. This seems to work nicely: after stressing the GPU to 65C triggering the 70% fan, the temps came down to 60C pretty quickly and the fan slowed down again. No more holding the laptop in the air pointing a tabletop fan at it, trying to get the temps to 55C for the noise to stop. :)

    I think I'm going to do something else for some time now and see how well this works in practice, and whether I need some additional tweaks.

    If anyone wants, I can write step by step instructions for doing this, like in the link I pasted a couple of posts above. I'm somewhat hesitant to give any ready made files because I suspect that there's a lot of variation in the problems people are having and this solution may not help everyone (or might even be harmful). Also I've heard that reports that different units of the same model may have completely different ACPI programs, so this one may not be compatible at all.

    About the external monitors, mine is not currently around here and won't be for a week, so I can't experiment with that right now.

    I suspect the reason is TZ2, at least it is that for me in similar situations. Watch the 65C limit, crossing it even briefly tends to fire the fan up to 70% and keep it there until you get back down to 55C. And using the external monitor apparently puts the temps up a few degrees, so it may be bordering around 65C and sometimes crossing it for no specific reason. Although it is certainly possible that different people are having different kinds of problems with this, it's hard to tell.
     
  25. stumo

    stumo Notebook Consultant

    Reputations:
    77
    Messages:
    278
    Likes Received:
    2
    Trophy Points:
    31
    That would be great if you could do that miika, even your initial 60C patch would be much better than what HP have come up with! I have 2 8710w's I can test on, one old and one new (both with 1600m GPUs though since they don't seem to have the 3600m here in Oz yet). You can PM me your mod instructions if you want some more testing before "releasing" your howto.

    I also think I'm leaning more towards your idea of an intermediate TZ5=50 speed at GPU>xxC too. I could imagine mine (with your first 60C patch) just cycling 30-70-30-70 every few minutes when my ambient temps get up a bit in summer. I think jumping TZ5 from 30 to 70 is too much of a difference in cooling power, it will just end up oscillating, we need a 50 in there somewhere. Maybe this is why HP dropped the low range to 55C to stop oscillations? - but it seems they also made a hairdryer by doing so.

    Yes now I think you are right, mine tends to idle (TZ5=30) at 64C, and my temperature reading program is only a 1s max refresh, so it might not have caught the 65C trigger if/when it happened.

    Incidentally, one quickish way to get TZ5=30 again is to suspend then resume the laptop, might be easier than whipping out the desktop fan!
     
  26. miika

    miika Notebook Enthusiast

    Reputations:
    20
    Messages:
    10
    Likes Received:
    0
    Trophy Points:
    5
    Ok, here it is... sorry if it's a bit complicated, but I hope it helps someone - and perhaps someone will come up with some smarter and more useful adjustments and post them as well. At least I'll remember what to do if I have to repeat this at some point. :) The basic principles might apply to most other laptops too.

    If something isn't working or there's an error, tell me so I can fix it. Ask if there's a part you fail to follow.


    Patching the HP 8710w DSDT tables

    First of all, anything you do is completely at your own responsibility. This is certainly not something that is intended to be done by end users, so there's a real chance of killing your computer if something goes wrong and I'm sure HP won't be very symphatetic. These instructions are what worked for me, but I can't guarantee that they work in case of other units or versions.

    Also don't expect this to magically solve all problems - I think that fundamentally the problems are about too hot hardware. For example, switching the thermal pads may be a much better solution because it actually addresses the heat generation issues. However, tweaking the DSDT tables can provide some help for certain specific problems. I urge you to track down your specific problems using tools like Notebook Hardware Control (which shows not only temperatures and fan speeds, but also the thresholds where the fan speeds are changed). The problems seem to be related to the thermal zone TZ2, aka the GPU. Discussion about the specifics can be found earlier in this thread.

    This is largely based on Eddie Tse's write-up on a similar hack for 8510p, which can be found at http://eddietse.blogspot.com/2008/03/patching-dsdt-table-for-8510p-to-reduce.html . So thanks Eddie. :)

    So, let's begin:

    1. Get the MS ASL Compiler at http://download.microsoft.com/downl...5-81fc-3e4bf7b65496/MS_ASL-Compiler_3.0.1.msi and install it.

    2. Create some working directory, say, C:\dsdtpatch\

    3. Copy asl.exe to C:\dsdtpatch\ from the installed compiler program files.

    4. Open a command line window. You may need to run it with admin privileges (right-click it on vista and choose "Run as administrator")

    5. You need to extract the AML data from the Windows registry as raw binary. This is somewhat difficult, because regedit doesn't offer a feature to export keys as binary, only hex. The key is 00000000 in HKEY_LOCAL_MACHINE\HARDWARE\ACPI\DSDT\HP____\nc65xx\00010000 . Tse has provided a simple .Net program for this purpose, but unfortunately it only works with 8510p. I can't help you much with this - here's a really clumsy way that also requires an unix shell. Who knows, perhaps there's some improved version of regedit or something that would do this automatically, but this is the way I did it because I was too lazy to look for one. Anyway:

    - export the key to C:\dsdtpatch\dsdt.reg
    - make a backup copy, just in case
    - move to unix shell (sorry :) )
    - here's a simple and understandable command that converts it to binary:
    cat dsdt.reg | perl -pe 's/\n//g' | perl -pe 's/^.*://;s/[^a-f0-9]//g;s/(..)/pack("C",hex($1))/ge' > nc65xx.aml
    - whew, if it worked, nc65xx.aml should now contain the registry key as raw binary (you may want to check that it seems reasonable - for me it is about 82kB and starts with letters "DSDT")
    - get the file back to windows and make a backup copy

    6. Disassemble the file we just created in command line: asl /u nc65xx.aml

    7. You should end up with a file called nc65xx.ASL which is the ACPI source code. Make a backup copy.

    8. Finally, we have the file we actually need to modify. Somewhere in the file you should find a few lines looking like this:

    Name(C364, Package(0x6)
    {
    0x64,
    0x55,
    0x46,
    0x32,
    0x1e,
    0x0
    }

    The name might vary but I guess the hex numbers should be the same for others. These are the fan speeds in the range of 0 to 100 (0x64). This is a great chance to use the fancy calculator touch button on the top right corner of your 8710w - it's useful for the hex conversions and calculations. The above numbers correspond to the values TZ5 (fan speed) gets.

    Above these numbers there should be a similar long list of other numbers. These are the fan temperature thresholds for various temperature zones. You should find a set of numbers that look as follows (there are other similar sets of numbers, but we are looking for these specific ones):

    Package(0x8)
    {
    0x5ac,
    0xc3c,
    0xc6e,
    0xcd2,
    0xd36,
    0xda4,
    0xe1c,
    0xe6c
    },
    Package(0x8)
    {
    0xc6e,
    0xcd2,
    0xd36,
    0xda4,
    0xe1c,
    0xe80,
    0xec6,
    0xfa3
    }

    These are the GPU fan thresholds. They aren't plain numbers though - they're expressed in tenths of degrees celcius, added with 0xAAC. So for example, 0xD36 there is 0xD36 - 0xAAC = 0x28A = 650 = 65 degrees. For convinience, here are the above numbers converted to degrees in this way: the first set is [some negative number (don't know what this means)], 40, 45, 55, 65, 76, 88 and 96. The second set is 45, 55, 65, 75, 88, 98, 105 and 127.1. If you compare these numbers to what you see in Notebook Hardware Control or other program that shows this extra data, you can see the similarity with the TZ2 thresholds (and this is what I base my observations on, too - I have no idea why things are done in whatever way they are). I think the first set is the thresholds "below" current temperature and the second set is the ones "above". So if the current temp is 57C and the fan is spinning at 30%, the combined list of thresholds will be something like 40, 55, 65, 75, 88, 98 (notice that 45 is skipped) - i.e. this is what makes it move the threshold when one is crossed. Not sure about that one though.

    Now, what to do with these numbers? You can use your own imagination and make tweaks based on your own observations - just don't get too adventurous so you won't break anything. I think there may be several different problems people are having, so what I'm about to describe may not apply for you. Especially if your problems are with external monitor, this is probably not very optimal.

    Personally I found the biggest problem with my 8710w to be the GPU temps. After the GPU crosses 65C, it fires the fan up to 70% and keeps it there until the temps get down all the way to 55C. This takes really long or doesn't happen at all. So I decided to change the 55C threshold to 60C. This makes the fan stop within reasonable time. On the other hand, it might cause a pulsating cycle where the fan goes on and of repeatedly, swinging the temperature between 60 and 65C. But I guess that would be less annoying than the constant vacuum cleaning.

    So what I did now was to change the numbers corresponding to 55C to numbers corresponding to 60C. The 55C number in the above list is 0xcd2 (55 degrees = 550 = 0x226 and 0x226 + 0xAAC = 0xCD2). I changed this to 0xd04 (60 degrees = 600 = 0x258 and 0x258+0xAAC = 0xD04). Note that there are two instances of it, replace them both. And that's it, save the file.

    I haven't experimented with this much yet. Other tweaks might be much better. Some ideas could be:

    - Just lowering the fan speeds, like people often do with these DSDT hacks. This would make the noise more tolerable, but could risk overheating.
    - Making the transition more gradual. Right now, the fan often goes straight from 30% to 70%. There is a 50% entry in the speed table and it's activated at times, but for some reason it is also often skipped. Going through this intermediate stage could prevent the temps from getting to the 70% range that often.

    8. Time to compile the modified source code. In your command line window: asl nc65xx.ASL

    9. You'll likely get some warnings and errors. It appears that the warnings can be ignored, but the errors do prevent it from compiling. If you didn't break anything else, the errors you get are a few syntax errors which can be fixed as follows:

    - Go to the line of the error. For example if you get "nc65xx.ASL(14084): error: expecting Symbol '('" then go to line 14084 in your editor and you may find something like this:

    If(LEqual(Arg0, 0x0))
    {
    C381
    } <------- (note: this is the line 14084)

    - Add () to the function call in the previous line, so that you get something like this:

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

    - Try to recompile. When you get a new error, repeat this procedure. You may need to repeat this for a few times.

    10. After the errors are fixed, the file should compile and overwrite the nc65xx.aml. Check that the file timestamp has updated.

    11. Install the thing. Make sure you have admin privileges, otherwise it will fail. Installation is done in console: asl /loadtable nc65xx.aml

    12. That's it. Reboot your computer and hope that everything worked. If it boots up with no problems, verify that your changes have taken effect using some program that shows the fan speeds and thresholds. Be sure to test it thoroughly if you have made any risky modifications (e.g. significantly dropping fan speeds which could cause excessive heating). If your machine fails to boot, apparently pressing F8 at boot and choosing "use last known good" option should boot it with the old settings. In that case you should perhaps load the original backuped aml file back to registry.
     
  27. kaRRer

    kaRRer Notebook Enthusiast

    Reputations:
    0
    Messages:
    42
    Likes Received:
    0
    Trophy Points:
    15
    It's great, i will try this on my 8710p, thank You.

    Do You think they could figure it out? :)
     
  28. kaRRer

    kaRRer Notebook Enthusiast

    Reputations:
    0
    Messages:
    42
    Likes Received:
    0
    Trophy Points:
    15
    The registry editor here would do the trick, but the function we want (raw bin export) works only in the pro version($).

    Extract the AML data like this (carefully...) :
    1. Export the '00000000' key under 'HKEY_LOCAL_MACHINE\HARDWARE\ACPI\DSDT\HP____\nc65xx\00010000'
    (as miika said)
    2. Now open the .reg file (for editing) you have just exported and search for 'nc65xx' in the path. Overwrite it with '8510x'. Save the file then import the key back to the registry by only double clicking on the .reg file itself.
    3. Run the program found on this page (by Eddie Tse):
    http://eddietse.blogspot.com/2008/03/patching-dsdt-table-for-8510p-to-reduce.html
    Now you have the file 8510x.orig what is your aml data in binary. Rename it to anything you want with the extension of .aml
    4. Delete the '8510x' key (you have created in step 2.) in the registry.
    5. Follow miika's guide from step 6. :)
     
  29. stumo

    stumo Notebook Consultant

    Reputations:
    77
    Messages:
    278
    Likes Received:
    2
    Trophy Points:
    31
    thanks for the good writeup miika, but I had already done it myself and tinkered a bit, but it will help others.

    My current line of thinking is that the values in that table are entered wrongly. I'm pretty sure the 2 tables are for for falling and rising temps respectfully, but there seems to be a problem with 65C. those GPU tables just look wrong compared to eg the CPU tables below it.

    My theory is that the 50% fan (that should be coming on at 65C rising threshold) is immediately being overwritten with the 70% fan for the falling 65C threshold.
     
  30. miika

    miika Notebook Enthusiast

    Reputations:
    20
    Messages:
    10
    Likes Received:
    0
    Trophy Points:
    5
    kaRRer, I doubt they'd notice unless they were specifically looking for it for some reason. Anyway, clever thinking with the registry extraction. :)

    Stumo, could be somethin like that, sure. Be sure to post your findings here if you're researching it further.
     
  31. stumo

    stumo Notebook Consultant

    Reputations:
    77
    Messages:
    278
    Likes Received:
    2
    Trophy Points:
    31
    I have discovered some strange goings-on.

    It is in the temperateure tables for _TZ2 (GPU), specifcally the entry for_AC4 (Active Cooling Level 4), which is the 3rd and 2nd entries respectively which I have labeled below...

    Package(0x8)
    {
    0x5ac,
    0xc3c, // _AC5* - see findings below
    0xc6e, // _AC4* - see findings below
    0xcd2,
    0xd36,
    0xda4,
    0xe1c,
    0xe6c
    },
    Package(0x8)
    {
    0xc6e, // _AC5* - sets fan to 30% + see findings below
    0xcd2, // _AC4* - see findings below
    0xd36, // _AC3 - sets fan to 70%
    0xda4, // _AC2 - sets fan to 85%
    0xe1c, // _AC1 - sets fan to 100%
    0xe80, // _AC0 - ? not sure - maybe passive cooling
    0xec6, // _CRT - critical temperature - system shutdown
    0xfa3 // not a valid temp, maybe signals the end of array?
    }

    Just a reminder - the _AC4 threshold is the one that should be setting the fan to 50%, but it isn't.

    What I have found is that when temps are increasing, the _AC4 threshold is read from the second table as expeced. But once the _AC4 threshold temperature is reached, it doesn't do an actual fan speed change like the other _ACx's, rather, it changes the table entries for _AC4 and _AC5 to be the ones from the first table. All other entries remain unchanged. Then when temp goes below this new _AC4 threshold, it puts the original entries from table 2 back into the used table (again, rather than setting fan to 50%).

    You can see this happening using NHC, just press the refresh button.

    I'm going to try to reverse engineer "Method(C37C, 0x2, Serialized)" when called with args 0x01 and 0x02 because I think that is what happens when _AC4 is triggered.


    *edit -I have looked at that Method a bit now - see below with comments...

    In the case of _AC4, this function is called with the values arg0=0x01 and arg1=0x02...

    Method(C37C, 0x2, Serialized) // 2 args, arg0 is entry number in the table, arg1 is the _TZ2 (GPU) table index in our case.
    {
    Store(0x1, Local0) // default to using the 2nd table.
    Store(Arg0, Local1) // our entry in the table (in this case entry 0x01)

    // ? read values from a run time table of some sort - maybe the currently used table?
    Store(DerefOf(Index(C386, Arg1, )), Local3)
    If(LEqual(Local3, 0xfffffffd)) // ? invalid/flagged value - Looks like this is what is happening in our case. ?
    {
    Store(0x0, Local3)
    }
    If(LLess(Arg0, Local3))
    { // Looks like this is what is happening in our case.
    Store(0x0, Local0) // use the first table instead of second.
    Add(Arg0, 0x1, Local1) // increment the table entry position (since first table is offset by 1)
    }
    // read the temperature entry from the table.
    Store(DerefOf(Index(DerefOf(Index(DerefOf(Index(C361, C388(Arg1), )), Local0, )), Local1, )), Local2)
    Return(Local2) // return the temperature entry from the table.
    }

    So since it is returning a temperature which is lower than the current temp (ie. from the 1st table rather than 2nd), it must somehow not be triggering a fan speed increase in this case?

    I have run out of time now, so it would be great if someone could take it from here, or maybe I will have some more spare time next week.
     
  32. piksi

    piksi Notebook Enthusiast

    Reputations:
    0
    Messages:
    18
    Likes Received:
    0
    Trophy Points:
    5
    Wow, you guys have been really productive, I would not have had the time or patience to start looking into the DSDT tables....

    Anyway, meanwhile the newest F0.D bios was released and updating to it didn't really change anything related to this problem.

    When I mentioned the Indian service in my last message, the support representative didn't say litterally "in India" but might have referred to Indian workers in their service center. I'm not sure if I'm willing to go ahead and patch the tables at least at this point, and I'm considering escalating this problem to the 3rd level simply because I want HP to acknowledge that this is a problem they need to fix. That's why I was also encouraging others to report and complain about this to HP to show that there are others affected too.
     
  33. chrixx

    chrixx Product Specialist NBR Reviewer

    Reputations:
    641
    Messages:
    1,859
    Likes Received:
    0
    Trophy Points:
    55
  34. piksi

    piksi Notebook Enthusiast

    Reputations:
    0
    Messages:
    18
    Likes Received:
    0
    Trophy Points:
    5
    Nope, crixx. I tried both this driver and a newer 1600m compatible driver. Both with similar results. It's still reporting the tz5 temp as a steady 70 after a while and fan runs like crazy.

    For you guys who have been fiddling with the DSDT tables... do they compile ok on an Intel compiler or does the fw contain the m$ compiler bugs? It is very often a factor in dsdt problems too (the nonstandard code which ms compiler accepts but more strict intel compiler refuses to compile).
     
  35. stumo

    stumo Notebook Consultant

    Reputations:
    77
    Messages:
    278
    Likes Received:
    2
    Trophy Points:
    31
    I compiled using ms first, then I used intel, there were only minor things that the intel compiler caught over the ms one. It made no difference to the problem we are seeing.

    In other news, I didn't get far debugging the code. I have settled on adjusting the temp thresholds so that it switches to 70% fan only when GPU temp gets to 68C. That seems to work quite well in my case, because NB chipset TZ sets the fan to 50% usually before GPU creeps up that high - causing the GPU temp to decrease.
     
  36. piksi

    piksi Notebook Enthusiast

    Reputations:
    0
    Messages:
    18
    Likes Received:
    0
    Trophy Points:
    5
    That sounds like a very reasonable solution for the problem on Windows.

    In the meantime (as I am horribly inexperienced in fiddling with DSDTs) I studied the problem further with the help of a couple of Linux distributions and NVIDIA proprietary drivers.

    I have yet to check the actual version of the driver, but seems like the nvidia akmod package in Fedora 9 does not behave in the same manner as the driver in windows even though afaik nvidia uses the same driver base for all of their cards. The linux driver uses the powermizer states properly and the gpu core temperature very quickly drops to the 57C (which is the normal lowest temperatuer i'm seeing on windows too).

    I guess the problem is due to Linux reacting differently to DSDT tables or the computer sending different DSDT responses to linux (this has been observed with some manufacturers).
     
  37. Palmeta

    Palmeta Newbie

    Reputations:
    0
    Messages:
    1
    Likes Received:
    0
    Trophy Points:
    5
    Hi Guys

    I'm new here so regards to everyone.
    I've read all of yor articles with great enthusiasm as I have a similar problem but only in reverse order.
    I have an HP ze2301EA notebook and have upgraded it's processor to an AMD Athlon 64 3700+ Mobile. It works great except that it quickly overheats if I let it run at full throtle. This is because the fan only comes on at idle speed when the processor reaches 65ºC (Read by rightmark CPU Clock Utility).
    The guys at HP are real morons as they provide no support at all. No upgraded bios no software nothing...
    The bios seems to work well with the processor as the fan speed realy kiks in during boot. The problem is when vista loads up the thermal control goes stupid and the fan is not heard from again until the cpu hits 65ºC and then still only at Idle. This is a pain as the CPU Hangs at 70º so if something demands a little bit more from the CPU the fan can't cool it in time and ...crash...
    I'm actually holding the maximum processor usage in power options at 99% so the multiplier doesn't jump above 11 which seems to hold it a bit more.
    Speedfan or any other program can't control my fan. But I know it can be controlled through software because the Pheonix Bios flasher can set it to maximum speed whenever I Flash the bios in Vista.
    I've tried dissasembling the registry using our methods above at the same key and lowering the listed items but, although the system runs with the lower values, there is no change in fan behaviour what so ever.
    Anyone have an Idea how I could get my fan to run when the processor hits say 50º.
    I really am desperate
     
  38. kaRRer

    kaRRer Notebook Enthusiast

    Reputations:
    0
    Messages:
    42
    Likes Received:
    0
    Trophy Points:
    15
    Hi,
    what about the new official nvidia drivers for quadro nvs? Im sure you heard about this.
    http://www.nvidia.com/object/quadro_nvs_notebook_winxp_179.28_beta.html

    Anyone tested it yet? Is it worth to change from the .inf modded desktop geforce 8700GT drivers? Maybe it can help on our 'TZ5' problem?

    Btw i tried patching the dsdt tables (55C changed to 60C) and it worked fine, but now my GPU is only at 57-58C and the TZ5(fan) just does not want to fall under 70... hmm. Now i try to stress the gpu again and see what happens when the temp. gets under 60.

    And there are some new bios for the 8710p/w - Anyone tried? Any changing in the temp/fan management?
     
  39. verisign

    verisign Newbie

    Reputations:
    9
    Messages:
    7
    Likes Received:
    0
    Trophy Points:
    5
  40. chrixx

    chrixx Product Specialist NBR Reviewer

    Reputations:
    641
    Messages:
    1,859
    Likes Received:
    0
    Trophy Points:
    55
    The newer Nvidia drivers seem to miss the following reg keys under "\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Video\{**nvidia driver id**}\0000\":
    PowerMizerEnable 1
    PowerMizerLevel 3
    PowerMizerLevelAC 3
    PerfLevelSrc 3322

    Setting these registry entries in the new 182.06 driver in Vista and using the Balanced power plan with F0B bios, I'm able to get my GPU temperatures (and consequently the fan noise) back to the original levels (of the 167 drivers and F0B BIOS), which is cool and quiet. I've mentioned in my previous posts that the fan only became an issue with the 17x drivers.

    If your model shipped with a 16x driver, F0B BIOS and has a Penryn CPU and Quadro FX 3600M card, it should not have any fan noise issues.
     
  41. miika

    miika Notebook Enthusiast

    Reputations:
    20
    Messages:
    10
    Likes Received:
    0
    Trophy Points:
    5
    Woah, I set the PowerMizerLevelAC from 1 to 3 (but left the PerfLevelSrc at 3333) and it feels like the entire problem has just vanished. I really hope this isn't just some fluke or bring out some different set of problems... I've been using this thing now for couple of hours with an external screen in dualview and the temps have been stable at around 55C.

    I had recently updated the driver to 185.20 to do some CUDA programming. Until now I hadn't even been able to use the external screen at single-view without the noise on these drivers. There aren't probably very well supported though, the driver tends to crash and restart every now and then.

    But good thing I happened to check out this thread by accident after a long while. :) Kind of ridiculous if it turns out that after all this hassle the solution is something that simple.
     
  42. Neo77

    Neo77 Newbie

    Reputations:
    0
    Messages:
    2
    Likes Received:
    0
    Trophy Points:
    5
    Hello all,

    Well, there's been a long time that I used this solution, and it was working GOOD on my XPx64.
    Yea, well, time has come that we try win7, is'nt it ? :)

    Well i installed Windows 7 Ultimate x64 (RTM) and all went fine, some drivers remain uninstaled, but they are all covered up with Vista x64 drivers so finaly all went fine.

    Oh, yea, and then, I realise, damn what's with all the noise, and blimp, I rememberd, the damn fan control, yea.

    I found my last setings, with registry modifications on PowerMizer levels and huh ?
    Something have changed in the registry. Can't find PerfLevelSrc string or any other, there is now CurrentControlSet ControlSet 001 ControlSet 002, all is a bit confusing in W7.

    So am I wrong or not ?
    I applyed registry tweeking on all and every place I come up like logical place to aply so. And bope, no luck :(

    Anyone tryed W7 yet ? Any solution ?

    Chrixx, help mate
     
  43. chrixx

    chrixx Product Specialist NBR Reviewer

    Reputations:
    641
    Messages:
    1,859
    Likes Received:
    0
    Trophy Points:
    55
    The settings are identical in Windows 7 and it should work. I've sold my 8710w and upgraded to an 8730w, but I still have the same settings on my 8730w. In fact, the new Windows 7 drivers have these settings by default.
     
  44. Neo77

    Neo77 Newbie

    Reputations:
    0
    Messages:
    2
    Likes Received:
    0
    Trophy Points:
    5
    Well what can I say exsept THANKS!
    You are right, new drivers automaticly solved the problem.
    Thanks a lot

    Btw : the drivers (from 09/23/2009) that W7 aply automaticly does not have those tweeks. I had to manualy download the latest drivers from 10/19/2009 and wolla all works fine.
     
  45. jarpola

    jarpola Newbie

    Reputations:
    0
    Messages:
    2
    Likes Received:
    0
    Trophy Points:
    5
    Here is same problem, my 8710w's fan is always on. This happeded when I moved to use Windows 7 64-bit (in Vista 32-bit fan speed is ok). CPU's idle temperature is OK - around 42-45 degrees. But GPU's tempreture in idle is 62-65 degrees!!

    I have tried enabling PowerMizer feature in manufacture's drivers (186.24) and the newest Nvidia's drivers (195.62), neither worked. I made new DWORD values in registery:

    PowerMizerEnable 1
    PerfLevelSrc 3333

    "\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Video\{**nvidia driver id**}\0000\"


    I red somewhere that in these settings, PowerMizer is working on battery and AC. But nothings happens! GPU clock speed remains the same and temperature also. What I'm doing wrong? Is there other way to enable PowerMizer? Or does I have get rid of 7 (and back to as far as to XP ? :D )
     
  46. jarpola

    jarpola Newbie

    Reputations:
    0
    Messages:
    2
    Likes Received:
    0
    Trophy Points:
    5
    I solved the problem by disabling Aero, fan instantly spinned down. Does 1600m have enough power to use Windows 7's Aero, or this is only driver related issue?
     
  47. plumsauce

    plumsauce Notebook Enthusiast

    Reputations:
    19
    Messages:
    42
    Likes Received:
    0
    Trophy Points:
    15
    It's a question of semantics.

    It has the power, it's only that using the power causes heat which causes the fan to kick in.
     
  48. stumo

    stumo Notebook Consultant

    Reputations:
    77
    Messages:
    278
    Likes Received:
    2
    Trophy Points:
    31
    Try using the second latest BIOS too, I found that the very latest BIOS caused the fan to run a lot, wheras the previous BIOS was normal fan.
     
  49. wearetheborg

    wearetheborg Notebook Virtuoso

    Reputations:
    1,282
    Messages:
    3,122
    Likes Received:
    0
    Trophy Points:
    105
    How do you set these registry values ? I got to
    "**nvidia driver id**}\0000\".
    Then do I make a new key, or new string/binary value etc ??
     
  50. wearetheborg

    wearetheborg Notebook Virtuoso

    Reputations:
    1,282
    Messages:
    3,122
    Likes Received:
    0
    Trophy Points:
    105
    ^^ Bump...anyone ?
     
← Previous pageNext page →