Contribute
Register

Dell Inspiron 15 7559 - Fan Info

Status
Not open for further replies.
I'll work on that when it comes up again. When I booted up this time, both fans showed up as "System Fan" and "CPU Fan" with hyphens. It might only show up in HWMonitor during certain boot conditions / environments, and I'll attempt to look into that a little bit more as time goes on.

Now I made the fans ramp up (using P95) to full speed, and here's what was reported from the tracelogs:

Code:
ACPIDebug: { "[FAN1] returned Local0 value: ", 0xfffffffffffd40e0, }
ACPIDebug: { "[FAN0] returned Local0 value: ", 0xfffffffffffc8d30, }
ACPIDebug: { "[FAN1] returned Local0 value: ", 0xfffffffffffd40e0, }
ACPIDebug: { "[FAN0] returned Local0 value: ", 0xfffffffffffe0430, }
ACPIDebug: { "[FAN1] returned Local0 value: ", 0xfffffffffffeb010, }
ACPIDebug: { "[FAN0] returned Local0 value: ", 0xfffffffffffe42b0, }
ACPIDebug: { "[FAN1] returned Local0 value: ", 0xfffffffffffe9c88, }
ACPIDebug: { "[FAN0] returned Local0 value: ", 0xffffffffffff0218, }
ACPIDebug: { "[FAN1] returned Local0 value: ", 0xffffffffffff3cb0, }
ACPIDebug: { "[FAN0] returned Local0 value: ", 0xfffffffffffe98a0, }
ACPIDebug: { "[FAN1] returned Local0 value: ", 0xffffffffffff0dd0, }
ACPIDebug: { "[FAN0] returned Local0 value: ", 0xfffffffffffeac28, }
ACPIDebug: { "[FAN1] returned Local0 value: ", 0xffffffffffff5420, }

I don't think those values are correct :lol:
Time to correct my FANx functions :lol:

-Duncan

Yes, looks like you have some work to do with those (very small) negative numbers.
 
Yes, looks like you have some work to do with those (very small) negative numbers.

I will work on that after I fix the fact that my fans don't show up in HWMonitor at all consistently now ...
Thought I could put it off but guess I cannot.

One strange observation that I've noticed is that although fans aren't showing in HWMonitor, there are still some tracelogs, but only from FAN0:

Code:
ACPIDebug: { "[FAN0] FANL is ", 0x0, }
ACPIDebug: { "[FAN0] FANH is ", 0x0, }
ACPIDebug: { "[FAN0] returned Local0 value: ", 0x0, }

FAN1 is also supposed to be called based off of the code, although it's not and thus not showing up in kernel log buffer ... I'm guessing that something went wrong with the DSDT...Maybe a Clover issue? I'm not sure...:think:

Now as to looking into the ACPISensors and HWMonitor code, I looked a bit and couldn't make much sense about it, but I didn't see anything quite obvious that looked wrong to me for my case here ...

Any help? Kinda baffled here :lol:

Thanks!

-Duncan
 
I will work on that after I fix the fact that my fans don't show up in HWMonitor at all consistently now ...
Thought I could put it off but guess I cannot.

One strange observation that I've noticed is that although fans aren't showing in HWMonitor, there are still some tracelogs, but only from FAN0:

Code:
ACPIDebug: { "[FAN0] FANL is ", 0x0, }
ACPIDebug: { "[FAN0] FANH is ", 0x0, }
ACPIDebug: { "[FAN0] returned Local0 value: ", 0x0, }

FAN1 is also supposed to be called based off of the code, although it's not and thus not showing up in kernel log buffer ... I'm guessing that something went wrong with the DSDT...Maybe a Clover issue? I'm not sure...:think:

Now as to looking into the ACPISensors and HWMonitor code, I looked a bit and couldn't make much sense about it, but I didn't see anything quite obvious that looked wrong to me for my case here ...

Any help? Kinda baffled here :lol:

Thanks!

-Duncan

I can't think of why it would be intermittent. You should check that everything is installed correctly.

All kexts installed to the system volume?
 
I can't think of why it would be intermittent. You should check that everything is installed correctly.

All kexts installed to the system volume?

