My brother got a new mp3 player for Christmas and wanted to transfer over his music. His Sansa m230 had an unusual problem where only some of the music would show up when he plugged it into his Windows XP machine. When the music player started up normally it had a lot more music than it was showing in XP.
Curious, I plugged it into a Ubuntu box to see if Linux could detect the missing files. The FAT16 file system on the device appeared in order with the same file listing as XP. I also tried running
df which claimed that most of the storage was in use. I tried to repair the filetable but it wasn't damaged at all. Where were those files?
I found my answer by looking at the settings on the music player. You could choose from two different USB settings: MSC and MTP. MSC is the Mass storage Class ( like a harddrive ), while
MTP is a protocol for music transfer. I found a FUSE program in
mtp-tools in the Ubuntu repos. This allows Ubuntu to treat the MP3 player like a directory and access the files as if they were regular files. Here is how I mounted:
$ mkdir tmpmusic
$ sudo mtpfs -o allow_other tmpmusic
After that, I was able to see all the missing files in the tmpmusic directory! I copied all the music out and unmounted the directory:
$ sudo fusermount -u tmpmusic
$ rmdir tmpmusic
I hope this helps anyone who has had this problem with another music player.