
Kodak Digital Camera HOWTO

David Burley

   Getting a Kodak digital camera working under GNU/Linux.
     _________________________________________________________________
   
   Table of Contents
   1. [1]Introduction
          
        1.1. [2]History
        1.2. [3]New Versions
        1.3. [4]Copyright and Trademarks
        1.4. [5]Acknowledgments and Thanks
        1.5. [6]Author Contact Information
                
   2. [7]Background
          
        2.1. [8]Digital Camera Technology--How Things Work
        2.2. [9]Kodak Digital Camera Product Line
        2.3. [10]Communicating With Digital Cameras
                
   3. [11]Communicating With the DC-Series Cameras
          
        3.1. [12]DC265 (Method should work for all DigitaOS enabled Kodak
                Digital Cameras)
                
        3.2. [13]Serial Camera Control
        3.3. [14]2.2.x Kernel USB Support
        3.4. [15]Kernel IrDA Support
        3.5. [16]Compact Flash PC Card Adapter
                
   4. [17]Software Support
          
        4.1. [18]OpenDiS (Open Digita Services)
        4.2. [19]Digita Operating Environment- Command Device Protocol
                Python Script
                
        4.3. [20]gPhoto
                
   5. [21]Additional Online Resources
          
        5.1. [22]Kodak Digital Camera Mailing Lists
        5.2. [23]Other Useful Mailing Lists
        5.3. [24]Useful Web Sites / Other Resources
                
   6. [25]FAQ
   7. [26]TODO
   8. [27]Appendix
          
        8.1. [28]Drivers and other utilities for alternate Operating
                Systems
                
1. Introduction

1.1. History

   This HOWTO was created in an attempt to document installation of a
   Kodak DC-265 Camera.
   
   Revision History:
   
   October 8, 2000--
   
     * IrDA support (This is not for the faint of heart and is only
       tested with a DC-265 but should also work with a DC-290 and maybe
       others with IrDA support)
       
   October 4, 2000--
   
     * Many updates, contacted Kodak for permission to include some
       copywritten information, etc. etc.
       
   August 22, 2000--
   
     * Conversion to DocBook DTD from LinuxDoc DTD as a lot of the HOWTOs
       are already converted
       
   April 23, 2000--
   
     * Updated OpenDIS for IrDA support (CVS Version)
     * Fixed spelling goof s/shudder/shutter/ (Thanks Patrick!)
       
   February 20, 2000--
   
     * Major clean up of general issues
     * Addition and rearrangement of sections
     * Additional mailing list and web resources added
       
   February 17, 2000--
   
     * Major revision with lots of changes...
     * Updated for new backport and devel kernels
     * Rearranged for easier reading and flow
     * Updated for new OpenDiS release and the Python script.
       
   January 18, 2000--
   
     * TODO added
     * Removal of kernel 2.2.13 section due to new USB backport release
       for 2.2.14. Replaced with a section for kernel 2.2.14. Please view
       previous HOWTO versions for information regarding older kernels
     * Removal of kernel 2.3.36 section due to newer developmental
       kernels, replaced with kernel 2.3.39. Please view previous HOWTO
       versions for information regarding older kernels.
     * Added a section detailing use of a Compact Flash PC Card Adapter
       
   January 9, 2000--
   
     * Document modified for release of OpenDiS 0.0.3-pre6
       
   January 4, 2000--
   
     * Support for DC-265 under kernels 2.2.13, 2.2.14, and 2.3.35 via
       USB draft completed.
     * History written
     * FAQ started
     * Background written
     * Lots of other fun stuff
       
   January 3, 2000--
   
     * Initial research and work done to start writing HOWTO and thus it
       was born.
     _________________________________________________________________
   
1.2. New Versions

   New versions of this HOWTO will be available on
   [29]http://www.marblehorse.org/projects/documentation/kodak/. Copies
   of this HOWTO will be provided in a number of formats, including SGML,
   HTML and ASCII text. The authoritative master of this document will be
   the SGML-formatted copy.
   
   October 8, 2000--
   
   v0.0.10 released (public)
   
   February 20, 2000--
   
   v0.0.7 released (public)
   
   v0.0.6 released (non-public)
   
   February 17, 2000--
   
   v0.0.4 released and v0.0.5 released (non-public)
   
   January 18, 2000--
   
   v0.0.3 released (non-public)
   
   January 9, 2000--
   
   v0.0.2 released (non-public)
   
   January 4, 2000--
   
   v0.0.1 released (non-public)
     _________________________________________________________________
   
1.3. Copyright and Trademarks

