beltex / SMCKit

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

Wanted fan support for MacBookPro16,1 #45

Open rlhamil opened 4 years ago

rlhamil commented 4 years ago

Here are the fan keys (or at any rate, keys beginning with F) on a MacBook Pro (16-inch, 2019) aka MacBookPro16,1:

F0AH [spf0] 5971 (bytes 17 53) F0AL [spf0] 5616 (bytes 15 f0) F0Ac [flt ] (bytes 15 cf 60 45) F0Dc [flt ] (bytes 99 16 d1 3e) F0Fb [ui8 ] 1 (bytes 01) F0Fc [ui16] 4 (bytes 00 04) F0Md [ui8 ] 0 (bytes 00) F0Mn [flt ] (bytes 00 80 e5 44) F0Mx [flt ] (bytes 00 80 af 45) F0Sf [ui16] 0 (bytes 00 00) F0St [ui8 ] 5 (bytes 05) F0Tg [flt ] (bytes 00 b0 62 45) F1AH [spf0] 5971 (bytes 17 53) F1AL [spf0] 5200 (bytes 14 50) F1Ac [flt ] (bytes cb 78 51 45) F1Dc [flt ] (bytes 9f 9d c0 3e) F1Fb [ui8 ] 1 (bytes 01) F1Fc [ui16] 4 (bytes 00 04) F1Md [ui8 ] 0 (bytes 00) F1Mn [flt ] (bytes 00 80 d4 44) F1Mx [flt ] (bytes 00 80 a2 45) F1Sf [ui16] 0 (bytes 00 00) F1St [ui8 ] 5 (bytes 05) F1Tg [flt ] (bytes 00 f0 51 45) FAC0 [ui8 ] 0 (bytes 00) FAC1 [ui8 ] 0 (bytes 00) FAC2 [ui8 ] 0 (bytes 00) FAC3 [ui8 ] 0 (bytes 00) FBAD [hex_] (bytes 00 00 00 00) FNum [ui8 ] 2 (bytes 02) FOff [ui8 ] 0 (bytes 00) FRmp [ui16] 0 (bytes 00 00)

Note that there is NO F0ID or F1ID key provided!

Below are the F... keys listed in https://app.assembla.com/wiki/show/fakesmc with some description of what they are.

It seems it should be possible to show fan info (F#Ac, etc) when there is no corresponding F#ID key, by simply calling it fan 0 etc.

F0Ac fpe2 2 K_VAR_ATOM_RW Fan0 Actual RPM, DIAG_LOG F0ID {fds K_CONST Fan0 Description F0Mn fpe2 2 K_VAR_ATOM_RW Fan0 Minimum RPM F0Mt ui16 2 K_VAR_ATOM_RW Fan0 Max calculated target RPM F0Mx fpe2 2 K_VAR_ATOM_RW Fan0 Maximum RPM F0Sf fpe2 2 K_VAR_ATOM_RW Fan0 Safe RPM F0Tg fpe2 2 K_VAR_ATOM_RW Modify this in conjunction with Fan force bit [0] to set fan speed.
F1Ac fpe2 2 K_VAR_ATOM_RW Fan1 Actual RPM F1ID {fds K_CONST Fan1 Description F1Mn fpe2 2 K_VAR_ATOM_RW Fan1 Minimum RPM F1Mt ui16 2 K_VAR_ATOM_RW Fan1 Max calculated target RPM F1Mx fpe2 2 K_VAR_ATOM_RW Fan1 Maximum RPM F1Sf fpe2 2 K_VAR_ATOM_RW Fan1 Safe RPM F1Tg fpe2 2 K_VAR_ATOM_RW Modify this in conjunction with Fan force bit [1] to set fan speed.
F2Ac fpe2 2 K_VAR_ATOM_RW Fan2 Actual RPM F2ID {fds K_CONST Fan2 Description F2Mn fpe2 2 K_VAR_ATOM_RW Fan2 Minimum RPM F2Mt ui16 2 K_VAR_ATOM_RW Fan2 Max calculated target RPM F2Mx fpe2 2 K_VAR_ATOM_RW Fan2 Maximum RPM F2Sf fpe2 2 K_VAR_ATOM_RW Fan2 Safe RPM F2Tg fpe2 2 K_VAR_ATOM_RW Modify this in conjunction with Fan force bit [2] to set fan speed.
FNum ui8 1 K_CONST Number of supported fans. FPhz si16 2 KPRIV_VAR_ATOM_RW Programmable Fan Phase offset affects all fans. Signed value has legal values between 0 and 360. Default is 360 (no change). FS! ui16 2 K_VAR_ATOM_RW Fan force bits. FS![15:0] Setting bit to 1 allows for external control over fan speed target and prevents thermal manager from actively overidding value set via key access.