Jump to content

fluid | fixed

Please help with DSDT editing, fan speed not detecting

DSDT Fan speed detect

  • Please log in to reply
2 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 Protégé

  • Members
  • PipPip
  • 86 posts
am wondering if you have found a fix for this

#3
Lejenk

Lejenk

    InsanelyMac Legend

  • Local Moderators
  • 1,093 posts
  • Gender:Male
  • Location:Germany/Belgium/Netherlands/Depends..
  • Interests:OSx86, Cooking, Gadgets.
Hi,

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

~ Lejenk





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

  Topic Stats Last Post Info

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

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