Yep. Only kexts that are injected are SATA-100-unsupported-series, USBInjectAll, FakeSMC, and RealtekRT8111 ... kext injection is set to auto ...

Should I disable that? Might be something up with that, but I'm not too sure ..

-Duncan
 
Yep. Only kexts that are injected are SATA-100-unsupported-series, USBInjectAll, FakeSMC, and RealtekRT8111 ... kext injection is set to auto ...

Should I disable that? Might be something up with that, but I'm not too sure ..

-Duncan

All kexts should be installed to the system volume. Injection is only for the installer and recovery.
 
All kexts should be installed to the system volume. Injection is only for the installer and recovery.

Disabled kext injection and installed USBInjectAll (only kext that was in CLOVER/kexts) into S/L/E ... Same result. Fans aren't showing, only FAN0 method executing... :think:

-Duncan
 
Disabled kext injection and installed USBInjectAll (only kext that was in CLOVER/kexts) into S/L/E ... Same result. Fans aren't showing, only FAN0 method executing... :think:

-Duncan

You will need to do some debugging...
 
You will need to do some debugging...

Alright. Where are the debug FakeSMC / FakeSMC Plugins / HWMonitor binaries / kexts located? I couldn't find them in your repo although you had instructions on them when you DL'd them ...
And also, what do the debug kexts debug? Might start here ...

And the fans were recognized for one boot, so I ran the full speed fan test again and got this:

