Rockbox Development > New Ports

Sansa Fuze+

<< < (7/162) > >>

metaphys:

--- Quote from: pamaury 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 usbThe 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 :)

--- End quote ---

I can confirm it even with last firmware:

--- Quote ---[16553.669075] usb 1-1: new high speed USB device using ehci_hcd and address 4
[16553.783791] usb 1-1: New USB device found, idVendor=066f, idProduct=3780
[16553.783799] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[16553.783806] usb 1-1: Product: ROM Recovery
[16553.783810] usb 1-1: Manufacturer: Sigmatel, Inc.
[16554.210234] generic-usb: probe of 0003:066F:3780.0001 failed with error -22
[16554.210261] usbcore: registered new interface driver usbhid
[16554.210264] usbhid: USB HID core driver

--- End quote ---

Anyway did you saw that :
http://mympxplayer.org/sigmatel-recovery-guide-updated-vt8150.html ?

pamaury:
The link you provide apply to older versions of the stmp chips (35xx and 36xx iirc) which used a different recovery mechanism (basically a DFU mode and a much simpler sb file format).

Anyway, I got an answer from Freescale and it was the same as TheLemonMan got: the bootloader commands are under a NDA. Anyway, both of us managed to reverse engineer the part of the protocol we needed, here is a link to the short program to download some code on the device:
https://github.com/pamaury/pa-tools/tree/master/fuze+/recovery_hid
There might be a conflict with usbhid so one perhaps to unload it (a problem TheLemonMan encountered).
Here is the link to his code (and there quick description of the protocol):
https://github.com/LemonBoy/OpenBLTC
There might a subtle difference here because he uses a reset to end the transfer and I wait for the interrupt transfer on my side. Since we do not have the same device and the same chip (3700 vs 3780), there might a difference here too.

pamaury:
I didn't have much time last week but this week-end I fixed some bugs in sbinfo (now called sbtoelf) and wrote an open-source version of elftosb. All this can be found in the SVN.

pamaury:
Since I've begun writing some code for the recovery mode of the fuze+, I thought it would be good to publish it somewhere before it's ready. Everything can be found here: https://github.com/pamaury/pa-tools/tree/master/fuze+
The recovery_hid is the tool to download the sb file to the device. To build the sb file, one need elftosb, the current Makefile uses the syntax of the one found in Rockbox trunk but with minor tweaks it can be made to use Freescale's one.

pamaury:
Hello,
I've got some good news: I've managed to make USB work (wasn't too hard) so using another tool in my repo (usb_debug) I can output debug strings ! I've started to write some code for the LCD and it appears that there might be two models available out there. Unfortunately, my current code currently doesn't work, the LCD is not responding :( I hope to have LCD working soon.

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version