Rockbox Technical Forums

Installation / Removal => Manual Installation => Sandisk - Installation/Removal => Topic started by: xordos on November 27, 2009, 11:14:32 AM

Title: C200V2 bootloader installed but no effect
Post by: xordos on November 27, 2009, 11:14:32 AM
Hi,

(Saw some message in IRC, C200v2 is close to become unstable, Thanks a lot!! I am so eager to try it but... )

my device: c250v2 2G. (Version V03.02.05A).

get boot file here:
http://download.rockbox.org/bootloader/sandisk-sansa/c200v2/

I have copied the patched c200pa.bin to c200v2 root folder (in MSC mode, that has DID.bin and other files there), as well as the .rockbox.

Patched c200pa.bin:

File md5:  31cd171bf68608c54d19666d26362969 output.bin (I rename it back to c200pa.bin when copy to the device)
File size:  5243904 bytes

after safely remove USB, unplug USB cable, it show "firmware upgrade in progress", firmware ungrade completed, then shut off.

But after startup, it still show as original interface, (sandisk "Langage"selection in exact). Everything is still sandisk interface.

Did I miss any step?
Help please.


UPDATE: Additional information.
1) From sandisk forum, another user kindly provide his/her working patched bootloader, it is identical to mine patched one. (md5sum/size all match)

2)So, I think must be my upgrade steps is wrong.
I tried using OF menu to "reset all", format, still same result.

Also, I noticed in root folder the file RES_INFO.SYS contains some strings from rb.
(actually I have deleted all files in root folder, so these must be generated at startup)
From the zip file of original (from Daniel website)backup, the RES_INFO.SYS contains:
$strings RES_INFO.SYS
mmc:0:\
HOTO
mmc:0:\DID.bin
.SYS

But now, even though my c200v2 still boot to Sandisk Menu, this file contains:
$strings RES_INFO.SYS
mmc:0:\
rockbox
ockboxed
tusbar
mmc:0:\.rockbox\WPS\Rockboxed\mode-color-small.bmp

So, I have a feeling that RB bootloader does bootup, but somehow it always fall back to OF?

UPDATE:
3). I have tried using both patched c200pa.bin and .rockbox that works fine in other people's c200v2, but same result in mine. Showed firmware upgrade completed, but still boot into OF.

 ???
