News
On 11 February 2003 I checked in a major re-write of the soundvision code.
It should better support newer cameras (the ones with 0x0919:0x0100 usb-id's)
and not have much impact on the older cameras. So if you have a supported
camera, please try things out and let me know if things break. Also people
with non-0x919 and non-Agfa camears you might want to try forcing it into
0x919:0x100 mode to see if that instruction set suits your camera a bit
better (See below on info on forcing gphoto to use a different usb-id).
The changes were made _after_ gphoto2 2.1.1 but before 2.1.2. So if you
are running 2.1.2 after it is released no need to track down CVS. If you
want to test out before 2.1.2 is released you'll have to follow the
gphoto instructions on getting the newest CVS version.
Backgroud
I have reverse-engineered a gphoto2 driver
for cameras using the
SoundVision Inc. Clarity 2.0 Chip.
The Agfa CL18-type cameras are an early design known as "1307". They tend
to be simple 640x480 USB designs. The
not-supported-as-well Fast-Flicks type cameras are a newer
"V1 Low-Cost Dual Mode VGA Digital Camera" design, and support higher
resolutions and .MOV movie support.
Lots of companies use this design, which is why such a variety of
cameras are supported by the driver. Sadly,
Sound Vision Inc.
has refused to release any documentation to me, so the driver
is nowhere near as good as it could be.
In theory, this driver works with any camera that supports the
Soundvision protocol.
Best Supported (aka I have the camera):
- Agfa ePhoto CL18
- Oregon Scientific DShot II
Reported to Mostly Work:
- Agfa CL18 Compatible:
- Agfa ePhoto CL18
- Mustek gSmart 350
- RCA CDS1005
- Cameras of Unknown Class:
- Tiger Fast Flicks Compatible Cameras:
- Argus DC-2200
- CoolCam cp086
- DigitalDream l'elite
- FujiFilm @xia ix-100 (AKA Axia ix-100)
- Media-Tech mt-406 - Sphinx
- Oregon Scientific DShot II
- Oregon Scientific DShot III
- Scott APX 30
- StarCam cp086
- Tiger Fast Flicks
Other cameras that might work if you follow the below directions:
- Polaroid MP3
- EyeQ3X Digital (note... NOT the SLR version).
- Ixla DualCam 640
Forcing USB id's
To test if the above (or any camera) work with the soundvision driver,
do the following.
Find the USB-vendor id and product id pair in your
/proc/bus/usb/devices file. The line will look something like this
(note the line begins with a P:)
P: Vendor=0784 ProdID=0100 Rev= 1.00
The line will be surrounded by lots of other info. Also, there will be
possibly many USB devices present, so to narrow down which one is the camera
you may want to compare the file before and after connecting the camera
and see what gets added.
To test to see if the driver works, use a command line similar to this:
gphoto2 --usbid 0x0784:0x0100=0x06bd:0x0403 -P
where you replace the numbers "0784" and "0100" from the "0x0784:0x0100" part
with the values taken from /proc/bus/usb/devices previously.
If this works and you get picture download,
send me (vince _at_ deater.net) the proper values along
with the name of your camera (and maybe /proc/bus/usb/devices just
to be safe) and I'll merge support for your camera into the libgphoto2
tree.
Cameras not supported:
- Agfa ePhoto CL20 and Agfa ePhoto CL30
use different hardware and do not work with my driver. Luckily
support for at least the CL20 is being worked on by the gPhoto people.
Using newest gphoto2 with a soundvision camera
- Any version of gphoto2 more recent than 2.0 should work. Most
8.x+ Linux distributions should work out of the box. New
features are in the 2.1.2 and on versions so you might want to
try those.
- FIRST STEP. Be sure you have the newest libusb library, downloadable
from here. You want
at least version 0.1.6a. libusb is always in flux, and you might have to
get a CVS version as per their web-page.
- Next, download the most recent gphoto2 snapshot. Anything
gphoto-2.0 or newer should work fine, but for newest cameras
you might want to get the development from CVS.
Gphoto2 download page.
- Next, compile and install libgphoto2 as directed in the documentation.
It should be as simple as a "configure" "make" and
"make install". If using a CVS version it probably will give you errors.
You'll have to get the bleeding-edge newest versions of automake, autoconf,
and you will have to run "configure --without-ltdl" otherwise your
USB port will notbe found.
- Now make sure your CL18 is plugged in, and that your version of Linux has
USB running properly [this might involve making sure the usbcore and
usb-uchi or usb-ohci modules are installed].
- You have to have "usbdevfs" mounted. To do this, as root run
"mount -t usbdevfs none /proc/bus/usb"
- Now gphoto2 should be all ready to use your camera. You'll have to be root to do things
[There is a mount option for usbdevfs that would make this unnecessary but
I cannot find the reference that says how to do that]. To try it out
you can use the "gphoto2" command line program found in gphoto2/frontends/command-line.
You might have to compile it [ "make" ] but try running it [as root]
"./gphoto2 -P" and if you have pictures on your camera and all went well
it should download some JPG files.
- Currently File listing, thumbnail downloading, picture downloading,
deleting, and snapshot are all supported.
TODO:
- Far out there -> support the video-capture funtionality of the camera.
(I've tried working on this but it is complicated and uses USB interrupts
and might not be possible form user-space).
News! Someone is working on web-cam support! See
http://gkall.hobby.nl/agfa-ephoto-cl18.html
Problems:
- After downloading pictures, the next transaction [pictures or file
listing] will hang and give a USB error. The next transaction works fine.
This is a known problem... until I get the docs from AGFA I can't really work on this.
- If your camera completely stops responding, or starts giving -110 errors,
it is probably locked up. To fix this unplug and replug the USB cable. If
that doesn't work, and you can't power it off with the power button, you might
have to pop out the batteries and put them back in.