MacBook A1278/A1322 Runtime Charging Not Working on Linux – SMC Override Issue ACPI Conflict
https://askubuntu.com/questions/1563714/macbook-a1278-a1322-runtime-charging-not-working-on-linux-smc-override-issue-aOn MacBook A1278/A1322 running Linux, runtime charging (while the OS is on) stops working due to Apple SMC firmware overriding Linux ACPI driver commands (applesmc, sbs). Even with acpi_osi=!, acpi_enforce_resources=lax, and module reloads, charging only briefly boosts for ~10 seconds before stopping. Charging works normally when the system is powered off, but at a reduced current because firmware limits the charge rate.
ase convert the driver to use hwmon_device_register_with_info(). ➜ Desktop sudo dmesg | grep -i acpi [ 0.000000] Command line: BOOT_IMAGE=/boot/vmlinuz-6.17.0-12-generic root=UUID=f1854db4-fe2e-40ec-959e-ce868e9b00bb ro text intel_iommu=on iommu=pt nmi_watchdog=0 clocksource=tsc efi=runtime acpi_osi=darwin button.lid_init_state=open intel_idle.max_cstate=2 crashkernel=2G-4G:320M,4G-32G:512M,32G-64G:1024M,64G-128G:2048M,128G-:4096M [ 0.000000] BIOS-e820: [mem 0x000000008ad34000-0x000000008ad5efff] ACPI NVS [ 0.000000] BIOS-e820: [mem 0x000000008ad6d000-0x000000008ad8efff] ACPI data [ 0.000000] efi: ACPI=0x8ad8e000 ACPI 2.0=0x8ad8e014 SMBIOS=0x8ad3b000 MOKvar=0x8ae5c000 INITRD=0x87c29798 [ 0.024888] ACPI: Early table checksum verification disabled [ 0.024892] ACPI: RSDP 0x000000008AD8E014 000024 (v02 APPLE ) [ 0.024898] ACPI: XSDT 0x000000008AD8E1C0 00009C (v01 APPLE Apple00 00000050 01000013) [ 0.024906] ACPI: FACP 0x000000008AD8C000 0000F4 (v04 APPLE Apple00 00000050 Loki 0000005F) [ 0.024914] ACPI: DSDT 0x000000008AD80000 006F12 (v01 APPLE MacBookP 00080001 INTL 20061109) [ 0.024919] ACPI: FACS 0x000000008AD3E000 000040 [ 0.024923] ACPI: FACS 0x000000008AD3E000 000040 [ 0.024926] ACPI: HPET 0x000000008AD8B000 000038 (v01 APPLE Apple00 00000001 Loki 0000005F) [ 0.024931] ACPI: APIC 0x000000008AD8A000 0000BC (v02 APPLE Apple00 00000001 Loki 0000005F) [ 0.024935] ACPI: SBST 0x000000008AD88000 000030 (v01 APPLE Apple00 00000001 Loki 0000005F) [ 0.024939] ACPI: ECDT 0x000000008AD87000 000053 (v01 APPLE Apple00 00000001 Loki 0000005F) [ 0.024943] ACPI: SSDT 0x000000008AD7C000 00020D (v01 APPLE SataOdd 00001000 INTL 20061109) [ 0.024947] ACPI: SSDT 0x000000008AD7B000 000024 (v01 APPLE SmcDppt 00001000 INTL 20061109) [ 0.024952] ACPI: SSDT 0x000000008AD79000 00061A (v01 APPLE UsbNoRmh 00001000 INTL 20061109) [ 0.024956] ACPI: SSDT 0x000000008AD76000 000159 (v02 APPLE IGHda 00001000 INTL 20061109) [ 0.024960] ACPI: SSDT 0x000000008AD74000 000032 (v01 APPLE SsdtS3 00001000 INTL 20061109) [ 0.024964] ACPI: SSDT 0x000000008AD73000 000527 (v01 PmRef Cpu0Ist 00003000 INTL 20061109) [ 0.024968] ACPI: SSDT 0x000000008AD72000 0009B1 (v01 PmRef CpuPm 00003000 INTL 20061109) [ 0.024973] ACPI: SSDT 0x000000008AD71000 000315 (v01 PmRef Cpu0Tst 00003000 INTL 20061109) [ 0.024977] ACPI: SSDT 0x000000008AD70000 00037A (v01 PmRef ApTst 00003000 INTL 20061109) [ 0.024981] ACPI: MCFG 0x000000008AD89000 00003C (v01 APPLE Apple00 00000001 Loki 0000005F) [ 0.024984] ACPI: Reserving FACP table memory at [mem 0x8ad8c000-0x8ad8c0f3] [ 0.024986] ACPI: Reserving DSDT table memory at [mem 0x8ad80000-0x8ad86f11] [ 0.024988] ACPI: Reserving FACS table memory at [mem 0x8ad3e000-0x8ad3e03f] [ 0.024989] ACPI: Reserving FACS table memory at [mem 0x8ad3e000-0x8ad3e03f] [ 0.024990] ACPI: Reserving HPET table memory at [mem 0x8ad8b000-0x8ad8b037] [ 0.024991] ACPI: Reserving APIC table memory at [mem 0x8ad8a000-0x8ad8a0bb] [ 0.024992] ACPI: Reserving SBST table memory at [mem 0x8ad88000-0x8ad8802f] [ 0.024993] ACPI: Reserving ECDT table memory at [mem 0x8ad87000-0x8ad87052] [ 0.024994] ACPI: Reserving SSDT table memory at [mem 0x8ad7c000-0x8ad7c20c] [ 0.024996] ACPI: Reserving SSDT table memory at [mem 0x8ad7b000-0x8ad7b023] [ 0.024997] ACPI: Reserving SSDT table memory at [mem 0x8ad79000-0x8ad79619] [ 0.024998] ACPI: Reserving SSDT table memory at [mem 0x8ad76000-0x8ad76158] [ 0.024999] ACPI: Reserving SSDT table memory at [mem 0x8ad74000-0x8ad74031] [ 0.025000] ACPI: Reserving SSDT table memory at [mem 0x8ad73000-0x8ad73526] [ 0.025001] ACPI: Reserving SSDT table memory at [mem 0x8ad72000-0x8ad729b0] [ 0.025002] ACPI: Reserving SSDT table memory at [mem 0x8ad71000-0x8ad71314] [ 0.025004] ACPI: Reserving SSDT table memory at [mem 0x8ad70000-0x8ad70379] [ 0.025005] ACPI: Reserving MCFG table memory at [mem 0x8ad89000-0x8ad8903b] [ 0.025014] ACPI: DMI detected to setup _OSI("Darwin"): Apple hardware [ 0.053572] ACPI: PM-Timer IO Port: 0x408 [ 0.053586] ACPI: LAPIC_NMI (acpi_id[0x01] high edge lint[0x1]) [ 0.053588] ACPI: LAPIC_NMI (acpi_id[0x02] high edge lint[0x1]) [ 0.053589] ACPI: LAPIC_NMI (acpi_id[0x03] high edge lint[0x1]) [ 0.053590] ACPI: LAPIC_NMI (acpi_id[0x04] high edge lint[0x1]) [ 0.053592] ACPI: LAPIC_NMI (acpi_id[0x05] high edge lint[0x1]) [ 0.053593] ACPI: LAPIC_NMI (acpi_id[0x06] high edge lint[0x1]) [ 0.053594] ACPI: LAPIC_NMI (acpi_id[0x07] high edge lint[0x1]) [ 0.053595] ACPI: LAPIC_NMI (acpi_id[0x08] high edge lint[0x1]) [ 0.053611] ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl) [ 0.053614] ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 high level) [ 0.053620] ACPI: Using ACPI (MADT) for SMP configuration information [ 0.053622] ACPI: HPET id: 0x8086a201 base: 0xfed00000 [ 0.054070] Kernel command line: BOOT_IMAGE=/boot/vmlinuz-6.17.0-12-generic root=UUID=f1854db4-fe2e-40ec-959e-ce868e9b00bb ro text intel_iommu=on iommu=pt nmi_watchdog=0 clocksource=tsc efi=runtime acpi_osi=darwin button.lid_init_state=open intel_idle.max_cstate=2 crashkernel=2G-4G:320M,4G-32G:512M,32G-64G:1024M,64G-128G:2048M,128G-:4096M [ 0.054277] ACPI: button: Initial lid state set to 'open' [ 0.194687] ACPI: Core revision 20250404 [ 0.263813] ACPI: PM: Registering ACPI NVS region [mem 0x8ad34000-0x8ad5efff] (176128 bytes) [ 0.267242] acpiphp: ACPI Hot Plug PCI Controller Driver version: 0.5 [ 0.278688] ACPI: Disabled all _OSI OS vendors [ 0.278696] ACPI: Added _OSI(Module Device) [ 0.278703] ACPI: Added _OSI(Processor Device) [ 0.278709] ACPI: Added OSI(Processor Aggregator Device) [ 0.278731] ACPI: Added OSI(Darwin) [ 0.278736] ACPI: Added OSI(darwin) [ 0.290622] ACPI: 10 ACPI AML tables successfully acquired and loaded [ 0.291775] ACPI: EC: EC started [ 0.291781] ACPI: EC: interrupt blocked [ 0.292348] ACPI: EC: EC_CMD/EC_SC=0x66, EC_DATA=0x62 [ 0.292355] ACPI: EC: Boot ECDT EC used to handle transactions [ 0.293299] ACPI: BIOS OSI(Darwin) query honored via DMI [ 0.294478] ACPI: [Firmware Bug]: BIOS OSI(Linux) query ignored [ 0.316590] ACPI: Dynamic OEM Table Load: [ 0.316607] ACPI: SSDT 0xFFFF8DA14183C000 000781 (v01 PmRef Cpu0Cst 00003001 INTL 20061109) [ 0.317616] ACPI: Dynamic OEM Table Load: [ 0.317627] ACPI: SSDT 0xFFFF8DA140DBF800 0003A4 (v01 PmRef ApIst 00003000 INTL 20061109) [ 0.318340] ACPI: Dynamic OEM Table Load: [ 0.318350] ACPI: SSDT 0xFFFF8DA1402F9E00 000119 (v01 PmRef ApCst 00003000 INTL 20061109) [ 0.319513] ACPI: Interpreter enabled [ 0.319543] ACPI: PM: (supports S0 S3 S4 S5) [ 0.319547] ACPI: Using IOAPIC for interrupt routing [ 0.320254] PCI: Using host bridge windows from ACPI; if necessary, use "pci=nocrs" and report a bug [ 0.320497] ACPI: Enabled 7 GPEs in block 00 to 3F [ 0.330020] ACPI: PCI Root Bridge [PCI0] (domain 0000 [bus 00-ff]) [ 0.330034] acpi PNP0A08:00: OSC: OS assumes control of [PCIeHotplug SHPCHotplug AER PCIeCapability LTR DPC] [ 0.330059] acpi PNP0A08:00: [Firmware Info]: ECAM [mem 0xe0000000-0xe9bfffff] for domain 0000 [bus 00-9b] only partially covers this bridge [ 0.335677] acpiphp: Slot [3] registered [ 0.335718] acpiphp: Slot [4] registered [ 0.337319] acpiphp: Slot [1] registered [ 0.348285] ACPI: PCI: Interrupt link LNKA configured for IRQ 0 [ 0.348292] ACPI: PCI: Interrupt link LNKA disabled [ 0.348373] ACPI: PCI: Interrupt link LNKB configured for IRQ 0 [ 0.348378] ACPI: PCI: Interrupt link LNKB disabled [ 0.348461] ACPI: PCI: Interrupt link LNKC configured for IRQ 0 [ 0.348466] ACPI: PCI: Interrupt link LNKC disabled [ 0.348542] ACPI: PCI: Interrupt link LNKD configured for IRQ 0 [ 0.348547] ACPI: PCI: Interrupt link LNKD disabled [ 0.348623] ACPI: PCI: Interrupt link LNKE configured for IRQ 0 [ 0.348628] ACPI: PCI: Interrupt link LNKE disabled [ 0.348704] ACPI: PCI: Interrupt link LNKF configured for IRQ 0 [ 0.348709] ACPI: PCI: Interrupt link LNKF disabled [ 0.348785] ACPI: PCI: Interrupt link LNKG configured for IRQ 0 [ 0.348790] ACPI: PCI: Interrupt link LNKG disabled [ 0.348866] ACPI: PCI: Interrupt link LNKH configured for IRQ 0 [ 0.348870] ACPI: PCI: Interrupt link LNKH disabled [ 0.349257] ACPI: EC: interrupt unblocked [ 0.349262] ACPI: EC: event unblocked [ 0.349270] ACPI: EC: EC_CMD/EC_SC=0x66, EC_DATA=0x62 [ 0.349274] ACPI: EC: GPE=0x17 [ 0.349278] ACPI: _SB.PCI0.LPCB.EC: Boot ECDT EC initialization complete [ 0.349284] ACPI: _SB.PCI0.LPCB.EC: EC: Used to handle transactions and events [ 0.349465] ACPI: bus type USB registered [ 0.351143] PCI: Using ACPI for IRQ routing [ 0.358836] pnp: PnP ACPI init [ 0.360006] pnp: PnP ACPI: found 6 devices [ 0.367020] clocksource: acpi_pm: mask: 0xffffff max_cycles: 0xffffff, max_idle_ns: 2085701024 ns [ 0.469312] ACPI: AC: AC Adapter [ADP1] (on-line) [ 0.469527] ACPI: button: Lid Switch [LID0] [ 0.469659] ACPI: button: Power Button [PWRB] [ 0.469778] ACPI: button: Sleep Button [SLPB] [ 0.469931] ACPI: button: Power Button [PWRF] [ 0.480698] ACPI: bus type drm_connector registered [ 1.092113] ACPI: bus type thunderbolt registered [ 1.517036] ata2.00: ACPI cmd ef/10:03:00:00:00:a0(SET FEATURES) filtered out [ 1.523765] ata2.00: ACPI cmd ef/10:03:00:00:00:a0(SET FEATURES) filtered out [ 11.149383] smbus_hc ACPI0001:00: SBS HC: offset = 0x20, query_bit = 0x10 [ 11.211652] ACPI Warning: SystemIO range 0x0000000000000428-0x000000000000042F conflicts with OpRegion 0x0000000000000400-0x000000000000047F (\PMIO) (20250404/utaddress-204) [ 11.211664] ACPI: OSL: Resource conflict; ACPI support missing from driver? [ 11.211668] ACPI Warning: SystemIO range 0x0000000000000540-0x000000000000054F conflicts with OpRegion 0x0000000000000500-0x0000000000000563 (\GPIO) (20250404/utaddress-204) [ 11.211673] ACPI: OSL: Resource conflict; ACPI support missing from driver? [ 11.211675] ACPI Warning: SystemIO range 0x0000000000000530-0x000000000000053F conflicts with OpRegion 0x0000000000000500-0x0000000000000563 (\GPIO) (20250404/utaddress-204) [ 11.211680] ACPI: OSL: Resource conflict; ACPI support missing from driver? [ 11.211682] ACPI Warning: SystemIO range 0x0000000000000500-0x000000000000052F conflicts with OpRegion 0x0000000000000500-0x0000000000000563 (\GPIO) (20250404/utaddress-204) [ 11.211687] ACPI: OSL: Resource conflict; ACPI support missing from driver? [ 11.393105] ACPI: Smart Battery System [SBS0]: Battery Slot [BAT0] (battery present) [ 12.373761] ACPI: video: Video Device [IGPU] (multi-head: yes rom: no post: no) [ 12.374712] acpi device:10: registered as cooling_device6