Code:
ACPIDebug: { "[FAN1] FANL is ", 0x0, }
ACPIDebug: { "[FAN1] FANH is ", 0x0, }
ACPIDebug: { "[FAN1] returned Local0 value: ", 0x0, }
ACPIDebug: { "[FAN0] FANL is ", 0x18, }
ACPIDebug: { "[FAN0] FANH is ", 0x7, }
ACPIDebug: { "[FAN0] returned Local0 value: ", 0x4268, }
ACPIDebug: { "[FAN1] FANL is ", 0xf, }
ACPIDebug: { "[FAN1] FANH is ", 0x8, }
ACPIDebug: { "[FAN1] returned Local0 value: ", 0x1b58, }
ACPIDebug: { "[FAN0] FANL is ", 0xff, }
ACPIDebug: { "[FAN0] FANH is ", 0x7, }
ACPIDebug: { "[FAN0] returned Local0 value: ", 0x3c8c0, }
ACPIDebug: { "[FAN1] FANL is ", 0xff, }
ACPIDebug: { "[FAN1] FANH is ", 0x8, }
ACPIDebug: { "[FAN1] returned Local0 value: ", 0x3c4d8, }
ACPIDebug: { "[FAN0] FANL is ", 0x3, }
ACPIDebug: { "[FAN0] FANH is ", 0x8, }
ACPIDebug: { "[FAN0] returned Local0 value: ", 0xffffffffffffec78, }
ACPIDebug: { "[FAN1] FANL is ", 0x2, }
ACPIDebug: { "[FAN1] FANH is ", 0x9, }
ACPIDebug: { "[FAN1] returned Local0 value: ", 0xffffffffffffe4a8, }
ACPIDebug: { "[FAN0] FANL is ", 0xea, }
ACPIDebug: { "[FAN0] FANH is ", 0x7, }
ACPIDebug: { "[FAN0] returned Local0 value: ", 0x376b8, }
ACPIDebug: { "[FAN1] FANL is ", 0xec, }
ACPIDebug: { "[FAN1] FANH is ", 0x8, }
ACPIDebug: { "[FAN1] returned Local0 value: ", 0x37aa0, }
ACPIDebug: { "[FAN0] FANL is ", 0xd5, }
ACPIDebug: { "[FAN0] FANH is ", 0x7, }
ACPIDebug: { "[FAN0] returned Local0 value: ", 0x324b0, }
ACPIDebug: { "[FAN1] FANL is ", 0xd4, }
ACPIDebug: { "[FAN1] FANH is ", 0x8, }
ACPIDebug: { "[FAN1] returned Local0 value: ", 0x31ce0, }
ACPIDebug: { "[FAN0] FANL is ", 0x7b, }
ACPIDebug: { "[FAN0] FANH is ", 0x8, }
ACPIDebug: { "[FAN0] returned Local0 value: ", 0x1c138, }
ACPIDebug: { "[FAN1] FANL is ", 0x92, }
ACPIDebug: { "[FAN1] FANH is ", 0x9, }
ACPIDebug: { "[FAN1] returned Local0 value: ", 0x21728, }
ACPIDebug: { "[FAN0] FANL is ", 0x74, }
ACPIDebug: { "[FAN0] FANH is ", 0x8, }
ACPIDebug: { "[FAN0] returned Local0 value: ", 0x1a5e0, }
ACPIDebug: { "[FAN1] FANL is ", 0x8f, }
ACPIDebug: { "[FAN1] FANH is ", 0x9, }
ACPIDebug: { "[FAN1] returned Local0 value: ", 0x20b70, }
ACPIDebug: { "[FAN0] FANL is ", 0x63, }
ACPIDebug: { "[FAN0] FANH is ", 0x8, }
ACPIDebug: { "[FAN0] returned Local0 value: ", 0x16378, }
ACPIDebug: { "[FAN1] FANL is ", 0x7c, }
ACPIDebug: { "[FAN1] FANH is ", 0x9, }
ACPIDebug: { "[FAN1] returned Local0 value: ", 0x1c138, }
ACPIDebug: { "[FAN0] FANL is ", 0x61, }
ACPIDebug: { "[FAN0] FANH is ", 0x8, }
ACPIDebug: { "[FAN0] returned Local0 value: ", 0x15ba8, }
ACPIDebug: { "[FAN1] FANL is ", 0x63, }
ACPIDebug: { "[FAN1] FANH is ", 0x9, }
ACPIDebug: { "[FAN1] returned Local0 value: ", 0x15f90, }
ACPIDebug: { "[FAN0] FANL is ", 0x63, }
ACPIDebug: { "[FAN0] FANH is ", 0x8, }
ACPIDebug: { "[FAN0] returned Local0 value: ", 0x16378, }
ACPIDebug: { "[FAN1] FANL is ", 0x4e, }
ACPIDebug: { "[FAN1] FANH is ", 0x9, }
ACPIDebug: { "[FAN1] returned Local0 value: ", 0x10d88, }
ACPIDebug: { "[FAN0] FANL is ", 0x8c, }
ACPIDebug: { "[FAN0] FANH is ", 0x9, }
ACPIDebug: { "[FAN0] returned Local0 value: ", 0x1ffb8, }
ACPIDebug: { "[FAN1] FANL is ", 0xe9, }
ACPIDebug: { "[FAN1] FANH is ", 0xa, }
ACPIDebug: { "[FAN1] returned Local0 value: ", 0x36718, }
ACPIDebug: { "[FAN0] FANL is ", 0xb1, }
ACPIDebug: { "[FAN0] FANH is ", 0x9, }
ACPIDebug: { "[FAN0] returned Local0 value: ", 0x29040, }
ACPIDebug: { "[FAN1] FANL is ", 0xf0, }
ACPIDebug: { "[FAN1] FANH is ", 0xa, }
ACPIDebug: { "[FAN1] returned Local0 value: ", 0x38270, }
ACPIDebug: { "[FAN0] FANL is ", 0xb7, }
ACPIDebug: { "[FAN0] FANH is ", 0x9, }
ACPIDebug: { "[FAN0] returned Local0 value: ", 0x2a7b0, }
ACPIDebug: { "[FAN1] FANL is ", 0xe5, }
ACPIDebug: { "[FAN1] FANH is ", 0xa, }
ACPIDebug: { "[FAN1] returned Local0 value: ", 0x35778, }
ACPIDebug: { "[FAN0] FANL is ", 0xb4, }
ACPIDebug: { "[FAN0] FANH is ", 0x9, }
ACPIDebug: { "[FAN0] returned Local0 value: ", 0x29bf8, }
ACPIDebug: { "[FAN1] FANL is ", 0xcf, }
ACPIDebug: { "[FAN1] FANH is ", 0xa, }
ACPIDebug: { "[FAN1] returned Local0 value: ", 0x30188, }
ACPIDebug: { "[FAN0] FANL is ", 0xb4, }
ACPIDebug: { "[FAN0] FANH is ", 0x9, }
ACPIDebug: { "[FAN0] returned Local0 value: ", 0x29bf8, }
ACPIDebug: { "[FAN1] FANL is ", 0xba, }
ACPIDebug: { "[FAN1] FANH is ", 0xa, }
ACPIDebug: { "[FAN1] returned Local0 value: ", 0x2af80, }
ACPIDebug: { "[FAN0] FANL is ", 0xb1, }
ACPIDebug: { "[FAN0] FANH is ", 0x9, }
ACPIDebug: { "[FAN0] returned Local0 value: ", 0x29040, }
ACPIDebug: { "[FAN1] FANL is ", 0xb7, }
ACPIDebug: { "[FAN1] FANH is ", 0xa, }
ACPIDebug: { "[FAN1] returned Local0 value: ", 0x2a3c8, }
ACPIDebug: { "[FAN0] FANL is ", 0xb1, }
ACPIDebug: { "[FAN0] FANH is ", 0x9, }
ACPIDebug: { "[FAN0] returned Local0 value: ", 0x29040, }
ACPIDebug: { "[FAN1] FANL is ", 0xb7, }
ACPIDebug: { "[FAN1] FANH is ", 0xa, }
ACPIDebug: { "[FAN1] returned Local0 value: ", 0x2a3c8, }
ACPIDebug: { "[FAN0] FANL is ", 0xae, }
ACPIDebug: { "[FAN0] FANH is ", 0x9, }
ACPIDebug: { "[FAN0] returned Local0 value: ", 0x28488, }
ACPIDebug: { "[FAN1] FANL is ", 0xb3, }
ACPIDebug: { "[FAN1] FANH is ", 0xa, }
ACPIDebug: { "[FAN1] returned Local0 value: ", 0x29428, }
ACPIDebug: { "[FAN0] FANL is ", 0xb1, }
ACPIDebug: { "[FAN0] FANH is ", 0x9, }
ACPIDebug: { "[FAN0] returned Local0 value: ", 0x29040, }
ACPIDebug: { "[FAN1] FANL is ", 0xb7, }
ACPIDebug: { "[FAN1] FANH is ", 0xa, }
ACPIDebug: { "[FAN1] returned Local0 value: ", 0x2a3c8, }
ACPIDebug: { "[FAN0] FANL is ", 0xb1, }
ACPIDebug: { "[FAN0] FANH is ", 0x9, }
ACPIDebug: { "[FAN0] returned Local0 value: ", 0x29040, }
ACPIDebug: { "[FAN1] FANL is ", 0xb3, }
ACPIDebug: { "[FAN1] FANH is ", 0xa, }
ACPIDebug: { "[FAN1] returned Local0 value: ", 0x29428, }
ACPIDebug: { "[FAN0] FANL is ", 0xb4, }
ACPIDebug: { "[FAN0] FANH is ", 0x9, }
ACPIDebug: { "[FAN0] returned Local0 value: ", 0x29bf8, }
ACPIDebug: { "[FAN1] FANL is ", 0xb7, }
ACPIDebug: { "[FAN1] FANH is ", 0xa, }
ACPIDebug: { "[FAN1] returned Local0 value: ", 0x2a3c8, }
ACPIDebug: { "[FAN0] FANL is ", 0xb1, }
ACPIDebug: { "[FAN0] FANH is ", 0x9, }
ACPIDebug: { "[FAN0] returned Local0 value: ", 0x29040, }
ACPIDebug: { "[FAN1] FANL is ", 0xb7, }
ACPIDebug: { "[FAN1] FANH is ", 0xa, }
ACPIDebug: { "[FAN1] returned Local0 value: ", 0x2a3c8, }
ACPIDebug: { "[FAN0] FANL is ", 0xb4, }
ACPIDebug: { "[FAN0] FANH is ", 0x9, }
ACPIDebug: { "[FAN0] returned Local0 value: ", 0x29bf8, }
ACPIDebug: { "[FAN1] FANL is ", 0xb7, }
ACPIDebug: { "[FAN1] FANH is ", 0xa, }
ACPIDebug: { "[FAN1] returned Local0 value: ", 0x2a3c8, }
ACPIDebug: { "[FAN0] FANL is ", 0xb4, }
ACPIDebug: { "[FAN0] FANH is ", 0x9, }
ACPIDebug: { "[FAN0] returned Local0 value: ", 0x29bf8, }
ACPIDebug: { "[FAN1] FANL is ", 0xb7, }
ACPIDebug: { "[FAN1] FANH is ", 0xa, }
ACPIDebug: { "[FAN1] returned Local0 value: ", 0x2a3c8, }
ACPIDebug: { "[FAN0] FANL is ", 0xb1, }
ACPIDebug: { "[FAN0] FANH is ", 0x9, }
ACPIDebug: { "[FAN0] returned Local0 value: ", 0x29040, }
ACPIDebug: { "[FAN1] FANL is ", 0xb7, }
ACPIDebug: { "[FAN1] FANH is ", 0xa, }
ACPIDebug: { "[FAN1] returned Local0 value: ", 0x2a3c8, }
ACPIDebug: { "[FAN0] FANL is ", 0xb4, }
ACPIDebug: { "[FAN0] FANH is ", 0x9, }
ACPIDebug: { "[FAN0] returned Local0 value: ", 0x29bf8, }
ACPIDebug: { "[FAN1] FANL is ", 0xb7, }
ACPIDebug: { "[FAN1] FANH is ", 0xa, }
ACPIDebug: { "[FAN1] returned Local0 value: ", 0x2a3c8, }
ACPIDebug: { "[FAN0] FANL is ", 0xb1, }
ACPIDebug: { "[FAN0] FANH is ", 0x9, }
ACPIDebug: { "[FAN0] returned Local0 value: ", 0x29040, }
ACPIDebug: { "[FAN1] FANL is ", 0xb7, }
ACPIDebug: { "[FAN1] FANH is ", 0xa, }
ACPIDebug: { "[FAN1] returned Local0 value: ", 0x2a3c8, }
ACPIDebug: { "[FAN0] FANL is ", 0xb1, }
ACPIDebug: { "[FAN0] FANH is ", 0x9, }
ACPIDebug: { "[FAN0] returned Local0 value: ", 0x29040, }
ACPIDebug: { "[FAN1] FANL is ", 0xb3, }
ACPIDebug: { "[FAN1] FANH is ", 0xa, }
ACPIDebug: { "[FAN1] returned Local0 value: ", 0x29428, }
ACPIDebug: { "[FAN0] FANL is ", 0xb4, }
ACPIDebug: { "[FAN0] FANH is ", 0x9, }
ACPIDebug: { "[FAN0] returned Local0 value: ", 0x29bf8, }
ACPIDebug: { "[FAN1] FANL is ", 0xb3, }
ACPIDebug: { "[FAN1] FANH is ", 0xa, }
ACPIDebug: { "[FAN1] returned Local0 value: ", 0x29428, }
ACPIDebug: { "[FAN0] FANL is ", 0xb1, }
ACPIDebug: { "[FAN0] FANH is ", 0x9, }
ACPIDebug: { "[FAN0] returned Local0 value: ", 0x29040, }
ACPIDebug: { "[FAN1] FANL is ", 0xb7, }
ACPIDebug: { "[FAN1] FANH is ", 0xa, }
ACPIDebug: { "[FAN1] returned Local0 value: ", 0x2a3c8, }
ACPIDebug: { "[FAN0] FANL is ", 0xb4, }
ACPIDebug: { "[FAN0] FANH is ", 0x9, }
ACPIDebug: { "[FAN0] returned Local0 value: ", 0x29bf8, }
ACPIDebug: { "[FAN1] FANL is ", 0xb3, }
ACPIDebug: { "[FAN1] FANH is ", 0xa, }
ACPIDebug: { "[FAN1] returned Local0 value: ", 0x29428, }
ACPIDebug: { "[FAN0] FANL is ", 0xb7, }
ACPIDebug: { "[FAN0] FANH is ", 0x9, }
ACPIDebug: { "[FAN0] returned Local0 value: ", 0x2a7b0, }
ACPIDebug: { "[FAN1] FANL is ", 0xb3, }
ACPIDebug: { "[FAN1] FANH is ", 0xa, }
ACPIDebug: { "[FAN1] returned Local0 value: ", 0x29428, }
ACPIDebug: { "[FAN0] FANL is ", 0xb1, }
ACPIDebug: { "[FAN0] FANH is ", 0x9, }
ACPIDebug: { "[FAN0] returned Local0 value: ", 0x29040, }
ACPIDebug: { "[FAN1] FANL is ", 0xb3, }
ACPIDebug: { "[FAN1] FANH is ", 0xa, }
ACPIDebug: { "[FAN1] returned Local0 value: ", 0x29428, }
ACPIDebug: { "[FAN0] FANL is ", 0xae, }
ACPIDebug: { "[FAN0] FANH is ", 0x9, }
ACPIDebug: { "[FAN0] returned Local0 value: ", 0x28488, }
ACPIDebug: { "[FAN1] FANL is ", 0xb7, }
ACPIDebug: { "[FAN1] FANH is ", 0xa, }
ACPIDebug: { "[FAN1] returned Local0 value: ", 0x2a3c8, }
ACPIDebug: { "[FAN0] FANL is ", 0xb1, }
ACPIDebug: { "[FAN0] FANH is ", 0x9, }
ACPIDebug: { "[FAN0] returned Local0 value: ", 0x29040, }
ACPIDebug: { "[FAN1] FANL is ", 0xb7, }
ACPIDebug: { "[FAN1] FANH is ", 0xa, }
ACPIDebug: { "[FAN1] returned Local0 value: ", 0x2a3c8, }
ACPIDebug: { "[FAN0] FANL is ", 0xae, }
ACPIDebug: { "[FAN0] FANH is ", 0x9, }
ACPIDebug: { "[FAN0] returned Local0 value: ", 0x28488, }
ACPIDebug: { "[FAN1] FANL is ", 0xb7, }
ACPIDebug: { "[FAN1] FANH is ", 0xa, }
ACPIDebug: { "[FAN1] returned Local0 value: ", 0x2a3c8, }
ACPIDebug: { "[FAN0] FANL is ", 0xb1, }
ACPIDebug: { "[FAN0] FANH is ", 0x9, }
ACPIDebug: { "[FAN0] returned Local0 value: ", 0x29040, }
ACPIDebug: { "[FAN1] FANL is ", 0xba, }
ACPIDebug: { "[FAN1] FANH is ", 0xa, }
ACPIDebug: { "[FAN1] returned Local0 value: ", 0x2af80, }
ACPIDebug: { "[FAN0] FANL is ", 0xb1, }
ACPIDebug: { "[FAN0] FANH is ", 0x9, }
ACPIDebug: { "[FAN0] returned Local0 value: ", 0x29040, }
ACPIDebug: { "[FAN1] FANL is ", 0xb7, }
ACPIDebug: { "[FAN1] FANH is ", 0xa, }
ACPIDebug: { "[FAN1] returned Local0 value: ", 0x2a3c8, }
ACPIDebug: { "[FAN0] FANL is ", 0xb1, }
ACPIDebug: { "[FAN0] FANH is ", 0x9, }
ACPIDebug: { "[FAN0] returned Local0 value: ", 0x29040, }
ACPIDebug: { "[FAN1] FANL is ", 0xb7, }
ACPIDebug: { "[FAN1] FANH is ", 0xa, }
ACPIDebug: { "[FAN1] returned Local0 value: ", 0x2a3c8, }
ACPIDebug: { "[FAN0] FANL is ", 0xb1, }
ACPIDebug: { "[FAN0] FANH is ", 0x9, }
ACPIDebug: { "[FAN0] returned Local0 value: ", 0x29040, }
ACPIDebug: { "[FAN1] FANL is ", 0xba, }
ACPIDebug: { "[FAN1] FANH is ", 0xa, }
ACPIDebug: { "[FAN1] returned Local0 value: ", 0x2af80, }
ACPIDebug: { "[FAN0] FANL is ", 0xb9, }
ACPIDebug: { "[FAN0] FANH is ", 0x9, }
ACPIDebug: { "[FAN0] returned Local0 value: ", 0x2af80, }
Sound assertion in AppleHDAController at line 6006
Sound assertion in AppleHDAController at line 6007
Sound assertion in IOHDACodecDevice at line 146
Sound assertion in AppleHDAController at line 9975
ACPIDebug: { "[FAN0] FANL is ", 0x4a, }
ACPIDebug: { "[FAN0] FANH is ", 0x8, }
ACPIDebug: { "[FAN0] returned Local0 value: ", 0x101d0, }
ACPIDebug: { "[FAN1] FANL is ", 0x7, }
ACPIDebug: { "[FAN1] FANH is ", 0x9, }
ACPIDebug: { "[FAN1] returned Local0 value: ", 0xfffffffffffff830, }
ACPIDebug: { "[FAN0] FANL is ", 0x37, }
ACPIDebug: { "[FAN0] FANH is ", 0x8, }
ACPIDebug: { "[FAN0] returned Local0 value: ", 0xb798, }
ACPIDebug: { "[FAN1] FANL is ", 0xec, }
ACPIDebug: { "[FAN1] FANH is ", 0x8, }
ACPIDebug: { "[FAN1] returned Local0 value: ", 0x37aa0, }
ACPIDebug: { "[FAN0] FANL is ", 0x1f, }
ACPIDebug: { "[FAN0] FANH is ", 0x8, }
ACPIDebug: { "[FAN0] returned Local0 value: ", 0x59d8, }
ACPIDebug: { "[FAN1] FANL is ", 0xd4, }
ACPIDebug: { "[FAN1] FANH is ", 0x8, }
ACPIDebug: { "[FAN1] returned Local0 value: ", 0x31ce0, }
ACPIDebug: { "[FAN0] FANL is ", 0x0, }
ACPIDebug: { "[FAN0] FANH is ", 0x0, }
ACPIDebug: { "[FAN0] returned Local0 value: ", 0x0, }
ACPIDebug: { "[FAN1] FANL is ", 0xba, }
ACPIDebug: { "[FAN1] FANH is ", 0x8, }
ACPIDebug: { "[FAN1] returned Local0 value: ", 0x2b750, }
ACPIDebug: { "[FAN0] FANL is ", 0x0, }
ACPIDebug: { "[FAN0] FANH is ", 0x0, }
ACPIDebug: { "[FAN0] returned Local0 value: ", 0x0, }
ACPIDebug: { "[FAN1] FANL is ", 0x0, }
ACPIDebug: { "[FAN1] FANH is ", 0x0, }
ACPIDebug: { "[FAN1] returned Local0 value: ", 0x0, }
ACPIDebug: { "[FAN0] FANL is ", 0x0, }
ACPIDebug: { "[FAN0] FANH is ", 0x0, }
ACPIDebug: { "[FAN0] returned Local0 value: ", 0x0, }
ACPIDebug: { "[FAN1] FANL is ", 0x0, }
ACPIDebug: { "[FAN1] FANH is ", 0x0, }
ACPIDebug: { "[FAN1] returned Local0 value: ", 0x0, }

