How to safely downgrade your Old/New Nintendo 3DS to firmware 9.2.0-20

Assuming you're on firmware 9.3 to 10.3, then you can downgrade to 9.2 using the following method.

  • Download (aka the "homebrew starter kit")
  • Download
  • Download 9.2.0-20X firmware for your console (Replace X with E for Europe, U for US and J for Japan)

I can't link you the firmware download links, but I can tell you how to find it.

  • Google for "[MEGA] [CIA/BIN] MSET 4.X & 6.X backups, Browser backups, Update packs (All Regions)" with the quotation marks.
  • Search for your console generation (3ds OLD or NEW)
  • Then be VERY careful to download the right 9.2.0-20X firmware for your console.

You will risk bricking your console if you try to install the wrong firmware onto your console.

To double-check the download after it's done, verify the zip archive with an MD5 checker against the following checksums.




9.2.0-20E (Full)

MD5: 6dcca8fcbc9a28c82c2a4e5182f3acf8
SHA-1: e7c77bf205137167f1f1befa0c4db9d879a21a2e?

MD5: caec3e015bc065dd0ca512f219c8fc3c
SHA-1: 63f0e83892af0f43d159685b4d775e09360552e4?

9.2.0-20U (Full)

MD5: e5f40c3b155cfd12ef38be35d2e81d2e
SHA-1: 377c140377fb6cf31a0c032c4e1196cc521f87fe?

MD5: 879f437d7c78f09ae565f79f5aa9c421
SHA-1: ccc272c495a84aa49f8db2da6072a79a73053e19?

9.2.0-20J (Full)

MD5: f46677696ed4bf0e182de5a8168b7542
SHA-1: c9a1aaf4a4923fb5e065546da5c4a4da37aafdb2?

MD5: a7c14f50e553d99d93efd3a8dd4f8b9d
SHA-1: 422af53b07c270d65bf443d09736f3d1c540641c?

Setting up the 3DS for downgrade

Before starting, use a file hash checker to MAKE SURE THE FILE WAS DOWNLOADED CORRECTLY!

  • Extract to root folder of your sd card
  • Extract sysUpdater app to "3ds/sysUpdater" folder of sd card
  • Make a folder called "updates" on the root of the sd card
  • Put all the firmware CIA files into the "updates" folder
  • Safely remove sd card from computer
  • Put it into the 3ds
  • Turn it on
  • Y8MAaYR

Installing Menuhax

Since all the files are already on the SD card and ready to go...

  • Open up the 3DS browser and run browserhax by typing in
  • It'll flicker and take you into Homebrew Launcher.
  • From there, select Menuhax installer
  • Press A to install
  • Restart when instructed
  • Now that it's installed, turn off WiFi
  • Turn off your 3DS
  • Turn it on again, but hold L as it loads
  • This should now start you directly into Homebrew Launcher without the need of browserhax

I've written this up in greater detail in a previous tutorial if you're still confused.

Downgrading your Old/New 3DS to 9.2

From homebrew launcher:

  • Start up sysUpdater
  • Press Y to downgrade. It takes a moment to response so give it about 10 seconds before giving up.
  • Wait a few minutes for it to finish
  • It will reboot itself
  • If everything worked, you will now be on 9.2.0-20 (but you've lost your menuhax)
  • When you're rebooted back into your 3DS, open up the browser
  • Run and reinstall menuhax via browserhax at
  • Remember to turn off WIFI after it's all done

Problems you may encounter with sysUpdate

  • opening sysUpdate gives a black screen
  • sysUpdate turns on and shows text, but pressing Y or B does nothing

In these cases, I recommend trying:

Method A: Trying a new sd card

  • Copy all the stuff from your SD card onto your computer
  • Copy all the stuff from the computer to a new sd card made by a more reliable brand (Apparently Samsung works well)
  • Try again with new card

Method B: Format the card to FAT32

  • Copy all the stuff from your SD card onto your computer
  • Format the card to FAT32 using Windows Explorer
  • Copy all the stuff back
  • Try again

Method C: Run FTBrony first

This one is a strange one but actually worked for me after the third attempt (and after formatting the SD card)

  • Get into Homebrew Launcher
  • Start FTBrony
  • Spam the B button to exit immediately
  • Spam the "Right" button on the d-pad to find sysUpdater
  • Start it and hope to see text

Things to do now

If you've got a Gateway card, you'd be pleased to know that Gateway supports v9.2 so you can start using it again.

Much like installing sysUpdater, you'll need to load Gateway mode via Homebrew Loader

  • Grab from their website
  • Extract the contents of to your SD card so you have X:\3ds\GW\
  • Start Homebrew Loader
  • Load up Gateway
  • Sleep. I'll write up more stuff another day.



      nginx: How To Set Up an SSL Reverse Proxy (Windows / Linux)

      So you have a program on your computer that's running a HTTP server, but you want to add HTTPS support to it to prevent people from snooping on your activity.

      Fortunately, that's pretty easy to do.


      • nginx
      • openssl (for Windows, mine came with cmder)

      Installing nginx

      Pretty straight forward.

      Windows: Download, extract and open command prompt there

      Linux: Add repo, update and apt-get to install

      Testing default setup

      • Windows: type "start nginx"
      • Linux: Should already be started after installation. If not, try /etc/init.d/nginx start

      Open up a browser to http://localhost/ and you should see an nginx page.

      Generating Encryption Certificate

      For this process I'm just going to self-sign a certificate to get your server up and running. The browser will complain about it for the first time, but after you add the exception and test that it's all working you can get it signed properly elsewhere.

      • Open up a terminal and "cd" to nginx conf folder
        • Linux: cd /etc/nginx/
        • Windows: cd /D X:\Wherever\You\Extracted\nginx\conf\
      • Type in

      openssl req -x509 -sha256 -newkey rsa:2048 -keyout -out -days 1825 -subj '/' -nodes

      • This will generate your private key file and your certificate. Keep your key safe!

      Configuring SSL on nginx

      • Open up nginx.conf
      • Under the "http" entry
      • Add in this snippet and modify to suit your domain/port numbers

      # SSL reverse proxy server
      server {
          listen      443 ssl;
          server_name localhost;


          #ssl_session_cache    shared:SSL:1m;
          #ssl_session_timeout  5m;

          #ssl_ciphers  HIGH:!aNULL:!MD5;
          #ssl_prefer_server_ciphers  on;

           location / {
              proxy_pass http://localhost:1234/;

      In this example I'm proxying the HTTPS request to (default HTTPS port being 443) to a service running at http://localhost:1234 on the same computer.

      Reload nginx and you see if it works on the browser.

      • Linux: /etc/init.d/nginx reload
      • Windows: nginx -s reload

      Now you should be able to access your HTTP service via a secure HTTPS proxy.

      See? Wasn't that hard after all!


      Additional redirects

      You might want to add a regular HTTP server which redirects to the new HTTP server. Simply add this to the conf script above or below the details for the HTTPS "server {}".

      server {
          listen       80;

          location / {
              return 301 https://$host/;


      Copyright © Twig's Tech Tips
      Theme by BloggerThemes & TopWPThemes Sponsored by iBlogtoBlog