#!/bin/sh # Manipulate a camera # Google for # # Linux "no modules for USB product" "4a9/3075/1" # # "Using a Canon Digital IXUS 400 (PowerShot S400) digital camera under Linux": # http://wintersun.org/linux/ixus.html # # "USB and Digital Still Cameras": # http://www.linux-usb.org/USB-guide/x405.html # # Recognizing a USB device: # http://lists.ethernal.org/cantlug-0305/msg00458.html if [ ${UID} != 0 ]; then echo "You must be root to access the camera." exit 1 fi CMD=${1} QUALIFIER=${2} USB_ID="0x4a9:0x3075=0x4a9:0x3055" function usage { echo "Usage: ${0} [list|get [N-M]|delete]" exit 1 } if [ "${CMD-X}" = "X" ]; then usage fi case ${CMD} in list) echo "Listing files in camera:" gphoto2 --usbid ${USB_ID} --list-files ;; get) echo "Fetching all files from camera:" if [ "${2-X}" = "X" ]; then gphoto2 --usbid ${USB_ID} --get-all-files else RANGE=${2} gphoto2 --usbid ${USB_ID} --get-file ${RANGE} fi ;; delete) if [ "${2-X}" = "X" ]; then echo "gphoto2 --usbid ${USB_ID} --delete-all-files" else RANGE=${2} echo "gphoto2 --usbid ${USB_ID} --delete-file ${RANGE}" fi ;; *) if [ "${CMD-X}" != "X" ]; then echo "Unknown command: '${CMD}'" fi usage ;; esac chown -R kfogel.kfogel .