Rockbox Technical Forums

Installation / Removal => Manual Installation => Sandisk - Installation/Removal => Topic started by: murky_murk on May 08, 2008, 08:02:00 PM

Title: e200tool for sansa view
Post by: murky_murk on May 08, 2008, 08:02:00 PM

my question is about the e200tool and i know its nothing related to rockbox... i dont know where else to post this but i think that the people here are the only one that can help me.

My Sansa View is broken and only goes to manufacturing mode when i plug it in to my machine.

lsusb shows this:

Code: [Select]
linus@linus-laptop:~/Desktop/e2tl$ lsusb
Bus 005 Device 001: ID 0000:0000 
Bus 004 Device 001: ID 0000:0000 
Bus 003 Device 001: ID 0000:0000 
Bus 002 Device 001: ID 0000:0000 
Bus 001 Device 002: ID 0781:0720 SanDisk Corp.
Bus 001 Device 001: ID 0000:0000

when i try to use the e200tool, this what happens...

Code: [Select]
linus@linus-laptop:~/Desktop/e2tl$ sudo ./e200tool recover bootLoader.rom
e200tool v0.2.3-alpha (c) by MrH 2006, 2007
Searching for device 0781:0720 ... found!
Initializing USB stub (4780 bytes) ... done!
Writing 'bootLoader.rom' to address 0x10600000
Searching for device 6666:e200 ... 9 8 7 6 5 4 3 2 1 0 not found!

Code: [Select]
linus@linus-laptop:~/Desktop/e2tl$ lsusb
Bus 005 Device 001: ID 0000:0000 
Bus 004 Device 001: ID 0000:0000 
Bus 003 Device 001: ID 0000:0000 
Bus 002 Device 001: ID 0000:0000 
Bus 001 Device 007: ID 0781:0720 SanDisk Corp.
Bus 001 Device 001: ID 0000:0000 
linus@linus-laptop:~/Desktop/e2tl$ sudo ./e200tool init
e200tool v0.2.3-alpha (c) by MrH 2006, 2007
Searching for device 0781:0720 ... found!
Initializing USB stub (4780 bytes) ... done!
linus@linus-laptop:~/Desktop/e2tl$ lsusb
Bus 005 Device 001: ID 0000:0000 
Bus 004 Device 001: ID 0000:0000 
Bus 003 Device 001: ID 0000:0000 
Bus 002 Device 001: ID 0000:0000 
Bus 001 Device 001: ID 0000:0000

after the tool initialized, the 6666:e200 doesnt appear.  im thinking this is because the usb stub is designed for the e2 and c2 which uses the same chip (AS3514) while the view uses AS3517.  if so, which part of the sourcecode should i modify so the tool will work on the view?

i have 2 sansa views. one is working and one is not. 

if you want to access the manufacturing mode on a working view, first you have to fully shut it down (slide the power switch for about 8-10 second) then enable hold then plug it in the computer while pressing and holding on the center button.

i dont want to have this replaced (yet). if there is another way, i want to try it first.

is there anyone that can help me develop the tool?
Title: Re: e200tool for sansa view
Post by: saratoga on May 08, 2008, 08:21:32 PM
after the tool initialized, the 6666:e200 doesnt appear.  im thinking this is because the usb stub is designed for the e2 and c2 which uses the same chip

Skimming through the source code, it looks like you'll need to write your own arm_code.c for the View.  You might be able to reuse some of the code in there, but its hard to say since no one knows how similar the PP50xx and PP6xxx chips are.

(AS3514)

While the E and C series do include that chip, its actually just covers DAC and power management functions, so it shouldn't matter at all.  You won't need sound and don't care about battery life in recovery mode.

while the view uses AS3517.

Really?  How did you figure this out?

is there anyone that can help me develop the tool?

People here can provide you with general guidance, but no one knows anything about the Nvidia chip used in the View, so I think you'll have to reverse engineer most of it yourself.
Title: Re: e200tool for sansa view
Post by: murky_murk on May 08, 2008, 08:49:53 PM
from http://daniel.haxx.se/sansa/view.html
"They even seem to still have an AMS codec chip in there! The AS3517 is easily visible on pics posted here(http://forums.rockbox.org/index.php?topic=13562.msg104967#msg104967). "
"..The firmware mentions "PP6110".."

from armcode.c
Code: [Select]

* This is the USB stub which will run on the e200. You do
 * not need to compile this yourself. A pre-compiled version
 * should be available in e200_code.c.
 *
 * In case you do not trust me and wish to compile it yourself,
 * make sure that the result is relocated to 0x40004000 and the
 * entrypoint is in the beginning of the file. I did it with
 *
 *     arm-elf-gcc -Os -fno-unit-at-a-time -mcpu=arm7tdmi
 *     arm-elf-ld -Ttext 0x40004000 -N
 *     arm-elf-objcopy -Obinary
i dont have any experience compiling these stuff... how do i create the e200_code.c?
Title: Re: e200tool for sansa view
Post by: saratoga on May 08, 2008, 10:31:05 PM
i dont have any experience compiling these stuff... how do i create the e200_code.c?

You don't want to create e200_code.c, that won't work on the View.  You want to write your own arm_code.c that runs on the View.  Since no one knows anything about the CPU used in the View, I think you'll have to figure it out yourself, presumably by reverse engineering the View's retail firmware.
Title: Re: e200tool for sansa view
Post by: Bagder on May 09, 2008, 04:06:05 PM
Quote
should i start with mi4code?

1. run mi4code on the mi4
2. disassemble the decrypted file
3. learn details
4 ...
5 ... fix e200tool accordingly