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.
Best Answer
Download AppleUSBVideoSupport driver file (e.g. dl.getdropbox.com/u/332246/AppleUSBVideoSupport) and place at ~/Desktop
sudo apt-get install isight-firmware-tools
Skip the prompt to immediately load the driver file.
cd ~/Desktop; sudo cp AppleUSBVideoSupport /lib/firmware/
sudo ift-extract -a /lib/firmware/AppleUSBVideoSupport
sudo nano /etc/default/acpi-support
Find MODULES and make it MODULES="isight_usb".
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.
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"
Shutdown/poweroff (not reboot or restart).
Reboot.
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.