SMCD Device:

Code:
    Device (SMCD)
    {
        Name (_HID, "FAN0000")
        Name (TACH, Package (0x04)
        {
            "System Fan",
            "FAN0",
            "CPUFan",
            "FAN1"
        })   
       
        Method (FAN0, 0, Serialized)
        {
            Store (\_SB.PCI0.LPCB.EC.FANL, Local0)
            \RMDT.P2("[FAN0] FANL is ", Local0)
            Store (\_SB.PCI0.LPCB.EC.FANH, Local1)
            \RMDT.P2("[FAN0] FANH is ", Local1)
           
            If (Local0)
            {
                Subtract (Local0, Local1, Local2)
                Multiply (Local2, 0x3E8, Local2)
                Store (Local2, Local0)
            }
           
            \RMDT.P2("[FAN0] returned Local0 value: ", Local0)
            Return (Local0)
        }
       
        Method (FAN1, 0, Serialized)
        {
            Store (\_SB.PCI0.LPCB.EC.FA2L, Local0)
            \RMDT.P2("[FAN1] FANL is ", Local0)
            Store (\_SB.PCI0.LPCB.EC.FA2H, Local1)
            \RMDT.P2("[FAN1] FANH is ", Local1)
           
            If (Local0)
            {
                Subtract (Local0, Local1, Local2)
                Multiply (Local2, 0x3E8, Local2)
                Store (Local2, Local0)
            }
           
            \RMDT.P2("[FAN1] returned Local0 value: ", Local0)
            Return (Local0)
        }     
    }

