Linux driver for STV0680 based USB cameras

Copyright, 2001, Kevin Sisson


INTRODUCTION:

STMicroelectronics produces the STV0680B chip, which comes in two 
types, -001 and -003. The -003 version allows the recording and downloading 
of sound clips from the camera, and allows a flash attachment. Otherwise, 
it uses the same commands as the -001 version. Both versions support a 
variety of SDRAM sizes and sensors, allowing for a maximum of 26 VGA or 20 
CIF pictures. The STV0680 supports either a serial or a usb interface, and 
video is possible through the usb interface.

The following cameras are known to work with this driver, although any 
camera with Vendor/Product codes of 0553/0202 should work:

Aiptek Pencam (various models)
Nisis QuickPix 2
Radio Shack 'Kid's digital camera' (#60-1207)
At least one Trust Spycam model
Several other European brand models

WHAT YOU NEED:

-	USB support
-	VIDEO4LINUX support

More information about USB support for linux can be found at:
http://www.linux-usb.org


MODULE OPTIONS:

When the driver is compiled as a module, you can set a "swapRGB=1"
option, if necessary, for those applications that require it 
(such as xawtv). However, the driver should detect and set this 
automatically, so this option should not normally be used.


KNOWN PROBLEMS:

The driver seems to work better with the usb-ohci than the usb-uhci host 
controller driver. 

HELP:

The latest info on this driver can be found at:
http://personal.clt.bellsouth.net/~kjsisson or at
http://stv0680-usb.sourceforge.net

Any questions to me can be send to:  kjsisson@bellsouth.net


