How to fix webcam on Macbook Pro 5,5

9,720
  1. Download AppleUSBVideoSupport driver file (e.g. dl.getdropbox.com/u/332246/AppleUSBVideoSupport) and place at ~/Desktop

  2. sudo apt-get install isight-firmware-tools
    Skip the prompt to immediately load the driver file.

  3. cd ~/Desktop; sudo cp AppleUSBVideoSupport /lib/firmware/

  4. sudo ift-extract -a /lib/firmware/AppleUSBVideoSupport

  5. sudo nano /etc/default/acpi-support
    Find MODULES and make it MODULES="isight_usb".

  6. lsusb | grep -Po '(?<=:)(\d+)(?=.*iSight)'
    This outputs the product ID of your specific iSight USB device. Remember this number. Mine is 8507. The default Ubuntu driver seems to be hardcoded for 8300, which is a problem.

  7. sudo nano /etc/udev/rules.d/isight.rules
    Add (and be sure to replace the "8507" with your product ID.):
    ACTION=="add", SYSFS{idVendor}=="05ac", SYSFS{idProduct}=="8507", RUN+="/usr/lib/udev/ift-load --firmware /lib/firmware/isight.fw"

  8. Shutdown/poweroff (not reboot or restart).

  9. Reboot.

  10. sudo apt-get install cheese; cheese

I've been using this fix for a couple weeks, and my webcam now reliably works across reboots and suspends. The bug seems to be caused by simply incorrect acpi and udev configurations.

Share:
9,720

Related videos on Youtube

Cerin
Author by

Cerin

Updated on September 18, 2022

Comments

  • Cerin
    Cerin over 1 year

    I'm running Ubuntu 10.04 on a Macbook Pro 5.5. When I initially installed, the webcam worked perfectly, and I could use Cheese to take photos or video without any problems. However, now when I open Cheese, it will either freeze when I open it, or show the error "Cannot connect to video device (/dev/video0)". I've tried camorama and fswebcam, but they give me the same error. Rebooting and trying different kernels hasn't fixed it.

    What else can I do to diagnose or fix this?

    Edit: I reformatted and installed Ubuntu 11.10, but the issue persists. The webcam will work fine one moment, and then apps like Cheese will give me the error "No device found".

    Edit: This is a known bug.