Categories

Site Sponsors

Who's Online

  • 0 Members.
  • 10 Guests.

SPMP8k FRMorp – USB IMG dumper

3,972 views

FRMorp uses LIBUSB, and based on the nandoori debug, might actually be portable to various systems and distributions.   LIBUSB is necessary because we want to build the low-level packet ourselves, which is just not possible using pre-packaged “Mass Storage” functions.   On the windows side, we could have gotten it to work using deviceIOcontrol, but that would definitely not be portable.

The only real annoyance with LIBUSB on the windows side is that you have to switch your driver to the LIBUSB driver.   We’ve gone ahead and packaged up an .inf file as well as the driver files in the /win directory.   Since LIBUSB completely takes over the device, windows will no longer be able to see the flash in explorer windows. We suggest forcing the driver in FW update mode.   FW update mode is considered (by windows) to be a separate device than normal mode, so it can use a different driver.   Normal mode can then continue to use the standard MS mass storage driver for file drag & drop.

To update the driver: Plug the USB while holding your device’s magic key to get into FW update mode.   Then, use device manager to “Update Driver” to the libusb.inf from the file.   If it says it’s not for your hardware, you may need to update the VID/PID in the inf file.   The tool also uses VID/PID, so please update in the source and recompile.   When compiling under windows, link to the libusb.a included in the distribution.

For Linux, it should be a lot simpler.   Uncomment the “detach_kernel_driver” line in the source and compile, linking to your own libusb.

For either distribution, feel free to turn off the extra-verbose debug messages by commenting out the #define DEBUG line, as well as to change the filenames and VID/PID if you need to.

The tool is pretty safe – the worst problems we encountered were stalling the device if we Ctrl-C’d the program in the middle of dumping.   A simple USB replug fixed that.   From time to time, the tool would pause for a second during a dump but would always resume dumping a moment later – most times, it blasts through all the data very quickly.

If you get any crazy issues, please log your USB packets and leave a comment.   It’s not necessary or desired that you post logs to the comments, we’ll take those over email.   Just let us know what issues you’re having and we’ll help you work it out.

And here you go.

Source and executable for the Openschemes FRMorp USB dumping tool

Last but not least, let us know if you’ve gotten use from this tool or are working on improvements.   It’s a very basic tool at the moment, and it’s main job is to teach others how to use USB to work with their SPMP8k.   But that does not imply that you can take code from here for your own tool without at least a shoutout – that’s a no-no.   Be cool, and enjoy!

Pages: 1 2

3 comments to SPMP8k FRMorp – USB IMG dumper

  • Greg

    I should have noted I am using frmorp v1.2.

  • oslash

    please make a n00b friendly version i dont know how to compile or anything related to VID/PID

    • openschemes

      Well, messing with firmware is not really a n00b activity. If you break something, you won’t know how to fix it! Nobody wants their game player to be a brick.. :)

      Why not ask a peer to share with you some of the firmware mods they have made. There should be plenty of stuff that you can play with, without having to get into the guts of the device. And when you decide that you want to go all the way in, you’re just going to have to buckle down and begin learning about the system. Good luck to you!

Leave a Reply

 

 

You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>