diff --git a/Get-Started.md b/Get-Started.md index edfef54..e345826 100644 --- a/Get-Started.md +++ b/Get-Started.md @@ -41,37 +41,17 @@ Now continue with one of * [OpenSUSE](#get-started-on-opensuse) ## Get Started on Fedora -As of 2015.12, Fedora 23 is current. It will not recognize the internal WiFi card (Broadcom) so you need either the Thunderbolt Ethernet adapter, or any USB Ethernet Adapter known to work on Fedora. -Install Fedora. - -Once installed, update it: `sudo dnf update` - -Everything should be working (including keyboard backlight, screen brightness, sound) but the FaceTime camera and the WiFi card. Adding the Wifi drivers is outside of this document, and is [well documented (see steps 5 & 6)] (http://mattoncloud.org/2014/02/05/fedora-20-on-a-macbook-air/). - -Download and extract the bcwc_pcie driver. Copy the firmware.bin file to the firmware subfolder. - -Install development required packages (and accept all dependancies): - -`dnf group "C Development Tools and Libraries"` - -Test you have all dependancies ready before the compile: `make -n` - -Compile the driver: `make` - -Install the driver in the proper location: `make install` - -Driver `facetime.ko` is copied under `/lib/modules//extra` -You have to create subfolder `/lib/firmware/facetimehd` and copy the `firmware.bin` into it. - -Load the dependant modules: - - modprobe v4l2-common - modprobe videobuf2-dma-sg - modprobe videobuf2-core - -Load the FacetimeHD module: - - modprobe facetimehd +Tested on Fedora 23. - Extract firmware file as described in [Firmware extraction](#firmware-extraction) +- Become root `sudo su -` +- Move the extracted firmware file to the right place: `mkdir /lib/firmware/facetimehd; cp firmware.bin /lib/firmware/facetimehd/` +- Install packages kernel-devel (if you installed the Wireless Card driver, you likely already have it): `dnf install kernel-devel` +- Clone the driver's code: `git clone https://github.com/patjak/bcwc_pcie.git` +- Change into directory: `cd bcwc_pcie` +- Build the kernel module: `make` +- Install the kernel module: `make install` +- Run `depmod` +- Load the module: `modprobe facetimehd` +- Check if all relevant modules a loaded: `lsmod | grep facetimehd` Everything should load fine. Check with command dmesg, the main driver should have loaded and ignore the error about the missing .dat file in the firmware directory (these are the calibration files, we do not have then yet). @@ -79,6 +59,16 @@ Time for testing: get mplayer (requires the [RPMfusion repositories] (http://rpm Launch mplayer: `mplayer tv://` and enjoy your own smily face :-) +The driver breaks on suspend / resume, so add a script to unload / reload the driver: +`vi /usr/lib/systemd/system-sleep/remove-facetimehd.sh` + +`#!/bin/bash` +`[ "$1" = "post" ] && exec /usr/sbin/modprobe facetimehd` +`[ "$1" = "pre" ] && exec /usr/sbin/rmmod facetimehd` +`exit 0` +Save and exit then: +`chmod +x /usr/lib/systemd/system-sleep/remove-facetimehd.sh` + IF YOU ENCOUNTER ANY ISSUES LOOK AT THE "ADDITIONAL NOTES" SECTION ON THE BOTTOM OF THIS PAGE OR REPORT AN ISSUE ## Get Started on Debian @@ -272,4 +262,3 @@ And if none of the two above worked try: `mplayer -vo gl3 tv://` This is because some linux applications does not support high resolution cameras. To fix this go to Cheese settings and change the resolution to something lower. Then turn the computer OFF, and ON again. (Not reboot). This should fix the corrupted image. -