Built-in iSight Firmware Tools

This project provide tools to manipulate firmware for Built-in iSight
found on Apple machine since iMac G5 iSight (November 2005).

Those tools are based on the work from Ronald S. Bultje and are
licensed under the term of the GPLv2 or later. There are currently
(2010) maintained by Étienne Bersac.

See https://launchpad.net/isight-firmware-tools/ for bugs, code and
more informations.

ift-extract :

	ift-extract extracts isight.fw from any AppleUSBVideoSupport
	driver from Darwin. This driver is located in
	on your Mac OS X root partition.

ift-load :

	ift-load load a firmware extracted by ift-extract right into
	the iSight. This tool is meant to be called by udev. (see
	isight.rules udev rules file provided).

ift-export :

	Exports a firmware extracted by ift-extract as Intel HEX
	format for load with fxload. Note that the RAM size of the
	Built-in iSight seems larger than 8KB, therefore fxload refuse
	to load the end of the firmware into the chip.



The following steps allow you to have a clean support for Apple
Built-in iSight on both PPC and intel Macintoshes. No kernelspace
Apple driver loading !

 * Install latest isight-firmware-tools.

   /!\ Configure --sysconfdir=/etc (autotools bug?)  in order to have
       the udev rules properly installed.

       	    ./configure --sysconfdir=/etc && make && sudo make install

 * Get any AppleUSBVideoSupport from your Mac OS X partition and
   extract the firmware using ift-extract. ift-extract default output
   to /lib/firmware/isight.fw, so run as root :

            sudo ift-extract --apple-driver AppleUSBVideoSupport

 * Load the firmware manually or reboot

 	    sudo ift-load --firmware /lib/firmware/isight.fw

Tested with gstreamer-properties, ekiga, cheese 0.2.3 (cheese 0.2.4
fails, 0.3 not tested).


Version 1.5.91 :

 * Handle new firmware version from Apple

 * Added more fixes to comply UVC specs

Version 1.5.91 :

 * Don't use SHA1 sum anymore

Version 1.5.90 :

 * Dropped HAL callout

 * Added SHA1 for Mac OS X.5.7, X.5.8 and X.6 driver on various 

 * Updated japanese translation (Thanks to Nobuhiro Iwamatsu)

Version 1.4.1 :

 * Added three SHA1 sum for Mac OS X.6.

 * Order SHA1 sums to optimize lookup.

Version 1.4 :

 * Search vendor/product id rather than bus/dev id in udev loader.

 * Switch back to udev loader by default. This is less portable, but
   HAL and DeviceKit people prefer this policy.

 * Added two SHA1 sum from debian package and for Mac OS X.5.5

Version 1.2 :

 * Provide HAL callout, udev support is obsolete. Use --enable-udev
   and --disable-hal to have previous behaviour.

 * Updated driver table.

Version 1.0 :

 * Use DEVICE env var for finding USB bus id and device id.

 * Added Leopard driver support.

Version 0.5 :

 * new tool : ift-export. Exports firmware in Intel HEX format.

 * Uses syslog facility in ift-load.

 * Info and man pages for ift-extract and ift-export.

Version 0.4 :

 * Added i18n and fr_FR translation.

 * Use GOption parsing.

 * ift-extract: added option for output directory and output
   filename. Default to /lib/firmware and isight.fw.

 * ift-load: drop vendor_id:product_id probe and use udev USB_BUS and
   USB_DEV environment variables or from command line option.

Version 0.3 :

 * added udev rules for automatic firmware loading.

 * install ift-load in sbin dir.

 * ift-extract now patch the firmware.

Version 0.2 :

 * Splitted extract into ift-extract and ift-load.

 * Use autotools.

 * Added Mac OS X.4 PPC driver offset.

Last update : 25-Mar-2008 11:16