1.3.1. Copyright

   Copyright (c) 2000 David M. Burley
   
   This manual may be reproduced in whole or in part, without fee,
   subject to the following restrictions:
   
     * The copyright notice above and this permission notice must be
       preserved complete on all complete or partial copies Any
       translation or derived work must be approved by the author in
       writing before distribution.
     * If you distribute this work in part, instructions for obtaining
       the complete version of this manual must be included, and a means
       for obtaining a complete version provided.
     * Small portions may be reproduced as illustrations for reviews or
       quotes in other works without this permission notice if proper
       citation is given.
       
   Exceptions to these rules may be granted for academic purposes: Write
   to the author and ask. These restrictions are here to protect us as
   authors, not to restrict you as learners and educators. All source
   code in this document is placed under the GNU General Public License,
   available via anonymous FTP from the GNU archive site. Please contact
   the author via email before distribution or inclusion of this HOWTO in
   any works. This is to make sure that the most recent and most accurate
   version is used.
     _________________________________________________________________
   
1.3.2. Trademarks

   Linux is a registered trademark of Linus Torvalds.
   
   Kodak is a registered trademark of the Eastman Kodak Company.
   
   Digita is a registered trademark of Flashpoint Technology, Inc.
   
   Dell is a registered trademark of Dell Computer Corporation.
   
   Windows is a registered trademark of Microsoft Corporation.
   
   All other trademarks are the property of their respective owner.
     _________________________________________________________________
   
1.4. Acknowledgments and Thanks

   I would like to thank the Marble Horse Free Software Group for their
   support of my efforts, specifically Jacob Moorman for his direction
   and help with this and many of my other endeavors. I would also like
   to thank the rest of the Linux community, especially those working on
   USB and digital camera support. Know that there are people out there
   who are using your code and would like you to continue.
     _________________________________________________________________
   
1.5. Author Contact Information

   David Burley can be reached via email at the following address:
   khemicals@marblehorse.org
   
   GPG Key ID: 60ACD148
   
   FPR1: 76CE FFCA F637 DFD0 BAA5
   
   FPR2: 1079 BCB1 3CDD 60AC D148
     _________________________________________________________________
   
2. Background

2.1. Digital Camera Technology--How Things Work

   Digital cameras work with the same basic concept as a traditional
   camera. They have a viewfinder or LCD screen to show the image prior
   to taking a photograph, a lens with a shutter behind it to allow the
   light from the subject to hit a light sensitive material. However,
   this is where most of the similarities end.
   
   Digital cameras use a CCD (Charged Coupled Device) to sense the colors
   of the light and their intensity. The CCD can be likened to a very
   find piece of graphing paper, with thousands of little squares
   (transistors) to which sense the differences between the colors. There
   are three types of transistors used in commonplace CCDs, red, green
   and blue. Each transistor then passes the color and intensity it
   sensed to and Analog-to-digital converter (ADC). The ADC then converts
   the information passed to it by the transistors into a digital format,
   or binary 1's and 0's. The digital output of the ADC is then passed to
   a Digital Signal Processor (DSP). The DSP adjusts the contrast and
   other image details to get the perfect look and then compresses the
   data into a file format like JPEG (Joint Photographics Expert Group).
   
   Digital cameras may also have the ability to do an optical or a
   digital zoom on an image. An optical zoom is when a lens is used to
   get a closer look at the subject. A digital zoom is used to enhance
   the optical zoom for a larger image even though the maximum size has
   been attained via optical zoom. Even though an image can be resized
   later, it is suggested to use the built in digital zoom of the camera
   at this point before any compression has been done to the image. File
   formats like JPEG tend to degrade in quality when resized more so then
   when the image is resized by the camera's software. This is due to
   artifacts left behind from the compression.
   
   A good resource for definitions of the terms used above is
   [30]http://photo.askey.net/articles/glossary/ Please refer there for
   more information. Kodak also has a good site with much information on
   how things work, [31]http://www.kodak.com/US/en/digital/dlc/.
     _________________________________________________________________
   
2.2. Kodak Digital Camera Product Line

   Kodak has declined permission for me to include technical
   specifications of their cameras (October 4, 2000). Thus the section
   below will stay empty until they decide to change their minds (or I
   find a legal way to fill it). A big thanks goes out to the Eastman
   Kodak company and specifically their paralegal Nancy Adams for
   declining my request. The world thanks you for your generous help in
   ensuring that the information is not easily accessible in the future
   when you redesign your website and lose the information. If anyone has
   or knows technical specifications for any of the below cameras and
   attained it through experimentation with the camera please e-mail
   [32]khemicals@marblehorse.org with the information.
     _________________________________________________________________
   
2.2.1. DC290
     _________________________________________________________________
   
2.2.2. DC280
     _________________________________________________________________
   
