mirror of
https://github.com/Rockbox/rockbox.git
synced 2026-10-10 08:03:04 -04:00
Apple fitted at least five makers' NAND to the Nano 3G, in eighteen chip and chip-enable combinations. Rockbox's Nano 3G NAND support can only be enabled for writing on a chip that has been validated on hardware, and so far one has. This gives owners of the others a way to send what validation needs without installing anything. nano3g-check.dfu runs from DFU mode (mks5lboot --dfusend). It reads the chip ids on every chip enable, matches Apple's chip table, tries a read-only mount, and shows a short summary. It then serves the raw NAND over USB as a write-protected disk: sector 0 a text report, then 16-byte spare records for every page, then page data. Nothing is written to the iPod's NAND or NOR. nandcheck.py collect finds that disk on Linux, macOS or Windows and writes a few-MB archive: the report, every page's spare metadata and read result, and every page that is not user data or erased (the FTL and VFL control structures and Apple's bad-block records). It includes no file contents and not the serial number. The README lists the chips, how to tell which one an iPod has, and the procedure. The image is the Nano 3G bootloader built with -DNAND_CHECK from the Nano 3G NAND driver work, which is not merged yet. Tested on a 4GB Nano 3G (Hynix A514D3AD x4): sent with mks5lboot --dfusend, the disk appears within seconds, and collect reads it in 7 minutes with no ECC failures or timeouts. The archive mounts in the driver's host FTL tests with every sector resolving to its newest copy. AI provenance: developed with Claude Opus 5 (Anthropic), used through Claude Code. The model wrote most of the code and this message under Andrew Rice's direction. Any hardware testing described above was carried out by Andrew Rice, who is responsible for this change. Change-Id: Id790997768ee79451b7adeb5e9764dc8054faf4c |
||
|---|---|---|
| .. | ||
| AMS/hacking | ||
| analysis | ||
| atj2137 | ||
| bootchart | ||
| bspatch | ||
| bzip2 | ||
| chinachippatcher | ||
| cmake | ||
| common | ||
| disassembler/arm | ||
| e200rpatcher | ||
| e200tool | ||
| editors | ||
| hwpatcher | ||
| hwstub | ||
| ibassoboot/jni | ||
| imxtools | ||
| ingenic_tools | ||
| ipod | ||
| ipodnano3g/nandcheck | ||
| ipodpatcher | ||
| jz4740_tools | ||
| jz4760_tools | ||
| jztool | ||
| mkamsboot | ||
| mkimxboot | ||
| mkmpioboot | ||
| mknwzboot | ||
| mkrk27boot | ||
| mks5lboot | ||
| mktccboot | ||
| mkzenboot | ||
| MTP | ||
| nwztools | ||
| rbpms | ||
| rbutilqt | ||
| reggen-ng | ||
| regtools | ||
| rk27utils | ||
| rknanoutils | ||
| rockbox_api | ||
| samsungtools | ||
| sansapatcher | ||
| scsi | ||
| skinupdater | ||
| tcctool | ||
| themeeditor | ||
| time-sync | ||
| tomcrypt | ||
| tools | ||
| ypr0tools | ||
| zenutils | ||
| CMakeLists.txt | ||
| libtools.make | ||
| parse_testcodec.rb | ||