Tutorial  Updated

Update 3DS 8.1 to 9.x

Updating Sysnand 8.1

Disclaimer: This guide is a WIP. I may have forgotten something. I'm also not responsible for anyone who bricks their 3DS, or anything that happens to it really.

The 3DS Firmware version 8.1 is the launch version for N3DS. Many people who are on this FW are at 8.1.0-0x, a version with no web browser. The payloads for Ninjhax/Ironhax/Browserhax ect, requires the browser to gain access. Furthermore, most CFW for an exploitable N3DS require one of the aforementioned hacks.

Originally Nintendo hosted everything needed to update system NAND on their servers, however those files have since been removed. This means in order to update, you need to host these files yourself.

If you are on 8.1 and do have a browser you can still update via this method. If you are on O3DS I have no idea.

Preparation

Before starting you should clear any pending system updates, just in case.

Install NTR CFW
Run Cubic Ninja and navigate to the QR code function. Scan the provided QR code in the NTR CFW download to install it to the savegame.

Web Server
If you are on Windows and want to setup a local server, download WAMP or something similar. If you are using another OS there are alternatives.

Once the server is installed, make sure you can access it via local IP (like 192.168.0.x). In order to do this with WAMP, you need to edit httpd.conf. Click the green WAMP icon in the systems tray, navigate to the folder that says "Apache" and click httpd.conf. Find the text "Deny from all" and change it to "Allow from all". Now restart WAMP.

