MacBook Pro 14,1 (Mid-2017) Audio, Camera, Microphone, and Bluetooth Fix
Running on Linux Mint 22. These steps worked for me, but that doesn't mean they'll work for you. Do at your own risk.
Audio (Source)
Ran the following first
- Install git:
sudo apt install git
- Clone the driver code:
git clone https://github.com/egorenar/snd-hda-codec-cs8409.git
- Switch to the directory so you can compile the code:
cd snd-hda-codec-cs8409
- Run:
make
- Run:
sudo make install
- Reboot the computer
Camera (Source)
- Open Text Editor
- Copy the following text and paste into Text Editor
#!/bin/bash
set -e
export CONFIG_MODULE_SIG=n
export CONFIG_MODULE_SIG_ALL=n
# For current kernel
export KERNELRELEASE=$(cat /proc/version | awk '{print $3}')
temp_dir=$(mktemp -d)
echo "Installing FacetimeHD camera for $KERNELRELEASE"
cd $temp_dir
git clone https://github.com/patjak/facetimehd-firmware.git
git clone https://github.com/patjak/bcwc_pcie.git
cd $temp_dir/facetimehd-firmware
pwd
make
sudo make install
cd $temp_dir/bcwc_pcie
pwd
make
sudo make install
rm -rf $temp_dir
if [ ! -d "/etc/modules-load.d" ]; then
mkdir -p "/etc/modules-load.d"
fi
sudo bash -c 'cat > "/etc/modules-load.d/facetimehd.conf" << EOL
videobuf2-core
videobuf2_v4l2
videobuf2-dma-sg
facetimehd
EOL'
# Workaround for depmod being skipped above with error:
# Warning: modules_install: missing 'System.map' file. Skipping depmod
echo "Generate modules.dep and map files"
sudo depmod
echo "Adding kernel modules"
sudo modprobe -r bdc_pci
sudo modprobe facetimehd
echo "Install complete"
# Color calibration
# https://github.com/patjak/facetimehd/wi ... tion-files
sudo cp *.dat /lib/firmware/facetimehd/
sudo modprobe -r facetimehd
echo "Color calibration complete"
- Save text as 'installfacetimecamera.sh'
- Open Terminal and make text executable by running
sudo chmod +x installfacetimecamera.sh
- Run script by running
./installfacetimecamera.sh
- Reboot computer
Microphone (Source)
- Install git:
sudo apt install git
(this can be skipped if you did it above) - Install other packages (some of these may already be on your install):
apt install wget make gcc linux-headers-generic
- Clone the driver code:
git clone https://github.com/davidjo/snd_hda_macbookpro.git
- Switch to the directory so you can compile the code:
cd snd_hda_macbookpro/
- Run:
sudo ./install.cirrus.driver.sh
When I did this I got an error stating I needed the root kernel. The needed command is given in the error - Reboot the computer
- Test audio, camera, and microphone by opening Guvcview (might have to install it from Software Manager if it's not already installed) and recording a video with the webcam and playing it back
Bluetooth (Source)
- Open terminal and run the following commands one at a time
sudo apt purge bluez
sudo apt install bluez
sudo apt install blueman
- Reboot the computer
- Test by trying to scan for Bluetooth devices in Bluetooth Manager