Title: Re: C200V2 bootloader installed but no effect
Post by: tofmin on November 29, 2009, 03:23:05 AM
Quote
3). I have tried using both patched c200pa.bin and .rockbox that works fine in other people's c200v2, but same result in mine. Showed firmware upgrade completed, but still boot into OF.
Same as here. Still nothing :(

BTW: my Sansa is refurbished. Is that mean something?
Title: Re: C200V2 bootloader installed but no effect
Post by: xordos on November 29, 2009, 01:36:18 PM
BTW: my Sansa is refurbished. Is that mean something?

Don't know, mine is also refurbished. But considering the same binary/firmware works on all the c200v2, I guess it is just some race condition/PIN readout cause the difference.

Actually, I play around the code of dualboot.S, and messed up this critical piece of code. my sansa is a brick now.  :(
Title: Re: C200V2 bootloader installed but no effect
Post by: tofmin on November 30, 2009, 03:30:02 AM
Sad to hear that :(

Maybe there is still chance to unbrick?
Title: Re: C200V2 bootloader installed but no effect
Post by: lazy on December 01, 2009, 08:03:14 PM
i have a c250v2
refurb (v1 broke, got a replacement, but it was new when i got it)

firmware upgrades then boots into OFW

is there some refurb pattern? but mine was new when i got it
Title: Re: C200V2 bootloader installed but no effect
Post by: funman on December 05, 2009, 07:21:52 AM
I'm working on a modification to mkamsboot (the current code appear to only work on some c200v2, including the one I had and sent to bertrik)

Just wait until it's ready for testing and don't mess with dualboot.S if you aren't fully self-confident.

bricked c200v2 can not be unbricked
Title: Re: C200V2 bootloader installed but no effect
Post by: xordos on December 06, 2009, 09:11:34 AM
Hi funman,

Thanks for your reply, I know I really should contact your guys first, but I guess I was "too confident" about rb code (or myself)    ;)

Anyway, not sure the experiment I did before it brick is useful or not, just FYI:

http://forums.sandisk.com/sansa/board/message?board.id=c200&thread.id=4523&page=2
Thanks, really appreciate the great work

xordos

Title: Re: C200V2 bootloader installed but no effect
Post by: funman on December 06, 2009, 10:35:11 AM
If you didn't modify the check for USB connection you should be able to boot the OF.

Just power your device by USB

Be sure it is off before you plug it (remove battery for example)
Title: Re: C200V2 bootloader installed but no effect
Post by: xordos on December 06, 2009, 04:54:11 PM
I didn't modify any other part, The only change I did is I repeated that ""ldr     r1, [r0, #256]" a few times. But unfortunately, I tried power up with USB plug in with (and without) battery, no luck.


P.S. I guess now I know where I did wrong. I forget copy dualboot.h from dualboot to upper directory when I build my testing mkamsboot!

In my first try, I changed the 256 to 64, then compiled the "mkamsboot", I noticed "mkamsboot" doesn't change at all. Then I figured out the dualboot.c need to copied from .../mkamsboot/dualboot to .../mkamsboot.  generated file still doesn't work but didn't brick anything. (This misleads me that I then think dualboot.c is the only file I need copy over.)

Then 2nd try, I repeated that line in dualboot.S, make, then only copied dualboot.c to upper directory.

Today, I realized the dualboot.h changed in 2nd case and need copy over:
diff ./dualboot.h dualboot/dualboot.h
6c6
< extern unsigned char dualboot_c200v2[228];
---
> extern unsigned char dualboot_c200v2[240];

so, I guess, this incorrect size here really messed up the code and/or some label/address offset.   >:(

Again, I even don't know above build method is right or not. I guess that night I am too excited and eager to put rb into my c200v2 as other people's has done it succesfully. Yes, I was too confident, brave, or stupid.

... ...

Title: Re: C200V2 bootloader installed but no effect
Post by: funman on January 11, 2010, 11:07:20 AM
I didn't have these tested by bertrik so I'll just post them.

To decrease risk of bricking your devices I have made another patch to test if the check for USB connection is working right.

1/ apply usbcheck.diff : powering the c200v2 by the button should take an additional 5 seconds with black screen, and powering by USB connection should be instant.

Do not apply the second patch if the first doesn't work !

I have included the diff to the generated dualboot.c and dualboot.h so you just have to run make in rbutil/mkamsboot
Title: Re: C200V2 bootloader installed but no effect
Post by: funman on February 06, 2010, 02:07:48 PM
bump
Title: Re: C200V2 bootloader installed but no effect
Post by: ranma on February 11, 2010, 05:28:20 AM
I'm working on a modification to mkamsboot (the current code appear to only work on some c200v2, including the one I had and sent to bertrik)

Just wait until it's ready for testing and don't mess with dualboot.S if you aren't fully self-confident.

bricked c200v2 can not be unbricked

I tried installing rockbox on my C240v2 1.0GB and ran into this issue.
I solved it by commenting out the 'Plugged into USB' check in dualboot.S and it now tries to boot rockbox, but apparently the rockbox loader fails and blinks an error code at me. Are those blink codes documented somewhere?
I can still boot the OF if I hold down right while powering on.
I followed the documentation for "Installation for Unusable" on http://www.rockbox.org/wiki/SansaAMS
I did unzip .rockbox on the rootfs of my Sansa.

Here is what I changed in dualboot.S to make it work for me:
Index: dualboot.S
===================================================================
--- dualboot.S   (revision 24590)
+++ dualboot.S   (working copy)
@@ -93,12 +93,14 @@
 #endif
 
 #ifdef USB_PIN  /* TODO : remove this check when we'll have an USB driver */
+/*
         ldr     r0, =GPIOA
         mov     r1, #0
         str     r1, [r0, #0x400]
         ldr     r1, [r0, #(4*(1<<USB_PIN))]
         cmp     r1, #0
         bne     boot_of
+*/
 #endif
 
         /* Here are model specific tests, for dual boot without a computer */