beltex / SMCKit

Apple SMC library & tool
https://beltex.github.io/SMCKit
MIT License
475 stars 55 forks source link

WIRELESS_MODULE (TW0P) temperature sensor misreports 129°C on MacBookPro11,1 #15

Closed beltex closed 9 years ago

beltex commented 9 years ago

On a MacBookPro11,1 the WIRELESS_MODULE (TW0P) temperature sensor reports 129°C (max temperature) constantly (right from boot with Wi-Fi off). Seems to be an issue in software, not hardware. The Apple Hardware Test (AHT) reports that everything is fine. Tested on a few machines of the same model in the Apple store, same results, other models do not seem to have this problem. Wi-Fi works fine. For now, commenting out the sensor to prevent confusion, not worth putting in the logic to check for model number.

Here's a sample of temperature readings. The sensors value is completely disproportionate to the rest. The SMC doesn't report any errors and the system is not under any load, nor is Wi-Fi on. The value is constant, does not fluctuate at all. Of course, TW0P may not actually correspond to the wireless module (AirPort card).

AMBIENT_AIR_0
    34.0°C
CPU_0_PROXIMITY
    49.0°C
ENCLOSURE_BASE_0
    29.0°C
ENCLOSURE_BASE_1
    27.0°C
ENCLOSURE_BASE_2
    26.0°C
HEATSINK_1
    41.0°C
MEM_SLOTS_PROXIMITY
    42.0°C
PALM_REST
    26.0°C
WIRELESS_MODULE
    129.0°C

SMC version is 2.16f68

$ uname -a
Darwin beltex.local 14.1.0 Darwin Kernel Version 14.1.0: Mon Dec 22 23:10:38 PST 2014; root:xnu-2782.10.72~2/RELEASE_X86_64 x86_64

So my guess is that the SMC either misreads the temperature sensor or mishandles it somehow for this specific hardware. AHT probably reads it in a different manner. Don't believe its anything on the SMCKit side, it's simply the raw data returned from the SMC itself. If you see the same or different behaviour, do chime in! :)

As a side note, HEATSINK_0 (Th0H) on a MacBookPro5,1 reports 0°C constantly (though only checked on a single machine), so this sort of thing is not entirely uncommon.

3871968 commented 9 years ago

Does the sensor report when the wifi is on? The sensor may receive power and communicate to the SMC through the Airport card.

beltex commented 9 years ago

Hi @jBot-42!

Does the sensor report when the wifi is on?

Yes it does.

Realized, the sign bit wasn't being handled, so this would be -1°C! :) (fixed via https://github.com/beltex/SMCKit/commit/12215f2ccb8d43a2bb10183991dd0da0dc4a6b3d) Came across a few other sensors that do this as well. My theory on this is that certain sensors at lower temperatures have inaccurate readings. Maybe there located close to an internal fan, and the airflow is causing it to be skewed? In any case, this at least lets us feel good that the machine is not in danger.