:: S1MP3.de

:: Navigation

:: Advertise

:: Tools.s1fwx


        ____     ___                  
.-----.|_   |  .'  _|.--.--.--..--.--.
|__ --| _|  |_ |   _||  |  |  ||_   _|
|_____||______||__|  |________||__.__|
                                      

Description

s1fwx (s1 firmware extractor) is an opensource commandline tool which lets you extract the original firmware from your s1mp3 player device. additional features support operations on the firmware file, like decrypt, extract and archive. this way you could investigate all the files included in a firmware, change all the content and put it back together.

There are two known archive formats:

AFI
  • this archives include files needed to flash the device, a minimal set may consist of an BRECFxxx.BIN (the bootloader) and a FWIMAGE.FW file (see below)
FW/FWI
  • firmware image files include all firmware files needed during runtime
top

Commandline Usage

i fname.ext
display file info
x fname.ext
extract firmware file
s fname.ext > new.script
generate script from file
a new.fw:fw < def_fw.script
create firmware file by script
a new.bin:afi < def_afi.script
create afi file by script
l *.bin
list entire content of any file
f dump.bin
extract firmware from player
u dump.bin
upload firmware to player
r dump.bin
repair dumped firmware files
top

Release Notes

v2.5
  • major changes to the archive function, now it uses scripts
  • commandline options changed, now its no more case sensitive
  • fixed a small bug in the firmware flash extractor caused by some devices
v2.6
  • all known bugs removed, upload archived files should be possible!
  • added new script command "DATE"
  • removed some bugs inside archive function
  • flash-read autodetects firmware size, no buffer-overruns anymore
  • fixed checksum generator
v3.0
  • additional information gets extracted from the players firmware
v3.1
  • improved repairing of extracted firmware files
v3.2
  • improved firmware extraction and added upload ability
v3.3
  • allows extraction of empty files
top

Frequently Asked Questions

How to extract a firmware from the player...

Extracting your players firmware is a very good idea just to create a backup of the original firmware files. It's no promise that you could always backup your player after some bad firmare update, but at least you have some more possibilities.

First download newest version of s1fwx from this page and extract the archive. Then connect your mp3 player device to your computers usb port and wait until it gets detected. Now doubleclick the extracted file "extract.bat" or run "s1fwx f dump.bin" from the windows commandline console. Skip the disclaimer by pressing space and select the drive your player gets mounted to. (eg. if detected drives displays "<x>" then choose drive "x:" by pressing x)

Now s1fwx should start extracting your firmware, this may take arround 10 seconds. If all went well and no error gets displayed it will display the content of the extracted firmware file as it was readden from your player.

Before you could update your player with this firmware file using the original "Mp3 Player Update Tool" you will first have to repair it. Start "repair.bat" or type "s1fwx r dump.bin". A backup will be saved at "dump.bi$" automatically and the repaired file is now available as "dump.bin".

Notice that its not possible to do a firmware recovery with this file (only regular firmware updates) since there are missing files needed by the "Mp3 Player Update Tool" recovery mode. Since this files couldnt be found on your player you will need to get them from some official firmware file which is known to work with your players hardware.

Either you first could recover to this firmware before updateing to "dump.bin", or you could insert the needed files from the original AFI file into "dump.bin" using s1fwx. The original firmware has to support your flash chip(s). It doesnt matters if its just using different backlight or key-mapping.

How to extract firmware files...

Here some example how to extract the whole content of the AFI file "firmware.bin". Place firmware and s1fwx in one folder, open commandline console (run "cmd") and go to the folder containing the files. To extract the AFI type "s1fwx x firmware.bin". Then make a sub- folder "md fw", change "cd fw" and extract the firmware files using "../s1fwx x ../fwimage.fw".

Now you should have extracted all the files usually included in some general firmware file.

How to archive firmware files...

To modify files in a firmware you will have to extract, modify and then archive the files back together to one AFI file. First generate the script from the firmware file "firmware.bin" using "s1fwx s firmware.bin >firmware.bin.script". Then extract the files and modify their content if you want. if you want to add or remove files or change file specific parameters edit the generated script using an usual text editor (i think the syntax is self explaining). To archive the files back together type "s1fwx a new_firmware.bin:afi <firmware.bin.script ".

This could also be used to archive firmware files like "fwimage.fw". In this case use "s1fwx a fwimage.fw:fw <fwimage.fw.script".

How to recover to an extract firmware...

Flashing your player with an extracted firmware file is a very simple procedure, just take care you repaired the extracted file (see above) and use the latest "MP3 Update Tool" available at the download section. This works good until the day we flash our player with some partial corrupted firmware (a total corrupted firmware will damage the player permanently) and the update tool tells something about recovery mode and just opens an open-dialog. (maybe you will have to open your player and short some pins to get to this point, read the forum for further instructions)

If you select an extracted firmware file now, it just displays "Invalid upgrade firmware file". This isnt a bug of s1fwx! The problem is that recovering needs some extra files included inside our AFI-file that isnt needed for simple flashing. This files couldnt be found on the players flash, the only source is to look for them inside some original firmware files.

There are two methods to solve this problem and each of them expects you could find some original firmware file which is compatible to your players hardware and extracted firmware.

[Method A]
  • - recover using some official firmware
  • - format the player (with the "MP3 Player Disk Tool")
  • - finally update to the extracted firmware file
[Method B]
  • - extract the extracted and the official firmware file using s1fwx (only the AFI part)
  • - generate a script for both files ("s1fwx s dump.bin >dump.script")
  • - merge the scripts to some new script file using a text editor
  • - build a firmware using the new script ("s1fwx a new.bin:afi <new.script")

Both methods should have the same effect, give it a try!

s1fwx fails to dump the players firmware, why?

it seems you have a player with firmware v9.0.5 or above (short: v9 player). those firmwares don't support the needed adfu command anymore and couldn't get read out by s1fwx. another tool which supports these devices is in development.

usually the error message should look like:

detect firmware size...
error: The system cannot read from the specified device.

top
Copyright 2005-2009 wiRe counter