-Duncan
 
Alright. Where are the debug FakeSMC / FakeSMC Plugins / HWMonitor binaries / kexts located?

You will need to build them from source with Xcode.
And you will probably need to add debug trace code as appropriatet to determine the source of your problem.

And the fans were recognized for one boot, so I ran the full speed fan test again and got this:

Looks like you have some work to do in order to properly calculate RPM from the data.
 
You will need to build them from source with Xcode.
And you will probably need to add debug trace code as appropriatet to determine the source of your problem.

I've been examining the ACPISensors code and DSDT code, and I've come to the following observation:

I think ACPISensors (in my case) only reads the first two entries of the TACH package, and (possibly) fails to evaluate anything else. I've tested switching the order of FAN0 and FAN1 in the TACH package (don't think matter should order), and when the fans don't show up in HWMonitor, the kernel log buffer shows the trace code for the FIRST FANx device ONLY!

Here's the code:
Code:
    Device (SMCD)
    {
        Name (_HID, "FAN0000")
        Name (TACH, Package ()
        {
            "CPUFan", "FAN1",
            "System Fan", "FAN0"
        })   
       
        Method (FAN0, 0, Serialized)
        {
            \RMDT.PUSH("running FAN0")
            Store (\_SB.PCI0.LPCB.EC.FANL, Local0)
            \RMDT.P2("[FAN0] FANL is ", Local0)
            Store (\_SB.PCI0.LPCB.EC.FANH, Local1)
            \RMDT.P2("[FAN0] FANH is ", Local1)
           
            If (Local0)
            {
                Subtract (Local0, Local1, Local2)
                Multiply (Local2, 0x3E8, Local2)
                Store (Local2, Local0)
            }
           
            \RMDT.P2("[FAN0] returned Local0 value: ", Local0)
            Return (Local0)
        }
       
        Method (FAN1, 0, Serialized)
        {
            \RMDT.PUSH("running FAN1")
            Store (\_SB.PCI0.LPCB.EC.FA2L, Local0)
            \RMDT.P2("[FAN1] FANL is ", Local0)
            Store (\_SB.PCI0.LPCB.EC.FA2H, Local1)
            \RMDT.P2("[FAN1] FANH is ", Local1)
           
            If (Local0)
            {
                Subtract (Local0, Local1, Local2)
                Multiply (Local2, 0x3E8, Local2)
                Store (Local2, Local0)
            }
           
            \RMDT.P2("[FAN1] returned Local0 value: ", Local0)
            Return (Local0)
        }     
    }

