Tutorial  Updated

Restore N3DS from FW 2.1 without NAND Backups

Hi guys, I forgot to do a nand backup and downgrade my n3ds sysnand to 2.1. After getting otp I update my sysnand through system settings resulting in a hardbrick. I know this is user error. I have done many a9lh but this is the first time I forgot. Damned.

Anyway I have thought of a possible way to unbrick which I do not know if it will work.

1) Extract out unbricked 2.1 emunand in pc.
2) Hardmod and flash the unbricked 2.1 emunand to sysnand.
3) ???

Lets say the above method works is there anyway to update my sysnand back to 9.2 or 10.7? I am guessing recovery wont work. What about games with update in it?

Many thanks in advance!

UPDATE!!! (N3DS is unbricked!!!) *Stuck on 2.1 without any NAND Backups*

My situation:
I downgraded to 2.1 on a N3DS without any sysNAND or emuNAND backups totally. So I tried updating though system settings to 10.7 which causes a brick. (I did not know at that point of time).

So I extracted out the 2.1 from my microSD using 3DS Multi EmuNAND Creator and flashed it back to sysNAND with a hardmod.

After getting help from @d0k3 & @al3x_10m and many hours of trial and error I managed to update my N3DS from 2.1 without any nand backup.

So the steps are below, I have splitted it up into 4 sections.

Links to files needed
N3DS 10.7 firm0 and firm1 files
N3DS NCSD Header
Modded Decrypt9
OTPHelper-20160502-081624

1) Setting Up emuNAND
1) Use OTPHelper to dump your otp.bin and otp0x108.bin
2) Use OTPHelper to make a backup for 2.1 sysNAND and rename it to sysNAND 2.1 or something. (Incase the gamecart update fails, you still can use a hardmod to unbrick)
!!!IMPORTANT!!! - I bricked my N3DS a few times during updating to 4.5 using game cart. Steps 3 and 4 is like an insurance, no harm taking extra precaution
3) Turn off internet settings, format your N3DS, if it is in the format loop just wait around 2 mins or so and off it.
4) Boot into recovery by holding L + R + Up + A on boot, after that exit
5) Repeat steps 3 and 4 again
6) Update the N3DS to 4.5 using a gamecart
7) Create emuNAND FW 4.5 using gateway by use gateway entrypoint (go.gateway-3ds.com)
8) Use the modded Decrypt9, it is named as Launcher.dat *Start it using gateway entrypoint (go.gateway-3ds.com) (Slot0x05KeyY.bin needs to be in the root to use the modded Decrypt9)
9) Dump hs.app for emuNAND 4.5
10) Use Universal Inject Generator to create sysupdater.app(profi200's one,safesys and plaisys doesn't work)
11) Unmount SD and put 10.7 N3DS update pack in 'updates' folder, 10.7 firm0.bin and firm 1.bin and NCSD_header_n3ds.bin on root of SD Card
12) If you have a gateway card, replace the modded Decrypt9 launcher with gateway launcher
13) Put back your SD and inject sysupdater into h&s then reboot

2) Updating emuNAND to 10.7
*Make sure these 3 files are at the root of your SD Card*
10.7 firm0.bin
10.7 firm 1.bin
NCSD_header_n3ds.bin

1) I used gateway to enter emuNAND for 4.5 since I got a gateway card. If you have no gateway you can try other CFW? If anyone tested it can let me know, I will add it to this guide and put your name in credits :D
2) Open sysupdater in emuNAND 4.5 and press (A) to update emuNAND to 10.7
3) After updating it will auto reboot, take out the SD card and replace the Launcher.dat with the one from OTPHelper-20160502-081624
4) Launch OTPHelper in sysNAND 4.5 *Start it using gateway entrypoint (go.gateway-3ds.com)
5) Inject the 10.7 firm0.bin and firm1.bin into emuNAND 10.7
6) Use the Unbrick FW 9.x EmuNAND function (This will take quite some time)
7) After it is done go to NAND Backup & Restore and select Clone EmuNAND to SysNAND
8) Make a NAND backup of your 10.7 sysNAND and rename it sysNAND 10.7 or something (This is needed for A9LH installation)
9) Reboot and your N3DS is now UNBRICKED!!!

