Rockbox Technical Forums

Third Party => Repairing and Upgrading Rockbox Capable Players => Topic started by: sagachi on May 29, 2007, 12:08:30 AM

Title: Sansa e280 brick and recovery procedure
Post by: sagachi on May 29, 2007, 12:08:30 AM
Recent Rockbox fan, lurker, tinkerer, etc here. Had a huge adventure repairing my new Sansa e280.
I hope this can be a be-all-end-all procedure for fixing Sansa bricks!

There is a LOT of good information out there - especially in this forum! For me this took some digging and work with multiple solutions. So here is my post with everything I did in hopes it will help someone else. Little here is original - credit where credit is due! I just had to pull a lot of details together. NOTE a lot of this is half guesswork but it worked for me! Please correct as necessary

Started with the Sansa issue where the files become corrupted - garbage filenames, database hung during update, etc. The regular solution is to mount the drive in Windows and format - the firmware will rebuild it. Well, in Linux, I ended up formatting the volume - not just the partitions! That killed my player.

Issue:
player started up with black screen only and blue light. That's all. lsusb showed
Code: [Select]
0b70:0003 Portalplayer usb device (aka "pre-bootloader mode") . (NOTE in Windows, you can see this in Device Manager - on the "unknown usb device", with the question mark, on properties you will find a string containing "\0b70\0003\" I believe)

Solution:
Bring the player to recovery mode, reformat per correct Sansa partitioning, and flash the firmware.

This was accomplished by
1. downloading the firmware and boot loader:
http://nuclearscripting.com/other/sansafw/BL_SD_BOARDSUPPORTSD.ROM
http://nuclearscripting.com/other/sansafw/PP5022.MI4

MD5:
6a10d79a2e13f6b4a7c8243f422e5608 BL_SD_BOARDSUPPORTSD.ROM
d9f946067844e2a24fcbb6cfedb75057 PP5022.MI4

And downloading i2c-e280.bin (and e200tool) from Daniel!  http://daniel.haxx.se/sansa/e200tool.html

2. Running the e200tool as root to flash the i2c:
Code: [Select]
# ./e200tool i2cprogram i2c-e280.bin
In this process the device became:
Code: [Select]
6666:e200 Prototype product Vendor ID (I believe this is "manufacturing mode")

NOTE I had a lot of trouble running the e200tool. There were two consistent issues: timing out initializing USB stub, or timing out and not finding device 6666:e200. There has been mention in the forums of needing to hold "rec" when flashing. I did this but also needed to "jigger" the connection! After one or two timeouts, I would unplug the  player, plug back in, and within 1-2 seconds run the e200tool i2cprogram again. After a few tries it would suddenly see the device and successfully write!

NOW at this point the device was a Sandisk player - 6666:e200 was necessary to get this flashed! lsusb showed:
Code: [Select]
0781:0720 SanDisk Corp.
At this point the ROM would survive a reboot! lsusb still showed the device as 0781 Sandisk. However it was still a black screen! But, the working i2c enabled the player to temporarily go into recovery mode and go to the next step:

3. Flash/execute the downloaded boot loader on the player:
Code: [Select]
# ./e200tool recover BL_SD_BOARDSUPPORTSD.ROM
Still took some jiggering of the connection! Up until now I had been booting the player with the "hold" button enabled and "rec" held down. Unfortunately after loading the boot rom, the player said HOLD was locked and immediately rebooted! I think the ROM would execute in memory, but get lost if the device was powered off. SO there needed to be a way to load and execute the boot loader without the device resetting! I found I did not need to use "hold" at all - just power the device on. After reconnecting and re-flashing a few times, I got a successful boot rom flash. The Sansa said the image failed and went into recovery mode!

4. Formatting the recovery partition:
With the device still connected, recovery mode made a USB volume called "16MB-FORMAT" appear on the computer. No matter how many times I copied boot loader .rom or .mi4 firmware files, after disconnecting, the device said they would fail loading the image! The problem was that even though it looked ok, I previously had formatted the entire volume and the partition wasn't valid!

I had to create and save a blank file named sansa.fmt on the recovery partition. The file is nothing special - the file name tells the Sansa to reformat!

After disconnecting, the Sansa read that it was formatting. It took a few minutes but then finished successfully! Unfortunately , it still would not boot right - still booted to a blank screen with the blue light!

HOWEVER the previous steps now enabled a working recovery partition to be accessible. When the Sansa booted, I was able to flash/execute the boot loader again! Previously this went straight to recovery mode, but now it went normal mode - but it was hung up! It was necessary to get back into recovery mode by
a) pushing HOLD and holding REC while
b) flashing the boot loader and while
c) it booted. Holding those buttons led to recovery mode, and now showed a valid "16MB-FORMAT" USB recovery drive on the computer! This made the next step possible:

