%TOC% %RED% Warning !! There have been several reports of malfunctioning devices and it is unclear if it is related to Rockbox or not since similar problems happen with the original firmware. Remember that you use Rockbox at your own risk! %ENDCOLOR% ---+ Port Status | *feature* | *status* | *comments* | | LCD | %GREEN%100%%ENDCOLOR% | Both kinds of LCD are fully working. | | Keys | %GREEN%90%%ENDCOLOR% | Physical keys are handled (see (1)). Touch pad RMI driver has been implemented, some basic gesture analysis has been written but needs to be enhanced. | | Music playback | %GREEN%100%%ENDCOLOR% | Everything works | | FM Radio | %GREEN%100%%ENDCOLOR% | Everything works. | | Recording | %YELLOW%90%%ENDCOLOR% | Everything works, need more testing to be declared stable. | | Power Management | %GREEN%100%%ENDCOLOR% | Everything works. | | MMC | %GREEN%100%%ENDCOLOR% | MMC works, I can switch the internal flash to 8-bit @48 MHz | | SD | %GREEN%100%%ENDCOLOR% | SD works. | | USB | %GREEN%100%%ENDCOLOR% | Everything works. | | Manual | %GREEN%100%%ENDCOLOR% | Manual should be 100% complete. Contact JeanLouisBiasini (jlbiasini) if you still notice some missing part. | | Rockbox Utility | %GREEN%100%%ENDCOLOR% | Rockbox Utility now fully handles Fuze+. | * (1) The volume down key is wired to a GPIO but volume up and power button are wired to the PSWITCH pin for power up/down/recovery. The detection is made by the chip and is voltage based which means that one can detect when either one of those is down but it's impossible to distinguish between when volume up is down and when both are down. Is there another way to handle this ? ---+ 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 *volume down* is hold while powering up. This works *independently* from the power source. For example, the following actions will boot the OF: * hold volume - *then* press power for a few seconds * hold volume - *then* plug the usb cable (plugged into wall outlet or computer) Note that booting to the OF might be necessary to complete a bootloader update if done with rockbox USB by putting =firmware.sb= to the root of the filesystem. ---+++Booting the OF in MTP USB mode. Using MTP mode in the OF with Rockbox installed is a bit tricky. Assuming the OF is set to use MTP mode (Settings > USB Mode > MTP), If the device is powered off, one can hold the Volume Down button, plug in the USB cord, and keep the Volume Down button pressed for about 3 1/2 seconds. If the Volume Down button is pressed for too long, the OF will boot in MSC mode, in which it emulates a USB flash drive. On the other hand, if the Volume Down button isn't held down for long enough, the OF won't boot at all, (instead, Rockbox will). If the player is already powered on, unplugged, and using the OF, one can plug the device into the computer. The OF will freeze for about 1 second, and shutdown (the screen will go blank). Once the freeze starts, press and hold the Volume Down button as stated above, but only for about 2.5 seconds. If the player is powered on while running Rockbox, you will need to shutdown the player, and follow the instructions described above. ---+ Installing the bootloader The bootloader can be installed using three different methods. The recommended 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 * Use RockboxUtility. Please refer to Rockbox manual for Sansa Fuze+ on how to do so. * RockboxUtility will ask you to provide a copy of Sansa original firmware for the Fuze+. You may manually download it from Sansa Forum Website here: [[http://mp3support.sandisk.com/firmware/fuzeplus/fuzeplus02.38.06.zip][version 02.38.06]] ---++ Semi-Automatic method ---+++ Linux 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 for the Fuze+, you need to decompress it, it is be named =firmware.sb= First you need to compile the bootloader, to do this follow the instructions from HowToCompile and when running the configure script, select the Fuze+ and bootloader build. After the build, you should get a =bootloader-fuzeplus.sansa= 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 sandisk-firmware.sb -b bootloader-fuzeplus.sansa -o firmware.sb -t dualboot= You should replace =sandisk-firmware.sb= by the path to the firmware you downloaded from Sandisk and extracted from the archive, and replace =bootloader-fuzeplus.sansa= by the path to the =bootloader-fuzeplus.sansa= file produced by the compilation. Note that this command will produce a file called =firmware.sb= so if you put a copy of the =firmware.sb= file from Sandisk in this directory, rename it to something else like =sandisk-firmware.sb= before running the command. Finally, plug your Fuze+ and put the =firmware.sb= file at the root of the file system, unmount and unplugged just like a regular firmware update. Note that if you already have a rockbox bootloader installed you need to reboot to the OF for the upgrade to be effective. 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 Fuze+ build and go until the 6. Install step). If you want to boot to the OF, press Volume Down on boot (hold it, press power, wait a few seconds and release it). ---++ Alternative method you need * a compiled bootloader: [[http://download.rockbox.org/bootloader/sandisk-sansa/fuzeplus/][see here]] - I will keep it up to date. Keep in mind that bootloader should be updated as rarely as possible. The actual program is in the rockbox build itself, not in the bootloader. Bootloader won't be updated as long as it works. * Then you also need the rockbox build itself. Updated builds can be downloaded here: http://build.rockbox.org/data/rockbox-sansafuzeplus.zip Extract the 2 zip file to your player's root directory then perform the usual manual update via booting into OF. (Sansa recommendation applies here too: no SD card, and check that you have enough battery before performing the update) ---+ 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 (or VirtualBox Linux VM) 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 for the Fuze+, you need to decompress it, it is be named =firmware.sb= First you need to compile the bootloader, to do this follow the instructions from HowToCompile and when running the configure script, select the Fuze+ and bootloader build. After the build, you should get a =bootloader-fuzeplus.sansa= 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. Then you need to build the sbloader tool in =utils/imxtools=. To do so, just cd into =utils/imxtools= and run =make=. It should produce several executable and one of them is =sbloader=. Then you need to run the tool with the correct parameters to build a recovery image. Assuming you are in =rbutil/mkimxboot=, run: =./mkimxboot -i sandisk-firmware.sb -b bootloader-fuzeplus.sansa -o recovery.sb -t recovery= Then put your device in recovery mode: power it off, hold volume up and plug the usb cable then release volume up after a few seconds. The screen should stay black and the device will report as a HID device. Finally send it to your device using sbloader(replace =blabla= by the path to =utils/imxtools=)(you will probably need run it as root). =blabla/sbloader -x 1024 recovery.sb= If the transfer fails at the init step, you might suffer from a well-known kernel problem. See SansaFuzePlus for troubleshooting. The screen should display a few lines and the device you report as a mass storage but you OS will not be able to mount it. It should have 4 partitions. Assuming that it was detected as =/dev/sdb=, send the OF file to the second partition this way: =dd if=sandisk-firmware.sb bs=512 seek=4 of=/dev/sdb2= When done, unplug your device and you are done. ---+ Other recovery See STMP37xxRecovery ---+ Battery Benchmark See http://www.rockbox.org/wiki/SansaRuntime -- Main.AmauryPouly - 01 May 2011
r78 - 29 Jun 2016 - 17:28:08 -
Copyright © by the contributing authors.