3) Downgrade sysNAND to 9.2
*Remember to delete the 10.7 updates folder from root of your SD Card*

1st we need to downgrade to 9.2, you can use Plailect's downgrading guide to downgrade
I used cubic ninja as the entry point for 10.7 to boot into homebrew launcher

When you boot into 9.2 it will show "An error has occured." message, don't worry this is normal.
For some reason it will crash around 3-4 seconds when you boot your N3DS because of the homemenu being loaded I think?

4) Installing A9LH (LumA Version)
We need to install menuhax so just grab the files from here, you should know how to use it by now.

1) Do the Preparatory Work from Plailect's Guide
2) Now we got a 3-4 seconds window before the N3DS will crash when we boot it
3) After you on the N3DS quickly tap the top left corner of your touchscreen to go into HOME Menu Settings
4) Tap Change Theme (This is needed to install menuhax)
5) After exiting it will crash again don't worry
6) After you on your N3DS again, quickly tap on the internet browser icon
7) Go to http://yls8.mtheall.com/3dsbrowserhax_auto.php to launch homebrew launcher
8) Install menuhax, configure it to type 2 (Auto Boot)
9) Exit menuhax manager and launch miniPasta, it will auto reboot into homebrew launcher again
10) Launch Safe A9LH Installer and press Select *Redo steps 9-10 if it hangs*
11) Power on your N3DS, it will auto reboot into homebrew launcher again, now uninstall menuhax
12) A9LH is installed in your N3DS but the error will still show up when it is on 9.2 so now we gonna update it to 10.7 while keeping the A9LH
13) If you have followed the Preparatory Work from Plailect Guide, you will be able to launch Decrypt 9 by holding Start button on boot
14) Launch Decrypt9, go to SysNAND Options > SysNAND Backup/Restore... > NAND Restore (keep a9lh) > Select the sysNAND 10.7 backup you made earlier on
15) After restoring you will have a A9LH 10.7 sysNAND
16) Use Decrypt 9 to inject fbi to the h&s
17) Now make a NAND dump of the 10.7 A9LH sysNAND


Pros:
N3DS is unbricked!

Cons:
You can't use any app or stuffs related to DSIware
BigBlueMenu is not working, but there are other .cia installers to replace that.
I can't format my N3DS too but hey its unbricked, who cares

Credits:
@d0k3 For helping me throughout the whole journey and providing the OTPHelper-20160502-081624 test build
@al3x_10m For helping me throughout the whole journey and providing the N3DS NCSD Header & Modded Decrypt9 files
yellows8 for menuhax and browserhax
@Plailect for the A9LH guide
@smealum for ninjhax
@DarkMatterCore for 3DS Multi EmuNAND Creator
 
Last edited by slslasher,

slslasher

Well-Known Member
OP
Member
Joined
Mar 17, 2015
Messages
165
Trophies
0
Age
33
XP
739
Country
Singapore
1mb = 1024 * 1024
And don't worry, nothing can go wrong if you get something wrong. Your situation can't get worse at this point, too.
Yeah, hahaha its already the worse scenario. Semi-bricked. May I ask how come I need to inject firm90 in both firm1 and firm0? and not use firm10 for the firm1?

Update: Currently using the 9.x unbricker in 2.1 sysnand and received an error. I need to provide NCSD_header_n3ds.bin.

I am guessing launcher.dat doesn't really work well on 4.5?
 
Last edited by slslasher,

d0k3

3DS Homebrew Legend
Member
Joined
Dec 3, 2004
Messages
2,786
Trophies
1
XP
3,896
Country
Germany
Yeah, hahaha its already the worse scenario. Semi-bricked. May I ask how come I need to inject firm90 in both firm1 and firm0? and not use firm10 for the firm1?

Update: Currently using the 9.x unbricker in 2.1 sysnand and received an error. I need to provide NCSD_header_n3ds.bin.

I am guessing launcher.dat doesn't really work well on 4.5?
Firm90.bin is the firmware for FW 9.0, while firm0 / firm1 denote the firmware partitions (primary / backup) in your 3DS NAND.

Just provide that file - it is the first 512 of your other N3DS NAND dump.

