Skip to content
Patrik Jakobsson edited this page Jan 10, 2016 · 43 revisions

Welcome to the bcwc_pcie wiki!

The goal of this project is to write a Linux driver for the Broadcom 1570 PCIe webcam.

Current Status

The driver is now able to stream video. It can be accessed through the V4L2 API. It is still experimental so your mileage may vary.

Since this driver depends on vb2_dma_sg_init_ctx, it requires Linux kernel 3.19 or later.
According to Apple the following models contain a Facetime HD camera and should be compatible with this driver:

  • iMac (21,5", since mid 2011)
  • iMac (27", since mid 2011)
  • MacBook Air (since mid 2011)
  • MacBook Pro (15", since early 2011)
  • MacBook Pro (17", since early 2011)
  • MacBook Pro (13", since early 2011)

See Getting Started for instructions on driver installation and usage.

Approach

It's a mix of probing, reverse engineering, reading up on similar hardware, guessing, etc.

Known issues

  • Suspend / resume doesn't work properly. Suspending must be done with the device closed.
  • Only firmware version 1.43 (latest OSX El Capitan) works with the driver.
  • The driver will complain about 1871_01XX.dat (or similarly named) files missing. This error can be ignored. The .dat files contains sensor calibration settings that will improve image quality. The error looks something like this: Direct firmware load for facetimehd/1871_01XX.dat failed with error -2. Ignore it.

How can I help?

  • Code contributions are welcome.
  • Test the driver and report any issues
  • You can also add to the bounty on Bountysource which gets passed on when the driver becomes sufficiently functional.

Note that this was started independently by members of the crowd here to help encourage and thank the developer(s) and never asked for by the developer(s).

https://www.bountysource.com/issues/7700750-basic-functionality

An outline of getting the web cam working in an OS X VM using QEMU.
http://chrisrjones.com/articles/How-to-get-the-broadcom-pci-1570-web-cam-working-in-Linux-using-qemu-with-OS-X-VM

Clone this wiki locally