This page has moved...

You will be redirected automatically there in 5 seconds.

If not, then please click on the following link: http://users.bigpond.net.au/blmiller/linux/rdc2e/index.html

Please update any links to this page you may have had.


Linux Ricoh RDC-2E Home Page

Introduction

I went out and bought myself a Ricoh RDC-2E digital camera a little while ago. Naturally it came with software only for Windoze to download the pictures with.

I tried asking Ricoh for the serial line protocol, but basically ended up with a polite NO. The closest I could get to was the Ricoh Software Development Kit (Windows only) which I would have to sign non-disclosure type agreements for.

NOTE: This camera I have seen with slightly different model names like

Cracking the Serial Line Protocol

As Ricoh were not coming to the party and divulging their protocol I decided that I would have to break it down my self. Fortunately at work I have access to an old HP serial line analizer. This was placed between my PC (tunning Windows NT) and the camera.

Take a look at the protocol to see what I have done so far. There is enough to do the basic down loads documented here. Some time in the future I may look at the upload-to-camera protocol, but only if someone really feels that they want this.

The only real problem was working out what CRC was being used. I tried the one that us used in TCP headers, and also the one used in PPP. Eventually I downloaded gPhoto and looked at the then alpha code for the Ricoh RDC-300. This camera uses a very similar protocol (but not the same) and found it used the same CRC as does zmodem.

HOW TO USE

rdc2e is a command line tool that is pretty basic in its use.

The easiest way to use it would be to use no options, and ALL images in the cameras memory (not the PCMCIA card) will be downloaded to the local directory using the internal names for each image. These are r0100001.j6i, r0100002.j6i, etc.

Look at the man page, man rdc2e, for an explanation of the command line arguements.

Then use the j6iextract command to convert them to GIF, JPEG or TIFF files. Again, read the man page, man j6iextract, for full details on its use. It's most basic use is j6iextract *.j6i which will create a JPEG (.jpg) file for each J6I file in the current directory.

CRC Errors

If you are using a version of rdc2e prior to 0.7, and it fails with the following error:
bash$ rdc2e -p hike
Total of 10 pictures in camera.
            0%                             50%                           100%
Num Size    |-------------------------------|-------------------------------|
  1 Fine    #################################################################
  2 Fine    ######CRC error on frame!
bash$                                                                                              
or you have a version 0.7 or greater and get the following output that contains the c's:
bash$ rdc2e -p hike
Total of 10 pictures in camera.
            0%                             50%                           100%
Num Size    |-------------------------------|-------------------------------|
  1 Fine    #############################################################c###
  2 Fine    ##c########c#######c#########c########c########c#######c#########
  3 Fine    ########c############################c########c#######c########c#
  4 Fine    ####c########c#################c########c#######c################
  5 Fine    #############################c########c########c#################
  6 Fine    #################c#################c##################c#####c####
  7 Fine    #########################################c########c#######c######
  8 Fine    ##########c#################c####################################
  9 Fine    ##################c########c#######c########c#######c############
 10 Fine    ###c########c#############c##########c###########################
bash$
then you are getting CRC errors on frames received from the camera. What is happening to you is you are losing some characters as they are being read from the serial port. This will happen more so if there is any disk activity. To fix this problem download irqtune and install it. For those using Red Hat, there is a rpm available.

Download

This is the bit you're probably after...

Source tar ball rdc2e-0.8.tar.gz

History

0.1_alpha
30 Mar 1999
Initial alpha release

There are no command line arguements; it just downloads what ever pictures are in the camera, giving them the names that the camera assigns.

0.2
12 May 1999
Fixed a bug that sometimes caused a download to hang at the start of a new picture

Added in my own (short/crude) J6I to JPEG conversion utility.

0.2a
13 May 1999
Added in -q & -s options to the j6i2jpg script.

Reduced the retry timeout in rdc2e from 1 sec. to 1/2 sec.

Stopped printing the Invalid ACK message when an ACK other than 0x05 is received; unless running in debug mode.

0.3
14 July 1999
Replaced j6i2jpg with the j6iextract script. This extracts to GIF, JPEG and TIFF.

Added command line arguments [-d] [-i interface] [-p prefix] [-s speed] to rdc2e.

0.4
17 July 1999
Added in the ability to download individual images from the camera.
0.5
12 August 1999
Added in a -f option that allows a command to be run when the downloads have been finished.
0.6
20 August 1999
Added in a -t option that allows the date and time an picture was take to be extracted from a J6I image file.
0.7
23 December 1999
Added in code to NAK invalid frames. This should stop a lot of downloads from failing with CRC errors.

Started adding in support for calling rdc2e from inetd so images can be downloaded with a web browser. (This is code in development, and undocumented, read the README file for a few hints as to how it is used.)

0.8
9 March 2002
Added in code to be more efficient in reading characters from the serial port, and writing each file to disk. This should reduce the number of CRC errors and frame retries that were happening if you are not running irqtune

Useful Links

Here is a selection of (maybe) some useful links to RDC-2E camera users:
Return to my Home page or sign my Guest Book if you found this helpfull.


free hit counter