2.2.3. DC265
     _________________________________________________________________
   
2.2.4. DC260 (discontinued)
     _________________________________________________________________
   
2.2.5. DC240 / DC240i
     _________________________________________________________________
   
2.2.6. DC220 (discontinued)
     _________________________________________________________________
   
2.2.7. DC215 / DC215 Metallics
     _________________________________________________________________
   
2.2.8. DC210 (discontinued)
     _________________________________________________________________
   
2.2.9. DC210 Plus
     _________________________________________________________________
   
2.2.10. DC200 (discontinued)
     _________________________________________________________________
   
2.2.11. DC200 Plus
     _________________________________________________________________
   
2.2.12. DC120 (discontinued)
     _________________________________________________________________
   
2.2.13. DC50 (discontinued)
     _________________________________________________________________
   
2.2.14. DC40 (discontinued)
     _________________________________________________________________
   
2.2.15. DC25 (discontinued)
     _________________________________________________________________
   
2.2.16. DC20 (discontinued)
     _________________________________________________________________
   
2.3. Communicating With Digital Cameras

2.3.1. RS232 Communications In a Nutshell
     _________________________________________________________________
   
2.3.2. USB Communications In a Nutshell
     _________________________________________________________________
   
2.3.3. IrDA Communications In a Nutshell
     _________________________________________________________________
   
3. Communicating With the DC-Series Cameras

3.1. DC265 (Method should work for all DigitaOS enabled Kodak Digital
Cameras)

   The DC265 provides mechanisms for data transfer via standard RS232
   serial port, USB (Universal Serial Bus) and IrDA (infrared) interface.
   Additionally, images may be offloaded from the camera through the
   removal of the camera's Compact Flash Card and use of a Compact Flash
   PC Card Adapter in a PC Card reader or notebook PC Card slot.
   Currently this camera is supported by OpenDiS for USB, IrDA and Serial
   data transfer, gPhoto and a python script.
     _________________________________________________________________
   
3.2. Serial Camera Control

   Additional notes regarding transfer of data from the DC265 camera
   using RS232 serial support will be added in a future version of this
   HOWTO. All distributions should be configured in such a way with a
   default install that serial communications with the camera should not
   require any kernel configuration at all. See the OpenDiS subsection of
   the Software section of the HOWTO for information regarding serial
   camera control.
     _________________________________________________________________
   
3.3. 2.2.x Kernel USB Support

   At the moment the USB implementation in the 2.2.x series is
   insufficient and substantially out of date. As such, most USB devices
   are unsupported natively with the included drivers. However there is a
   patch available for the 2.2.15 - 2.2.17 kernels.
   
   What software is needed (if not already present):
   
    1. [33]http://www.suse.cz/development/usb-backport/usb-2.4.0-test2-pr
       e2-for-2.2.16-v3.diff.gz
    2. [34]ftp://ftp.us.kernel.org/pub/linux/kernel/v2.2/linux-2.2.17.tar
       .gz
    3. [35]http://ods.sourceforge.net/dl/opendis-0.0.3.tar.gz
       
   This document assumes a working knowledge of kernel and program
   compiling. If unfamiliar with the process please go and read the
   [36]http://howto.tucows.com/LDP/HOWTO/Kernel-HOWTO.html.
   
   Applying the patch:
cp usb-2.4.0-test2-pre2-for-2.2.16-v3.diff.gz /usr/src
gunzip /usr/src/usb-2.4.0-test2-pre2-for-2.2.16-v3.diff.gz
cd /usr/src/linux
patch -p1 < ../usb-2.4.0-test2-pre2-for-2.2.16-v3.diff

   Select the following to be built as either modules or part of your
   kernel:
   
    1. Support for your USB controller (It is suggested that all of these
       be compiled as modules unless the controller type is known.).
    2. USB Kodak DC-2xx Camera Support.
    3. Preliminary USB Device Filesystem.
       
   Reboot the system and then load the created modules if the support is
   not compiled into the kernel. To load the modules do the following:
/sbin/insmod /lib/modules/$(uname -r)/usb/usbcore.o

   Use the following if the USB controller uses either an Intel or a VIA
   chipset. Some others may also be supported:
/sbin/insmod /lib/modules/$(uname -r)/usb/usb-uhci.o

   Use the following if the above did not work and this is the controller
   type:
/sbin/insmod /lib/modules/$(uname -r)/usb/uhci.o

   Use this if the USB controller uses an SiS chipset, is a Compaq, or
   because the above two didn't seem to work and this is the only option
   left to try.
/sbin/insmod /lib/modules/$(uname -r)/usb/usb-ohci-hcd.o

   Load the module for Kodak Digital Camera support:
