If you cannot get anything recovered and you just want to try to put it back into a usuable state, follow the dd advice from Renan. If this is your first time doing this, you will need more details.
This will delete everything, so be warned. Unplug all other drives and reboot your computer with a Live Linux disk or risk data loss on a plugged in drive.
Don't plug in your disk yet. Run this command.
sudo fdisk -l
Now plug in your disk and run the command again. You will see an entry that wasn't there before. That entry is your device. Write down that device path. If you haven't unplugged all other devices, DO NOT MIX THIS UP WITH ANOTHER ONE.
It will be something like this:
/dev/sdx
Where the x in sdx is your drives letter.
Now that you found your device type in:
sudo dd if=/dev/zero of=/dev/sdx
where the x in sdx is the letter of your drive. (There should not be a number at the end of your device for this command.)
Wait for it to zero.
Now type:
sudo fdisk /dev/sdx
You will need to first create a dos disk label. So choose that option.
After creating a dos disk label, you will need to create a partition. Choose make a partition from the menu. Just hit enter and it will give you the defaults. The defaults will make the partition the maximum size of your usb.
Choose the menu item that says to exit and write changes to disk. Make sure the messages don't have errors. If errors exist, you need to repeat these previous steps (but not zeroing).
Now type
mkfs /dev/sdx1
Again, x is the letter of your drive.
Unplug and plug back in and you should see it auto mounted. It's permission will be set to root, so you may need to adjust them.
Always be weary of this drive in the future. Back everything up. I would have recommended GParted, but I believe it does not recognize zeroed drives.
/proc/partitionsshow for that device (e.g.grep sdc /proc/partitions)? Do you get any kernel messages (/var/log/kern.log) when you insert the card? – Gilles Feb 16 '12 at 22:30