iPod nano 2nd Generation Port
Rockbox can boot and run on the 2nd generation iPod nano. This includes a read/write NAND (disk) driver and working plugins. Most features work, see the list below for things that are still missing.
A manual 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 or holding the menu button 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.
Installing the 2nd Generation Nano is also supported by RockboxUtility
, Rockbox's graphical installer. This is usually the simplest way to install Rockbox and does not require to run other tools or download the build manually -- the steps outlined above are done automatically. The Rockbox manual
has full installation instructions.
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.
As of Rockbox 3.7 (November 2010), the iPod Nano 2G is considered a stable target.
The following is a list of known bugs in the Nano 2G port:
- After an unclean shutdown (menu+select reset or a crash), it may sometimes lose all contents on the data flash. This seems to have been resolved, but we aren't sure yet. Avoid menu+select resets where possible and hold the play button to shut down the player properly instead.
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, seems to be mostly stable. Needs performance improvements though.
| ADC driver
| Button driver
|| Done Shares the same clickwheel driver as earlier ipods. Clickwheel acceleration enabled since r23748.
| USB handler
|| 90% Mass storage works, HID doesn't.
| Power handling
| RTC driver
|| 90% Alarm not implemented yet.
| I2C driver
| I2S driver
| CPU frequency changing
|| 50% No dynamic undervolting yet
| Audio ADC/DAC driver
|| 80% Playback-only right now
- Accessory Protocol
- Dynamic Undervolting
- Better Audio DMA handling to allow dynamic undervolting
- Better current consumption estimation
- FTL/NAND performance improvements on chips that don't support multibank writes
- Fix USB interrupt transfers or whatever else breaks the HID.
- Implement RTC alarm
- Implement missing LCD features (LCD sleep etc.)
- Implement hardware keyclick
- Fix popping noise on power on
- Figure out and fix the reason for the increased power consumption before playback is started
(table needs to be reinserted)
Copyright © by the contributing authors.