How read/recover SD card?

I have an SD card and when I plug it in to my desktop (which is openSUSE 11.3), it shows up in Dolphin and shows all folders and files. however when i try to view or copy a file(either by double clicking or using “cp” command) it throws an error:

cp: reading `/media/disk/DCIM/100OLYMP/P1010202.JPG': Input/output error

Any idea how I can recover these files? Any tools I can use in OpenSUSE?

Use dd_rescue to byte copy the files to another device. Note dd will overwrite the TARGET device. Then run an fsck on the TARGET device (eg the copy version)

dd_rescue /dev/sdX /dev/sdY

Thanks. Can I have dd_rescue write it into a folder or does it have to be an entire device?

I get this error:

fsck from util-linux-ng 2.17.2
e2fsck 1.41.11 (14-Mar-2010)
fsck.ext2: Superblock invalid, trying backup blocks...
fsck.ext2: Bad magic number in super-block while trying to open /dev/sdg

The superblock could not be read or does not describe a correct ext2
filesystem.  If the device is valid and it really contains an ext2
filesystem (and not swap or ufs or something else), then the superblock
is corrupt, and you might try running e2fsck with an alternate superblock:
    e2fsck -b 8193 <device>

Any idea what this means and what I should do? I believe it is actually FAT, not ext2. How do I do it for that?

When I do: “sudo /sbin/fsck.vfat /dev/sdg” I get:

dosfsck 3.0.9, 31 Jan 2010, FAT32, LFN
Logical sector size is zero.

What does this mean?

So do you get output from fdisk -l for the device?

Cheers Malcolm °¿° (Linux Counter #276890)
SUSE Linux Enterprise Desktop 11 (x86_64) Kernel
up 3 days 2:18, 2 users, load average: 0.30, 0.23, 0.14
GPU GeForce 8600 GTS Silent - Driver Version: 260.19.26

I get: "Cannot open /dev/sde"

So it was sdg before? What size is the device and what are you using to
read? I’m guessing it use to work?

Cheers Malcolm °¿° (Linux Counter #276890)
openSUSE 11.4 (x86_64) Kernel
up 0:15, 3 users, load average: 0.18, 0.18, 0.14
GPU GeForce 8600 GTS Silent - Driver Version: 260.19.26

the sd card is 2gb and is from an olympus camera. It did used to work but I’d always read it via hooking the camera to the computer. The camera died.

when you say “what do you use to read” do you mean how do I plug it into the computer? My desktop has a “SmartMedia/xD” slot where it fits.