Difference between revisions of "Status"
Revolution (talk | contribs) (→Basic drivers or steps:) |
User890104 (talk | contribs) |
||
(67 intermediate revisions by 9 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">'''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> | ||
| <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> | ||
|- | |- | ||
− | | | + | | [[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 33: | Line 40: | ||
| <span style="color:red">'''No'''</span> | | <span style="color:red">'''No'''</span> | ||
|- | |- | ||
− | | | + | | [[emCORE]] |
| <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: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: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: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: | + | | <span style="color:green">'''Yes'''</span> |
− | | <span style="color: | + | | <span style="color:green">'''Yes'''</span> |
− | | <span style="color: | + | | <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: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> | ||
Line 65: | Line 113: | ||
| <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: | + | | <span style="color:green">'''Yes'''</span> |
− | | <span style="color: | + | | <span style="color:green">'''Yes'''</span> |
+ | | <span style="color:green">'''Yes'''</span> | ||
|- | |- | ||
− | | | + | | LCD |
− | | <span style="color: | + | | <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: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> | ||
|- | |- | ||
− | | | + | | Audio |
− | | <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 92: | 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 97: | 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: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: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: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: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:red">'''No'''</span> | | <span style="color:red">'''No'''</span> | ||
| <span style="color:red">'''No'''</span> | | <span style="color:red">'''No'''</span> | ||
Line 139: | Line 205: | ||
| <span style="color:red">'''No'''</span> | | <span style="color:red">'''No'''</span> | ||
|- | |- | ||
− | | | + | | Accelerometer |
− | | <span style="color: | + | | <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.
Nano 2G | Nano 3G | Nano 4G | Nano 5G | Nano 6G | Nano 7G | Classic 1G | Classic 2G | Classic 3G | |
---|---|---|---|---|---|---|---|---|---|
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 OSOS | 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.