release
dev builds
extras
themes manual
wiki
device status forums
mailing lists
IRC bugs
patches
dev guide



Wiki > Main > CreativeZENXFi2Port (compare)

Difference: CreativeZENXFi2Port (r6 vs. r5)

Warning, the internal storage is not working so you must install Rockbox on a microsd card !!

Warning, it appears that there could two types of Zen X-Fi2: one NAND based and the other SD based. I've only encountered NAND based but I would like to know if someone has a SD based one, please contact me (AmauryPouly) if you do. See below on how to determine the kind.

Port Status

driverstatuscomments
LCD 95% LCD is working. Still lacking lcd sleep, and inversion.
Keys 100% Physical keys are handled. Touchscreen driver has been implemented.
Music playback 100% Everything works.
FM Radio 0% We don't have a DRI driver so we FM doesn't work.
Recording 0% Not implemented.
Power Management 100% Everything works.
DMA 100% DMA works
SSP 100% SSP works
NAND 0% NAND driver and FTL are not implemented so no internal storage.
SD 100% External SD works.
Clock/voltage 100% Everything works.
USB 100% Everything is implemented and should work.
Manual 00% TBD.
Rockbox Utility 50% Most of the code has been written but we need to put pieces together. Upgrade the bootloader is a bit tricky.

Daily builts

You can download a prebuilt version of Rockbox for the Zen X-Fi2 for the build bots here: zenxfi2.zip. Unpack it to the micro-sd card you will put in the X-Fi2. It should create a .rockbox directory at the root of the sd-card. You still need to installer bootloader the first time to be able to boot rockbox.

Bootloader features

The bootloader comes with a number of features which allow to recover from potential problematic situations.

Booting to the OF

The bootloader can either boot rockbox or the OF. By default it will boot rockbox. The bootloader will boot the OF if menu is hold while powering up (the big button below the screen). This works independently from the power source. For example, the following actions will boot the OF:

  • unplug USB cable, hold menu - then press power for a few seconds

Booting to the OF while the USB cable is plugged is possible but very tricky, here is the procedure:

  • unplug cable, power down
  • put your hand on menu but don't press it
  • plug USB cable
  • wait for a small amount of time (typical is 0.5 second)
  • press menu

The timing is critical, if you press menu too early, recovery mode is entered (black screen) but if you press it too late, rockbox bootloader is entered ! You'll have to repeat many times before success.

Building the bootloader

The bootloader can be built using three different methods. The recommend one is the automatic method using RockboxUtility. The semi-automatic method requires a working cross-compiler and a copy of the Rockbox source code.

Automatic method

TIDI

Semi-Automatic method

Windows with prebuilt file

I prebuilt two complete images because producing them is a bit tricky currently, they will disappear when RbUtil? is ready for the Zen X-Fi2. First download one of those two image, pick the right type (see section at the end to determine the type)

Then get a copy of the latest firmware installer for the Creative Zen X-Fi2, usually called ZEN_X-Fi2_PCFW_L22_1_23_01.exe. Put the downloaded image in the same directory as the installer and rename it to firmware.sb. Plug your device, the OF will boot, now launch the installer: it should give you the opportunity to upgrade. Check that the proposed version is not 1.23.03, it should be 1234.5678.9012 for the NAND and 9876.5432.1098 for the SD. If you don't see those number, it will not work.

Linux + Windows

This method requires the following things:

  • a working cross-compiler (arm-elf-eabi), see HowToCompile
  • a copy of the source code, see HowToCompile
  • a copy of the latest firmware installer for the Creative Zen X-Fi2, ZEN_X-Fi2_PCFW_L22_1_23_01.exe.

First you need to compile the bootloader, to do this follow the instructions from HowToCompile and when running the configure script, select the Creative Zen X-Fi2 and bootloader build. After the build, you should get a bootloader-zenxfi2.creative file (you don't need to go further than the 5. Build step in HowToCompile).

Then you need to build the mkimxboot tool in rbutil/mkimxboot. To do so, just cd into rbutil/mkimxboot and run make. It should produce a mkimxboot executable.

Finally, you need to run the tool with the correct parameters. Assuming you are in rbutil/mkimxboot, run:

=./mkimxboot -i creative-installer.exe -b bootloader-zenxfi2.creative -o firmware.sb -t dualboot -v zenxfi2-nand =

If you have a SD based one, replace zenxfi2-nand by zenxfi2-sd.

You should replace creative-installer.exe by the path to the firmwareinstaller you downloaded from Creative (like ZEN_X-Fi2_PCFW_L22_1_23_01.exe), and replace bootloader-zenxfi2.creative by the path to the bootloader-zenxfi2.creative file produced by the compilation.

This is where you need windows: put the firmware.sb file produced somewhere available for Windows. Reboot to Windows (or use another computer). Put firmware.sb in the same directory as the Creative installer (something called ZEN_X-Fi2_PCFW_L22_1_23_01.exe). Now run the installer and do a normal firmware upgrade: the installer will use the firmware.sb file you put instead of the standard one ! Note that you can use a virtual machine with Windows on it for this step. If you already have rockbox installed, you will need to enter recovery mode or the OF to successfully upgrade.

Of course, to run rockbox, you will also need to do a normal build of rockbox and put rockbox on your device (see HowToCompile but this time to a normal Creative Zen-X-Fi2 build and go until the 6. Install step). Alternatively, you can download the latest build here: http://build.rockbox.org/data/rockbox-creativezenxfi2.zip

Recovery procedure

If for any reason your device doesn't work anymore (doesn't boot, stuck in the bootloader and even the OF doesn't work or if a firmware upgrade failed). You might need to recover your device. You should not attempt this without an advice from someone knowledgeable. The point of the recovery procedure is too reinstall the OF and will remove any trace of the rockbox bootloader.

Linux

NAND vs SD: how to determine type ?

Unfortunately, I currently don't know any simple way since I've never seen a SD-based one myself. The tools under utils/imxtools/scsitools can print the partition table with the storage type, allowing to distinguish NAND vs SD. Opening the player is obviously another solution. Another simple solution is to try one, and if the player stays stuck at Creative logo, it means it is the wrong one, in which case you have to reboot in recovery mode (by holding menu which plugging USB) and reflash.

TODO

-- AmauryPouly - 15 Jan 2013

r10 - 06 Nov 2013 - 12:25:17 - AmauryPouly

Revision r6 - 29 Jan 2013 - 11:32 - AmauryPouly
Revision r5 - 28 Jan 2013 - 19:50 - AmauryPouly
Copyright by the contributing authors.