And then kernel log buffer:
Code:
ACPIDebug: "running FAN1"
ACPIDebug: { "[FAN1] FANL is ", 0x0, }
ACPIDebug: { "[FAN1] FANH is ", 0x0, }
ACPIDebug: { "[FAN1] returned Local0 value: ", 0x0, }
ACPIDebug: "running FAN1"
ACPIDebug: { "[FAN1] FANL is ", 0x0, }
ACPIDebug: { "[FAN1] FANH is ", 0x0, }
ACPIDebug: { "[FAN1] returned Local0 value: ", 0x0, }

When I switch it so that "System Fan", "FAN0" is on the top, it'll read and evaluate FAN0. In this case, FAN1 makes up the first two entries in the package, so it evaluates those.

I'll DL the ACPISensors source code and add some traces to the code. The section in particular I'm eyeing is:

Code:
    // Parse tachometer table
    if (kIOReturnSuccess == acpiDevice->evaluateObject("TACH", &object) && object) {
        addSensorsFromArray(OSDynamicCast(OSArray, object), kFakeSMCCategoryFan);
        OSSafeRelease(object);
    }
    else ACPISensorsDebugLog("tachometer description table (TACH) not found");

If you have anything to make of this, please let me know! For now, I'll work on adding traces to ACPISensors source code...

-Duncan
 
Status
Not open for further replies.
Back
Top