You should now see info when navigating to your local IP in the web browser (for example: http://192.168.1.100 ).

Make sure the contents of 3ds-private-update-server.zip are extracted somewhere as well (preferably C:\wamp\www\3dsupdate\).

1. Unpack Update Files

Place the .cia files of the system update you chose (should be 9.0, 9.1, or 9.2) inside a sub-folder named "updates" of wherever you extracted 3ds-private-update-server.zip.

Move node.exe and the file "CdnCiaUnpack.js" to the "updates" folder as well.

Next, open a command prompt and "cd" to the updates folder and type "node.exe CdnCiaUnpack.js". Alternatively you can drag the CdnCiaUnpack.js file and drop it onto node.exe. If done correctly it should have generated a file called "GetSystemUpdate.partial.xml". This file should not be empty. Move this file outside of the "updates" directory, to the same directory as index.php.

2. Host Update Files

Now move the folder containing index.php, all the .xml files, and "updates" directory, to the /www/ of where you installed WAMP (should be C:\wamp\www). I recommend moving it to somewhere like C:\wamp\www\3dsupdate\.

You should now see some text when viewing that folder in the browser (like http://192.168.1.100/3dsupdate/)

The first 6 lines of index.php can be configured. If you are having trouble try changing the $ServerPort.

You should also disable error reporting by editing index.php and typing "error_reporting(0);" on the second line (or anywhere in the <?php tag). If you have PHP 5.x you will most likely have to do this step.

3. Update SysNAND

Run Cubic Ninja and launch NTR CFW through it.

Replace 192.168.1.100 with your local ip / server address. Also make sure you can view the index.php link described in the commands below.

Run NTR Debugger and type in each command one by one, waiting for each one to say "Finished".

connect('192.168.1.100', 80)
listprocess()
write(0x15E424, tuple(map(ord, "http://192.168.1.100/3dsupdate/index.php\0")), pid=0x25)
write(0x15E0EC, tuple(map(ord, "http://192.168.1.100/3dsupdate/index.php\0")), pid=0x25)
write(0x15E463, tuple(map(ord, "http://192.168.1.100/3dsupdate/index.php\0")), pid=0x25)

Now go to your system settings and update your firmware like normal.

You can see this process through the video below.



Once finished, or if something goes wrong, you can view the log file the script generates.

Credits
  • Syphurith for update server files.
  • Guy who made video (forgot name)
  • cell9 for NTR stuff
 
Last edited by ashinnblunts,

FR0ZN

Well-Known Member
Member
Joined
Nov 2, 2013
Messages
1,378
Trophies
1
Age
37
XP
3,866
Country
United States
Are you sure? The first post suggests that the tutorial is for with browserless 8.1j users (i.e. launch Japanese N3DS) but will also work on 8.1 with a browser.

The first post says:

The 3DS Firmware version 8.1 is the launch version for N3DS. Many people who are on this FW are at 8.1.0-0x, a version with no web browser. The payloads for Ninjhax/Ironhax/Browserhax ect, requires the browser to gain access.

And in the requirements it says you need Cubic Ninja -> Ninjhax ... so when you have no browser -> no Ninjhax -> no way to start HBL.

Further down it also says:

If you are on 8.1 and do have a browser you can still update via this method.

So in my eyes this tutorial is clearly for people who are on 8.1J WITH web browser.
 

Arubaro

Soulspace Guardian
Member
Joined
Sep 4, 2015
Messages
1,669
Trophies
0
Age
32
XP
586
Country
The first post says:



And in the requirements it says you need Cubic Ninja -> Ninjhax ... so when you have no browser -> no Ninjhax -> no way to start HBL.

Further down it also says:



So in my eyes this tutorial is clearly for people who are on 8.1J WITH web browser.
No, you don't need browser.
It's simply saying that if you have browser, you can use this method too.
 

sj33

Well-Known Member
Member
Joined
Oct 22, 2013
Messages
4,072
Trophies
2
XP
4,726
Country
Japan
@iCEQB - Have you read the tutorial? At no point in the tutorial does it require Ninjhax/Ironhax/Browserhax. etc. In fact, that's the whole point of the tutorial.

If you are on 8.1 and do have a browser you can still update via this method.
The key word here is 'still', the implication being that people with a browser can update using other means, but this method can still be used.

People with a browser can just use sysupdater, making this method unnecessary.
 

FR0ZN

Well-Known Member
Member
Joined
Nov 2, 2013
Messages
1,378
Trophies
1
Age
37
XP
3,866
Country
United States
@iCEQB - Have you read the tutorial? At no point in the tutorial does it require Ninjhax/Ironhax/Browserhax. etc. In fact, that's the whole point of the tutorial.

The key word here is 'still', the implication being that people with a browser can update using other means, but this method can still be used.

People with a browser can just use sysupdater, making this method unnecessary.

Ok, that makes sense :D!
Would be awesome if you could confirm that it worked for you, because honestly for me all of that sounded like no browser -> no updates.
I thought the way Cubic Ninja gets exploited always requires a web browser, no matter what you do to that game.
Because the Gateway QR code for Cubic Ninja also requires you to have internet connection (and web browser?) for it to work.
 

sj33

Well-Known Member
Member
Joined
Oct 22, 2013
Messages
4,072
Trophies
2
XP
4,726
Country
Japan
I thought the way Cubic Ninja gets exploited always requires a web browser, no matter what you do to that game.
Because the Gateway QR code for Cubic Ninja also requires you to have internet connection (and web browser?) for it to work.
It seems to be not necessarily the case. Both Gateway and NTR work on browserless 8.1J using Cubic Ninja. For some reason however, other CFW such as rxTools do not support the browserless method,

If I actually take the plunge and do this, I'll post the results.
 

FR0ZN

Well-Known Member
Member
Joined
Nov 2, 2013
Messages
1,378
Trophies
1
Age
37
XP
3,866
Country
United States
It seems to be not necessarily the case. Both Gateway and NTR work on browserless 8.1J using Cubic Ninja. For some reason however, other CFW such as rxTools do not support the browserless method,

If I actually take the plunge and do this, I'll post the results.

If you do, please quote this post here, so I see it whenever you do :D
 

sj33

Well-Known Member
Member
Joined
Oct 22, 2013
Messages
4,072
Trophies
2
XP
4,726
Country
Japan
Having trouble with errors using the NTR Debugger.

null
Server connected.
> listprocess()
null
> write(0x15E424, tuple(map(ord, "http://192.168.1.2/3dsupdate/index.php\0")), pid=0x25)
null
packet: cmd = 1684095520, dataLen = 925969972
broken protocol: magic = 1347703880, seq = 825110831
Server disconnected.

I get to the third command that I'm supposed to type. As you can see, the server connects fine. Typing 'listprocess()' simply results in 'null' which may or may not be okay. However, the third line 'write(0x15E424, tuple(map(ord, "http://192.168.1.2/3dsupdate/index.php\0")), pid=0x25)' gives the error above and the server disconnects.

Like others in this thread, I cannot see any entry for 'allow from all' in the httpd.conf, but I can actually connect to the server from my PC using the local address http://192.168.1.2 so I'm assuming this is not an issue.

Any ideas?
 

sj33

Well-Known Member
Member
Joined
Oct 22, 2013
Messages
4,072
Trophies
2
XP
4,726
Country
Japan
Sorry for the double post, but anybody considering doing this should probably now update to 10.6 then downgrade to 9.2 using the new svchax-based Sysupdater. I have done this and now I'm on 9.1.

Do it before Nintendo release an update.
 

FR0ZN

Well-Known Member
Member
Joined
Nov 2, 2013
Messages
1,378
Trophies
1
Age
37
XP
3,866
Country
United States
Sorry for the double post, but anybody considering doing this should probably now update to 10.6 then downgrade to 9.2 using the new svchax-based Sysupdater. I have done this and now I'm on 9.1.

Do it before Nintendo release an update.

Now I'm dissapointed in you :(
 

hyno111

Member
Newcomer
Joined
Nov 9, 2014
Messages
22
Trophies
0
XP
141
Country
China
I only have oots3d card so can not use ninjahax.
Although I can boot in gateway memu and install mset, it is impossible to boot into rxtools using MSET 4.x exploit.
Seems I should restore sysnand backup and update to 10.6 to downgrade, when it's still possible..
 

b3l0kk

Member
Newcomer
Joined
May 8, 2016
Messages
12
Trophies
0
Age
43
XP
64
Country
United States
Having one issue. When going to do the update the bar does not fill at all just error out after 5-8 mins. Any suggestions. Wamp is running. I followed the directions to the letter.
 

b3l0kk

Member
Newcomer
Joined
May 8, 2016
Messages
12
Trophies
0
Age
43
XP
64
Country
United States
I know I can do that, but I don't want to lose Gateway compatibility. I have two 3DS, I want at leaset one of them to still be able to use the Gateway card.
 

uyjulian

Homebrewer
Member
Joined
Nov 26, 2012
Messages
2,567
Trophies
2
Location
United States
Website
sites.google.com
XP
3,880
Country
United States
I know I can do that, but I don't want to lose Gateway compatibility. I have two 3DS, I want at leaset one of them to still be able to use the Gateway card.
You don't need to lose Gateway compatibility.
You can use Gateway CFW (but it is NOT recommended since there's a chance of brick because of no firm protection)
 

Tenshi_Okami

Well-Known Member
Member
Joined
Nov 3, 2015
Messages
1,490
Trophies
0
Age
25
XP
1,616
Country
Puerto Rico
I know I can do that, but I don't want to lose Gateway compatibility. I have two 3DS, I want at leaset one of them to still be able to use the Gateway card.
You don't lose it, just update to 11.2 and follow the guide, but downgrade the 3DS using the 9.2 CTRtransfer, that way you can use menuhax and boot into gateway mode.

(I know he can use A9LH, but it's kinda better to use Menuhax to leave the upgrading risk aside)
 

retrofan_k

Well-Known Member
Member
Joined
May 31, 2013
Messages
2,077
Trophies
2
Location
Caves
XP
2,462
Country
Belarus
There is no risk. My 3 systems are all on A9LH 11.2 and I still use the GW card from time to time using their arm9 payload (holding down at boot)

There is no need for menuhax and just dont be a dick about things when in GW mode trying to update, etc. The info and precautions has been out there long enough about this.

--------------------- MERGED ---------------------------

I know I can do that, but I don't want to lose Gateway compatibility. I have two 3DS, I want at leaset one of them to still be able to use the Gateway card.

You lose nothing. GW works on 11.2 A9LH.
 
Last edited by retrofan_k,

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    Maximumbeans @ Maximumbeans: butte