Skip to content

Repository files navigation

MacBook Pro Fedora Fixes

Fedora Linux fixes and recovery notes for Intel Touch Bar MacBook Pro hardware, tested on:

  • Model: MacBookPro13,2
  • Fedora: 44 Workstation
  • Kernel during repair: 7.0.11-200.fc44.x86_64

This repository collects the working scripts, systemd units, udev rules, XKB fallback layout, and notes used to repair:

  • Touch Bar Escape and function keys
  • Broadcom BCM43602 Wi-Fi firmware/NVRAM behavior
  • Realtek RTL8153 USB-C Ethernet warm-reboot enumeration
  • Suspend/wake failure containment

Repository Layout

docs/       Human-readable setup, troubleshooting, and uninstall notes
firmware/   Reference Broadcom BCM43602 NVRAM file
scripts/    Helper scripts installed under /usr/local/sbin
systemd/    Systemd unit files installed under /etc/systemd/system
udev/       Udev rules installed under /etc/udev/rules.d
xkb/        GNOME/XKB fallback layout for a physical Escape key
skills/     Codex skill for agents working on this hardware

Install Overview

Read the docs before installing; these are hardware-specific workarounds.

Touch Bar helper and service:

sudo install -m 0755 scripts/apple-touchbar-fkeys /usr/local/sbin/apple-touchbar-fkeys
sudo install -m 0644 systemd/apple-touchbar-fkeys.service /etc/systemd/system/apple-touchbar-fkeys.service
sudo systemctl daemon-reload
sudo systemctl enable --now apple-touchbar-fkeys.service

RTL8153 USB-C Ethernet helper, service, and udev rule:

sudo install -m 0755 scripts/rtl8153-usb-fix /usr/local/sbin/rtl8153-usb-fix
sudo install -m 0644 systemd/rtl8153-usb-fix.service /etc/systemd/system/rtl8153-usb-fix.service
sudo install -m 0644 udev/99-rtl8153-no-autosuspend.rules /etc/udev/rules.d/99-rtl8153-no-autosuspend.rules
sudo udevadm control --reload-rules
sudo systemctl daemon-reload
sudo systemctl enable --now rtl8153-usb-fix.service

Physical Escape fallback for Swedish layouts:

mkdir -p ~/.config/xkb/symbols
cp xkb/custom ~/.config/xkb/symbols/custom
gsettings set org.gnome.desktop.input-sources sources "[('xkb', 'custom'), ('xkb', 'us')]"
gsettings set org.gnome.desktop.input-sources xkb-options "[]"

Broadcom BCM43602 NVRAM file:

sudo install -m 0644 firmware/brcm/brcmfmac43602-pcie.txt /lib/firmware/brcm/brcmfmac43602-pcie.txt
sudo install -m 0644 firmware/brcm/brcmfmac43602-pcie.txt "/lib/firmware/brcm/brcmfmac43602-pcie.Apple Inc.-MacBookPro13,2.txt"

Quick Commands

Restart the Touch Bar fix:

sudo systemctl restart apple-touchbar-fkeys.service

Restart the RTL8153 USB-C Ethernet fix:

sudo systemctl restart rtl8153-usb-fix.service

Check active Touch Bar mode:

find /sys/devices -name fnmode -print -exec cat {} \; 2>/dev/null

Check network state:

nmcli device status

Disable suspend/hibernate targets and make lid close lock instead of suspending:

sudo scripts/disable-suspend-targets apply

Prepare the one-shot remask safety service before controlled suspend tests:

sudo install -m 0644 systemd/macbook-remask-suspend-on-boot.service /etc/systemd/system/macbook-remask-suspend-on-boot.service
sudo systemctl daemon-reload

Check suspend containment:

scripts/disable-suspend-targets status

Undo suspend target masking:

sudo scripts/disable-suspend-targets undo

Docs

Important Notes

  • Kernel updates may require rebuilding the out-of-tree Touch Bar modules.
  • Do not publish private NetworkManager connection files, Wi-Fi passwords, private SSIDs, or machine-specific secrets.
  • The Touch Bar fix depends on parport0/mbp-t1-touchbar-driver.
  • The current Touch Bar service works around Fedora binding part of iBridge to hid-sensor-hub.

Agent Use

Codex users can install or reference:

skills/macbookpro-fedora-fixes/SKILL.md

The skill gives an agent the detection and repair workflow without loading every note into context by default.

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages