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.
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.
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):
http://www.suse.cz/development/usb-backport/usb-2.4.0-test2-pre2-for-2.2.16-v3.diff.gz
ftp://ftp.us.kernel.org/pub/linux/kernel/v2.2/linux-2.2.17.tar.gz
This document assumes a working knowledge of kernel and program compiling. If unfamiliar with the process please go and read the 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:
Support for your USB controller (It is suggested that all of these be compiled as modules unless the controller type is known.).
USB Kodak DC-2xx Camera Support.
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 |
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
|
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 http://howto.tucows.com/LDP/HOWTO/Kernel-HOWTO.html. Please refer to it for questions regarding configuring and compiling a new Linux kernel.
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):
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 |
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 |
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 |
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 [ Computer ] (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.
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):
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 http://howto.tucows.com/LDP/HOWTO/Kernel-HOWTO.html.
Select the following to be built as either modules or part of your kernel:
DOS FAT fs support
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 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.