And Launcher.dat is basically made for 4.5, but that entrypoint has some limitations that aren't easy to come by.
 

Pikm

Well-Known Member
Member
Joined
Jan 24, 2016
Messages
687
Trophies
0
XP
2,005
Country
United States
Hi guys, I forgot to do a nand backup and downgrade my n3ds sysnand to 2.1. After getting otp I update my sysnand through system settings resulting in a hardbrick. I know this is user error. I have done many a9lh but this is the first time I forgot. Damned.

Anyway I have thought of a possible way to unbrick which I do not know if it will work.

1) Extract out unbricked 2.1 emunand in pc.
2) Hardmod and flash the unbricked 2.1 emunand to sysnand.
3) ???

Lets say the above method works is there anyway to update my sysnand back to 9.2 or 10.7? I am guessing recovery wont work. What about games with update in it?

Many thanks in advance!

Update: Unbricked using hardmod method but stuck at 2.1 sysNAND N3DS.
Still finding a way to update back.
Check out the troubleshooting section of the Plailect guide.
 

slslasher

Well-Known Member
OP
Member
Joined
Mar 17, 2015
Messages
165
Trophies
0
Age
33
XP
739
Country
Singapore
Firm90.bin is the firmware for FW 9.0, while firm0 / firm1 denote the firmware partitions (primary / backup) in your 3DS NAND.

Just provide that file - it is the first 512 of your other N3DS NAND dump.

And Launcher.dat is basically made for 4.5, but that entrypoint has some limitations that aren't easy to come by.
Ok, so I just get the 1st 512 of my N3DS NAND dump and rename it to NCSD_header_n3ds.bin and put it at the root?

Update: Putting at root doesn't work so I extracted the unbricked emuNAND and manually updated the header and inject it back. Clone emuNAND to sysNAND but doesn't boot up. It will auto power off after a while. Look like a9lh without SD card. Trying the firm injected ones now.

This is what I will do later on after the unbricking process for 9.x is finished.

1) Backup the unbricked emuNAND 9.2
2) Use otphelper inject the firm90 in firm1 and firm0 and backup a copy
3) Use otphelper to either clone unbricked emuNAND 9.2 to sysNAND or just restore sysNAND using unbricked emuNAND 9.2
4) If it doesn't work I will flash back the 2.1 fw and use OTPhelper to restore the unbricked emuNAND 9.2 with the firm90 injected.
 
Last edited by slslasher,

d0k3

3DS Homebrew Legend
Member
Joined
Dec 3, 2004
Messages
2,786
Trophies
1
XP
3,896
Country
Germany
Ok, so I just get the 1st 512 of my N3DS NAND dump and rename it to NCSD_header_n3ds.bin and put it at the root?

Update: Putting at root doesn't work so I extracted the unbricked emuNAND and manually updated the header and inject it back. Clone emuNAND to sysNAND but doesn't boot up. It will auto power off after a while. Look like a9lh without SD card. Trying the firm injected ones now.

This is what I will do later on after the unbricking process for 9.x is finished.

1) Backup the unbricked emuNAND 9.2
2) Use otphelper inject the firm90 in firm1 and firm0 and backup a copy
3) Use otphelper to either clone unbricked emuNAND 9.2 to sysNAND or just restore sysNAND using unbricked emuNAND 9.2
4) If it doesn't work I will flash back the 2.1 fw and use OTPhelper to restore the unbricked emuNAND 9.2 with the firm90 injected.
You're doing everything right, no worries. I'd suggest you try with the firm90 injected once, and with the firm90 not injected once.
 

slslasher

Well-Known Member
OP
Member
Joined
Mar 17, 2015
Messages
165
Trophies
0
Age
33
XP
739
Country
Singapore
You're doing everything right, no worries. I'd suggest you try with the firm90 injected once, and with the firm90 not injected once.
Doesn't work for both. Weird it will auto shut down. Wasn't like this when I used the manual version. Will try it again tmr.
 

slslasher

Well-Known Member
OP
Member
Joined
Mar 17, 2015
Messages
165
Trophies
0
Age
33
XP
739
Country
Singapore
While you're at it, also upload a OTPHelper log, so that we can have a look.

