Skip to content

macsmc-power: false "Emergency notification: Failed to read battery status" triggers forced shutdown ~14s after boot on M1 MacBook Air #551

Description

@yusato8884

Description

On a fresh install of Fedora Asahi Remix on an M1 MacBook Air, the system reliably shuts down about 14 seconds after boot. The kernel log shows:
macsmc-power macsmc-power: Emergency notification: Failed to read battery status

This happens consistently, regardless of:

  • AC power connected or battery-only
  • GUI (GDM/GNOME) running or masked (reproduced with systemd.unit=multi-user.target systemd.mask=gdm.service, so this is not GNOME/GDM related)

The battery itself appears to be healthy: macOS (same machine, dual boot) reports normal battery condition with no warnings, and the issue is not correlated with battery percentage.

Blacklisting the macsmc_power module (/etc/modprobe.d/blacklist-macsmc-power.conf with blacklist macsmc_power) works around the issue and the system boots and runs stably, but of course this disables all battery/AC reporting.


Steps to reproduce

  1. Fresh macOS reinstall via macOS Recovery (macOS 26 Tahoe, current firmware)
  2. Install Fedora Asahi Remix via the standard Asahi Installer
  3. Boot into Fedora Asahi Remix
  4. System boots normally into GNOME (or text login), then shuts down ~14 seconds after boot, with the log lines above appearing right before shutdown

Expected behavior

The battery status should be read correctly, or at minimum, a failure to read battery status should not immediately trigger a forced shutdown unless the battery is actually confirmed critical.


Environment

Hardware Information:

  • Hardware Model: Apple Inc. MacBookAir10,1
  • Memory: 7.3 GiB
  • Processor: Apple M1
  • Graphics: Apple M1 (G13G B1)
  • Disk Capacity: (null)

Software Information:

  • Firmware Version: 2025.10
  • OS Name: Fedora Linux Asahi Remix 44 (Workstation Edition)
  • OS Build: (null)
  • OS Type: 64-bit
  • GNOME Version: 50
  • Windowing System: Wayland
  • Kernel Version: Linux 6.19.13-400.asahi.fc44.aarch64+16k

Workaround: boot instructions when the system won't reach GRUB menu in time

Since the crash happens ~14s after boot, sometimes the GRUB menu is skipped or passed automatically before there's time to interact with it. Here's the full recovery procedure that worked for me:

  1. Press the power button.
    • If the GRUB menu appears automatically and you can interact with it, skip to step 4.
    • If the system boots straight into Fedora without stopping at GRUB, shut down and go to step 2.
  2. After U-Boot starts, spam the Esc key repeatedly.
  3. At the U-Boot shell prompt, type boot and press Enter, then immediately spam Esc again (this is needed to catch the GRUB menu before it auto-continues).
  4. At the GRUB menu, press e to edit the kernel parameters. Find the line starting with linux, go to the end of it, and add:
    module_blacklist=macsmc_power
    
    Then press Ctrl+X to boot with this one-time change.
  5. The system should boot normally. Once booted, make the workaround permanent by running in a terminal:
    # Blacklist macsmc_power so it's never auto-loaded at boot
    echo "blacklist macsmc_power" | sudo tee /etc/modprobe.d/blacklist-macsmc-power.conf
    
    # Rebuild the initramfs so the blacklist takes effect from the earliest boot stage
    sudo dracut -f
    After this, the manual GRUB edit above is no longer needed on future boots.

How to remove this workaround later (once fixed upstream)

# Remove the blacklist config file
sudo rm /etc/modprobe.d/blacklist-macsmc-power.conf

# Rebuild the initramfs so macsmc_power loads normally again
sudo dracut -f

Then reboot. macsmc_power should load normally again and battery/AC status should be reported as usual (assuming the underlying issue has been fixed by then).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions