Rockbox.org home
Downloads
Release release
Dev builds dev builds
Extras extras
themes themes
Documentation
Manual manual
Wiki wiki
Device Status device status
Support
Forums forums
Mailing lists mailing lists
IRC IRC
Development
Bugs bugs
Patches patches
Dev Guide dev guide
Search



Donate

Rockbox Technical Forums


Login with username, password and session length
Home Help Search Staff List Login Register
News:

Welcome to the Rockbox Technical Forums!

+  Rockbox Technical Forums
|-+  Rockbox Development
| |-+  New Ports
| | |-+  Sansa Fuze+
« previous next »
  • Print
Pages: 1 [2] 3 4 ... 55

Author Topic: Sansa Fuze+  (Read 323186 times)

Offline pamaury

  • Developer
  • Member
  • *
  • Posts: 508
Re: Sansa Fuze+
« Reply #15 on: March 06, 2011, 05:39:43 AM »
Hello,
I finally have a fuze+ \o/ I've tried various things but I can't find a recovery mode for know.
I'm still disassembling the firmware because I need to understand how the booting process works as this is not exactly clear.

I could try to replace what I believe is the user part of the firmware and keep what I believe to be the usb/msc one but I don't want to take any useless risks for now.
Logged
Please don't PM me, use our IRC channel instead.

Offline yelped

  • Member
  • *
  • Posts: 44
Re: Sansa Fuze+
« Reply #16 on: March 06, 2011, 06:14:20 PM »
Thanks for all the hard work you're putting in to the port.
Logged

Offline metaphys

  • Member
  • *
  • Posts: 133
Re: Sansa Fuze+
« Reply #17 on: March 08, 2011, 10:42:31 AM »
Following what I've said about this funny behaviour of the fuze+ recovering automatically, I've tried to open it again. There is no possibility to disconnect the battery from it (unless cutting). So I supposed I must have accidentaly putted in contact some part of it leading to this automatic recovery. It might be something like that :
http://www.rockbox.org/wiki/SansaAMSUnbrick

It would be good to have someone that could lead us in how those were found  ::) assuming there is any method for it  ::)
Of course it would not be an ideal solution but it will at least assure us that we can go pretty bad keeping the possibility to recover

thanks for your work anyway...

Post Merge: March 09, 2011, 09:20:31 AM
So I've manage to reproduce the auto update behavior but only once and every other try failed... There is definitively a way to do so but no idea how! Anyway I never managed to access the flash memory directly through USB.
Furthermore after the end of this upgrade process the firmware version is the last installed one, any setting are reseted to default ones. So I suppose some save is systematically made on every upgrade. :-\ not sure about how to go further...
« Last Edit: March 09, 2011, 09:20:31 AM by metaphys »
Logged

Offline haim

  • Member
  • *
  • Posts: 24
Re: Sansa Fuze+
« Reply #18 on: March 13, 2011, 06:50:09 AM »
I want to buy the FUZE+, what do you say? How long will it take to get an unstable version of Rockbox for this player? (Estimated)
Logged

Offline [Saint]

  • Rockbox Expert
  • Member
  • *
  • Posts: 1662
  • Hayden Pearce
    • Google+
Re: Sansa Fuze+
« Reply #19 on: March 13, 2011, 09:10:27 AM »
Quote from: haim on March 13, 2011, 06:50:09 AM
I want to buy the FUZE+, what do you say? How long will it take to get an unstable version of Rockbox for this player? (Estimated)


Estimated: "Anywhere from some time in the future, to never"

Estimates simply aren't given, as the future cannot be predicted.
Developers work on what they want to, when they want to, in an entirely volunteer fashion.
There is also no telling what road-blocks may be hit along the way.

For now, only a very basic disassembly has been started to my knowledge.



[St.]
Logged
Using PMs to annoy devs about bugs/patches is not a good way to have the issue looked at.

Offline haim

  • Member
  • *
  • Posts: 24
Re: Sansa Fuze+
« Reply #20 on: March 13, 2011, 09:15:55 AM »
Thanks, I just wanted to know if by progress today it looks it will happen this year, of course no one would have to do anything, and I thank you for all the work you are doing
Logged

Offline pamaury

  • Developer
  • Member
  • *
  • Posts: 508
Re: Sansa Fuze+
« Reply #21 on: March 13, 2011, 09:59:25 AM »
Hello,
I'm giving regular updates so here is one. I'm still working on disassembly because I still don't know how exactly the fuze+ is booting but I now have a theory. Apparently, the firmware file is split into 3 parts: the first part is the actual boot part which is probably written to the flash using the format describe in the datasheet. The two other parts are probably written somewhere else and manually loaded by the boot code.
The boot code seems to have three modes: normal mode (boots "play"), usb mode (boot "host") and update mode where it reads the firmware.sb file written at the root and update the flash content with it.

I still need to confirm this but if it were the case, it means we could simple replace the "play" part and have a failsafe mechanism since the host is able to expose the filesystem through usb. I'm also unsure about the checks done to authenticate the firmware updates. I know for sure that 1.32 only accept upgrades and not downgrades.

Sorry for all this taking a long time but the code is really complicated, it is obviously not a simple OS written for the fuze+ but more a full blown RTOS. I really have no estimate for now.
Logged
Please don't PM me, use our IRC channel instead.

Offline pamaury

  • Developer
  • Member
  • *
  • Posts: 508
