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
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
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.serviceRTL8153 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.servicePhysical 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"Restart the Touch Bar fix:
sudo systemctl restart apple-touchbar-fkeys.serviceRestart the RTL8153 USB-C Ethernet fix:
sudo systemctl restart rtl8153-usb-fix.serviceCheck active Touch Bar mode:
find /sys/devices -name fnmode -print -exec cat {} \; 2>/dev/nullCheck network state:
nmcli device statusDisable suspend/hibernate targets and make lid close lock instead of suspending:
sudo scripts/disable-suspend-targets applyPrepare 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-reloadCheck suspend containment:
scripts/disable-suspend-targets statusUndo suspend target masking:
sudo scripts/disable-suspend-targets undo- Touch Bar Esc/F-key setup
- Network notes
- Troubleshooting including suspend/wake notes
- Uninstall
- 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.
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.