Difference between revisions of "Digital camera"

From Linuxintro
Line 1: Line 1:
{|align="right" border=1;border-width: 1px
{|align="right" border=1 style="border-width: 1px"

Revision as of 18:59, 16 September 2010

Tutorial factbox
Time to accomplish 1 hour
example distribution SUSE Linux 11.1

This article is about how you can use digital cameras that have a USB connection with Linux. There are two types of digital cameras: mass storage cameras and PTP cameras. With mass storage devices you connect the camera via USB and can read the photographs as if the camera was a USB hard disk. With PTP cameras, you need software to read the pictures. On most cameras, you can switch if you want to use them as PTP or mass storage cameras. In both cases, you can pull out the storage chip and use it in e.g. and SD-card-reader which will behave like a USB disk. This article uses SUSE Linux 11.1 as example, but it should work same or similar on every Linux distribution.

Find out what you have

In your digital camera's menu, try to find the menu item that makes the distinction between your camera acting as mass storage USB device and PTP device. Set it to the mass storage option. If you do not find the item and are still unsure which type of camera you have, you will have to try both options, PTP and mass storage.

Mass storage cameras

Make sure your system log is empty. open a console and type

dmesg -c

Now switch on and connect your camera to a USB port. Then type


At the end of dmesg you should see something like

usb 8-3: new high speed USB device using ehci_hcd and address 3
usb 8-3: configuration #1 chosen from 1 choice
scsi5 : SCSI emulation for USB Mass Storage devices
usb-storage: device found at 3
usb-storage: waiting for device to settle before scanning
usb 8-3: New USB device found, idVendor=054c, idProduct=0010
usb 8-3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
usb 8-3: Product: Sony DSC
usb 8-3: Manufacturer: Sony
scsi 5:0:0:0: Direct-Access     Sony     Sony DSC         6.00 PQ: 0 ANSI: 0 CCS
sd 5:0:0:0: [sdc] 1953792 512-byte hardware sectors: (1000MB/954MiB)
sd 5:0:0:0: [sdc] Write Protect is off
sd 5:0:0:0: [sdc] Mode Sense: 00 00 00 00
sd 5:0:0:0: [sdc] Assuming drive cache: write through
sd 5:0:0:0: [sdc] 1953792 512-byte hardware sectors: (1000MB/954MiB)
sd 5:0:0:0: [sdc] Write Protect is off
sd 5:0:0:0: [sdc] Mode Sense: 00 00 00 00
sd 5:0:0:0: [sdc] Assuming drive cache: write through
 sdc: sdc1
sd 5:0:0:0: [sdc] Attached SCSI removable disk
sd 5:0:0:0: Attached scsi generic sg4 type 0
usb-storage: device scan complete

That means your camera's pictures are available on device /dev/sdc1. If you are flooded by dmesg's messages, you can also look at it using

# hwinfo --block --short
  /dev/sda             SAMSUNG HD103UJ
  /dev/sdb             WDC WD3200AAKS-7
  /dev/sdc             Sony DSC
  /dev/sda1            Partition
  /dev/sdb1            Partition
  /dev/sdb2            Partition
  /dev/sdc1            Partition
  /dev/sr0             HL-DT-ST DVD-ROM GDRH20N
  /dev/sr1             TSSTcorp DVD+-RW TS-H653B

You can now mount /dev/sdc1 to /mnt/camera:

sudo mkdir -p /mnt/camera
sudo mount /dev/sdc1 /mnt/camera

Now you can find your pictures and movies on /mnt/camera.

PTP cameras

If you have a PTP USB digital camera, you can get all its pictures transferred with gphoto2. To install and run it, open a console and type

mkdir photos
cd photos
sudo yast -i gphoto2
gphoto2 --get-all-files


Symptom: When trying to mount your camera, you get

mount: unknown filesystem type 'vfat'

Reason: Your kernel does not have vfat support compiled in nor does it have vfat compiled as a module. The following shows how it should look like:

# cat /proc/filesystems | grep vfat
# lsmod | grep vfat
vfat                   11752  1
fat                    53592  1 vfat
# zcat /proc/config.gz | grep -i fat
# DOS/FAT/NT Filesystems

Solution: Install a kernel with vfat support, best use the one from your distribution. SUSE Linux 11.1 is known to work.