/sbin/insmod /lib/modules/$(uname -r)/usb/dc2xx.o

   Mount the USB Device Filesystem:
mount -t usbdevfs ignored /proc/bus/usb
     _________________________________________________________________
   
3.3.1. Kernel Devices

   The following is a bash shell script designed to create all 16 Kodak
   devices for use with both the current 2.3.x kernel series and 2.2.X
   with the current USB backport. Copy the text below into a file named
   MakeKodakDev, then make that file executable by typing 'chmod +x
   MakeKodakDev' and then run the script ./MakeKodakDev as root (or su'd
   to root) it will create the devices so they don't have to be made
   individually by hand.
   
   It creates as per the dc2xx.txt file in the kernel documentation the
   following 16 devices:
   
   /dev/dc2xx0 type=character major=180 minor=80
   
   ...
   
   /dev/dc2xx16 type=character major=180 minor=95
# Filename: MakeKodakDev
# Creates the device files for USB access of Kodak digital cameras.
# Last Modified October 4, 2000
# Please see the Kodak Digital Camera HOWTO for more information
# http://marblehorse.sourceforge.net/
#!/bin/sh

export scrapvar=0

   while [ $scrapvar -lt 17 ];
      do mknod -m 0666 /dev/dc2xx$scrapvar c 180 $(( $scrapvar + 80 ));
      scrapvar=$(( $scrapvar + 1 ));
   done

# EOF
     _________________________________________________________________
   
3.4. Kernel IrDA Support

   Most newer distributions come with IrDA support and the proper
   utilities to handle IrDA. Redhat 7.0 is one of them. However for the
   rest of us some configuration will be necessary. Get a copy of the
   latest kernel (2.2.x series or above) and compile all the IrDA
   features in as modules. IrDA works a lot like PCMCIA support in
   GNU/Linux so it is important to have all the modules for any other
   IrDA devices one may have. There is a good HOWTO on compiling a new
   kernel, the [37]http://howto.tucows.com/LDP/HOWTO/Kernel-HOWTO.html.
   Please refer to it for questions regarding configuring and compiling a
   new Linux kernel.
     _________________________________________________________________
   
3.4.1. IrDA Utils Software

   The next step in configuring IrDA support is installing the irda-utils
   package. Unfortunately, at the time of the current version of this
   HOWTO, the author had problems locating the source archive for the
   utilities so he took the one Redhat uses to build their RPM for Redhat
   7.0. Please note that root permissions will be necesary to run the
   commands needed to install the software but should not be necesary to
   access the camera.
   
   What software is needed (if not present already):
   
    1. [38]irda-utils 0.9.10 and patches
    2. [39]gpg signature for the irda-utils archive
       
   Extracting the archive, patching, compiling and installing it:
cp irda-utils-0.9.10+patches.tar.gz /usr/src
cd /usr/src
tar zxvf irda-utils-0.9.10+patches.tar.gz
tar zxvf irda-utils-0.9.10.tar.gz
cd irda-utils-0.9.10
patch -p1 < ../irda-utils-0.9.4-chkconfig.patch
patch -p1 < ../irda-utils-typo.patch
patch -p1 < ../irda-utils-redhat.patch
make
make install
     _________________________________________________________________
   
3.4.2. Creating the IrDA Device Nodes

   The device nodes are necesary so that the application can talk to the
   driver for the device. Although the irlpt devices are not necesary to
   get the camera working, creating them now will save the time of having
   to look them up how to do it later if you do ever need them.
mknod -m 0666 /dev/ircomm0 c 161 0
mknod -m 0666 /dev/ircomm1 c 161 1
mknod -m 0666 /dev/irlpt0 c 161 16
mknod -m 0666 /dev/irlpt1 c 161 17
     _________________________________________________________________
   
3.4.3. Modifying /etc/conf.modules or /etc/modules.conf

   Use a text editor and open up /etc/conf.modules or /etc/modules.conf
   depending on your distribution. Add the following three lines to the
   file while being careful not to change any others.
#IrDA
alias tty-ldisc-11 irtty
alias char-major-161 ircomm-tty
     _________________________________________________________________
   
3.4.4. Enabling IrDA and Testing for Connectivity

   Irmanager is what starts and stops the proper IrDA modules. The d1
   flag tells irmanager to enter discovery mode.
   
   As user root run the following command:
/usr/sbin/irmanager -d1

   Put the camera into connect mode and turn it on. Make sure that the
   camera is close to and facing the IrDA port on the computer. Run the
   following to see if there are any communications via IrDA:
/usr/bin/irdadump

   After running the command one should see output similar to the
   following:
