This repo is dedicated to explanation of the MacBook Pro A1706 config for Ubuntu 26.
Just after installation I have noticed that the wifi does see 2,4 GHz networks, however cannot connect to any of them. It did not recognize any of the 5GHz networks.
Fix:
brcmfmac43602-pcie.bin
brcmfmac43602-pcie.txt
sudo cp brcmfmac43602-pcie.* /lib/firmware/brcm/sudo modprobe -r brcmfmac_wcc brmcafmac
sudo modprobe brcmfmacsudo systemctl restart NetworkManagerNow you should be able to connect to 5GHz networks, still network strength is to be fixed and cannot connect to 2,4GHz, however 5GHz is fully OK for me :)
Below instruction worked for me after first attempt. After the reboot I could finally liesten to music.
git clone https://github.com/davidjo/snd_hda_macbookpro.git
cd snd_hda_macbookpro/
sudo ./install.cirrus.driver.sh
sudo reboot\
Import of Ronald Tschalär's Macbook T1 drivers for the touchbar, ambient light sensor, and webcam, for kernel v7
Download the zip file with the code
mbp-t1-touchbar-driver-main.zip
unzip it and then:
From the repository root:
cd /mbp-t1-touchbar-driver-main
makeInstall the modules to the kernel module tree:
sudo make installIf your system uses initramfs, update it after installation:
sudo update-initramfs -uCopy the helper script, service unit, and blacklist to the proper system locations:
sudo cp apple-ib-touchbar-rebind.sh /usr/local/bin/
sudo cp apple-ib-touchbar.service /etc/systemd/system/
sudo cp apple-ib-touchbar-blacklist.conf /etc/modprobe.d/
sudo chmod +x /usr/local/bin/apple-ib-touchbar-rebind.shThe blacklist file prevents conflicting HID/ALS drivers from loading automatically (already copied in step 3.):
blacklist hid_sensor_hub
blacklist hid_sensor_als
blacklist apple_ib_alsReload systemd, then enable and start the service:
sudo systemctl daemon-reload
sudo systemctl enable apple-ib-touchbar.service
sudo systemctl start apple-ib-touchbar.serviceThe service is defined as Type=oneshot, so it runs once at boot and finishes.
The script performs these steps:
- Removes conflicting modules if loaded:
hid_sensor_hubhid_sensor_alsapple_ib_als
- Loads
apple_ibridge - Loads
apple_ib_tb - Rebinds the USB device on bus
1-3
This ensures the touch bar receives the correct HID interface and avoids the 0302 conflict.
Run the helper manually when needed:
sudo /usr/local/bin/apple-ib-touchbar-rebind.shIf the touch bar is already working, this is useful after rebuilding and reinstalling the modules.
Check service status with:
systemctl status apple-ib-touchbar.serviceA healthy state should show:
Loaded: loaded ... enabledActive: inactive (dead)status=0/SUCCESS
Also verify the loaded modules:
lsmod | grep -E 'apple_ib_tb|apple_ibridge|apple_ib_als|hid_sensor_hub|hid_sensor_als'Expected result:
apple_ib_tbloadedapple_ibridgeloadedhid_sensor_hub,hid_sensor_als,apple_ib_alsnot loaded
- If you rebuild the drivers, repeat
make,sudo make install, and optionallysudo update-initramfs -u. - If the touch bar stops working after a reboot, run the helper script again.
- If you want to restore ALS support, remove or modify the blacklist file.
I have been having an issue with my laptop freshly after installation of the system. Whenever I suspended it/closed the lid, it's been taking a lot of time to wake up (2 minutes of black screen) and after the screen went live, I was unable to type my password. I had to force shutdown each time by holding power button.
This was apparently caused by NVME not properly waking up.\ Fixed it following this procedure:
sudo nano /etc/systemd/system/fix_sleep.serviceIn the file, add these lines:
# systemd oneshot service to set sleep boolean on Apple Macbook Pro disks
# Original by Pier Lim. Posted at https://kerpanic.wordpress.com/2018/03/13/apple-keyboard-get-function-keys-working-properly-in-ubuntu/
[Unit]
Description=Job that disables sleep from stopping nvme hardware on MBP
[Service]
ExecStart=/sbin/fixsleep
Type=oneshot
RemainAfterExit=yes
[Install]
WantedBy=multi-user.targetSave the changes (CTRL+O->Enter) and exit (CTRL+X)
Now, before adding below lines please check your NVMe drive data by running:
lspci | grep -i nvmeI have got something like:
01:00.0 Mass storage controller: Apple Inc. S3X NVMe Controller (rev 12)
If your nvme location is different, you need to adjust it in the script below.
Next create /sbin/fixsleep script
sudo nano /sbin/fixsleep Content:
#!/bin/bash
/bin/echo 0 > /sys/bus/pci/devices/0000\:01\:00.0/d3cold_allowedSave the changes (CTRL+O->Enter) and exit (CTRL+X)
Make the file executable
sudo chmod +x /sbin/fixsleep Now you can reload daemon and run your service to test whether everything works as expected:
sudo systemctl daemon-reload
sudo systemctl start fix_sleep.serviceThanks to this now my laptop wakes up from the syspension within 10 seconds and I am able to sign in and continue my work.