5. Flashing the firmware and boot loader
Using the step 3 and 4 procedures, I was able to temporarily bring up recovery mode with a VALID recovery partition. Now I was able to copy the boot loader and firmware files onto the partition. Another issue here - the player did not recognize the file names correctly - apparently there are two different possible names and they are case sensitive!

I saved
Code: [Select]
BL_SD_BOARDSUPPORTSD.ROM and
Code: [Select]
PP5022.MI4 on the recovery partition but the device did not see them. After a disconnect, the device rebooted without saying anything about an image file! So I had to rename the files "using the filenames for the Hebrew bootloader and firmware":
PP5022.MI4 to firmware.mi4
BL_SD_BOARDSUPPORTSD.ROM to pribootLoader.rom

After disconnecting, the Sansa saw the files and flashed, and everything worked 100%! All the mp3s etc were gone too - but at least it worked!

I hope this helps some others out there who have reported similar issues.

THANK YOU THANK YOU to Daniel for the files and the great work on the e200 tool, along with all the Rockbox developers, everyone who has posted in the e200 "brick" threads, especially chrisjs169 (chrisjs162216 on the anythingbutipod forums which were a HUGE help, and JSV on those forums for the "sansa.fmt" trick) !

w00t!++  RockBox Rules!
Title: Re: Sansa e280 brick and recovery procedure
Post by: Llorean on May 29, 2007, 12:13:32 AM
Is there an actual question?

The forums are for discussion, information is supposed to be posted to the appropriate place in the wiki.
Title: Re: Sansa e280 brick and recovery procedure
Post by: sagachi on May 29, 2007, 01:08:56 AM
Good point. It is not a question - more of an answer to some other threads here regarding Sansa e200 brick issues. It seemed it could merit it's own thread rather than multiple replies.

The truth is I am not 100% sure on the reliability of the information and haven't asked for Wiki permissions. I am not familiar with the Wiki, but if this were to go there I would ask for review/discussion from the experienced members and moderators first. What is your opinion?
Title: Re: Sansa e280 brick and recovery procedure
Post by: chrisjs169 on May 30, 2007, 10:31:45 PM
Little clarification:

Guess I can't complain about you linking to my site since you mentioned my name and included the MD5 :P

Quote
In this process the device became:
Code: [Select]
6666:e200 Prototype product Vendor ID
(I believe this is "manufacturing mode")

Manufacturing mode is when the bootloader is corrupt, and pre-boot is  when the I2C is corrupt.  The Vendor/Product ID for manufacturing mode is 0781:0720, while 6666:e200 is a custom ID created by e200tool

Quote
NOW at this point the device was a Sandisk player - 6666:e200 was necessary to get this flashed! lsusb showed:
0781:0720 SanDisk Corp.

For most parts of e200tool, you need to run ./e200tool init first, which creates the 6666:e200 ID.  Again, 0781:0720 is manufacturing mode.

Quote
But, the working i2c enabled the player to temporarily go into recovery mode and go to the next step:
Recovery mode is actually on the bootloader, so I (think) e200tool writes the bootloader to the RAM/ROM which temporarily allows you to use recovery mode to actually write the bootloader/firmware.