00:04:10.608823 xid:cmd bedcb551 > ffffffff S=6 s=2 (14)
00:04:10.698818 xid:cmd bedcb551 > ffffffff S=6 s=3 (14)
00:04:10.788815 xid:rsp bedcb551 < 5f36a4a1 S=6 s=3 Kodak DC265 Zoom hint=8404
[ Computer IrCOMM ]
(33) 00:04:10.798819 xid:cmd bedcb551 > ffffffff S=6 s=4 (14)
00:04:10.888815 xid:cmd bedcb551 > ffffffff S=6 s=5 (14)
00:04:10.978818 xid:cmd bedcb551 > ffffffff S=6 s=* armstrong hint=0400 [ Compu
ter ] (25)

6 packets received by filter

   If the previous message was not displayed, try relocating the camera
   closer or further away from the IrDA port and ensure that there is not
   too much external interference in the environment in the form of
   light. Also if the machine is a laptop with a PC-Card (or PCMCIA)
   modem removing it may help resolve the issue.
     _________________________________________________________________
   
3.5. Compact Flash PC Card Adapter

   This section is for those who wish to utilize maximum data transfer
   rate and save the battery power in the camera's batteries. This method
   of picture access only allows for storage, retrieval, and deletion of
   images on a Compact Flash Card. These instructions are tested with a
   Kodak 16 MB Picture Card and a SanDisk CompactFlash PC Card Adapter on
   a Dell Inspiron 7000 notebook computer.
   
   What software is needed (if not already present):
   
    1. [40]http://download.sourceforge.net/pcmcia-cs/pcmcia-cs-3.1.21.tar
       .gz
       
   This document assumes a working knowledge of kernel and program
   compiling. If unfamiliar with the process it is strongly suggested to
   go and read the
   [41]http://howto.tucows.com/LDP/HOWTO/Kernel-HOWTO.html.
   
   Select the following to be built as either modules or part of your
   kernel:
   
    1. DOS FAT fs support
    2. VFAT (Windows-95) fs support
       
   Reboot the system and then load the created modules each time access
   to the compact flash card is desired if the support is not compiled
   into the kernel. To load the modules do the following:
/sbin/insmod /lib/modules/$(uname -r)/fat.o
/sbin/insmod /lib/modules/$(uname -r)/vfat.o

   Compile and configure PCMCIA-CS. This part of the process is beyond
   the scope of this document, however there is a document with such
   information that can be found in the
   [42]http://pcmcia-cs.sourceforge.net/ftp/doc/PCMCIA-HOWTO.html There
   is also most likely a pre-packaged version for the distribution of
   GNU/Linux the computer running. This step can be greatly simplified if
   a pre-packaged version is used.
   
   Using the Compact Flash PC Card Adapter:
   
   Create a directory to mount the Compact Flash Card to.
mkdir /flashcard

   Insert the Compact Flash Card into the Compact Flash PC Card Adapter
   (both should face the same direction).
   
   Insert the Compact Flash PC Card Adapter into the PC-Card slot of the
   notebook computer.
   
   Mount the Compact Flash Card PC Card Adapter to /flashcard (The
   Compact Flash Card PC Card Adapter is assigned its device by figuring
   out how many IDE controllers are on the system, and then assigning it
   the next device. For example, if a system were to have 2 IDE
   controllers, and would thus have /dev/hda /dev/hdb /dev/hdc and
   /dev/hdd assigned to the current controllers, the Compact Flash Card
   PC Card Adapter would be assigned /dev/hde1.).
mount -t vfat /dev/hde1 /flashcard

   From this point the files can be copied, moved, deleted, and renamed
   as done on a normal filesystem. Information regarding file management
   commands may be found in the documentation included with the OS
   distribution used, such as man pages. The manual pages which list the
   commands to use to do the above procedures can be accesses by typing
   the following to get the command's respective manual page entry: 'man
   cp', 'man mv', 'man rm'. Before removing the Compact Flash Card PC
   Card Adapter remember to unmount it with the following command.
umount /flashcard

   The Compact Flash Card PC Card Adapter can be removed from the PC Card
   Reader and the Compact Flash Card and be removed from the Compact
   Flash Card PC Card Adapter.
     _________________________________________________________________
   
4. Software Support

4.1. OpenDiS (Open Digita Services)

   What is needed: [43]http://ods.sourceforge.net/dl/opendis-0.0.3.tar.gz
     _________________________________________________________________
   
4.1.1. Compiling, extracting and installing OpenDiS

   Run the following commands to compile, extract and install OpenDiS
tar -zxvf opendis-0.0.3.tar.gz
cd opendis-0.0.3
./configure
make
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.
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.
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):
cvs -d:pserver:anonymous@cvs.ods.sourceforge.net:/cvsroot/ods login
cvs -d:pserver:anonymous@cvs.ods.sourceforge.net:/cvsroot/ods checkout ods/open
dis-current

   To compile and configure this version do the following:
