Jump to content

Please help with DSDT editing, fan speed not detecting

DSDT Fan speed detect

  • Please log in to reply
3 replies to this topic

#1
Ccc

Ccc

    InsanelyMac Protégé

  • Members
  • PipPip
  • 55 posts
  • Gender:Male
Could anyone please help with editing DSDT to detect fan speed?
Fan speed not detected by SMC monitor, HWMonitor, iStat Menus, iStat Pro.
The super I/O seems to be it8502e by RW everything.

my Laptop is dell inspiron 1464.
chipset HM55
CPU:i5-430m (c-state p-state enabled)
ATI 4330 512MB (QE/CI enabled)
Lion 10.7.2
Chameleon v2.1svn r1618
FakeSMC v4 rev530


Tried add Device (SMCD) and Method (FAN0, and add ACPISensor.kext or ITEIT87x.kext to /S/L/E, but still not working.

Here is the code I used before the Device (EC0):
Device (SMCD)
			    {
				    Name (_HID, "MONITOR")
				    Method (FAN0, 0, NotSerialized)
				    {
					    Store (^^EC0.FANH, Local0)
					    Store (^^EC0.FANL, Local1)
					    And (Local0, 0xFFFF, Local0)
					    And (Local1, 0xFFFF, Local1)
					    If (LNotEqual (Local0, Zero))
					    {
						    If (LEqual (Local0, 0xFFFF))
						    {
							    Store (Zero, Local0)
						    }
						    Else
						    {
							    Store (0x0100, Local2)
							    Multiply (Local0, Local2, Local3)
							    Add (Local1, Local3, Local4)
							    Divide (0x03938700, Local4, Local5, Local6)
							    Store (Local6, Local0)
						    }
					    }
					    Else
					    {
						    Store (Zero, Local0)
					    }
					    Return (Local0)
				    }
			    }

Here FANH and FANL are the high bits and low bits of fan speed that I can confirm in Win7 using everest, for example, FANH=0x0C, FANL=0x85, then fan speed=0x0C85 = 3205 rpm. but I couldn't understand why Divide (0x03938700, Local4, Local5, Local6).
so i changed it to below, seems correct and compile passed, but still not detecting fan speed.

Device (SMCD)
			    {
				    Name (_HID, "MONITOR")
				    Method (FAN0, 0, NotSerialized)
				    {
					    Store (^^EC0.FANH, Local0)
					    Store (^^EC0.FANL, Local1)
					    And (Local0, 0xFFFF, Local0)
					    And (Local1, 0xFFFF, Local1)
					    If (LNotEqual (Local0, Zero))
					    {
						    If (LEqual (Local0, 0xFFFF))
						    {
							    Store (Zero, Local0)
						    }
						    Else
						    {
							    Store (0x0100, Local2)
							    Multiply (Local0, Local2, Local3)
							    Add (Local1, Local3, Local4)
							    Store (Local4, Local0)
						    }
					    }
					    Else
					    {
						    Store (Zero, Local0)
					    }
					    Return (Local0)
				    }
			    }



#2
jl4c

jl4c

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 113 posts
  • Gender:Male
  • Location:Chile
am wondering if you have found a fix for this

#3
Lejenk

Lejenk

    InsanelyMac Legend

  • Members
  • PipPipPipPipPipPipPipPipPip
  • 1,375 posts
  • Gender:Male
  • Location:Belgium
  • Interests:OSx86, Cooking, Gadgets.
Hi,

Attach the DSDT, and perhaps also all of you SSDT's extracted from within Linux or Windows.

~ Lejenk

#4
calmesal

calmesal

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 163 posts

Hi!

Is there any progress in this manner, I want to achieve the same.

Here is my DSDT, SSDT and smbus information from aida64.

 

 

Attached Files







Also tagged with one or more of these keywords: DSDT, Fan speed, detect


0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

© 2014 InsanelyMac  |   News  |   Forum  |   Downloads  |   OSx86 Wiki  |   Mac Netbook  |   Web hosting by CatN  |   Designed by Ed Gain  |   Logo by irfan  |   Privacy Policy