Quote
It took a few minutes but then finished successfully! Unfortunately , it still would not boot right - still booted to a blank screen with the blue light!
Make sure you copy the bootloader to the recovery mode partition, as well as the firmware.  Remember what I said before about e200tool writing the BL to RAM/ROM to temporarily access recovery mode?

Quote
THANK YOU THANK YOU to Daniel for the files and the great work on the e200 tool, along with all the Rockbox developers, everyone who has posted in the e200 "brick" threads, especially chrisjs169 (chrisjs162216 on the anythingbutipod forums which were a HUGE help, and JSV on those forums for the "sansa.fmt" trick) !
You're welcome =)  (i'm getting warned about only one smiley per post)
Title: Re: Sansa e280 brick and recovery procedure
Post by: Vortex on May 31, 2007, 01:31:16 PM
Quote
Well, in Linux, I ended up formatting the volume - not just the partitions! That killed my player.

Hi,

could you please describe what you had done wrong (i.e. which command killed your player) and how to format the Sansa correctly on Linux?

I would like to avoid having to go through all these steps after formating my player. ;)
Title: Re: Sansa e280 brick and recovery procedure
Post by: Khan on June 02, 2007, 08:16:59 AM
Thank you, THANK you, THANK YOU! This procedure just restored my bootloader and now I can access the Sansa ex-brick 280 again!   ;D

The strange thing is that now I cannot get Rockbox to load even though sansapatcher says it applied correctly. Upon reboot, it still only goes into the original firmware. Very odd.
Title: Re: Sansa e280 brick and recovery procedure
Post by: chrisjs169 on June 03, 2007, 09:59:34 PM
Khan - Are you sure you have Rockbox installed (other than the bootloader)?  I think if it can't find the .rockbox directory or something it attempts to load the OF

Title: Re: Sansa e280 brick and recovery procedure
Post by: killermusic900 on July 10, 2007, 09:33:25 PM
wait, hold up... If I click on the VERSION file, it says:
Version Info: Product Rev.:
ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿBase Code: ÿÿÿÿÿÿÿÿÿÿ
ÿÿÿÿÿÿÿÿÿÿÿÿÿÿ

I just creat a .txt file titled sansa.fmt?

because that doesn't work.  ???
Title: Re: Sansa e280 brick and recovery procedure
Post by: Neopunk on September 23, 2007, 07:17:30 AM
Sweet Jesus!
You just fixed my Sansa that I thought was going to be used as a paper weight for the rest of my days!

Thankyou so so much!
Title: Re: Sansa e280 brick and recovery procedure
Post by: Gravian on October 14, 2007, 05:47:10 PM
Is there an actual question?

The forums are for discussion, information is supposed to be posted to the appropriate place in the wiki.

Yes, I third that this should be placed in the Wiki. This is the same method I discovered so I can verify that it does work. As long as you didn't seriously damage your hardware in some way this method should work.

Quote
Well, in Linux, I ended up formatting the volume - not just the partitions! That killed my player.

Hi,

could you please describe what you had done wrong (i.e. which command killed your player) and how to format the Sansa correctly on Linux?

I would like to avoid having to go through all these steps after formating my player. ;)

He basicly did the same thing I did, just with a different system. Reformating the entire disk (or just the 16 meg partition) with anything WILL brick your sansa.

wait, hold up... If I click on the VERSION file, it says:
Version Info: Product Rev.:
ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿBase Code: ÿÿÿÿÿÿÿÿÿÿ
ÿÿÿÿÿÿÿÿÿÿÿÿÿÿ

I just creat a .txt file titled sansa.fmt?

because that doesn't work.  ???

I don't entirely understand what you are talking about, you need to be more specific. As for the formating part, thats just one step in the process.
Title: Re: Sansa e280 brick and recovery procedure
Post by: Chronon on October 15, 2007, 01:23:23 PM
There is already an article on the wiki that's linked from the main SansaE200 article: SansaE200Unbrick (http://www.rockbox.org/twiki/bin/view/Main/SansaE200Unbrick).

Perhaps this info can be included in that one.