cd ods
cd opendis-current
./configure
make
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).
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 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
   [44]http://mh.netpedia.net/HOWTO/kodak/v0.0.5/cdp.py can be attained.
   The original [45]http://home.pacbell.net/david-b/digicam/dc290.txt 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:
ln -s /dev/dc2xx0 /dev/kodak

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

   To download a single image from the camera run the following command:
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:
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

   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 needs to be made to see how far
   off it is so that it can be referenced here in the HOWTO.
     _________________________________________________________________
   
5. Additional Online Resources

5.1. Kodak Digital Camera Mailing Lists

5.1.1. Kodak Digita Camera

   [46]http://www.egroups.com/group/kodak-digita-camera/
   
   This list contains information about DigitaOS enabled Kodak Digital
   Cameras. This includes the Kodak DC220, DC260, DC265 and DC290. This
   is the place to go for all of your questions regarding how to use your
   camera, Digita scripting questions and anything else that pertains to
   the DigitaOS enabled cameras. To subscribe to the mailing list send a
   blank email to [47]kodak-digita-camera-subscribe@egroups.com. To
   unsubscribe from the list send a blank email to
   [48]kodak-digita-camera-unsubscribe@egroups.com. Alternately, go to
   [49]the registration form and sign up for an account there. Once the
   account is created one will have the ability to search through the
   archive and post messages.
     _________________________________________________________________
   
5.1.2. Kodak DC240/DC280

   [50]http://www.egroups.com/group/kodak240-280
   
   Owners of the Kodak DC240 and DC280 camera models can use this as
   their forum to discuss issues with other users of the same cameras.
   This is an open list and its contents can be searched through and
   viewed at the above URL. To join the list send a blank email to
   [51]kodak240-280-subscribe@egroups.com. To unsubscribe send a blank
   email to [52]kodak240-280-unsubscribe@egroups.com.
     _________________________________________________________________
   
5.1.3. Kodak DC215

   [53]http://www.egroups.com/group/kodakdc215/
   
   Owners and people interesting in contacting other users of the Kodak
   DC215 digital camera can use this forum to ask and answer questions.
   This list is specifically oriented towards the Kodak DC215 camera.
     _________________________________________________________________
   
5.2. Other Useful Mailing Lists

5.2.1. Linux-USB

   [54]http://lists.suse.com/archives/linux-usb/
   
   The Linux-USB mailing list is a very active mailing list pertaining to
   all aspects of USB and Linux. Here one will find the most recent
   patches for the USB code in the Linux kernel. There is also good
   discussion on support of digital cameras from time to time. Overall a
   great list to peek at every week or so.
   
   To subscribe to this list send a blank email to
   [55]linux-usb-subscribe@suse.com. A confirmation email that must be
   replied to will then be sent back. Either send a reply to the email
   address in the reply-to: section of the email, or the address listed
   in the confirmation message itself. To unsubscribe from the list send
   a blank email to [56]linux-usb-unsubscribe@suse.com. This action will
   then have to be confirmed with the same method used for confirming
   subscription to the mailing list. For a list of other useful commands
   send an email to [57]linux-usb-info@suse.com.
     _________________________________________________________________
   
5.2.2. Linux-kernel

   [58]http://www.mail-archive.com/linux-kernel%40vger.rutgers.edu/
   
   The linux-kernel mailing list is a very high traffic mailing list
   detailing all aspects of the Linux kernel. This list is only for those
   who wish to have more information than the Linux-USB list and the
   gPhoto-Kodak lists contain. However, it covers much more of a broad
   spectrum of topics than Kodak digital camera support under Linux.
   
   Before posting or subscribing to the Linux-kernel mailing list is is
   highly suggested reading the [59]http://www.tux.org/lkml/. It could
   save much time and embarrassment. It also contains useful information
   on who certain individuals are in the Linux community in relation to
   their standing on the list.
   
   To subscribe to the list (remember, it is about 200 emails a day) send
   an email to [60]majordomo@vger.rutgers.edu with "subscribe
   linux-kernel username@mailserver" in the body of the message where
   username is the email account to be used and mailserver is the name of
   the mail server. Remember to omit the quotation marks.
   
   An alternative to joining the list would be to get the list in digest
   format. This is a better format to many as it is a few emails a day
   rather than several hundred. One drawback of this is that it is not as
   easy to discuss the issues with the mailing list as most mail clients
   don't know how to deal with the digest in its format besides dealing
   with it like plain text. To subscribe to the digest send an email to
   [61]majordomo@vger.rutgers.edu with the line "subscribe
   linux-kernel-digest username@mailserver" in the body of the message.
   Where username is the email account username to be used and mailserver
   is the name of the mail server. Remember to omit the quotation marks.
   
   Unsubscribing from the mail list is as easy as subscribing. Just send
   an email to [62]majordomo@vger.rutgers.edu with the line "unsubscribe
   linux-kernel" in the body of the message, or alternately "unsubscribe
   linux-kernel-digest" if subscribed to the digest. And again, remember
   to omit the quotation marks.
   
   Rather than subscribing to this list it would be highly suggested to
   search through the archive which is accessible via the URL listed
   above. Another alternative is the [63]http://kt.linuxcare.com/site. It
   contains a good overview of the weeks kernel developmental works and
   discussions in a summary format.
     _________________________________________________________________
   
