Before doing anything... Remember this is a GPL
I take no responsibility of what will happen, if you use this software.
Ok, undestood? Good. And now let's get to the point...
How to read firmware using libzenstone
- Download libzenstone-x86-win32, extract
- Install libusb-win32-bin
- Copy libusb0.sys to <win_dir>/system32/drivers
- Copy libusb0.dll to <win_dir>/system32
- Choose your mp3 player (Mass storage device)
- Open console, run
libzen.exe -i to check if you device is detected
libzen.exe -r to read firmware
- Only if you see "Reading firmware succeded" all files have been downloaded
- Download sources
- Change MSVC project, good luck :) (I don't know if there is x64 even version of libusb)
- Download sources
- You need package containing libusb headers and lib (under Ubuntu it is libusb-dev)
./zen_console -i to check if you device is detected
./zen_console -r to read firmware
First of all, if any error occurs - don't worry. Program only reads
the content of device,
it doesn't write anything. So you can just unplug the mp3 player and if attached again it would work as
- Windows: There are often some transfer errors. The more times you try,
the faster they appear. Unplug and plug the device again.
- Linux - "Zen Stone not found or error occured": There cannot be 2 drivers using same device.
Although there is auto-remove kernel driver option, it doesn't always work. If so first
try to umount USB drive if you have auto-mount, if this doesn't help
- Linux - "Device detected, but is not ready, try running the program again":
Do what the command says (the more the better :D). If if doesn't help do same as in the previous point.
Well, there is a possibility to read firmware not only from Zen Stone. Just use the -pid
options to specify yours device Vendor and Product id (can be checked using lsusb
on Linux or install-filter-win
from libusb on Windows).
Devices with high probability of working (same chip - STMP3550):
- iPod Shuffle
- Samsung YP-U1 +YP-F1
- Samsung YP-U2 +YP-F2
- Creative Zen Stone Plus
Generally, you can try reading firmware from all devices Sigmatel STMP3xxx chips, it shouldn't do any harm
to your mp3 player because the read command is the same for all chips.
I have tried to read firmware of PENTAGRAM Vanquish VOLT:
libzen.exe -i -vid 0x066f -pid 0x8000
libzen.exe -p -vid 0x066f -pid 0x8000
Only -i mode was succesfull:
Chip id: 0x3700
Protocol version: 0x0600
-r mode ended with timeout, protocol for STMP3700 chip based mp3 is different. The device wasn't harmed :)
Some technical crap
A list of all memory banks on Zen Stone:
Bank 1 [DATA] 1061421056B -> FAT content
Bank 4 [SYSTEM] 262144B -> bootmanager.sb
Bank 5 [SYSTEM] 524288B -> usbmsc.sb (mass storage driver)
Bank 6 [SYSTEM] 262144B -> stmpsys.sb (system on chip)
Bank 7 [SYSTEM] 1310720B -> resources.bin
Bank 8 [SYSTEM] 1310720B -> don't know, copy of resources
Bank 9 [SYSTEM] 7864320B -> don't know, 0xFF 0xFF 0xFF and so on...
The difference between this files and files that you can download with updater from internet are:
- Different beggining, .sb files has some ASCII info about product and component version
- Different size, .bin files have size divided by 2048 (sector size), unnecessary bytes are filled with 0xFF