Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
Install the kernal module required for the facetimehd camera to work on Linux
#!/bin/bash
set -e
export CONFIG_MODULE_SIG=n
export CONFIG_MODULE_SIG_ALL=n
export KERNELRELEASE=${1}
echo "Installing FacetimeHD camera for $KERNELRELEASE"
cd /tmp
git clone https://github.com/patjak/bcwc_pcie.git
cd bcwc_pcie/firmware
make
make install
cd ..
make
make install
rm -rf /tmp/bcwc_pcie
if [ ! -d "/etc/modules-load.d" ]; then
mkdir -p "/etc/modules-load.d"
fi
cat > "/etc/modules-load.d/facetimehd.conf" << EOL
videobuf2-core
videobuf2_v4l2
videobuf2-dma-sg
facetimehd
EOL
echo "Install complete."
@Stono

This comment has been minimized.

Copy link
Owner Author

@Stono Stono commented Feb 27, 2017

Put this file in /etc/kernel/postinst.d/99-install-facetime-camera.sh and it'll be done each time you update the kernel.
Make sure you have the dependencies mentioned on https://github.com/patjak/bcwc_pcie/wiki/Get-Started

You can 'one shot' run it for your current kernel with /etc/kernel/postinst.d/99-install-facetime-camera.sh $(uname -r)

I'm running Korora (Fedora) 25 on a 2016 Macbook Pro, so that's what this is tested on.

@vablinux

This comment has been minimized.

Copy link

@vablinux vablinux commented Jul 6, 2018

I've tried to install the camera using the tutorial but I got the same error message. So I decided to run your script but I got the same error.

Copying firmware into '//usr/lib/firmware/facetimehd'
make -C /lib/modules//build M=/tmp/bcwc_pcie modules
make[1]: *** /lib/modules//build: No such file or directory. Stop.
make: *** [Makefile:12: all] Error 2

Any help is much appreciated.
Thanks

Vini

@vablinux

This comment has been minimized.

Copy link

@vablinux vablinux commented Jul 6, 2018

I found a solution. Followed this instructions https://github.com/patjak/bcwc_pcie/wiki/Get-Started#get-started-on-fedora
Then I installed sudo yum install elfutils-libelf-devel
Facetime camera working fine on my macbook pro with fedora 28

@jpretori

This comment has been minimized.

Copy link

@jpretori jpretori commented Apr 4, 2019

Thanks!
I get this problem though - can you help?

make[1]: Entering directory '/usr/src/linux-headers-4.18.0-17-generic'
  INSTALL /tmp/bcwc_pcie/facetimehd.ko
At main.c:160:
- SSL error:02001002:system library:fopen:No such file or directory: ../crypto/bio/bss_file.c:74
- SSL error:2006D080:BIO routines:BIO_new_file:no such file: ../crypto/bio/bss_file.c:81
sign-file: certs/signing_key.pem: No such file or directory
  DEPMOD  4.18.0-17-generic
@gonzaloFigueras

This comment has been minimized.

Copy link

@gonzaloFigueras gonzaloFigueras commented Apr 27, 2019

Hello, I have tried the script but I am getting the following error:

**Installing FacetimeHD camera for
Cloning into 'bcwc_pcie'...
remote: Enumerating objects: 1049, done.
remote: Total 1049 (delta 0), reused 0 (delta 0), pack-reused 1049
Receiving objects: 100% (1049/1049), 350.72 KiB | 503.00 KiB/s, done.
Resolving deltas: 100% (707/707), done.

Checking dependencies for driver download...
/usr/bin/xzcat
/bin/cpio
Makefile:34: fallo en las instrucciones para el objetivo 'AppleCameraInterface'
make: *** [AppleCameraInterface] Error 1**

I don't know what to do here. I am stucked.

Thanks in advanced!

@erwinfeser

This comment has been minimized.

Copy link

@erwinfeser erwinfeser commented May 2, 2019

This script seems to be outdated

@urbantrout

This comment has been minimized.

Copy link

@urbantrout urbantrout commented Apr 7, 2020

@gonzaloFigueras You need to install curl

@avtkal

This comment has been minimized.

Copy link

@avtkal avtkal commented May 2, 2020

I get stucked here:
/tmp/bcwc_pcie/firmware$ make
make: *** No targets specified and no makefile found. Stop.

Could someone help with this?
Thank you!

@atulpendse

This comment has been minimized.

Copy link

@atulpendse atulpendse commented May 11, 2020

Same error for me on Fedora 32

[apendse@apendse-fedora firmware]$ pwd
/data/workspace/bcwc_pcie/firmware

[apendse@apendse-fedora firmware]$ sudo make
make: *** No targets specified and no makefile found. Stop.

@ukn

This comment has been minimized.

Copy link

@ukn ukn commented Jul 3, 2020

Had to modify the script a bit but got it working on Linux Mint 19.3 (kernel 5.4.0-40-generic)
https://gist.github.com/ukn/a2f85e3420ae7d0f64db2274a9bc106b

@petrstepanov

This comment has been minimized.

Copy link

@petrstepanov petrstepanov commented Sep 28, 2020

Thanks @ukn I've just tried your script on Fedora 32. I had to comment out line #43:
https://gist.github.com/petrstepanov/73e1eeaeca8b56bf4bca2a367f18fe95
and it worked great. Enjoying my camera now!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.