Linuxdoc Linux Questions
Click here to ask our community of linux experts!
Custom Search

4. Software Support

4.1. OpenDiS (Open Digita Services)

OpenDiS Web Site

OpenDiS contains a user-level program and an access library for using DigitaOS enabled cameras. Currently those cameras would be the Kodak DC220, DC260, DC265, DC290 and HP Photosmart C500 and the Minolta EX1500. Although the Kodak digital camera series works best with this application the others have been found to work with the application also. This program has a CLI (command line interface) which is very useful for scripting tasks.

What is needed: OpenDiS 0.0.3

4.1.1. Compiling, extracting and installing OpenDiS

Run the following commands to compile, extract and install OpenDiS

bash$ tar -zxvf opendis-0.0.3.tar.gz 
bash$ cd opendis-0.0.3 
bash$ ./configure 
bash$ make 
bash# make install
   

4.1.2. Usage

The following usage section is taken directly from the output of the ks command.

    Usage: ks [OPTION]... [COMMAND]...
   

Connect to camera and perform COMMANDs.
Updated: 0.0.3 
Development note: currently some COMMANDs are supported; default 
action is to display this help.  However, all listed 
OPTIONS are now supported. 
 
-d DEV, --device=DEV       Look for camera at device DEV.  Defaults 
                            to /dev/ttyS0. 
 -r RATE, --rate=RATE       Use bit-rate RATE for serial device.  Defaults 
                            to 9600.  Not applicable to USB or IrDA. 
 -t TYPE, --type=TYPE       Specifies device type, one of: "serial" 
                            "usb", or "irda".  Normally, device type 
                            can be deduced from DEV and need not be 
                            specified 
 -i, --irda                 Same as --type=irda 
 -s, --serial               Same as --type=serial 
 -u, --usb                  Same as --type=usb 
 
 -v  --verbose              More output. 
 -q  --quiet                Less output. 
 
 -l, --list                 List supported commands 
 -h, --help                 Display this help and exit.

Currently following commands are supported: 

  delall        Delete all files in the camera 
  download      Download pictures 
  thumbs        Download thumbnails 
  gettime       Get camera's date/time 
  settime       Set camera clock according to computer's clock 
  shoot         Take a picture 
  status        Show pictures taken, available and raw count 
  getpowermode  Checks if camera is on 
  poweroff      Turn the camera off 
   

4.1.3. Usage Examples

USB:

Special USB notes. The USB stack has been ever changing in the developmental kernels and as such works differently from time to time. In playing with the latest developmental kernel released the camera tends to show up on /dev/dc2xx0 or /dev/dc2xx1, independent of the fact that only one camera is connected. The support for these devices is all fairly new, so expect to have to play with it to get it working. The following should allow one to download all images from the camera to the working directory with a USB connection. Make sure that the camera is in connect mode.

bash$ ks -d /dev/dc2xx0 download
   

Serial:

Serial support does work and as such the following command should allow one to download all images from the camera into their current working directory. Modify the serial port device name as necessary. Ensure that the camera is on and in connect mode and that the serial cable is connected between the computer's serial port and the camera.

bash$ ks -d /dev/ttyS0 download 
   

IrDA:

IrDA is not supported in the release version of OpenDiS, however support has been added to the CVS version. To obtain the latest version of OpenDiS via CVS run the following (hit the enter key at the password prompt, there is no password):

bash$ cvs -d:pserver:anonymous@cvs.ods.sourceforge.net:/cvsroot/ods login
bash$ cvs -d:pserver:anonymous@cvs.ods.sourceforge.net:/cvsroot/ods checkout bash# bash$ ods/opendis-current
   

To compile and configure this version do the following:

bash$ cd ods
bash$ cd opendis-current
bash$ ./configure
bash$ make
bash# make install
   

An example command which will download all the images from the camera via IrDA would look as follows. Remember to have the camera on and in connect mode. It may also be advisable to increase the auto-shutoff feature to a larger value (5 minutes if possible).

bash$ ks -d /dev/ircomm0 download
   

4.2. Digita Operating Environment- Command Device Protocol Python Script

This Python script written by Sai Lai Lo of AT&T Cambridge Laboratories allows for download

of images from Kodak Digital Cameras running DigitaOS (DC220, DC260, DC265 and DC290) and using USB for transfer. Some have problems with this script and some don't. However it is nice to cover all bases.

Here a working copy of the Command Device Protocol Python Script can be attained. The original Command Device Protocol Python Script for which the one above is derived has to be edited to remove leading text to work.

The script depends on /dev/kodak existing due to the way older kernels accessed the Kodak Digital Camera USB Device. A symbolic link must be created between the actual device the camera is on and /dev/kodak. If the camera is on /dev/dc2xx0 the symbolic link needed can be created with the following command:

bash# ln -s /dev/dc2xx0 /dev/kodak 
  

Be sure to substitute in the proper device name instead of dc2xx0 if the camera was not assigned dc2xx0. To list all files on the camera run the following command:

bash$ python cdp.py
  

To download a single image from the camera run the following command, remember to modify the command accordingly for your specific camera:

bash$ python cdp.py 2:DC265_01/P0000748.JPG 
  

That command will download the image P0000748.JPG to the directory DC265_01 in the current directory. A quick and easy command to download all the images from the camera would be:

bash$ for file in $(python cdp.py); do python cdp.py $file; done
  

This is just a few of the many ways such a script can work. It is possible to use the above command in a larger shell script to automate downloading the images from the camera, converting the images to another format, resizing the images, creating a web page automatically, and many many others. The options are endless when it comes to scripts like this.

4.3. gPhoto

gPhoto Web Site

Still deciding the best way to implement this section. Possibly a DocBook manual for gPhoto needs to be written but according to the gPhoto project web site a manual is being developed at the moment. Contact with the developers of gPhoto has been made and a decision to work on the document at some point, presuming someone else doesn't do it earlier, has been made. However the document processing program used to create this HOWTO, LyX, does not support all the necessary SGML tags and thus that will become an intermediate project before a manual for gPhoto.

A manual is available for gPhoto with its source code and may also be distributed with the various package offerings available with gPhoto binary distributions. The filename is MANUAL and it is located in the root of the extracted tar archive. The file INSTALL details the process of compiling and installing gPhoto if a binary package is not available for a particular distribution.

gPhoto supports serial image transfer from the Kodak DC20, DC25, DC200+, DC210, DC210+ Zoom, DC215 Zoom, DC220, DC220+, DC240, DC260, DC265, DC280 and DC290 with it's 0.4.3 release. With the CVS version of the software USB support is added for the DC220, DC260, DC265 and the DC280. gPhoto tends to be the preferred application of most digital camera users under GNU/Linux and is distributed with Helix GNOME.