Difference between revisions of "Status"
|  (Added new ipods) | User890104 (talk | contribs)  | ||
| (79 intermediate revisions by 11 users not shown) | |||
| Line 1: | Line 1: | ||
| − | This status is based on the progress the  | + | <!-- | 
| + | {{outdated|reason=This page is not updated anymore, please refer to [https://www.rockbox.org/ Rockbox's website] for a list of supported iPod models.}} | ||
| + | --> | ||
| + | This status is based on the progress the freemyipod team has made so far. This is mostly a summary of reverse engineering and 'janitorial' work required to run end-user software like Rockbox or Linux. | ||
| − | {|  | + | {| class="wikitable" | 
| − | !  !!  | + | !  !! [[Nano 2G]] !! [[Nano 3G]] !! [[Nano 4G]] !! [[Nano 5G]] !! [[Nano 6G]] !! [[Nano 7G]] !! [[Classic 1G]] !! [[Classic 2G]] !! [[Classic 3G]] | 
| |- | |- | ||
| − | |  | + | | Code execution | 
| | <span style="color:green">'''Yes'''</span> | | <span style="color:green">'''Yes'''</span> | ||
| | <span style="color:green">'''Yes'''</span> | | <span style="color:green">'''Yes'''</span> | ||
| | <span style="color:green">'''Yes'''</span> | | <span style="color:green">'''Yes'''</span> | ||
| + | | <span style="color:green">'''Tethered'''</span> | ||
| + | | <span style="color:green">'''Yes'''<ref name="nano6g7g"/></span> | ||
| + | | <span style="color:green">'''Yes'''<ref name="nano6g7g"/></span> | ||
| | <span style="color:green">'''Yes'''</span> | | <span style="color:green">'''Yes'''</span> | ||
| + | | <span style="color:green">'''Yes'''</span> | ||
| + | | <span style="color:green">'''Yes'''</span> | ||
| + | |- | ||
| + | | Firmware decryption | ||
| | <span style="color:green">'''Yes'''</span> | | <span style="color:green">'''Yes'''</span> | ||
| | <span style="color:green">'''Yes'''</span> | | <span style="color:green">'''Yes'''</span> | ||
| | <span style="color:green">'''Yes'''</span> | | <span style="color:green">'''Yes'''</span> | ||
| | <span style="color:green">'''Yes'''</span> | | <span style="color:green">'''Yes'''</span> | ||
| − | | <span style="color: | + | | <span style="color:red">'''No'''</span> | 
| | <span style="color:red">'''No'''</span> | | <span style="color:red">'''No'''</span> | ||
| + | | <span style="color:green">'''Yes'''</span> | ||
| | <span style="color:green">'''Yes'''</span> | | <span style="color:green">'''Yes'''</span> | ||
| | <span style="color:green">'''Yes'''</span> | | <span style="color:green">'''Yes'''</span> | ||
| |- | |- | ||
| − | |  | + | | [[U-Boot]] | 
| | <span style="color:red">'''No'''</span> | | <span style="color:red">'''No'''</span> | ||
| | <span style="color:red">'''No'''</span> | | <span style="color:red">'''No'''</span> | ||
| | <span style="color:red">'''No'''</span> | | <span style="color:red">'''No'''</span> | ||
| + | | <span style="color:green">'''Yes'''</span> | ||
| | <span style="color:red">'''No'''</span> | | <span style="color:red">'''No'''</span> | ||
| | <span style="color:red">'''No'''</span> | | <span style="color:red">'''No'''</span> | ||
| Line 27: | Line 39: | ||
| | <span style="color:red">'''No'''</span> | | <span style="color:red">'''No'''</span> | ||
| | <span style="color:red">'''No'''</span> | | <span style="color:red">'''No'''</span> | ||
| + | |- | ||
| + | | [[emCORE]] | ||
| + | | <span style="color:green">'''Yes'''</span> | ||
| | <span style="color:red">'''No'''</span> | | <span style="color:red">'''No'''</span> | ||
| + | | <span style="color:green">'''Yes'''</span> | ||
| | <span style="color:red">'''No'''</span> | | <span style="color:red">'''No'''</span> | ||
| | <span style="color:red">'''No'''</span> | | <span style="color:red">'''No'''</span> | ||
| | <span style="color:red">'''No'''</span> | | <span style="color:red">'''No'''</span> | ||
| + | | <span style="color:green">'''Yes'''</span> | ||
| + | | <span style="color:green">'''Yes'''</span> | ||
| + | | <span style="color:green">'''Yes'''</span> | ||
| |- | |- | ||
| − | |  | + | | Boot [[OSOS]] | 
| + | | <span style="color:green">'''Yes'''</span> | ||
| + | | <span style="color:green">'''Yes'''</span> | ||
| | <span style="color:red">'''No'''</span> | | <span style="color:red">'''No'''</span> | ||
| + | | <span style="color:grey">'''No'''<ref name="tethered"/></span> | ||
| | <span style="color:red">'''No'''</span> | | <span style="color:red">'''No'''</span> | ||
| | <span style="color:red">'''No'''</span> | | <span style="color:red">'''No'''</span> | ||
| + | | <span style="color:green">'''Yes'''</span> | ||
| + | | <span style="color:green">'''Yes'''</span> | ||
| + | | <span style="color:green">'''Yes'''</span> | ||
| + | |- | ||
| + | | SDRAM | ||
| + | | <span style="color:green">'''Yes'''</span> | ||
| | <span style="color:red">'''No'''</span> | | <span style="color:red">'''No'''</span> | ||
| + | | <span style="color:green">'''Yes'''</span> | ||
| + | | <span style="color:grey">'''No'''<ref name="tethered"/></span> | ||
| + | | <span style="color:red">'''No'''</span> | ||
| + | | <span style="color:red">'''No'''</span> | ||
| + | | <span style="color:green">'''Yes'''</span> | ||
| + | | <span style="color:green">'''Yes'''</span> | ||
| + | | <span style="color:green">'''Yes'''</span> | ||
| + | |- | ||
| + | | UART | ||
| + | | <span style="color:green">'''Yes'''</span> | ||
| + | | <span style="color:green">'''Yes'''</span> | ||
| + | | <span style="color:grey">'''No'''<ref name="uartnotneeded"/></span> | ||
| + | | <span style="color:green">'''Yes'''</span> | ||
| | <span style="color:red">'''No'''</span> | | <span style="color:red">'''No'''</span> | ||
| | <span style="color:red">'''No'''</span> | | <span style="color:red">'''No'''</span> | ||
| + | | <span style="color:green">'''Yes'''</span> | ||
| + | | <span style="color:green">'''Yes'''</span> | ||
| + | | <span style="color:green">'''Yes'''</span> | ||
| + | |- | ||
| + | | USB | ||
| + | | <span style="color:green">'''Yes'''</span> | ||
| + | | <span style="color:green">'''Yes'''</span> | ||
| + | | <span style="color:green">'''Yes'''</span> | ||
| + | | <span style="color:green">'''Yes'''</span> | ||
| | <span style="color:red">'''No'''</span> | | <span style="color:red">'''No'''</span> | ||
| | <span style="color:red">'''No'''</span> | | <span style="color:red">'''No'''</span> | ||
| + | | <span style="color:green">'''Yes'''</span> | ||
| + | | <span style="color:green">'''Yes'''</span> | ||
| + | | <span style="color:green">'''Yes'''</span> | ||
| + | |- | ||
| + | | SPI | ||
| + | | <span style="color:grey">'''Unused'''</span> | ||
| + | | <span style="color:green">'''Yes'''</span> | ||
| | <span style="color:red">'''No'''</span> | | <span style="color:red">'''No'''</span> | ||
| | <span style="color:red">'''No'''</span> | | <span style="color:red">'''No'''</span> | ||
| | <span style="color:red">'''No'''</span> | | <span style="color:red">'''No'''</span> | ||
| | <span style="color:red">'''No'''</span> | | <span style="color:red">'''No'''</span> | ||
| + | | <span style="color:green">'''Yes'''</span> | ||
| + | | <span style="color:green">'''Yes'''</span> | ||
| + | | <span style="color:green">'''Yes'''</span> | ||
| |- | |- | ||
| − | |  | + | | I2C | 
| − | | <span style="color: | + | | <span style="color:green">'''Yes'''</span> | 
| + | | <span style="color:green">'''Yes'''</span> | ||
| + | | <span style="color:green">'''Yes'''</span> | ||
| | <span style="color:red">'''No'''</span> | | <span style="color:red">'''No'''</span> | ||
| | <span style="color:red">'''No'''</span> | | <span style="color:red">'''No'''</span> | ||
| | <span style="color:red">'''No'''</span> | | <span style="color:red">'''No'''</span> | ||
| + | | <span style="color:green">'''Yes'''</span> | ||
| + | | <span style="color:green">'''Yes'''</span> | ||
| + | | <span style="color:green">'''Yes'''</span> | ||
| + | |- | ||
| + | | Backlight | ||
| + | | <span style="color:green">'''Yes'''</span> | ||
| | <span style="color:red">'''No'''</span> | | <span style="color:red">'''No'''</span> | ||
| + | | <span style="color:green">'''Yes'''</span> | ||
| | <span style="color:red">'''No'''</span> | | <span style="color:red">'''No'''</span> | ||
| | <span style="color:red">'''No'''</span> | | <span style="color:red">'''No'''</span> | ||
| | <span style="color:red">'''No'''</span> | | <span style="color:red">'''No'''</span> | ||
| + | | <span style="color:green">'''Yes'''</span> | ||
| + | | <span style="color:green">'''Yes'''</span> | ||
| + | | <span style="color:green">'''Yes'''</span> | ||
| + | |- | ||
| + | | LCD | ||
| + | | <span style="color:green">'''Yes'''</span> | ||
| | <span style="color:red">'''No'''</span> | | <span style="color:red">'''No'''</span> | ||
| + | | <span style="color:green">'''Yes'''</span> | ||
| | <span style="color:red">'''No'''</span> | | <span style="color:red">'''No'''</span> | ||
| | <span style="color:red">'''No'''</span> | | <span style="color:red">'''No'''</span> | ||
| | <span style="color:red">'''No'''</span> | | <span style="color:red">'''No'''</span> | ||
| + | | <span style="color:green">'''Yes'''</span> | ||
| + | | <span style="color:green">'''Yes'''</span> | ||
| + | | <span style="color:green">'''Yes'''</span> | ||
| |- | |- | ||
| − | |  | + | | Clickwheel | 
| | <span style="color:green">'''Yes'''</span> | | <span style="color:green">'''Yes'''</span> | ||
| − | |||
| | <span style="color:green">'''Yes'''</span> | | <span style="color:green">'''Yes'''</span> | ||
| | <span style="color:red">'''No'''</span> | | <span style="color:red">'''No'''</span> | ||
| Line 68: | Line 146: | ||
| | <span style="color:red">'''No'''</span> | | <span style="color:red">'''No'''</span> | ||
| | <span style="color:red">'''No'''</span> | | <span style="color:red">'''No'''</span> | ||
| + | | <span style="color:green">'''Yes'''</span> | ||
| + | | <span style="color:green">'''Yes'''</span> | ||
| + | | <span style="color:green">'''Yes'''</span> | ||
| + | |- | ||
| + | | Audio | ||
| + | | <span style="color:green">'''Yes'''</span> | ||
| | <span style="color:red">'''No'''</span> | | <span style="color:red">'''No'''</span> | ||
| | <span style="color:red">'''No'''</span> | | <span style="color:red">'''No'''</span> | ||
| Line 73: | Line 157: | ||
| | <span style="color:red">'''No'''</span> | | <span style="color:red">'''No'''</span> | ||
| | <span style="color:red">'''No'''</span> | | <span style="color:red">'''No'''</span> | ||
| + | | <span style="color:green">'''Yes'''</span> | ||
| + | | <span style="color:green">'''Yes'''</span> | ||
| + | | <span style="color:green">'''Yes'''</span> | ||
| |- | |- | ||
| − | |  | + | | NAND/Hard Drive | 
| + | | <span style="color:green">'''Yes'''</span> | ||
| | <span style="color:red">'''No'''</span> | | <span style="color:red">'''No'''</span> | ||
| | <span style="color:red">'''No'''</span> | | <span style="color:red">'''No'''</span> | ||
| Line 80: | Line 168: | ||
| | <span style="color:red">'''No'''</span> | | <span style="color:red">'''No'''</span> | ||
| | <span style="color:red">'''No'''</span> | | <span style="color:red">'''No'''</span> | ||
| + | | <span style="color:green">'''Yes'''</span> | ||
| + | | <span style="color:green">'''Yes'''</span> | ||
| + | | <span style="color:green">'''Yes'''</span> | ||
| + | |- | ||
| + | | Power management | ||
| + | | <span style="color:green">'''Yes'''</span> | ||
| | <span style="color:red">'''No'''</span> | | <span style="color:red">'''No'''</span> | ||
| | <span style="color:red">'''No'''</span> | | <span style="color:red">'''No'''</span> | ||
| Line 85: | Line 179: | ||
| | <span style="color:red">'''No'''</span> | | <span style="color:red">'''No'''</span> | ||
| | <span style="color:red">'''No'''</span> | | <span style="color:red">'''No'''</span> | ||
| + | | <span style="color:grey">'''Partially'''</span> | ||
| + | | <span style="color:grey">'''Partially'''</span> | ||
| + | | <span style="color:grey">'''Partially'''</span> | ||
| + | |- | ||
| + | | RTC | ||
| + | | <span style="color:green">'''Yes'''</span> | ||
| | <span style="color:red">'''No'''</span> | | <span style="color:red">'''No'''</span> | ||
| | <span style="color:red">'''No'''</span> | | <span style="color:red">'''No'''</span> | ||
| + | | <span style="color:red">'''No'''</span> | ||
| + | | <span style="color:red">'''No'''</span> | ||
| + | | <span style="color:red">'''No'''</span> | ||
| + | | <span style="color:green">'''Yes'''</span> | ||
| + | | <span style="color:green">'''Yes'''</span> | ||
| + | | <span style="color:green">'''Yes'''</span> | ||
| |- | |- | ||
| − | |  | + | | Piezo | 
| − | | <span style="color: | + | | <span style="color:green">'''Yes'''</span> | 
| | <span style="color:red">'''No'''</span> | | <span style="color:red">'''No'''</span> | ||
| | <span style="color:red">'''No'''</span> | | <span style="color:red">'''No'''</span> | ||
| Line 98: | Line 204: | ||
| | <span style="color:red">'''No'''</span> | | <span style="color:red">'''No'''</span> | ||
| | <span style="color:red">'''No'''</span> | | <span style="color:red">'''No'''</span> | ||
| + | |- | ||
| + | | Accelerometer | ||
| + | | <span style="color:grey">'''N/A'''</span> | ||
| + | | <span style="color:grey">'''N/A'''</span> | ||
| + | | <span style="color:green">'''Yes'''</span> | ||
| | <span style="color:red">'''No'''</span> | | <span style="color:red">'''No'''</span> | ||
| | <span style="color:red">'''No'''</span> | | <span style="color:red">'''No'''</span> | ||
| | <span style="color:red">'''No'''</span> | | <span style="color:red">'''No'''</span> | ||
| + | | <span style="color:grey">'''N/A'''</span> | ||
| + | | <span style="color:grey">'''N/A'''</span> | ||
| + | | <span style="color:grey">'''N/A'''</span> | ||
| |} | |} | ||
| + | |||
| + | ===Annotations=== | ||
| + | <references> | ||
| + | <ref name="uartnotneeded">UART is not really needed here as we can already access the device via USB.</ref> | ||
| + | <ref name="nano6g7g">Nano 6G and Nano 7G code execution is implemented using CVE-2010-1797</ref> | ||
| + | <ref name="tethered">Nano 5G support is implemented in a tethered fashion via wInd3x, where we re-use parts of the original Apple boot chain which negates the need of some features.</ref> | ||
| + | </references> | ||
Latest revision as of 16:34, 30 December 2023
This status is based on the progress the freemyipod team has made so far. This is mostly a summary of reverse engineering and 'janitorial' work required to run end-user software like Rockbox or Linux.
| iPod nano (2nd generation) | iPod nano (3rd generation) | iPod nano (4th generation) | iPod nano (5th generation) | iPod nano (6th generation) | iPod nano (7th generation) | iPod classic (6th generation) | iPod classic (6th generation) | iPod classic (6th generation) | |
|---|---|---|---|---|---|---|---|---|---|
| Code execution | Yes | Yes | Yes | Tethered | Yes[1] | Yes[1] | Yes | Yes | Yes | 
| Firmware decryption | Yes | Yes | Yes | Yes | No | No | Yes | Yes | Yes | 
| U-Boot | No | No | No | Yes | No | No | No | No | No | 
| emCORE | Yes | No | Yes | No | No | No | Yes | Yes | Yes | 
| Boot retailOS | Yes | Yes | No | No[2] | No | No | Yes | Yes | Yes | 
| SDRAM | Yes | No | Yes | No[2] | No | No | Yes | Yes | Yes | 
| UART | Yes | Yes | No[3] | Yes | No | No | Yes | Yes | Yes | 
| USB | Yes | Yes | Yes | Yes | No | No | Yes | Yes | Yes | 
| SPI | Unused | Yes | No | No | No | No | Yes | Yes | Yes | 
| I2C | Yes | Yes | Yes | No | No | No | Yes | Yes | Yes | 
| Backlight | Yes | No | Yes | No | No | No | Yes | Yes | Yes | 
| LCD | Yes | No | Yes | No | No | No | Yes | Yes | Yes | 
| Clickwheel | Yes | Yes | No | No | No | No | Yes | Yes | Yes | 
| Audio | Yes | No | No | No | No | No | Yes | Yes | Yes | 
| NAND/Hard Drive | Yes | No | No | No | No | No | Yes | Yes | Yes | 
| Power management | Yes | No | No | No | No | No | Partially | Partially | Partially | 
| RTC | Yes | No | No | No | No | No | Yes | Yes | Yes | 
| Piezo | Yes | No | No | No | No | No | No | No | No | 
| Accelerometer | N/A | N/A | Yes | No | No | No | N/A | N/A | N/A | 
Annotations
- ↑ 1.0 1.1 Nano 6G and Nano 7G code execution is implemented using CVE-2010-1797
- ↑ 2.0 2.1 Nano 5G support is implemented in a tethered fashion via wInd3x, where we re-use parts of the original Apple boot chain which negates the need of some features.
- ↑ UART is not really needed here as we can already access the device via USB.