Re: Sansa Fuze+
« Reply #22 on: April 04, 2011, 05:51:29 AM »
Hello,
I have made some big progress in the analysis of the booting process. I'm now sure sure that the last booting stage is doing something of the firmware.sb file. I've found some cryptographic primitives which suggest that it's somehow checking that the file is valid and probably writing some part of it to the flash. I'm still not done but I'm getting closer.
As suggested in the Wiki, the access to the flash is done through a SD interface which is a good point since there is no FTL and it acts as a block device. It's still unclear to me how the screen works although I've reverse engineered most of code, it's a insane mixture of code, sometimes using GPIOs directly, sometimes using the PIX IP block, without the documentation it might be quite hard to make it work.

I still have no documentation for the touchpad. The photos show it's Synaptics chip but I can't find any datasheet, any help is welcome :)
Logged
Please don't PM me, use our IRC channel instead.

Offline casainho

  • Member
  • *
  • Posts: 309
  • parkour i love dreaming of jumping over trees
    • www.Casainho.net
Re: Sansa Fuze+
« Reply #23 on: April 04, 2011, 06:01:43 AM »
I am looking forward for your work/advances, since I can't for now have a working code for C startup file for interrupts -- I need a working interrupt code for have Rockbox kernel tick working.

Good luck!
Logged
Lyre project - design and build a Free/Open hardware audio player (DAP) and recorder, for use with RockBox firmware.

Offline pamaury

  • Developer
  • Member
  • *
  • Posts: 508
Re: Sansa Fuze+
« Reply #24 on: April 04, 2011, 06:47:00 AM »
Setting up interrupts for a tick timer shouldn't be too difficult, basically you need to:
  • Enable icoll block
  • Setup interrupt vector base
  • Enable timer interrupt
  • Enable timrot block
  • Setup a timer
  • Enable timer irq
You just need to be careful because on this chip to enable a interrupt there are zillions of things to enable (typically you need to enable the irq AND enable to irq to interrupt path). And you perhaps need to setup a clock path somewhere (the timrot uses the crystal osc I think but I don't have the doc right now).
Logged
Please don't PM me, use our IRC channel instead.

Offline casainho

  • Member
  • *
  • Posts: 309
  • parkour i love dreaming of jumping over trees
    • www.Casainho.net
Re: Sansa Fuze+
« Reply #25 on: April 04, 2011, 07:02:07 AM »
Quote from: pamaury on April 04, 2011, 06:47:00 AM
Setting up interrupts for a tick timer shouldn't be too difficult, basically you need to:
  • Enable icoll block
  • Setup interrupt vector base
  • Enable timer interrupt
  • Enable timrot block
  • Setup a timer
  • Enable timer irq
You just need to be careful because on this chip to enable a interrupt there are zillions of things to enable (typically you need to enable the irq AND enable to irq to interrupt path). And you perhaps need to setup a clock path somewhere (the timrot uses the crystal osc I think but I don't have the doc right now).

I also need the assembly C startup code, for setup correct interrupt stacks, etc...
Logged
Lyre project - design and build a Free/Open hardware audio player (DAP) and recorder, for use with RockBox firmware.

Offline yelped

  • Member
  • *
  • Posts: 44
Re: Sansa Fuze+
« Reply #26 on: April 05, 2011, 06:52:34 PM »
Pamaury, can any of these documents help you on the touchpad?
http://www.synaptics.com/developers/archive
Logged

Offline pamaury

  • Developer
  • Member
  • *
  • Posts: 508
Re: Sansa Fuze+
« Reply #27 on: April 06, 2011, 05:06:50 AM »
Hello,
I've not yet reverse engineered any code on the touchpad but these document can prove useful, thanks. I'll tell you when'll I'll come to it but this is not my priority.
Logged
Please don't PM me, use our IRC channel instead.

Offline pamaury

  • Developer
  • Member
  • *
  • Posts: 508
Re: Sansa Fuze+
« Reply #28 on: April 08, 2011, 05:17:19 PM »
Hi all,
although I haven't done much progress I have some great news: I found the USB Recovery mode ! It's all explained on the wiki page SansaFuzePlus but it would be nice if some could confirm:
  • Turn off the device
  • Hold down volume up and while doing so, plug in usb
The device will appear as a HID device from Sigmatel

The VID/PID is coherent with the datasheet unfortunately, it seems to use some HID reports with commands, and the commands are not listed in the datasheet ("A list of USB bootloader commands is available upon request.").
I contacted Freescale to get some information, we'll see if I get an answer. Unfortunately, I couldn't find anything useful about it on Google so ideas are welcome :)
Logged
Please don't PM me, use our IRC channel instead.

Offline pamaury

  • Developer
  • Member
  • *
  • Posts: 508
Re: Sansa Fuze+
« Reply #29 on: April 09, 2011, 02:13:37 PM »
I figured out that there was a Windows program call MfgTools provided by freescale to download a file to the RAM using this recovery mode. I had a look at the protocol and it seems quite easy to reproduce it, TheLemonMan is on the case. This way I managed to download some code as a proof of concept since one simply need to download a normal sb file.
Logged
Please don't PM me, use our IRC channel instead.

  • Print
Pages: 1 [2] 3 4 ... 55
« previous next »
+  Rockbox Technical Forums
|-+  Rockbox Development
| |-+  New Ports
| | |-+  Sansa Fuze+
 

  • SMF 2.0.19 | SMF © 2021, Simple Machines
  • Rockbox Privacy Policy
  • XHTML
  • RSS
  • WAP2

Page created in 0.072 seconds with 18 queries.