5.2.3. gPhoto-Kodak

   [64]http://lists.styx.net/archives/public/gphoto-kodak/
   
   This list contains much information regarding gPhoto and Kodak
   cameras. It also contains much discussion on the
   [65]http://ods.sourceforge.net project and their releases. The latest
   version of OpenDiS is usually announced on this mailing list and
   allows one to try out the new functions. Instructions and the form to
   join the mailing list are at the following URL:
   [66]http://lists.styx.net/mailman/listinfo/gphoto-kodak
     _________________________________________________________________
   
5.3. Useful Web Sites / Other Resources

5.3.1. Linux-USB Project

   [67]http://www.linux-usb.org/
   
   The Linux-USB Project's web page contains much information pertaining
   to Linux and USB in general. Although not all information is pertinent
   to this HOWTO, a large portion of it is. It contains links to the
   latest USB support, driver maintainers and device working status. Take
   a look here and in the Linux-USB mail archive if having a problem
   getting USB working. Chances are one of the later developmental
   kernels or the source on the CVS will solve the issue.
     _________________________________________________________________
   
5.3.2. Linux USB for DC-2xx Cameras

   [68]http://home.pacbell.net/david-b/digicam/
   
   This website is maintained by David Brownell, author of the Kodak
   DC-2xx kernel support. It contains some information not included in
   this HOWTO as of yet and holds the latest information regarding
   configuring USB support. Look here for new developments in supporting
   the Kodak DC-2xx camera series.
     _________________________________________________________________
   
5.3.3. OpenDiS (Open Digita Services)

   [69]http://ods.sourceforge.net
   
   The Open Digita Services web site is the main source of information on
   the support of cameras running Digita which include the Kodak DC-220,
   DC-260, DC-265, DC-290, the Minolta EX-1500 and the HP PhotoSmart
   C500.
     _________________________________________________________________
   
5.3.4. gPhoto

   [70]http://www.gphoto.org/
   
   gPhoto is free software for digital cameras licensed under the GNU
   GPL. It currently supports more than 90 camera models from various
   vendors. gPhoto has a command line and a GTK+ graphical interface.
   Many people swear by this program. Installation, configuration and
   usage information will be added.
     _________________________________________________________________
   
5.3.5. Digital Photography Review

   [71]http://photo.askey.net/
   
   Trying to decide which digital camera is best? Digital Photography
   Review is the most comprehensive website available for all anyone
   wants to know about digital cameras. This site is not limited to just
   the Kodak product line and offers great reviews of the newest and
   older digital cameras. Take a look through the online photo gallery
   with detailed information pertaining to the camera used and its
   setting for each and every photograph.
     _________________________________________________________________
   
6. FAQ

   Q: Why aren't there any entries but this one in the FAQ?
   
   A: Because the HOWTO is currently is a non-public release state and
   thus there was no time for anyone to ask any questions! So email your
   questions off to David Burley [72]marblehorse.org> and lets add to it.
     _________________________________________________________________
   
7. TODO

   The following TODO list is nowhere near complete. It is simply a list
   of things meant to added in the future that others have suggested. If
   anyone has any suggestions for new entries into the HOWTO please email
   them to [73]mailto:khemicals@marblehorse.org.
   
    1. Differences between different camera models.
    2. Interesting digital camera uses (aerial/under water photography
       among others).
    3. Additional support of more Kodak digital cameras (gPhoto support
       with those).
    4. Support for non-Kodak digital cameras (most likely not anytime in
       the near future. this is out of the scope of the current
       document.).
    5. Additional camera interfacing methods.
    6. Updating Firmware (current format for firmware is an Install
       Shield file.... useless under GNU/Linux).
     _________________________________________________________________
   
8. Appendix

   This section is to provide valuable information which may not directly
   apply to the use of Kodak digital cameras under the GNU/Linux
   operating system. It is meant to help those who need information in a
   binge on their digital camera and find this document. The scope of
   this section may change as the HOWTO matures.
     _________________________________________________________________
   
