dmesg in linux show more useful information (write protection, usb mode and errors). So if you can - try do this in linux.
here's the result on linux :
- whith msc mode (power off + select button) player is not detected (fdisk -l) and thee computer freeze, so i can't run fsck (it works on windows btw)
- whith the sansa firmware (power off + rewind) player is detected
fdisk -l
Disk /dev/sdd: 3933 MB, 3933732864 bytes, 7683072 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x73696420
This doesn't look like a partition table
Probably you selected the wrong device.
Device Boot Start End Blocks Id System
/dev/sdd1 ? 1936286752 1926158736 2142419640+ 45 Unknown
/dev/sdd2 ? 1853169786 3723051230 934940722+ 65 Novell Netware 386
/dev/sdd3 ? 1701978226 3336544981 817283378 20 Unknown
/dev/sdd4 ? 2885681152 2885734079 26464 d Unknown
fsck
fsck from util-linux 2.23.2
dosfsck 3.0.16, 01 Mar 2013, FAT32, LFN
0x41: Dirty bit is set. Fs was not properly unmounted and some data may be corrupt.
1) Remove dirty bit
2) No action
? 1
FATs differ but appear to be intact. Use which FAT ?
1) Use first FAT
2) Use second FAT
? 1
Reclaimed 3388 unused clusters (13877248 bytes).
Free cluster summary wrong (42215 vs. really 45603)
1) Correct
2) Don't correct
? 1
Leaving file system unchanged.
/dev/sdd: 1064 files, 912733/958336 clusters
the problem is still here