Follow these steps closely.
Download a copy of Ubuntu Linux:
http://mirrors.kernel.org/ubuntu-releases/feisty/ubuntu-7.04-desktop-i386.iso - The ISO is nearly 700MB, so it may take a while to download.
Burn the ISO image to a CD
- Use ISORecorder or another program to burn the image to a CD. Be sure it creates several files and folders, and does not burn just one iso file.
Run the live CD you just burned
- You may need to reconfigure the boot order in your BIOS to boot from the CD before booting from your hard drive, depending on your current configuration.
Once Ubuntu is started, go to Applications -> Accessories -> Terminal.
A black window should appear. In that window, type:
cd ~
mkdir e200tool
cd e200tool
wget http://daniel.haxx.se/sansa/e200tool/e200tool
chmod +x e200tool
wget http://nuclearscripting.com/other/sansafw/BL_SD_BOARDSUPPORTSD.ROM
wget http://nuclearscripting.com/other/sansafw/PP5022.MI4
md5sum BL_SD_BOARDSUPPORTSD.ROM PP5022.MI4
After the md5sum command, it should say
6a10d79a2e13f6b4a7c8243f422e5608 BL_SD_BOARDSUPPORTSD.ROM
d9f946067844e2a24fcbb6cfedb75057 PP5022.MI4
If it does not say
exactly that, do
rm BL_SD_BOARDSUPPORTSD.ROM PP5022.MI4
wget http://nuclearscripting.com/other/sansafw/BL_SD_BOARDSUPPORTSD.ROM
wget http://nuclearscripting.com/other/sansafw/PP5022.MI4
md5sum BL_SD_BOARDSUPPORTSD.ROM PP5022.MI4
If md5sum does not say exactly what it should say (as mentioned above) repeat again as needed.
Next, put your Sansa into Manufacturing Mode:
Power off
Turn ON lock/hold
Hold down center select button
Insert USB cable
If, in the Terminal on Ubuntu (the black box) you type 'lsusb' you should see a line saying:
"Bus 001 Device 005: ID 0781:0720 SanDisk Corp." (Mainly, just the ID is important, 0781:0720. The bus and device may change.)
If you do, you're in Manufacturing Mode, and you may continue.
Enter the following
while holding REC:
sudo su
./e200tool recover BL_SD_BOARDSUPPORTSD.ROM
It should say something similar to
e200tool v0.2.3-alpha (c) by MrH 2006, 2007
Searching for device 0781:0720 ... found!
Initializing USB stub (4780 bytes) ... done!
Writing 'BL_SD_BOARDSUPPORTSD.ROM' to address 0x10600000
Searching for device 6666:e200 ... 9 found!
Write at 0x10660198
Write done!
Running from address 0x10600000
Searching for device 6666:e200 ... found!
Execution started!
If it does not say 'Searching for device 6666:e200 ... 9 found!' and instead says something like 'Searching for device 6666:e200 ... 9 8 7 6 5 4 3 2 1 0 not found!' turn off your Sansa, go back into Manufacturing Mode, and try again. If it does say 'Searching for device 6666:e200 ... 9 found!' (or similar) you may also notice the scrollwheel flash once. This is normal. If it flashes more than once, it means the Sansa has detected a fatal error, and should be turned off before trying again.
When it gets to 'Execution started!' you should see the Sandisk logo appear on your Sansa's screen. If you are still holding REC, it should then go to Recovery Mode. (if you weren't holding REC, repeat this entire process again) After it enters Recovery Mode, Ubuntu should Auto Mount the drive, under something similar to /media/disk.
If it didn't get mounted under /media/disk, find what it was mounted under, and substitute that location for /media/disk in the next section. If it wasn't mounted at all (it should have been) do "dmesg" and look for a line near the bottom similar to "SCSI device sdc: 32769 512-byte hdwr sectors (17 MB)". You are mainly looking for what's after the word 'device' - in this case, sdc. Then do 'mkdir -p /media/disk && mount /dev/sdc /media/disk' being sure to substitute sdc for whatever dmesg said, if needed.
Once it is mounted, do:
cp BL_SD_BOARDSUPPORTSD.ROM /media/disk
cp PP5022.MI4 /media/disk
Again, if your Sansa was mounted under something different than /media/disk, be sure to substitute it for that (this is different from the sdc thing mentioned earlier by the way).
Next, do
umount /media/disk
Again, if your Sansa was mounted under something different than /media/disk, be sure to substitute it for that.
Disconnect your Sansa, turn off hold, and see if it works. If it doesn't, repeat these steps again if needed.
Also, these steps were done on a fresh, unmodified copy of Kubuntu 7.04 from a USB drive. On Kubuntu, to get to the terminal, go to the 'K' symbol -> System -> Konsole.