Here is what I have done.

1) Update emuNAND to 9.2
2) Use the OTPHelper at fw 2.1 to unbrick fw 9.x which fails because cannot detect the header.bin
3) Validate emuNAND, of course it fails
4) Extracted out emuNAND and updated with my working N3DS header and injected emuNAND back
5) Validate emuNAND again, success
6) Injected firm90 to firm1 and firm0 emuNAND
7) Validate emuNAND again, success
8) Clone emuNAND to sysNAND success
9) Validate sysNAND success
10) When I tried to power on it will auto power off after 3 seconds.

Below is the log file.

Validate SysNAND: succeeded!

Press B to return, START to reboot.

Using EmuNAND @ 3B0000/000000
Validate EmuNAND: succeeded!

Press B to return, START to reboot.

You selected "Unbrick FW 9.x EmuNAND".
This feature writes to the EmuNAND.
Doing this is potentially dangerous!

If you wish to proceed, enter:
<Left>, <Right>, <Down>, <Up>, <A>

(B to return, START to reboot)

Using EmuNAND @ 3B0000/000000
Switching CTRNAND partion 0x4 -> 0x5...
You need to provide NCSD_header_n3ds.bin
Unbrick FW 9.x EmuNAND: failed!

Press B to return, START to reboot.

Using EmuNAND @ 3B0000/000000
Not a proper NAND backup, might be bricked!
Validate EmuNAND: failed!

Press B to return, START to reboot.

Unmounting SD card...

Using EmuNAND @ 3B0000/000000
NAND CID: 82DA79479C0030454732303000011100
Validate EmuNAND: succeeded!

Press B to return, START to reboot.

You selected "EmuNAND FIRM0 Inject".
This feature writes to the EmuNAND.
Doing this is potentially dangerous!

If you wish to proceed, enter:
<Left>, <Right>, <Down>, <Up>, <A>

(B to return, START to reboot)

Using EmuNAND @ 3B0000/000000
Encrypting & Injecting FIRM, size (MB): 4
Use arrow keys and <A> to choose a file
firm0.bin
Opening firm0.bin ...
EmuNAND FIRM0 Inject: succeeded!

Press B to return, START to reboot.

You selected "EmuNAND FIRM1 Inject".
This feature writes to the EmuNAND.
Doing this is potentially dangerous!

If you wish to proceed, enter:
<Left>, <Right>, <Down>, <Up>, <A>

(B to return, START to reboot)

Using EmuNAND @ 3B0000/000000
Encrypting & Injecting FIRM, size (MB): 4
Use arrow keys and <A> to choose a file
firm0.bin
Opening firm0.bin ...
EmuNAND FIRM1 Inject: succeeded!

Press B to return, START to reboot.

Using EmuNAND @ 3B0000/000000
Validate EmuNAND: succeeded!

Press B to return, START to reboot.

You selected "Clone EmuNAND to SysNAND".
This feature writes to the SysNAND.
Doing this is potentially dangerous!

If you wish to proceed, enter:
<Left>, <Up>, <Right>, <Up>, <A>

(B to return, START to reboot)

Using EmuNAND @ 3B0000/000000
Cloning EmuNAND to SysNAND. Size (MB): 1888
Clone EmuNAND to SysNAND: succeeded!

Press B to return, START to reboot.

Validate SysNAND: succeeded!

Press B to return, START to reboot.

Using EmuNAND @ 3B0000/000000
Validate EmuNAND: succeeded!

Press B to return, START to reboot.

I tried using manual method n otphelper method. otphelper my 3ds will auto off. Manual method won't auto off but it can't boot either. Weird. Tested both methods with firm injected n no firm injected.

Qn: Would it make a difference if I use xenoblade chronicles and update my sysNAND to 9.4 since it is a N3DS game then unbrick my sysNAND???
 
Last edited by slslasher,

mathieulh

