Originally posted by pingu
I think a USB-device can get corrupted if it's not unmounted properly.
The filesystem can get corrupted in the same way as yanking the cable on an internal drive would; the device itself will still work fine and you should be able to fix the problem with fsck as normal.
Most USB devices come with a FAT filesystem preinstalled, so you may want to make sure that you have the “vfat” module loaded.
The fact that the USB device isn't being detected is what's causing this problem. Make sure that you have the usb modules loaded (try mounting the /proc/bus/usb directory). Also see the USB-HOWTO from http://www.tldp.org/
Hope that's of some help,
— Robert J Lee