Rockbox Technical Forums

Support and General Use => Hardware => Topic started by: lee321987 on April 15, 2008, 11:01:41 AM

Title: Sansa c200 - OF Database Refresh (when disconnecting): Greatly cut duration
Post by: lee321987 on April 15, 2008, 11:01:41 AM
   This doesn't actually disable the refresh, but I think anyone clicking on this will want to know...
   As soon as you disconnect from your computer, press and hold down the power button to force a shut off.  It takes me about 11.5 seconds.

   Sansa c250 v1
   microSD 512 MB
   Firmware: 01.01.00P
   Rockbox version: r17111M-080415



Title: Re: Sansa c200 - OF Database Refresh (when disconnecting): Greatly cut duration
Post by: siber_cat314 on April 16, 2008, 12:39:59 PM
Here's an even faster way. just make all of the files in the system folder to read only. The database starts to update, finds that it cannot, and asks you to free up some disk space. Takes maybe 6-7 seconds with an SD micro.
Title: Re: Sansa c200 - OF Database Refresh (when disconnecting): Greatly cut duration
Post by: lee321987 on April 16, 2008, 04:49:06 PM
   Works.  Thank you.
Title: Re: Sansa c200 - OF Database Refresh (when disconnecting): Greatly cut duration
Post by: jacoby on April 20, 2008, 10:41:30 PM
Does the rockbox bootloader not have a database refresh disable for the c200 series?

I have an e200, and the bootloader... well actually I'm not sure what the bootloader does, though it does say 'disabling database rebuild' anyway, as long as you don't set the language option at the initial setup on the e200 it skips the database refresh.  Might work for c200 too.

edit: obviously not the same for the c200, but these were directions for making it work on the e200, should help: http://www.anythingbutipod.com/forum/showthread.php?t=21313
Title: Re: Sansa c200 - OF Database Refresh (when disconnecting): Greatly cut duration
Post by: pixelma on April 26, 2008, 04:38:16 AM
jacoby, while the e200 and c200 are similar, they are not the same. The trick Rockbox uses to disable the database refresh on the e200s doesn't work here - at least not on most c200 original firmware versions (see this commit message (http://svn.rockbox.org/viewvc.cgi?view=rev;revision=15225) for details; the developer of this gave me a patched bootloader to try on my c200 before the commit).

If I understand correctly the e200 OF sets a bit at disconnect from USB that something's changed and a database refresh is needed but only actually refreshes it at next boot. To disable this mechanism, the Rockbox bootloader can unset that bit and the e200 OF doesn't get to know that things changed. On most c200s the database refresh starts as soon as you disconnect from USB, there's no chance for the Rockbox bootloader to interrupt this process.

P.S.: For some reason I started to believe (something I read?) that later c200 firmware versions handle these things more like the e200 original firmware. Does someone know more?