%TOC% %RED% Warning, the internal storage is not working so you must install Rockbox on a microsd card !! %ENDCOLOR% %RED% 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. %ENDCOLOR% ---+ Port Status | *driver* | *status* | *comments* | | LCD | %GREEN%95%%ENDCOLOR% | LCD is working. Still lacking lcd sleep, and inversion. | | Keys | %GREEN%100%%ENDCOLOR% | Physical keys are handled. Touchscreen driver has been implemented. | | Music playback | %GREEN%100%%ENDCOLOR% | Everything works. | | FM Radio | %RED%0%%ENDCOLOR% | We don't have a DRI driver so we FM doesn't work. | | Recording | %RED%0%%ENDCOLOR% | Not implemented. | | Power Management | %GREEN%100%%ENDCOLOR% | Everything works. | | NAND | %RED%0%%ENDCOLOR% | NAND driver and FTL are not implemented so no internal storage. | | SD | %GREEN%100%%ENDCOLOR% | External SD works. | | USB | %GREEN%100%%ENDCOLOR% | Everything is implemented and should work. | | Manual | %RED%00%%ENDCOLOR% | TBD. | | Rockbox Utility | %ORANGE%50%%ENDCOLOR% | 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: [[http://build.rockbox.org/data/rockbox-creativezenxfi2.zip][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. Booting to the OF can be achieved by several combination, depending on the context: * usb *unplugged* * hold menu for a small time: boot to the OF * hold menu for a long time (until logo): boot to the OF in recovery mode * usb *plugged* * hold power for a small time: boot to the OF * hold power for a small time *then* menu for a long time (until logo): boot to the OF in recovery mode Note that when usb plugged, you need to press the reset button to reboot and perform this combination. ---+ 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) * NAND-based: [[https://www.dropbox.com/s/r4wx1446pj11cnm/firmware-nand.sb][firmware.sb]] and rename it to =firmware.sb= * SD-based: [[https://www.dropbox.com/s/7strxwxb0zbzjew/firmware-sd.sb][firmware_sd.sb]] and rename it to =firmware_sd.sb= If you are unsure about your device type, download both: the installer will pick the right one provided that they are correctly named. 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 images *in the same directory* as the installer make sure they are *correctly named* (=firmware.sb= for NAND and =firmware_sd.sb= for SD). Plug your device, the OF will boot, now launch the installer: it should give you the opportunity to upgrade. %RED% 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. %ENDCOLOR% ---+++ 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. *NOTICE* If you have a sd based device, =firmware.sb= should be renamed to =firmware_sd.sb= 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 You will to download the Rockbox source code and build a utility program. You do *NOT* need to have a working cross compiler, not to build rockbox executable. See HowToCompile to download the source code. Then go into =utils/imxtools/sbtools/= and run =make=. You will need the development version of the libusb-1.0 library. when done, you should have (among others) a tool called =utils/imxtools/sbtools/sbloader=. You will also need to build the =mkimxboot= tool by going into =rbutil/mkimxboot= and running =make=, producing an executable called =rbutil/mkimxboot/mkimxboot=. Next you will need to download latest firmware installer for the Creative Zen X-Fi2 (see above sections). You need to determine your device type (NAND vs SD) using section below. Next run this one of these command to extract the firmware from the updater (replace the updater name by the path to your downloaded updater): =mkimxboot -i ZEN_X-Fi2_PCFW_L22_1_23_01e.exe -o firmware_sd.sb -w -v zenxfi2-sd= (for SD) =mkimxboot -i ZEN_X-Fi2_PCFW_L22_1_23_01e.exe -o firmware_sd.sb -w -v zenxfi2-nand= (for NAND) The utility should end with result 0 and produce the =firmware_sb.sb= or =firmware_nand.sb= file. Finally upload this file to the device using sbloader (replace =firmware.sb= by the correct file depending on the type): =sbloader 0 firmware.sb= The Creative OF is now running but the firmware itself has not been written yet. To complete the recovery, you need to do a complete firmware upgrade. You have two solutions, depending on your setup: ---+++ With Windows in a virtual machine You will need to have a virtual machine running Windows. Don't unplug your device (which is still running Creative OF) and give it to the virtualised Windows. Next run the Creative updater in the guest Windows to do a complete upgrade. ---+++ With Linux tools You will need to build some more tools: go into =utils/imxtools/scsitools/= and run =make=. %RED% Those tools are not finished yet %ENDCOLOR% ---++ Windows Unfortunately, there is no native Windows "only" solution. You will need to proceed as for the Linux version to extract the =firmware_sd.sb= or =firmware_nand.sb= file. You can build them using MinGW or Cygwin (see DevelopmentGuide). Alternatively, you can download the prebuilt rockbox bootloader files from the above section, *in which case you will have to hold power when running =sb_loader= to boot the OF and not rockbox*. You cannot use =sbloader= in our trunk because it is Linux-only. Fortunately, Freescale has a Windows version of this utility called =IMX_SB_LOADER=. Go to freescale website, search for IMX233, go to Software/Tools tab, you will find it in the Programmers section. Alternatively search for "IMX_SB_LOADER" on Google. Next upload the firmware to the device this way (replace =firmware.sb= by the proper name) =sb_loader -f firmware.sb= You device you now boot Creative OF and you can do a complete firmware upgrade using Creative updater. ---+ NAND vs SD: how to determine type ? You can determine the type by looking at the model number, written on the back of the device * =DVP-FL0012=: NAND based * =DVP-FL0015=: SD based * =PF2494=: unknown, if you have one, please contact me (AmauryPouly) TODO -- Main.AmauryPouly - 15 Jan 2013
ore topic actions
r10 - 06 Nov 2013 - 12:25:17 -
Copyright © by the contributing authors.