The Hewlett Packard Photosmart 618 digital camera under Linux

This page in french (Translation by Jean-Marc Frigerio.)

The same procedure seems to also work with USB "keychain" storage devices and probably for other USB mass storage devices. Note: The USB interface implementation of the camera might be unclean. At home it crashed part of the filesystem frequently until I added an USB hub between camera and computer. This might also be due to problems with my mainboard (Epox 8KTA).

Setup:

Tested with vanilla Kernel 2.4.19.
  1. Get USB running. Include "Preliminary USB device filesystem" and "USB Mass Storage support" under "USB support" and "SCSI disk support" under "SCSI support" into the kernel configuration. (The camera shows up as SCSI-disk attached via USB.)
  2. Put your compact flash card into the camera, boot Linux, plug USB cable into computer and camera, switch on the camera, turn the selector wheel on top to "PC" and as root do
        lsusb
    on the computer. The output should list the camera somewhere like this (of course you need the Linux USB-tools for "lsusb" to work):
    Bus 001 Device 005: ID 03f0:4002 Hewlett-Packard 
    Device Descriptor:
      bLength                18
      bDescriptorType         1
      bcdUSB               1.10
      bDeviceClass            0 Interface
      bDeviceSubClass         0 
      bDeviceProtocol         0 
      bMaxPacketSize0        64
      idVendor           0x03f0 Hewlett-Packard
      idProduct          0x4002 
      bcdDevice            0.02
      iManufacturer           1 Hewlett-Packard
      iProduct                2 HP PhotoSmart 618 (MSDC)
      iSerial                 3 00030A57306A
    ...
    
    If the camera is not listed, something is wrong. The camera internal setting under " Preferences->PC Connect mode" should be "USB Disk Drive". It may also take a minute for the camera to connect to the USB bus.
  3. Check whether the SCSI subsystem found the camera: As root do a
        cat /proc/scsi/scsi
    The HP camera should be listed. With my VAIO it looks like this:
    vaio_arno:~ #cat /proc/scsi/scsi 
    Attached devices: 
    Host: scsi1 Channel: 00 Id: 00 Lun: 00
      Vendor: Sony     Model: MSC-U01N         Rev: 1.00
      Type:   Direct-Access                    ANSI SCSI revision: 02
    Host: scsi2 Channel: 00 Id: 00 Lun: 00
      Vendor: HP       Model: CAMERA           Rev: A002
      Type:   Direct-Access                    ANSI SCSI revision: 02
    vaio_arno:~ #
    
    The first entry is the Memory-Stick reader in the VAIO. The second one is the camera. If the camera does not show up, something is wrong with the USB-SCSI layer. Check step 1 above.
  4. Mount the camera. As root do something like
        mount -t auto /dev/sdb1 /mnt
        
    The camera might be some other device than /dev/sdb1 on your system. A good way to find which device it is, is to do a
        fdisk -l
    It will list the camera as device with one partition and the size of your compact-flash card.
  5. That is is. You can now access the compact-flash card under /mnt. Picture format is standard jpg.
    Note: If you take pictures while the camera is on the USB bus, you likely have to unmount and mount the camera for these pictures to show up on the Linux box. You can also delete pictures on the camera from Linux by using "rm", but the camera froze on me when I tried this, so it is not recommended.

Arno Wagner - Email