Well-Known Member
Member
Joined
Feb 28, 2008
Messages
378
Trophies
0
Website
keybase.io
XP
897
Country
France
That's true, but that's not the real reason though. The keys used by arm9loader to decrypt the FIRM binary are changed to bogus keys due to how arm9loaderhax works and after updating it leaves arm9loader unable to decrypt the real firm binary. I believe as long as the NAND header is the o3DS one it will use the 0x04 keyslot to decrypt but it doesn't matter because it would brick either way.
Wouldn't at that step (the 2.1.0 downgrade) arm9loaderhax not yet be installed? If so, the original nand keystore would still be untouched (although possibly now encrypted with the wrong keyslot?) therefore those keys would remain valid if you updated to a n3ds FIRM. (After all, you downgrade to dump the OTP for the sole purpose of modifying the nand keystore).
 

d0k3

3DS Homebrew Legend
Member
Joined
Dec 3, 2004
Messages
2,786
Trophies
1
XP
3,896
Country
Germany
Wouldn't at that step (the 2.1.0 downgrade) arm9loaderhax not yet be installed? If so, the original nand keystore would still be untouched (although possibly now encrypted with the wrong keyslot?) therefore those keys would remain valid if you updated to a n3ds FIRM. (After all, you downgrade to dump the OTP for the sole purpose of modifying the nand keystore).
A9LH is not installed at this point.

Here is what I have done.

1) Update emuNAND to 9.2
2) Use the OTPHelper at fw 2.1 to unbrick fw 9.x which fails because cannot detect the header.bin
3) Validate emuNAND, of course it fails
4) Extracted out emuNAND and updated with my working N3DS header and injected emuNAND back
5) Validate emuNAND again, success
6) Injected firm90 to firm1 and firm0 emuNAND
7) Validate emuNAND again, success
8) Clone emuNAND to sysNAND success
9) Validate sysNAND success
10) When I tried to power on it will auto power off after 3 seconds.

Below is the log file.

Validate SysNAND: succeeded!

Press B to return, START to reboot.

Using EmuNAND @ 3B0000/000000
Validate EmuNAND: succeeded!

Press B to return, START to reboot.

You selected "Unbrick FW 9.x EmuNAND".
This feature writes to the EmuNAND.
Doing this is potentially dangerous!

If you wish to proceed, enter:
<Left>, <Right>, <Down>, <Up>, <A>

(B to return, START to reboot)

Using EmuNAND @ 3B0000/000000
Switching CTRNAND partion 0x4 -> 0x5...
You need to provide NCSD_header_n3ds.bin
Unbrick FW 9.x EmuNAND: failed!

Press B to return, START to reboot.

Using EmuNAND @ 3B0000/000000
Not a proper NAND backup, might be bricked!
Validate EmuNAND: failed!

Press B to return, START to reboot.

Unmounting SD card...

Using EmuNAND @ 3B0000/000000
NAND CID: 82DA79479C0030454732303000011100
Validate EmuNAND: succeeded!

Press B to return, START to reboot.

You selected "EmuNAND FIRM0 Inject".
This feature writes to the EmuNAND.
Doing this is potentially dangerous!

If you wish to proceed, enter:
<Left>, <Right>, <Down>, <Up>, <A>

(B to return, START to reboot)

Using EmuNAND @ 3B0000/000000
Encrypting & Injecting FIRM, size (MB): 4
Use arrow keys and <A> to choose a file
firm0.bin
Opening firm0.bin ...
EmuNAND FIRM0 Inject: succeeded!

Press B to return, START to reboot.

You selected "EmuNAND FIRM1 Inject".
This feature writes to the EmuNAND.
Doing this is potentially dangerous!

If you wish to proceed, enter:
<Left>, <Right>, <Down>, <Up>, <A>

(B to return, START to reboot)

Using EmuNAND @ 3B0000/000000
Encrypting & Injecting FIRM, size (MB): 4
Use arrow keys and <A> to choose a file
firm0.bin
Opening firm0.bin ...
EmuNAND FIRM1 Inject: succeeded!

Press B to return, START to reboot.

Using EmuNAND @ 3B0000/000000
Validate EmuNAND: succeeded!

Press B to return, START to reboot.

You selected "Clone EmuNAND to SysNAND".
This feature writes to the SysNAND.
Doing this is potentially dangerous!

If you wish to proceed, enter:
<Left>, <Up>, <Right>, <Up>, <A>

