ntrteam / flashcart_core

A hopefully reusable component for dealing with flashcart specific behavior.
GNU General Public License v3.0
126 stars 32 forks source link

Ak2i HW81 - random corruption writing to flash (every 2 megabytes) #126

Open Rifu86 opened 6 years ago

Rifu86 commented 6 years ago

Not really sure how to title this issue...

I flashed my AK2i HW81 with NTRBOOT, but noticed when restoring flash that it restored a number of sectors that and the addresses followed a pattern every '0x0020 0000'

I reflashed NTRBOOT and took a flash dump to compare with the original dump and for some reason every 0x0020 0000 bytes (2097152 bytes / 2 MiB) has changed.

maybe my AK2i is faulty? or could it be that my HW81 AK2i has 2mib flash like the HW44 ones?

Can someone please do this to see if its just my flashcard or if it happens to you as well...

  1. Make a flash dump of the original Ak2i firmware and copy it to another location.
  2. Flash NTRBOOT to your AK2i.
  3. Make a flash dump after NTRBOOT has been flashed.
  4. Compare the original and NTRBOOT dumps.
  5. check if every 0x0020 0000 bytes has changed. e.g 0x00280000 and 0x00480000 etc

Comparing files ak2i-backup.bin and ak2i-backup_NTRBOOT.bin

00080000: FE 4E <- blowfish key start ~ 00081047: BE B9 <- blowfish key end

00081FC4: 80 00 <- chipid and length {0x00, 0x00, 0x0F, 0xC2, 0x00, 0xB4, 0x17, 0x00} 00081FC5: 00 B4 00081FC6: 18 17

00089E00: 04 46 < Firmware Start ~ 000915FF: 85 9F < Firmware End

There are modifications every 0x0020 0000 bytes...

00280000: DE 6E ~ 00281047: FE F9

00281FC4: 00 80 00281FC5: 40 F4 00281FC6: 4C 43

00289E00: 24 66 ~ 002915FF: A5 BF

it Happens at 0x0048 0000,

00480000: E2 23 ~ 00481047: BA BD

00481FC4: 84 04 00481FC5: 98 51 00481FC6: 98 97

00489E00: 28 0A ~ 004915FF: 7E D6

and at 0x0068 0000.. etc.. up to the end of the flash image at 00E80000 The data appears different in every section though... I can attach the two dumps if they are needed, its about 13 megabytes zipped.