Penguin
Note: You are viewing an old revision of this page. View the current version.

I found some good info about digital cameras at http://www.teaser.fr/hfiguiere/linux/digicam.html - zcat(1)


Here is how I got my brand new Samsung Digimax V4 digital camera working in Linux.

By 'working' I mean, the files on the Secure Digital card are readable while the camera is connected to my PC via USB.

First of all, I am using Linux 2.4.21 on Gentoo (2003-07-18), with an Asus A7V8X motherboard (hence KT400 chipset).

I have a CD burner so I already have the SCSI emulation compiled into my kernel (or as modules). The only extra SCSI module I needed is the SCSI Disk driver (sd_mod.o). I also had Mass Storage support (usb-storage.o) and the USB virtual filesystem support.

After connecting my camera to the USBus, a quick 'dmesg' showed that the camera had been detected. I loaded the usb-storage driver and the SCSI disk driver. I confirmed that it had been picked up as an emulated SCSI device by

$ cat /proc/scsi/usb-storage-0/1

Host scsi1: usb-storage

Vendor: SAMSUNG

Product: DIGIMAX V4

Serial Number: None

Protocol: 8070i

Transport: Bulk

GUID: 083910090000000000000000

Attached: Yes

Also, /dev/sda1 appeared.

To mount the filesystem on the camera's SD card, I simply
$ mount -t msdos /dev/sda1 /mnt/usbfs

And voila!

I think that was all. The hardest part was working out what drivers I needed.

And heres some very rough guidelines for extracting your pictures from a Kodak CX4230 under Linux.

You need to load the USB modules (not sure which ones, I have them built in).

Under Debian the best way is to use gphoto2 - apt-get install gphoto2.

You then want to run: gphoto2 --port "usb:" --camera "Kodak CX4230" -P

This will detect the camera plugged into the USB port.

And with any luck you will have you photos downloaded to $PWD.

After you're done, you can erase the pictures from the camera with gphoto2 --port "usb:" --camera "Kodak CX4230" -D


If you have a camera not supported by gphoto, you can probably still mount it as a USB drive. Under a stock RedHat just plug it in check what it got detected as;

  1. dmesg

~ USB Mass Storage device found at 4 SCSI device sda: 14528 512-byte hdwr sectors (7 MB) sda: Write Protect is off

sda: sda1

  1. cdrecord --scanbus ~~

    0,0,0 0) 'CONCORD ' 'DIGITAL CAMERA ' '1.00' Removable Disk

    ~~

then mount it;

  1. mount /dev/sda1 /mnt/usbfs

Your piccies will appear somewhere under this directory and you can copy, move, delete them like any other filesystem.

/mnt/usbfs/dcim/100duopl:

  • rwxr-xr-x 1 root root 189064 Jan 2 2000 img00001.jpg

The same steps should work for any other Linux distro, although you might need to manually load modules for USB and USB filesystem support.

The procedure was almost identical under FreeBSD, but I've forgotten exactly what I did. I'll wiki that up some other time.

lib/BlockParser.php:505: Notice: Undefined property: _tight_top (...repeated 3 times)