Hey moral hazard,
I have an Acer Aspire 6930G Laptop.
i was wondering if i could do this to my laptop? i would love my fans to run all the time, i'm really obsessive about temps on my laptop, and i'm constantly doing things to get the temps lower all the time lol
Either making the fans go at 100% all the time, or either get them to kick it at a much much lower temp..
Thanks
-
-
moral hazard Notebook Nobel Laureate
The only good thing I see is "scp". set cooling policy. You can set it to passive cooling (throttling instead of fan). Download the ACPI spec (google) and search the document for SCP.
http://forum.notebookreview.com/showpost.php?p=5303629&postcount=163
Then upload your asl file and I will check to see if there is anything you can do. -
-
that its similar to Hp notebookers code also, which U said can not be easily modified. Although I have some other
part too, similar that one U posted earlier:
Name(BCLT, Package(0xd)
{
0x64,
0x32,
Zero,
0xa,
0x14,
0x1e,
0x28,
0x32,
0x3c,
0x46,
0x50,
0x5a,
0x64
I moded it to:
Name(BCLT, Package(0xd)
{
0x64,
0x32,
Zero,
0x0,
0x0,
0x5,
0x5,
0x32,
0x3c,
0x46,
0x50,
0x5a,
but id does not work. My goal is to stop fan when i am using my laptop (Compaq CQ61-320EN, AMD Athlon M300,
2,0 gHz) lightly, or not using at all. It spins all the time. When I am not working, the core temperature is aprox. 45
celsius. When I am working some office stuff temperature is aprox. 48 - 50 celsius. I disabled "fan always on" in
BIOS, of course, but it gave me 2 minutes of silence, before fan starts to bugging me.
Please, take a look on that dsdt, if U may. Is that modifiable or not.
Thanks!Attached Files:
-
-
moral hazard Notebook Nobel Laureate
I think the only possibility for you is to set the cooling policy to passive, modding this code:
Code:Method(_SCP, 0x1, Serialized) { If(LAnd(LEqual(ECON, One), LEqual(OSTB, 0x42))) { Store(Arg0, PSVM) Store(PSVM, \_SB_.PCI0.LPC0.EC0_.TAPM) } }
Just search the PDF for "SCP" and you will know what to change.
The code you show above (the one that starts with "Name(BCLT, Package(0xd))") is the code which controls the backlight (that's what BCLT is). So no, you shouldn't change it unless you want to play with the backlight. -
Thanks! If by setting policy to passive means the same, as setting policy to passive in Win7 advanced power options (there are such option, to set cooling policy to active or passive when pc plugged in or running on batteries), then it is not making any changes. I tried to set passive in Win7, see no changes.
-
moral hazard Notebook Nobel Laureate
Yeah, most of the time there are no changes.
Not much you can do about it I guess... -
Sad! But I have suspicion, that I can set fan speed at idle temperature at least by modifying code:
Scope(_TZ_)
{
Name(TPC_, 0x64)
Name(TPTM, 0x4b)
Name(TPAS, 0x5f)
Name(PSVT, 0x41)
Name(PSVM, Zero)
Name(DHOT, 0x5a)
Name(HOTF, Zero)
ThermalZone(THRM)
{
That code "asks" to be modded! -
moral hazard Notebook Nobel Laureate
TPC (value 0x64 = 100) :
Dont know what TPAS is.
PSVT (=65):
Maybe throttling contant is stored here.
Dont know what PSVM is.
Dont know what DHOT is.
Dont know what HOTF is.
You can play with the numbers, just convert the hex to decimal to get an idea of what the number is (e.g. 0x64, drop the "0x" becomes 64 then use calc.exe to convert 64 to decimal (from hex), becomes 100).
I dont know, doesn't seem possible, but the only way you could find out is to test each value. -
I believe you will have better luck controlling the fan by messing with the EC.
-
moral hazard:
Yes, I am familiar with test method "put the value end see, what happens". Will do that.
weinter:
What does it mean EC? Like, hardware level mods with variable resistors? It seems to look like I will mode that way at the end! -
moral hazard Notebook Nobel Laureate
I think he means like this:
http://www.thinkwiki.org/wiki/How_to_control_fan_speed
It might be useful if you take apart your notebook, find the model of the Embedded Controller (EC) and download the datasheet for it, maybe you can pin mod it to control the fan. -
I meant this
-
moral hazard:
Oh, yea! Those s made great tool for Thinkpad. Some fellas made soft for HP mini
http://myhpmini.com/forum/viewtopic.php?f=62&t=3908&sid=0151a569053c27f093787f51092e67b9&start=12
will try to get in touch with them, hoping there are some similarities between HP Mini and CQ61!
weinter:
Thanks! Looks easy like a,b,c,. Will try later at home! -
Nope! There are couple values who changes senceles depending on whatever, not fan speed.
-
-
moral hazard Notebook Nobel Laureate
See the RW help file, maybe there is a command so you could make a batch file for it...
-
Any idea if this would work on my Compaq Presario V2010 us?
-
moral hazard Notebook Nobel Laureate
no idea, but no harm in trying
-
So I'm trying to use the instructions in the zip file that Moral hazard posted in the first post, to reduce idle fan temps by making my fan run hotter.
I have the .ASL file, but after opening it in notepad, I can't seem to find 4/5 hex numbers starting with 0x64 and ending in zero
Not sure what to do
Should I attach the .ASL file here?
Thanks in advance guys -
moral hazard Notebook Nobel Laureate
If you can not find them, they are not there.
For many notebooks the values are set some other way, maybe in the EC or BIOS. -
This is the closest thing to what is mentioned in the guide.
Is it possible that this could be it ?
-
moral hazard Notebook Nobel Laureate
I believe that code controls the backlight.
-
Ah ok
Thanks
Any idea where else I could check to edit speeds? -
moral hazard Notebook Nobel Laureate
maybe try this tool:
http://forum.notebookreview.com/acer/421850-1810tray.html -
Hey. I'm trying to mod my dsdt to make my asus g71v laptop speed up the fan at lower temperatures but i can't seem to find anything on the dsdt table.
The fan starts at 50ºC, speedsup when 70ºC, more speed at 80ºC and fullspeed at 90ºC. What i would like to do is to reduce those temps by 10ºC.
Speedup at 60ºC, more speed at 70, fullspeed 80ºC.
The dsdt table is attached.
So far i found a way to reduce fan speed but it only reduces speed, doesn't increase...
My laptop never reaches 90ºC but works near that. Since the fan can spin faster, i would like to use those extra rpm's to cool down my system.
done so far: did a mod to make the pc "think" that it's running at 85ºC - no change on fan speed.Attached Files:
-
-
moral hazard Notebook Nobel Laureate
Code:Method(RFAN, 0x1, NotSerialized) { If(\_SB_.PCI0.SBRG.EC0_.ECAV()) { Store(\_SB_.PCI0.SBRG.EC0_.TACH(Arg0), Local0) Divide(Local0, 0x64, Local1, Local0) Add(Local0, One, Local0) If(LNot(LGreater(Local0, 0x3c))) { Store(Local0, FANS) } Else { Store(FANS, Local0) } } Else { Store(Zero, Local0) } Return(Local0) }
Maybe try:
Return(0x64)
Then test and see if the fan speed is affected at all.
In your dsdt, you also have SCP (set cooling policy), which I believe is set to Zero, maybe change that to one. -
Return (0x64) didnt change anything... i've also played with that earlier.
SCP... i changed it to one and i ended with my cpu fully throttled to 133mhz! nice booting time xD
more ideas? (that don't convert my laptop into a cellphone cpu?) -
moral hazard Notebook Nobel Laureate
Sorry, I don't know.
Maybe you could try this:
Aspire Gemstone: Acer Aspire 4530 Actual Fan Control
Though the value you would have to change would be different, a bit of trial and error might help there. -
I see no link to use the program that the person in the Guide is using?
-
moral hazard Notebook Nobel Laureate
Google
click the link, the program is RW-everthing. -
many thanks bro
I'll take a look -
Do you know any tray utility that controls fanspeed modifing EC values?
The 1810tray is capable of doing that when i change fanspeed register to 0x90 but it is full of non-working options (its for an acer pc, not asus). -
Hello everybody. I bumped into this thread, searching for the Holy Grail : controlling my Notebook's fanspeed. I'm very impressed by the work done by all of you, so kudos again to everyone.
But i'm one step before success : i got the dsdt table in a .txt file, i found the fanspeed values, edited it, but i get one error when trying to compile with asl.exe :
4075: Subtract(SizeOf(), DerefOf(Index(BCLS, BCLI, )), )
^***
DSDT.asl(4075): error: expecting argument type "SuperName"
and i get two warnings when creating DSDT.asl :
asl_ERR: UnAsmSuperName: invalid SuperName - 0x83
asl_ERR: UnAsmSuperName: invalid SuperName - 0x0a
So, what can i do ?
EDIT : My notebook is a HP 4710s Probook. -
moral hazard Notebook Nobel Laureate
Not sure, maybe try another compiler?
-
Wow; I've read this whole thread, and I'm learning a whole lot. Over in the Dell subforum we're scratching our heads over the sensitive setpoints for fans. The fan on my Studio 1558 comes on in the upper 40's, which happens about every other minute while idling.
Here's a snippet from my dsdt, and I'm uploading the whole thing if anyone wants to investigate.
Code:ThermalZone (TZ00) { Name (PTMP, 0x0BB8) Method (_SCP, 1, Serialized) { Store (Arg0, CTYP) } Method (_CRT, 0, Serialized) { Return (Add (0x0AAC, Multiply (CRTT, 0x0A))) } Method (_AC0, 0, Serialized) { Return (Add (0x0AAC, Multiply (ACTT, 0x0A))) } Method (_AC1, 0, Serialized) { Return (Add (0x0AAC, Multiply (ACT1, 0x0A))) } Name (_AL0, Package (0x01) { FAN1 }) Name (_AL1, Package (0x01) { FAN0 }) Method (_TMP, 0, Serialized) { If (LEqual (DTSE, 0x02)) { Return (Add (0x0B10, Multiply (CRTT, 0x0A))) } If (LAnd (ECON, ETMD)) {} Return (0x0BB8) } } ThermalZone (TZ01) { Method (_AC0, 0, Serialized) { Return (Add (0x0AAC, Multiply (ACTT, 0x0A))) } Method (_AC1, 0, Serialized) { Return (Add (0x0AAC, Multiply (ACT1, 0x0A))) } Name (_AL0, Package (0x01) { FAN1 }) Name (_AL1, Package (0x01) { FAN0 }) Method (_CRT, 0, Serialized) { Return (Add (0x0AAC, Multiply (CRTT, 0x0A))) } Method (_SCP, 1, Serialized) { Store (Arg0, CTYP) } Method (_TMP, 0, Serialized) { If (LAnd (DTSE, ETMD)) { If (LGreater (DTS2, DTS1)) { Store (DTS2, Local0) } Else { Store (DTS1, Local0) } Return (Add (0x0AAC, Multiply (Local0, 0x0A))) } If (LAnd (ECON, ETMD)) { Store (\_SB.PCI0.LPCB.EC0.DTS1, Local0) If (And (Local0, 0x80)) { Subtract (Local0, 0x0100, Local0) } Return (Add (0x0AAC, Multiply (Local0, 0x0A))) } Return (0x0BB8) }
Attached Files:
-
-
moral hazard Notebook Nobel Laureate
AC0 and AC1 are the active cooling thresholds.
But those values change depending on ACTT and ACT1.
You could just force AC0 and AC1 to take on the values you want.
So for example change:
Code:Method (_AC0, 0, Serialized) { Return (Add (0x0AAC, Multiply (ACTT, 0x0A))) }
Code:Method (_AC0, 0, Serialized) { Return (0xC9E) }
And that would make the first threshold be 50C.
You could do the same for AC1 and then also for the second TZ. -
So close! I changed the code to activate the fans at 50 and 60C:
Code:Method (_AC0, 0, Serialized) { Return (0xC9E) } Method (_AC1, 0, Serialized) { Return (0xD02) }
Code:34: External (_PR_.CPU0._PPC) ^*** DSDT_CALPELLA.ASL(34): error: parent object _PR_.CPU0 does not exist
-
moral hazard Notebook Nobel Laureate
Try using another compiler?
Like maybe the intel dsdt compiler. -
moral,
thank you so much for your help!
From here on out it's a matter of correcting syntax... trial and error to get it to compile. The MS ASL compiler 3.01 or 4.0 both give errors; I fix one, and then a new one pops up further down the file. If I get it to work, I'll let you know.
thanks again! +1rep -
moral hazard Notebook Nobel Laureate
ok good luck
-
The dsdt wouldn't compile in MS ASL, but I used the -f option in the Intel asl (iasl) to force compile and ignore errors. After loading the new aml, and rebooting, nothing seems to have changed.
In HWmonitor, the TZ00 temp stays constant at 27, and TZ01 is constant at 0... while the CPU temps fluctuate normally. (This behavior was true on the original dsdt, and the modified one.)
I've restored back to my original dsdt, and will continue to ponder what needs to be done, and wait for Dell to release a new bios with better setpoints. -
moral hazard Notebook Nobel Laureate
Did you try this:
Dell Inspiron Inspiron/Latitude/Precision fan control -
The possibility of undervolting got me excited, but rmclock is not updated to work with core i series.
Thanks for looking around and pointing me back to i8kfan, maybe I'll try it again. -
Hello!
My laptop fans under Xp never turns on, I think the Thermal zone values are very high, NHC show me this:
Here's the Thermal zone part from the dsdt:
Code:ThermalZone(TZ1_) { Name(_AL0, Package(0x1) { C1F6 }) Name(_AL1, Package(0x1) { C1F7 }) Name(_AL2, Package(0x1) { C1F8 }) Method(_AC0, 0x0, NotSerialized) { Return(C1F0(C1E3)) } Method(_AC1, 0x0, NotSerialized) { Return(C1F0(C1E2)) } Method(_AC2, 0x0, NotSerialized) { Return(C1F0(C1E1)) } Method(_PSV, 0x0, NotSerialized) { Return(C1F0(C1E4)) } Name(_PSL, Package(0x1) { \_PR_.C000 }) Method(C1F9, 0x1, NotSerialized) { If(LEqual(Arg0, 0x0)) { Store(0x0, C1E1) Store(0x1, C1E2) Store(0x2, C1E3) Store(0x3, C1E4) } Else { Store(0x0, C1E4) Store(0x1, C1E1) Store(0x2, C1E2) Store(0x3, C1E3) } } Name(_TSP, 0x64) Name(_TC1, 0x1) Name(_TC2, 0x2) Name(_CRT, 0xee4) Method(_TMP, 0x0, Serialized) { Store(C1F1(), Local0) Store(0x0, Local1) If(LGreater(C1E9, C1E4)) { If(LEqual(C1E5, 0x0)) { Store(0x1, C1E5) Store(0x84, Local1) } } Else { If(C1E5) { Store(0x0, C1E5) Store(0x83, Local1) } } If(Local1) { If(LLess(C00C(), 0x4)) { \_SB_.C1BD(Or(0xa000, Local1, )) Store(Local1, \_SB_.C03E.C053.C06D) Stall(0x32) } Else { \_SB_.C1BD(Or(0xb000, Local1, )) Notify(\_PR_.C000, 0x80) } } Return(Local0) } } } Scope(\_GPE)
Thank you for your helps! -
Tried using the latest? ASL Compiler 4.0 - still getting the error. -
moral hazard Notebook Nobel Laureate
For example, say you want to set AC0 to 50C, change it from
Code:Method(_AC0, 0x0, NotSerialized) { Return(C1F0(C1E3))
Code:Method(_AC0, 0x0, NotSerialized) { Return(0xC9E)
323K = 50C.
-
Someone mentioned that RW-everything could be used to trigger the fan... Any ideas? -
moral hazard Notebook Nobel Laureate
With RW-everything you can access the EC registers, one of those might control the fan speed.
This might help:
How to control fan speed - ThinkWiki -
Hello I need your help! I have a HP DV7-4320el, i need to hack fan rpm because this noise start to make me insane! If someone can help me I will thanks him for rest of my life! I post my dsdt file to mediafire, i can't find the section to change values.
dsdt.ASL
I think i have to change something here but i'm not sure:
ThermalZone(TZ01)
{
Method(_HOT, 0x0, Serialized)
{
If(LNot(LLess(OSYS, 0x7d6)))
{
If(LEqual(TJMX, 0x64))
{
Return(0xec6)
}
If(LEqual(TJMX, 0x55))
{
Return(0xe30)
}
If(LEqual(TJMX, 0x69))
{
Return(0xef8)
}
If(LEqual(TJMX, 0x5a))
{
Return(0xe62)
}
control fan speed with registry hack
Discussion in 'Hardware Components and Aftermarket Upgrades' started by moral hazard, Aug 30, 2009.