(B to return, START to reboot)

Using EmuNAND @ 3B0000/000000
Cloning EmuNAND to SysNAND. Size (MB): 1888
Clone EmuNAND to SysNAND: succeeded!

Press B to return, START to reboot.

Validate SysNAND: succeeded!

Press B to return, START to reboot.

Using EmuNAND @ 3B0000/000000
Validate EmuNAND: succeeded!

Press B to return, START to reboot.

I tried using manual method n otphelper method. otphelper my 3ds will auto off. Manual method won't auto off but it can't boot either. Weird. Tested both methods with firm injected n no firm injected.

Qn: Would it make a difference if I use xenoblade chronicles and update my sysNAND to 9.4 since it is a N3DS game then unbrick my sysNAND???

Okay, I checked your log, and everything is looking fine. There is a small bug in that OTPHelper test build which prevents it from properly injecting the header, it is fixed in here:
https://up1.ca/#AR7iaYOleq9dYDGex6KMIw
If you try again, provide the N3DS header on the SD card.

A automatic shutdown is a rather strange issue and could have something to do with hardware. Never seen this with a software error. If you can check, check for a hardware error.

Now, what you can still try...
  • You can run SafeA9LHInstaller via CakeHax (from browser, http://dukesrg.github.io/?[NAME OF PAYLOAD.dat]). With A9LH installed, you can no more boot without CFW, so you'd need to use CakesFW (recommended) or rxTools from then on. You also won't be able to use that GW card with it. Big plus: From A9LH you can use BootCTR9 (or similar) to quickly load D9 / E9 / GM9, which will help you with further experiments.
  • As you wrote, you can try upgrading to different versions. In fact, any version >= 9.0 is okay, but note that the FIRM90.bin only works on 9.0...9.5. The manual inject should not be required anyways. If you can, TinyFormat that NAND before updating, you want it to be as clean as possible. Also note that a cart update may update your console with a O3DS FW, which you don't want.
  • Now, for this I really recommend having A9LH. With your other N3DS and this on on the same FW / region (anything >= 9.0), dump the CTRNAND from your other N3DS, and put the file onto the SD card in this N3DS. GodMode9 can mount this file as a drive. Now, what you do now... replace the files in this (broken N3DS) CTRNAND with files from the dumped CTRNAND until it works again. Start with movable.sed, and leave the installed titles / ticket.db / titles.db untouched for as long as possible. If you go that route, you'll have a shitload of reboots ahead, all with trial and error. Make 100% sure your CFW works properly before you do this!
The last one is also possible from PC, via OSFmount and 3DSFAT16tool. GodMode9 is just a lot more convenient. If you do the last one, write down exactly what you replace. You can help a lot of people if you can make this possible.


ADDENDUM:
For that last thing, you can also go the other way, but only if your other N3DS has a hardmod (and you make a SysNAND / EmuNAND backup before!!): Replace the files in the good N3DS CTRNAND until it breaks. This way you will know what files you can safely replace in the bad N3DS CTRNAND.

ADDENDUM2:
And you could also go the different route on the bad N3DS... Just dump the CTRNAND from it, then inject the CTRNAND from the good N3DS. Try to boot it, it will most likely not work, but the observed error will be different. Now, replace the files on it, via GodMode9, with files from the bad N3DS CTRNAND, until it works.
 
Last edited by d0k3,

slslasher

Well-Known Member
OP
Member
Joined
Mar 17, 2015
Messages
165
Trophies
0
Age
33
XP
739
Country
Singapore
A9LH is not installed at this point.



Okay, I checked your log, and everything is looking fine. There is a small bug in that OTPHelper test build which prevents it from properly injecting the header, it is fixed in here:
https://up1.ca/#AR7iaYOleq9dYDGex6KMIw
If you try again, provide the N3DS header on the SD card.

A automatic shutdown is a rather strange issue and could have something to do with hardware. Never seen this with a software error. If you can check, check for a hardware error.

Now, what you can still try...
  • You can run SafeA9LHInstaller via CakeHax (from browser, http://dukesrg.github.io/?[NAME OF PAYLOAD.dat]). With A9LH installed, you can no more boot without CFW, so you'd need to use CakesFW (recommended) or rxTools from then on. You also won't be able to use that GW card with it. Big plus: From A9LH you can use BootCTR9 (or similar) to quickly load D9 / E9 / GM9, which will help you with further experiments.
  • As you wrote, you can try upgrading to different versions. In fact, any version >= 9.0 is okay, but note that the FIRM90.bin only works on 9.0...9.5. The manual inject should not be required anyways. If you can, TinyFormat that NAND before updating, you want it to be as clean as possible. Also note that a cart update may update your console with a O3DS FW, which you don't want.
  • Now, for this I really recommend having A9LH. With your other N3DS and this on on the same FW / region (anything >= 9.0), dump the CTRNAND from your other N3DS, and put the file onto the SD card in this N3DS. GodMode9 can mount this file as a drive. Now, what you do now... replace the files in this (broken N3DS) CTRNAND with files from the dumped CTRNAND until it works again. Start with movable.sed, and leave the installed titles / ticket.db / titles.db untouched for as long as possible. If you go that route, you'll have a shitload of reboots ahead, all with trial and error. Make 100% sure your CFW works properly before you do this!
The last one is also possible from PC, via OSFmount and 3DSFAT16tool. GodMode9 is just a lot more convenient. If you do the last one, write down exactly what you replace. You can help a lot of people if you can make this possible.


ADDENDUM:
For that last thing, you can also go the other way, but only if your other N3DS has a hardmod (and you make a SysNAND / EmuNAND backup before!!): Replace the files in the good N3DS CTRNAND until it breaks. This way you will know what files you can safely replace in the bad N3DS CTRNAND.

ADDENDUM2:
And you could also go the different route on the bad N3DS... Just dump the CTRNAND from it, then inject the CTRNAND from the good N3DS. Try to boot it, it will most likely not work, but the observed error will be different. Now, replace the files on it, via GodMode9, with files from the bad N3DS CTRNAND, until it works.
Ok 1st I will use tinyformat on the 4.5 emuNAND, must I do it twice like how I install A9LH? After that I will update emuNAND to 9.2 and try your test build OTPHelper and inject to sysNAND and try.

If it doesn't work I will try the below method.

Should I install A9LH from 2.1 or 4.5 sysNAND? Since you said the firmware need to be the same, can I do use a working 10.7 sysNAND A9LH N3DS?

Meaning I will dump the CTRNAND from the working A9LH 10.7 sysNAND and inject it into the unbricked A9LH sysNAND (unbrick using OTPHelper) with 10.7 N3DS update files installed.

After that I will slowly replace the files one by one from the non working unbricked CTRNAND using GM9 from the working N3DS. Since my non working unbricked N3DS is A9LH now I should be able to inject the CTRNAND from there right?

The last resort will it be 100% working if I trial and error by replacing the files 1 by 1?
 

d0k3

3DS Homebrew Legend
Member
Joined
Dec 3, 2004
Messages
2,786
Trophies
1
XP
3,896
Country
Germany
Ok 1st I will use tinyformat on the 4.5 emuNAND, must I do it twice like how I install A9LH? After that I will update emuNAND to 9.2 and try your test build OTPHelper and inject to sysNAND and try.
To be blunt, I am unsure. But do it twice in a row, better be safe.

Should I install A9LH from 2.1 or 4.5 sysNAND? Since you said the firmware need to be the same, can I do use a working 10.7 sysNAND A9LH N3DS?

Meaning I will dump the CTRNAND from the working A9LH 10.7 sysNAND and inject it into the unbricked A9LH sysNAND (unbrick using OTPHelper) with 10.7 N3DS update files installed.

After that I will slowly replace the files one by one from the non working unbricked CTRNAND using GM9 from the working N3DS. Since my non working unbricked N3DS is A9LH now I should be able to inject the CTRNAND from there right?

The last resort will it be 100% working if I trial and error by replacing the files 1 by 1?
You will have an easier time installing from 4.5 SysNAND. And yes, just use the 10.7 FW, only three conditions are >= 9.0, same FW, same region, same console type (N3DS in that case). A 1 on 1 copy of the CTRNAND will not work, otherwise I'd have suggested exactly this. You should try it anyways, just to see what error message you get and work from there. To make your life a little easier, you could also compare the two CTRNANDs on PC, mounted via OSFmount. Use WinMerge to find out which files are really different. If you do that step before, you at least know how big your task will be beforehand.
 
Last edited by d0k3,

slslasher

Well-Known Member
OP
Member
Joined
Mar 17, 2015
Messages
165
Trophies
0
Age
33
XP
739
Country
Singapore
To be blunt, I am unsure. But do it twice in a row, better be safe.


You will have an easier time installing from 4.5 SysNAND. And yes, just use the 10.7 FW, only three conditions are >= 9.0, same FW, same region, same console type (N3DS in that case). A 1 on 1 copy of the CTRNAND will not work, otherwise I'd have suggested exactly this. You should try it anyways, just to see what error message you get and work from there. To make your life a little easier, you could also compare the two CTRNANDs on PC, mounted via OSFmount. Use WinMerge to find out which files are really different.
Ok so I will compare the files using winmerge then. Do I need to tinyformat my working 10.7 N3DS before dumping the CTRNAND? The error message do you mean when I start up my 3DS it will produce the error message? Thought it will most likely be a black screen.

So after comparing the files I will replace 1 by 1 those different files from working ctrnand to the non working one and try to boot from there after injecting.
 

d0k3

3DS Homebrew Legend
Member
Joined
Dec 3, 2004
Messages
2,786
Trophies
1
XP
3,896
Country
Germany
Ok so I will compare the files using winmerge then. Do I need to tinyformat my working 10.7 N3DS before dumping the CTRNAND? The error message do you mean when I start up my 3DS it will produce the error message? Thought it will most likely be a black screen.

So after comparing the files I will replace 1 by 1 those different files from working ctrnand to the non working one and try to boot from there after injecting.
No, don't Tinyformat that. Tinyformat onyl makes sense before the update. Error message -> unsure, but keep us posted. And I think you understood, but don't compare the CTRNAND.bin files with WinMerge, mount them and compare their contents with WinMerge. Start with the simple stuff when doing this (movable.sed first), and hold from touching installed titles till the end.
 

d0k3

3DS Homebrew Legend
Member
Joined
Dec 3, 2004
Messages
2,786
Trophies
1
XP
3,896
Country
Germany
Adding to this... If you're really going the GM9 route, the first thing you do (after both systems are on the same FW version and the bad one is unbricked) is extract the FIRM0 / FIRM1 from the good N3DS, and inject those into the bad N3DS NAND. Use GM9 / D9 / OTPHelper for this.
 

al3x_10m

Member
Newcomer
Joined
Mar 14, 2016
Messages
9
Trophies
0
Age
32
XP
260
Country
Romania
Last edited by al3x_10m,

d0k3

3DS Homebrew Legend
Member
Joined
Dec 3, 2004
Messages
2,786
Trophies
1
XP
3,896
Country
Germany
here's what i did http://pastebin.com/X2QA19vT
this is the modified D9 https://usercontent.irccloud-cdn.com/file/m3k08fpS/Launcher.dat
keep in mind that you'll end up with 10.7.0-32 (use your region update pack for n3ds when updating with sysupdater)
good luck!

also keep a 2.1 backup...maybe it could be improved in the future...

forgot the firm0firm1 and ncsd file https://up1.ca/#KODydXGiKT64CR5AxM2NJQ
Thanks a ton! @slslasher this really works. Give us feedback!
 

The Real Jdbye

*is birb*
Member
Joined
Mar 17, 2010
Messages
23,249
Trophies
4
Location
Space
XP
13,802
Country
Norway
Wouldn't at that step (the 2.1.0 downgrade) arm9loaderhax not yet be installed? If so, the original nand keystore would still be untouched (although possibly now encrypted with the wrong keyslot?) therefore those keys would remain valid if you updated to a n3ds FIRM. (After all, you downgrade to dump the OTP for the sole purpose of modifying the nand keystore).
I realized that after I posted. I knew A9LH wasn't installed yet but my thinking was backwards for some reason. Feel free to ignore me :P
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    The Real Jdbye @ The Real Jdbye: both of which work well in potplayer