iPod nano 2nd Generation Port
Rockbox currently can now (as of October 2009) boot and run on the 2nd generation iPod nano. This includes a read/write NAND (disk) driver and working plugins. Audio works, but there are many other unimplemented features.
Rockbox installation consists of two parts - installing the Rockbox bootloader to your ipod, and installing Rockbox itself. The Rockbox bootloader is installed by running the ipodpatcher
tool, and just needs to be done once. After you've done this, you can still use the Apple firmware by turning on the hold switch when powering on your Nano.
Rockbox itself is installed by downloading http://build.rockbox.org/data/rockbox-ipodnano2g.zip
and extracting the contents to the root (i.e. top-level) of your ipod. This URL always points to the most recent "current build" of Rockbox, updated automatically a few minutes after every change to the Rockbox source code.
The Rockbox manual
has full installation instructions - see the "manual installation" part of the Installation chapter (the "automatic installation" - using Rockbox Utility - does not yet work for the 2nd generation Nano).
The current release of Rockbox's graphical installer, RockboxUtility
, does not support the 2nd Generation Nano, but support has been added to SVN
and you can use RockboxUtility
if you compile it yourself from the latest source code
In mid-2009, a vulnerability in the iPod's original firmware was discovered in its "Notes" application. This was exploited and used to dump the Boot ROM from within the Samsung SOC. This then allowed decrypting and dumping of the contents of the NOR flash (containing the iPod's bootloader, disk mode and diagnostic mode), which in turn allowed the encryption of the main firmware partition to be understood.
It is now possible to encrypt (using the AES hardware crypto unit inside the Samsung SoC
) a bootloader and install it onto an iPod Nano 2G's firmware partition using ipodpatcher. Bootloader binaries are encrypted on an ipod using the crypt_firmware viewer plugin.
The following is a list of known bugs in the Nano 2G port:
- The Rockbox Info screen shows the wrong disk size (due to the 2048-byte sectors). Fixed in r23596.
The following table shows the current status in Rockbox SVN of the various drivers required to be implemented before Rockbox is fully functional on the 2nd gen Nano.
| Kernel (core sleep, timers)
| Interrupt handling core code
| LCD driver
|| 95% Full functionality implemented, but needs benchmarking and (if possible) optimising.
| NAND/FTL driver
|| 90% Read/write driver implemented, although still possibly buggy.
| ADC driver
|| 50% Battery ADC seems to work, but fuel gauge needs calibrating
| Button driver
|| 90% Shares the same clickwheel driver as earlier ipods, but clickwheel acceleration is not yet enabled/working.
| USB handler
|| 90% Mostly works, but there are some minor problems
| Power handling
|| 50% We can control the PMU and charger, but doing it properly depends on USB.
| RTC driver
| I2C driver
| I2S driver
| CPU frequency changing
|| 50% Not in SVN yet, needs testing (FS#10714)
| Audio ADC/DAC driver
|| 80% Playback-only right now
(table needs to be reinserted)
Entering DFU Mode
Entering DFU Mode on the nano is a little tricky. I had done so by doing the following:
- Connect the iPod to a PC running Linux.
- dd the firmware partition and the MBR to backup files (dd if=/dev/sdX1 (replace X with the letter assigned to the device) of=nano-of.bin; dd if=/dev/sdX1 of=mbr.bin count=1)
- dd some random data to the firmware partition to trash it (dd=/dev/urandom of=/dev/sdX1); let it run until it can't anymore.
- Disconnect, reset (MENU+SELECT), then reattach it to the PC.
- Reset it again while it's still connected, then immediately hit BACK+PLAY.
A picture of the dock connector cable should appear, along with the Apple support URL. This is DFU mode.
(Note: I attempted to enter DFU mode on a nano with a working firmware. However, the key combination didn't work, confirming that DFU mode is only accessible when the iPod's firmware is damaged in some way.)
Some tools that may be useful to try out on the nano's DFU mode:
- xpwn, used to generate custom iPhone firmwares, but may do something on the nano as well.
Copyright © by the contributing authors.