1. smckit(1)
  2. smckit(1)

NAME

smckit - macOS SMC tool

SYNOPSIS

smckit [-cdfmptuw]
       [-h]
       [-k check-key]
       [-n fan-id] [-s fan-speed]
       [-v]

DESCRIPTION

A macOS command line tool for interfacing with the Apple System Management Controller (SMC) in Swift on Intel based Macs.

OPTIONS

List of supported command line options (flags/switches). Providing no options prints temperature (-t), fan (-f), power (-p), and misc (-m) information.

-c, --color

Colorize output where applicable.

-d, --show-keys

Show SMC keys (FourCC) when printing temperature sensors.

-f, --fan

Show the machines fan speeds (RPM).

-h, --help

Show the list of options.

-k, --check-key value

Check if a FourCC is a valid SMC key on this machine.

-m, --misc

Show misc information about this machine.

-n, --fan-id value

The id (number - starts from 0) of the fan whose speed to set. The list of id's can be seen via the --fan option. Must be used in combination --fan-speed.

-p, --power

Show power related information about this machine.

-s, --fan-speed value

The minimum speed (RPM - revolutions per minute) of the fan to set. By minimum we mean that macOS can interject and raise the fan speed if needed, however it will not go below this. Must be used with --fan-id. Requires root privileges.

WARNING: You are playing with hardware here, BE CAREFUL.

-t, --temperature

Show the list of known temperature sensors on this machine.

-u, --unknown-temperature-sensors

Show the list of temperature sensors whose hardware mapping is unknown.

-v, --version

Show SMCKitTool version.

-w, --warn

Show warning levels for temperature sensors and fan speeds.

DETAIL

Fan

All Intel based Macs to this point have at least one fan, with the exception of the newly added fanless MacBook (8,1).

Temperature

The list of known temperature sensors (-t) in combination with the unknown ones (-u) is exhaustive. However, the names of the known sensors may not be mapped to the correct hardware component. In addition, the maximum temperature of each individual sensor is not known. Thus, a global max of 128 degrees Celsius is used. This is all due to the fact that the SMC has a closed source driver, and thus information about it's inner workings is limited.

If a sensor has a value that is very high, constant, and completely disproportionate to the rest, then there is a chance that it is faulty. This could be due to bad or damaged hardware (liquid on the logic board). Run the Apple Diagnostics (Apple Hardware Test for older machines) diagnostics suite in such a case to confirm.

Some sensors however report very low values, below zero. The current theory on this is that at lower temperatures the sensors have inaccurate readings. It maybe that they are located close to an internal fan, and the airflow is causing it to be skewed.

ENVIRONMENT

Due to Swift, smckit requires macOS 10.9 (Mavericks) and above. This implies an Intel based 64-bit machine.

REPOSITORY

https://github.com/beltex/SMCKit

All project related matters, including source code, can be found at the GitHub repository listed above. In particular, the issue tracker, which can be used to report feedback, feature requests and bugs.

This project is under the MIT License.

AUTHOR

beltex https://beltex.github.io

SEE ALSO

dshb(1), powermetrics(1)

  1. October 2017
  2. smckit(1)