Linux and Lumix digital cameras

Do you happen to be running a Linux distribution and have Panasonic Lumix digital camera?

If yes, you may have problems downloading photos from it - depending on your kernel and udev settings, or more generally, on Linux distribution used.

The tips from below may help you.

Every USB device connected to your Linux system will make the kernel print some messages. You can print them with dmesg command, started in the console, i.e.:


# dmesg -c
scsi 4:0:0:0: Direct-Access MATSHITA DMC-TZ5 0100 PQ: 0 ANSI: 2
usb-storage: device scan complete
Driver 'sd' needs updating - please use bus_type methods
sd 4:0:0:0: [sda] 7954431 512-byte hardware sectors (4073 MB)
sd 4:0:0:0: [sda] Write Protect is off
sd 4:0:0:0: [sda] Mode Sense: 04 00 00 00
sd 4:0:0:0: [sda] Assuming drive cache: write through
sd 4:0:0:0: [sda] 7954431 512-byte hardware sectors (4073 MB)
sd 4:0:0:0: [sda] Write Protect is off
sd 4:0:0:0: [sda] Mode Sense: 04 00 00 00
sd 4:0:0:0: [sda] Assuming drive cache: write through

The above output meant that the connected camera was recognized as /dev/sda block device - good, your distro supports it out of the box. If you never see a block device like sda or sdb, but only output like below - it means you need to complain to your distribution vendor:


# dmesg -c
usb 1-2: new high speed USB device using ehci_hcd and address 3
usb 1-2: configuration #1 chosen from 1 choice
scsi3 : SCSI emulation for USB Mass Storage devices
usb 1-2: New USB device found, idVendor=04da, idProduct=2372
usb 1-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
usb 1-2: Product: DMC-TZ5
usb 1-2: Manufacturer: Panasonic
usb 1-2: SerialNumber: 0000000000000000005F0208220775
usb-storage: device found at 3
usb-storage: waiting for device to settle before scanning
scsi 3:0:0:0: Direct-Access MATSHITA DMC-TZ5 0100 PQ: 0 ANSI: 2
usb-storage: device scan complete

There is a simple workaround to that. In /etc/udev, search for such a line:

SUBSYSTEM=="usb", ACTION=="add", ENV{DEVTYPE}=="usb_device", NAME="bus/usb/$env{BUSNUM}/$env{DEVNUM}", MODE="0644"

You can do it with grep command:

# grep -r "bus/usb" /etc/udev

When you localize it, comment it out, restart udevd, i.e. use killall command to stop it, and start it in verbose mode to see more information on what it does:

# killall udevd
# udevd --verbose

For me, I had problems getting photos from DMZ-FZ20 and DMC-TZ5 Lumix models on Mandriva and OpenSuse. On Ubuntu though, everything worked from scratch and I didn’t have to do any udev changes.

Leave a comment