Problem with USB flash drive usage
I have two problems about usage of USB flash drives on linux(kernel 2.4). I built the kernel to support the USB mass storage devices.
I tested a USB flash drives, it works well.
I testd another flash drives from Kingston, but not work right. Once it pluged in, fdisk -l showed the device on /dev/sdc1.
Device Boot Start End Blocks ID System
/dev/sdc1 * 1 1016 2015216 e Win95 FAT16 (LBA)
Then I mounted it:
#mount /dev/sdc1 /mnt/usbstick
VFS: Can't find ext3 filesystem on dev sd(8,33).
showed it did mount the device. But, when I checked the files on USB drive under /mnt/usbstick, the filenames were shown incorrectly:
140500~1.txt (should be: 14050000000001S1.txt)
The only diffenerce I can see with the first one is the first one has fileSystem FAT16 (run: fdisk -l).
Here are the file system support I turned on:
File systems --->
<*> DOS FAT fs support(CONFIG_FAT_FS fat.o)
<*> MSDOS fs support(CONFIG_MSDOS_FS msdos.o)
<*> VFAT (Windows-95) fs support (CONFIG_VFAT_FS vfat.o)
<*> /proc filesystem (CONFIG_PROC_FS)
<*> Second extended fs support (ext2fs) (CONFIG_EXT2_FS ext2.o)
Do I need to turn on any more support? What could be the cause?
I found if I try different USB flash drives one by one. By running "fdisk -l", I can see the first drive is attached to sda1, the second to sdb1, the third to sdc1, the forth to sdd1,... I took out the previous one before I plug in the next one, but it seems the kernel still remembers them. I can see this from: /proc/scsi/scsi. Also, it create /proc/scsi/usb-storage-* for each USB flash drive. The only way I can delete this now is to reboot the system. Is there a way to remove this information without rebooting? The ideal result is I can use device /dev/sda1 for different USB drives.
Could anyone help me with this? Thanks a lot.