8.1. Drivers and other utilities for alternate Operating Systems

8.1.1. DC265

   Drivers: Currently Kodak has not released any drivers online for the
   camera. To support the camera under Windows 95/98/NT use either the
   included CD-ROM that came with the camera, or call Kodak to order a
   new CD-ROM.

References

   1. Kodak-Digitalcam-HOWTO.html#AEN13
   2. Kodak-Digitalcam-HOWTO.html#AEN15
   3. Kodak-Digitalcam-HOWTO.html#AEN85
   4. Kodak-Digitalcam-HOWTO.html#AEN102
   5. Kodak-Digitalcam-HOWTO.html#AEN124
   6. Kodak-Digitalcam-HOWTO.html#AEN127
   7. Kodak-Digitalcam-HOWTO.html#AEN133
   8. Kodak-Digitalcam-HOWTO.html#AEN135
   9. Kodak-Digitalcam-HOWTO.html#AEN143
  10. Kodak-Digitalcam-HOWTO.html#AEN179
  11. Kodak-Digitalcam-HOWTO.html#AEN187
  12. Kodak-Digitalcam-HOWTO.html#AEN189
  13. Kodak-Digitalcam-HOWTO.html#AEN192
  14. Kodak-Digitalcam-HOWTO.html#AEN195
  15. Kodak-Digitalcam-HOWTO.html#AEN241
  16. Kodak-Digitalcam-HOWTO.html#AEN276
  17. Kodak-Digitalcam-HOWTO.html#AEN306
  18. Kodak-Digitalcam-HOWTO.html#AEN308
  19. Kodak-Digitalcam-HOWTO.html#AEN336
  20. Kodak-Digitalcam-HOWTO.html#AEN352
  21. Kodak-Digitalcam-HOWTO.html#AEN355
  22. Kodak-Digitalcam-HOWTO.html#AEN357
  23. Kodak-Digitalcam-HOWTO.html#AEN379
  24. Kodak-Digitalcam-HOWTO.html#AEN412
  25. Kodak-Digitalcam-HOWTO.html#AEN439
  26. Kodak-Digitalcam-HOWTO.html#AEN445
  27. Kodak-Digitalcam-HOWTO.html#AEN462
  28. Kodak-Digitalcam-HOWTO.html#AEN465
  29. http://www.marblehorse.org/projects/documentation/kodak/
  30. DigitalPhotographyReview.
  31. KodakDigitalLearningCenter
  32. mailto:khemicals@marblehorse.org
  33. usb-2.4.0-test2-pre2-for-2.2.16-v3.diff.gz
  34. LinuxKernel2.2.17
  35. OpenDiS0.0.3
  36. Kernel-HOWTO
  37. Kernel-HOWTO
  38. http://www.marblehorse.org/projects/documentation/kodak/irda-utils-0.9.10+patches.tar.gz
  39. http://www.marblehorse.org/projects/documentation/kodak/irda-utils-0.9.10+patches.tar.gz.asc
  40. PCMCIA-CS-3.1.21
  41. Kernel-HOWTO
  42. PCMCIA-HOWTO.
  43. OpenDiS0.0.3
  44. CommandDeviceProtocolPythonScript
  45. CommandDeviceProtocolPythonScript
  46. KodakDigitaCameraMailingList
  47. mailto:kodak-digita-camera-subscribe@egroups.com
  48. mailto:kodak-digita-camera-unsubscribe@egroups.com
  49. http://www.egroups.com/register?method=displayregistrationform=/www
  50. KodakDC240/DC280Mailinglist
  51. mailto:kodak240-280-subscribe@egroups.com
  52. mailto:kodak240-280-unsubscribe@egroups.com
  53. KodakDC215MailingList
  54. Linux-USB
  55. mailto:linux-usb-subscribe@suse.com
  56. mailto:linux-usb-unsubscribe@suse.com
  57. mailto:linux-usb-info@suse.com
  58. Linux-kernel
  59. Linux-kernelmailinglistFAQ
  60. mailto:majordomo@vger.rutgers.edu
  61. mailto:majordomo@vger.rutgers.edu
  62. mailto:majordomo@vger.rutgers.edu
  63. KernelTraffic
  64. gPhoto-Kodak
  65. OpenDiS
  66. http://lists.styx.net/mailman/listinfo/gphoto-kodak.
  67. LinuxUSBProject
  68. LinuxUSBforDC-2xxCameras
  69. OpenDiS(OpenDigitaServices)
  70. gPhoto
  71. DigitalPhotographyReview
  72. mailto:khemicals@marblehorse.org
  73. DavidBurley
