Using a Sony DSC-P92 Cybershot Digital Camera with Linux

[Linux]

25th December 2003

[Sony DSC P92 digital camera]

I've had a Sony P50 digital camera for a while. I've written notes about it as well. In the middle of 2003, I bought another Sony camera, the Sony P92 Cybershot. This has some major advantages to the P50.

  • it came with two nickel-metal hydride batteries, 2100 mAh
  • battery usage is much lighter so the batteries last longer
  • 5 megapixels. At maximum resolution I get images that are 2592 x 1944 pixels.
  • no lens cap to be manually put on and taken off, it has an iris that automatically opens and shuts. I really like this feature.
  • it's physically smaller
  • when you record movies, it records audio now. The P50 didn't do audio. And it's got audio playback.
  • a few minor menu settings have been added, but essentially the operation is the same.

As always, there are some drawbacks.

  • comes with an inadequate 16 meg memory stick. At least that's better than the P50 which came with a 4 meg memory stick.
  • no TIFF format images, only jpeg. No compression choices. This irritated me, even through I didn't use it much with the other camera. At 5 megapixels, each photos stores at just over 2 meg, so it's not doing a huge amount of compression which is good.
  • Harder to get photos in dim light. The P50 was slightly better.
  • Straight lines that aren't horizontal or vertical get the jaggies.

I've been using the camera with the date/time stamp on. This is good for easily determining when you took the photo, but when you finally come to print a photo, that date stamp looks mighty ugly. I turned it off when I discovered that I can determine a lot of information about the photo from meta data stored inside the JPG image by the camera.

I used ImageMagick's "identify -verbose" command and this is the sort of information stored in each photo and easily accessible. Now I can see what settings I used and try and improve my photography.

Image: dsc01842.jpg
  Format: JPEG (Joint Photographic Experts Group JFIF format)
  Geometry: 2592x1944
  Class: DirectClass
  Type: true color
  Depth: 8 bits-per-pixel component
  Colors: 211471
  Profile-APP1: 5339 bytes
    Byte order: Intel
    Image Description:
    Manufacturer: SONY
    Model: DSC-P92
    Orientation: top - left
    x-Resolution: 72/1
    y-Resolution: 72/1
    Resolution Unit: Inch
    Date and Time: 2004:01:11 23:17:57
    YCbCr Positioning: co-sited
    (null): 
    Compression: JPEG compression
    Manufacturer: SONY
    Model: DSC-P92
    Orientation: top - left
    x-Resolution: 72/1
    y-Resolution: 72/1
    Resolution Unit: Inch
    Date and Time: 2004:01:11 23:17:57
    Exposure Time: 1/8 sec.
    FNumber: f/2.8
    ExposureProgram: Normal program
    ISO Speed Ratings: 320
    Exif Version: Exif Version 2.2
    Date and Time (original): 2004:01:11 23:17:57
    Date and Time (digitized): 2004:01:11 23:17:57
    ComponentsConfiguration: Y Cb Cr -
    Compressed Bits per Pixel: 4/1
    Exposure Bias: 0.0
    MaxApertureValue: 48/16
    Metering Mode: Pattern
    Light Source: Unknown
    Flash: Flash did not fire.
    Focal Length: 8.0 mm
    Maker Note: 1504 bytes unknown data
    FlashPixVersion: FlashPix Version 1.0
    Color Space: sRGB
    PixelXDimension: 2592
    PixelYDimension: 1944
    File Source: DSC
    Scene Type: 
    Custom Rendered: Normal process
    Exposure Mode: Auto exposure
    White Balance: Auto white balance
    Scene Capture Type: Standard
    InteroperabilityIndex: R98
    InteroperabilityVersion: 
    Thumbnail: 2947 bytes
  Resolution: 72x72 pixels
  Filesize: 2.2mb
  Interlace: None
  Background Color: grey100
  Border Color: #DFDFDF
  Matte Color: grey74
  Dispose: Undefined
  Iterations: 0
  Compression: JPEG
  signature: f5113ce7ede6f647552ae8469360f0ff612588f42cbd7f16cccac349357d6eb9
  Tainted: False
  User Time: 1.250u
  Elapsed Time: 0:02

All in all though, I am pretty happy with the camera. The physical bits are definitely better, like the smaller size and the automatic iris. The quality of the photos is much better, with the 5 megapixels. I keep it on maximum definition settings so I get the most amount of data to work with. This causes a problem with the number of photos per memory stick. I have a number of 128 meg memory sticks, and at 2.2 meg per photo, I get about 50 photos per memory stick. I was used to getting 100 photos with the P50, so I went out and bought a 256 meg memory stick for this camera. I actually got a 256 meg Memory Stick PRO. This caused me problems.

I was using Slackware 9.0 with the 2.4.20 kernel. The USB modules wouldn't recognise the camera. The camera was too new. But I could put the memory sticks in my PNY card reader and transfer the photos under Linux that way. Except it wouldn't read the Memory Stick PRO. So if I took photos on the Memory Stick PRO, then I could only get them off under Windows. So I stopped using the memory stick PRO because it's more trouble than it's worth these days to reboot to Windows for anything.

[Sony Memory Stick PRO]

But time marches on and things change. Slackware 9.1 was released with the 2.4.22 kernel and the USB modules in that kernel release recognised the camera. But the usb-storage module still wouldn't recognise the Memory Stick PRO cards. The 2.6.0 kernel was released, and as Slackware 9.1 was 2.6 ready, I installed the 2.6.0 kernel. This time, the usb-storage module recognised the Memory Stick PRO cards. I can now access all aspects of the P92 under Linux. One thing I have also noticed is that the USB mounts and umounts are more reliable. No false starts, no false error reports. It's very stable and very good.

Connecting:

kernel: hub 1-0:1.0: new USB device on port 1, assigned address 3
usb.agent[27228]: ... no modules for USB product 54c/10/450
kernel: scsi4 : SCSI emulation for USB Mass Storage devices
kernel:   Vendor: Sony      Model: Sony DSC          Rev: 4.50
kernel:   Type:   Direct-Access                      ANSI SCSI revision: 02
scsi.agent[27256]: bogus sysfs DEVPATH=/devices/pci0000:00/0000:00:1f.2/usb1 \
 /1-1/1-1:1.0/host4/4:0:0:0
kernel: SCSI device sda: 487936 512-byte hdwr sectors (250 MB)
kernel: sda: Write Protect is off
kernel:  sda:<7>usb-storage: queuecommand called
kernel: Attached scsi removable disk sda at scsi4, channel 0, id 0, lun 0
kernel: Attached scsi generic sg3 at scsi4, channel 0, id 0, lun 0,  type 0

Disconnecting:

kernel: usb 1-1: USB disconnect, address 3

Now I have to upgrade Linux on my laptop because when I travel, that's where I store my photos. That's not going to be an easy task. A desired task, but not an easy task.

Addendum

[Linux]

19th January 2004

I managed to upgrade my laptop and it now recognises the new camera and the Memory Stick Pro cards.

Addendum

[Linux]

4th February 2004

When the 2.6.1 kernel came out, I had very mixed results from it. I installed it on my two desktops. It would recognise the camera but it wouldn't allow a mount. I tried a few things but couldn't make it work. Yet the 2.6.1 kernel installed on my laptop would work and recognise the camera. I left the 2.6.1 kernel on my laptop, and reverted back to the 2.6.0 kernel on the two desktops. The 2.6.2 kernel has been released, and the change log indicates a few USB changes, but I'm in toxic option shock right now, and as I have everything working to my satisfaction, I plan on burying my head in the sand and ignoring change for a little while. I'll look at the new kernels later in the year.