Digital camera

From Linuxintro

Tutorial Factbox

Time to replay 20 min
Example Distro SUSE Linux 11.1
Type Howto

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.

Choosing a digital camera

  • does it have a menu structure that you understand?
  • what resolution has it (MegaPixel)?
  • can you use SD cards (many computers have slots for them)?
  • is it capable to use SDHC cards?
  • can you charge it using a standard adapter (micro USB)?
  • do you want it to be watertight?

Thanks for the a new challenge you have unorevced in your blog post. One thing I would really like to discuss is that FSBO associations are built after a while. By introducing yourself to the owners the first saturday their FSBO can be announced, prior to the masses begin calling on Wednesday, you create a good interconnection. By sending them tools, educational components, free accounts, and forms, you become a great ally. By using a personal interest in them in addition to their scenario, you develop a solid connection that, many times, pays off in the event the owners decide to go with an adviser they know along with trust preferably you.

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

dmesg

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
disk:
  /dev/sda             SAMSUNG HD103UJ
  /dev/sdb             WDC WD3200AAKS-7
  /dev/sdc             Sony DSC
partition:
  /dev/sda1            Partition
  /dev/sdb1            Partition
  /dev/sdb2            Partition
  /dev/sdc1            Partition
cdrom:
  /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. So build and install gphoto2, then open a console and type

mkdir photos
cd photos
gphoto2 --get-all-files

TroubleShooting

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
        vfat
# lsmod | grep vfat
vfat                   11752  1
fat                    53592  1 vfat
# zcat /proc/config.gz | grep -i fat
# DOS/FAT/NT Filesystems
CONFIG_FAT_FS=m
CONFIG_VFAT_FS=m
CONFIG_FAT_DEFAULT_CODEPAGE=437
CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"

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

rescue pics from SD card

photorec is contained in the package "testdisk"