Bug 272787 - Add asmc support for MacBookPro10,1, MacMini6,2, and MacBookPro8,3
Summary: Add asmc support for MacBookPro10,1, MacMini6,2, and MacBookPro8,3
Status: New
Alias: None
Product: Base System
Classification: Unclassified
Component: kern (show other bugs)
Version: 13.2-RELEASE
Hardware: amd64 Any
: --- Affects Some People
Assignee: freebsd-bugs (Nobody)
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2023-07-29 02:15 UTC by ed crowe
Modified: 2024-11-19 22:46 UTC (History)
2 users (show)

See Also:


Attachments
asmc patch for macmini6, macbookpro10,1, and macbookpro8,3 (4.75 KB, patch)
2023-07-29 02:15 UTC, ed crowe
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description ed crowe 2023-07-29 02:15:23 UTC
Created attachment 243679 [details]
asmc patch for macmini6, macbookpro10,1, and macbookpro8,3

Hello,
I used the macOS smcdump utility to get the T* values for a MacBookPro10,1 and a MacMini6,2. I've been running with this patch on each machine for a few weeks and have not had any issues.

If you want me to split the patch out for each machine type and resubmit, please let me know.
Comment 1 James 2024-05-25 05:22:30 UTC
Used this patch on a mid-2012 MBP Retina running 14-STABLE to adjust the fan speeds. Quite pleased to find it as the unit runs a bit too warm without the battery.
Comment 2 Jason W. Bacon freebsd_committer freebsd_triage 2024-11-19 12:26:10 UTC
Comment on attachment 243679 [details]
asmc patch for macmini6, macbookpro10,1, and macbookpro8,3

Attempting to extend this to the MacBook Pro 8,3, I added the following to asmc.c:

        {
          "MacBookPro8,3", "Apple SMC MacBook Pro (2011, 17 inch)",
          ASMC_SMS_FUNCS, ASMC_FAN_FUNCS, ASMC_LIGHT_FUNCS,
          ASMC_MBP82_TEMPS, ASMC_MBP82_TEMPNAMES, ASMC_MBP82_TEMPDESCS
        },

I'm not sure how to determine the features in order to create ASMC_MBP83TEMP*, but using the 8,2 features, it seems to mostly work:

FreeBSD marlin.acadix  bacon ~ 1001: sysctl dev.asmc.0.temp
dev.asmc.0.temp.Ts0S: 38
dev.asmc.0.temp.Ts0P: 26
dev.asmc.0.temp.memory: 40
dev.asmc.0.temp.Th2H: 42
dev.asmc.0.temp.Th1H: 44
dev.asmc.0.temp.wireless: 129
dev.asmc.0.temp.TPCD: 55
dev.asmc.0.temp.TP0P: 50
dev.asmc.0.temp.TMBS: 0
dev.asmc.0.temp.TM0S: 55
dev.asmc.0.temp.THSP: 37
dev.asmc.0.temp.TG0P: 46
dev.asmc.0.temp.graphics: 51
dev.asmc.0.temp.TCTD: 255
dev.asmc.0.temp.TCSA: 51
dev.asmc.0.temp.TCGC: 56
dev.asmc.0.temp.TCFC: 0
dev.asmc.0.temp.TC4C: 54
dev.asmc.0.temp.TC3C: 55
dev.asmc.0.temp.TC2C: 56
dev.asmc.0.temp.TC1C: 53
dev.asmc.0.temp.TC0P: 49
dev.asmc.0.temp.TC0F: 57
dev.asmc.0.temp.TC0E: 56
dev.asmc.0.temp.TC0D: 51
dev.asmc.0.temp.TC0C: 56
dev.asmc.0.temp.TB2T: 27
dev.asmc.0.temp.TB1T: 29
dev.asmc.0.temp.enclosure: 29
FreeBSD marlin.acadix  bacon ~ 1001: sysctl dev.asmc
dev.asmc.0.sms.z: 255
dev.asmc.0.sms.y: -39
dev.asmc.0.sms.x: -6
dev.asmc.0.light.control: 0
dev.asmc.0.light.right: 0
dev.asmc.0.light.left: 0
dev.asmc.0.temp.Ts0S: 40
dev.asmc.0.temp.Ts0P: 28
dev.asmc.0.temp.memory: 42
dev.asmc.0.temp.Th2H: 44
dev.asmc.0.temp.Th1H: 46
dev.asmc.0.temp.wireless: 129
dev.asmc.0.temp.TPCD: 57
dev.asmc.0.temp.TP0P: 51
dev.asmc.0.temp.TMBS: 0
dev.asmc.0.temp.TM0S: 56
dev.asmc.0.temp.THSP: 38
dev.asmc.0.temp.TG0P: 48
dev.asmc.0.temp.graphics: 52
dev.asmc.0.temp.TCTD: 0
dev.asmc.0.temp.TCSA: 55
dev.asmc.0.temp.TCGC: 59
dev.asmc.0.temp.TCFC: 0
dev.asmc.0.temp.TC4C: 56
dev.asmc.0.temp.TC3C: 58
dev.asmc.0.temp.TC2C: 59
dev.asmc.0.temp.TC1C: 56
dev.asmc.0.temp.TC0P: 51
dev.asmc.0.temp.TC0F: 59
dev.asmc.0.temp.TC0E: 58
dev.asmc.0.temp.TC0D: 54
dev.asmc.0.temp.TC0C: 58
dev.asmc.0.temp.TB2T: 29
dev.asmc.0.temp.TB1T: 32
dev.asmc.0.temp.enclosure: 32
dev.asmc.0.fan.1.targetspeed: 2000
dev.asmc.0.fan.1.maxspeed: 5500
dev.asmc.0.fan.1.minspeed: 2000
dev.asmc.0.fan.1.safespeed: -1
dev.asmc.0.fan.1.speed: 1996
dev.asmc.0.fan.1.id: Right side 
dev.asmc.0.fan.0.targetspeed: 2000
dev.asmc.0.fan.0.maxspeed: 5500
dev.asmc.0.fan.0.minspeed: 2000
dev.asmc.0.fan.0.safespeed: -1
dev.asmc.0.fan.0.speed: 2001
dev.asmc.0.fan.0.id: Left side  
dev.asmc.0.%parent: acpi0
dev.asmc.0.%pnpinfo: _HID=APP0001 _UID=0 _CID=SMC-HURONRIVER
dev.asmc.0.%location: handle=\_SB_.PCI0.LPCB.SMC_
dev.asmc.0.%driver: asmc
dev.asmc.0.%desc: Apple SMC MacBook Pro (2011, 17 inch)
dev.asmc.%parent:
Comment 3 Jason W. Bacon freebsd_committer freebsd_triage 2024-11-19 22:46:30 UTC
FYI, now that asmc is recognizing my model, I'm getting the following error repeating in dmesg:

asmc0: unknown interrupt: 0x2a