Ultimate guide to upgrade your firmware/Atmosphère

ONLY UPDATE YOUR CONSOLE TO 2x.x.x IF ALL THE HOMEBREW YOU USE IS UPGRADED




Sometimes you need to upgrade your console, upgrade the firmware or upgrade Atmosphère, using the @l7777 's guide (https://gbatemp.net/threads/updating-hekate-atmosphere-and-hos.631739/) as base I hope to create a list of necessary steps to successful upgrade your console.

This guide uses Hekate, if you don't want to use Hekate skip the steps about it. You may loose some features.





Make a backup.​

Always make a full backup of your console, so if something goes wrong you have a know working restore point.​


  • If you are going to update your SysNAND you can create a backup using Hekate's NYX, It's the easy way.
  • For your EmuNAND there are two paths:
  1. If your EmuNAND is RAW based, you can use a tool like EmuTool (EmuTool GitHub) to backup the RAW partition to a set of files on your PC. That backup can be used later to restore the RAW partition or you can convert your setup to File based EmuNAND using that files.
  2. If your EmuNAND is file based, making a backup is so easy as copying the SDMC:/emuMMC folder to your PC.

Also is advisable to backup all files on your SD Card, You can Use Hekate's UMS for that task, so you don't remove the SD from Console and avoid the problem associated to manipulating the SD card.

Preparation.​

Before you start the process you need some steps:
  • Download latest Atmosphère files, download again from the GitHub repo no matters if you think you have it, sometimes the repo is silent updated.
  • Download latest Hekate files, download again from the GitHub repo no matters if you think you have it, sometimes the repo is silent updated.
  • Download latest Sigpatches from the GBATemp Thread no matters if you think you have the newest, they might be upgraded.
  • Download latest Sys-Patch Sysmodule some people tells is redundant but is better be safe than sorry
  • If you are going to upgrade your firmware, remove any theme you have installed! NX-Themeinstaller now have a option to remove all installed themes.
  • You can get a legally acquired firmware files:
  • Also a search engine can help you to find a correct backup, by example Firmware 18.1.0 rebootless have an ID of e7e2b68

Starting the process.​

Restart your console to Hekate's NYX and load UMS tool, or remove the card and put on your PC, is up to you, Hakate may be a little bit slower but you do not risk physically your console.
  • Delete SDMC:/atmosphere/contents or SDMC:/atmosphere/titles, you should have backed up this folder before.
  • Delete the next folders, that's because the first time you load new Atmosphère that folders will emptied and that can take a lot of time so you could think your console got frozen, so in order to avoid that false alarm it's better to delete them before start console.
    • SDMC:/atmosphere/crash_reports
    • SDMC:/atmosphere/erpt_reports
    • SDMC:/atmosphere/fatal_reports
  • If you had used INCOGNITO_RCM, is advisable to remove incognito from yours *NAND, having PRODINFO blanked via Incognito RCM can create problems on the new firmware/atmosphère versions.
  • Extract Atmosphère zip file and copy to the root of your SD, overwrite all files.

ProdInfo Blanked


If you like to kept your prodinfo blanked, restore and edit your SDMC:/exosphere.ini file and add/change the next values to «1» in order to enable Atmosphère incognito on telemetry:
Code:
blank_prodinfo_sysmmc=1
blank_prodinfo_emummc=1

DNS MiTM


Now to enable DNSMiTM, you need to restore your SDMC:/atmosphere/config/system_settings.ini file from backup, or copy the one from SDMC:/atmosphere/config_template/system_settings.ini and be sure the parameter enable_dns_mitm , enable_dns_mitm_debug_log and add_defaults_to_dns_hosts have the value u8!0x1 Also be sure you remove the «;» at start of the line. By example, your file should be something like:

Code:
[atmosphere]

.
.
.

enable_dns_mitm = u8!0x1
; Controls whether dns.mitm uses the default redirections in addition to
; whatever is specified in the user's hosts file.
; 0 = Disabled (use hosts file contents), 1 = Enabled (use defaults and hosts file contents)
add_defaults_to_dns_hosts = u8!0x1
; Controls whether dns.mitm logs to the sd card for debugging
; 0 = Disabled, 1 = Enabled
enable_dns_mitm_debug_log = u8!0x1
; Controls whether htc is enabled
; 0 = Disabled, 1 = Enabled

.
.
.

Where the dots represent other text.


Other Atmosphère Configs


Restore your SDMC:/atmosphere/config/override_config.ini (Key combos for atmosphère) & SDMC:/atmosphere/config/stratosphere.ini (Disable game cartdrige) files.


Hekate



  • Extract the downloaded Hekate zip file, and copy to the root of your SD, overwrite all files.
  • Upgrade your payload.bin file, if you use a injector on the injector, if you use a modchip replacing the file SDMC:/payload.bin file, if you use Hekate rename the file hekate_ctcaer_X.Y.Z.bin to payload.bin and copy to root of your SDCard.
  • Restore YOUR OWN CUSTOMIZED SDMC:/bootloader/hekate_ipl.ini file from the backup you did before. if is necessary remove any kip1patch=nosigchk line on it because you are not using patches.ini so far.
    Or if you like to use it on your console, download latest Sigpatches archive from the post indicated on the thread, but copy only the file SDMC:/bootloader/patches.ini and do not remove the lines on your hekate_ipl.ini. this is not necessary.

Sigpatches






Testing the console​


Put the card or turn off the console, then start your console as usual and let the HOS to load.​
If everything load fine you can now upgrade your firmware or go to next step.​
In order to upgrade your firmware, load Homebrew Loader (HBmenu) and run Daybreak. it's better to select «install (FAT32 + exFAT)» option, on this way if anytime you insert a SD card formatted on exFAT you will avoid an error. This option only install additional drivers but DO NOT modify your card. Be sure of select «Preserve settings» if you like to preserve your games and configuration.​
Your console will restart once the process end.​
Test your installed titles and verify some games to run OK.​


Finishing the setup.​


After you know your console boots correctly and everything is fine now you can reinstall SYSMODULES, cheats, and modifications. you can choose restore them from your SDMC:/atmosphere/contents backup or I do recommend to look if there is any newer version.​
Other common SYSmodules are, Emuiibo, Mission Control, FTPD, etc.​
Remember to restart your console once you upgraded any SYSMODULE​
Take a time and look for updated version of your Homebrew.​
If you use themes look if there are new versions of NXThemesInstaller and the patches needed to install them, after update all components, reinstall your themes.​


Important note for Mac Users:​


Macintosh OSes and IOS have a disgusting tendency to no adhere to standards so if you handle your card on a Mac, be sure to boot in to NYX and on tools tab select «Unset archive bit» AND «Fix archive bit - Nintendo»​

More information about the upgrade process:​


 
Last edited by impeeza,
Once you do something non-saint on a xNAND that NAND MUST BE KEPT OFFLINE FOREVER once you reconnect that NAND to the net and having communication with ninja's servers YOU WILL BE BANNED and there is no way to clean a dirty NAND. PERIOD.

that's why you must kept a UNTOUCHED NAND and an EmuNAND, do any you like on the EmuNAND AND DO ONLY LEGAL things on your Untouched NAND.
I get that, but it doesn't answer my question. Shouldn't I just upgrade firmware via OTA on my (mostly, I ran applet mode JKSV) untouched sys or is there a specific thought behind upgrading via Daybreak with prodinfo blanked? Or is that comment about "if you're gonna upgrade sysNAND" meant for people who run offline sys anyway?
 
hi, and thanks for the really useful guide
I used it to update my atmosphere and the switch fw to 19.0, which should be supported on atmosphere

still, after upgrading the firmware, i get the error "a fatal error occurred when running fusée, unable to identify package1"

Could you help me?

Thanks

EDIT: I don't know why but after an attempt to re-install atmosphere (simply copy-pasting again) via hekate UMS, now the micro-sd won't be recognized by the pc anymore. I also tried putting the SD directly into the pc port but the error now is:

"Impossible accessing to D
Volume does not contain a recognized file system
Check every driver required for file system is loaded and that volume is not damaged"

(in English the message may be a little different, I just translated it from the italian error message sorry)

Can i format and then make a fresh SD for my cfw switch? ANd how? Don't really care about files and such, would just love having a clean SD for this switch as it will be my gf's from now on

EDIT 2:

Managed to solve both. Plugged the SD into the PC and used crm/chkdsk to correct errors

then deleted atmosphere folder and pasted it again
then updated fusee.bin in payloads (had it pasted in the wrong folder)

now it works

I still ask your kindness in helping me out: if I want to format the SD and make it a fresh start, what should I paste in order to make it work? No worries about games and such. Just want to start new with the switch cfw

thanks

Thanks
 
Last edited by coturd,
still ask your kindness in helping me out: if I want to format the SD and make it a fresh start, what should I paste in order to make it work? No worries about games and such. Just want to start new with the switch cfw
Hello there I really recommend to test the card using h2wtest https://gbatemp.net/posts/9885418/. Maybe a dying or corrupted card.


For working you need hekate and Atmosphère then any sysmodules you like including SYS-Patch
 
  • Like
Reactions: Blythe93
Hi @impeeza, there's one part of your guide that I don't get:

Upgrade your payload.bin file, if you use a injector on the injector, if you use a modchip replacing the file SDMC:/payload.bin file, if you use Hekate rename the file hekate_ctcaer_X.Y.Z.bin to payload.bin and copy to root of your SDCard.

I use a Switch with a modchip and I use hekate, but I do have a payload.bin in the root of my SD card. I don't remember having done something specific with this file on previous upgrades. Admittedly I forget the details most times because I don't do CFW upgrades often. Do I understand correctly that I'm supposed to just rename my hekate_ctcaer file in this case?
 
Hi @impeeza, there's one part of your guide that I don't get:

Upgrade your payload.bin file, if you use a injector on the injector, if you use a modchip replacing the file SDMC:/payload.bin file, if you use Hekate rename the file hekate_ctcaer_X.Y.Z.bin to payload.bin and copy to root of your SDCard.

I use a Switch with a modchip and I use hekate, but I do have a payload.bin in the root of my SD card. I don't remember having done something specific with this file on previous upgrades. Admittedly I forget the details most times because I don't do CFW upgrades often. Do I understand correctly that I'm supposed to just rename my hekate_ctcaer file in this case?
if you do that, the modchip will load Hekate upon boot. That's the most flexible configuration because you can chainload whatever after Hekate (including Atmosphere of course).
 
  • Like
Reactions: Nynrah
**Hello, I followed this tutorial to update my Switch. My OFW (Original Firmware was on version 2.3 and my EMUNAND was on a lower version than 17 and everything was working fine. I could access both the OFW and EMUNAND from Hekate.

After following this tutorial, I successfully updated my EMUNAND to version 19.1 and it worked correctly. The problem occurred when I tried to access OFW, the screen goes black and nothing happens.

I followed several steps I found online:**

  • First, I ran Atmosphere CFW (not EMUNAND) and it worked, but OFW still resulted in a black screen.
  • Then, using TegraExplorer.bin, I navigated to system/saves and deleted the 00000120 file, then launched Atmosphere CFW again and tried OFW, but it was still the same.
  • Finally, I deleted everything in emmc/system/save, ran Atmosphere CFW, which restored the system, and when I set it up, it asked me to delete the SD card (since another user or console might have used it), which I didn't do. I exited CFW and went back to OFW, but it still resulted in a black screen.
I use TegraRCMgui.exe to inject the payload. When I try to launch OFW, it shows that it’s not in RCM mode. I need to hold the power button for 10 seconds, and then press it again to enter RCM mode.

Now I'm not sure what else to do to get OFW working. Can anyone offer some help?
Post automatically merged:

**Hello, I followed this tutorial to update my Switch. My OFW (Original Firmware was on version 2.3 and my EMUNAND was on a lower version than 17 and everything was working fine. I could access both the OFW and EMUNAND from Hekate.

After following this tutorial, I successfully updated my EMUNAND to version 19.1 and it worked correctly. The problem occurred when I tried to access OFW, the screen goes black and nothing happens.

I followed several steps I found online:**

  • First, I ran Atmosphere CFW (not EMUNAND) and it worked, but OFW still resulted in a black screen.
  • Then, using TegraExplorer.bin, I navigated to system/saves and deleted the 00000120 file, then launched Atmosphere CFW again and tried OFW, but it was still the same.
  • Finally, I deleted everything in emmc/system/save, ran Atmosphere CFW, which restored the system, and when I set it up, it asked me to delete the SD card (since another user or console might have used it), which I didn't do. I exited CFW and went back to OFW, but it still resulted in a black screen.
I use TegraRCMgui.exe to inject the payload. When I try to launch OFW, it shows that it’s not in RCM mode. I need to hold the power button for 10 seconds, and then press it again to enter RCM mode.

Now I'm not sure what else to do to get OFW working. Can anyone offer some help?

P.S.: With Hekate, in the fuses section, it shows that I can use it up to version 2.3 (I've used my Switch very little, and in the early days when updating and there was no emuNAND, I didn't burn the fuses while updating. In the last update I did months ago, I left my OFW clean with a backup of version 2.3 and created my emuNAND).
 
Last edited by Manoloblack,
  • Like
Reactions: impeeza
Hey I was just looking at this guide and wondering why the emutool was suggested when hekate can backup emunand.
 
Hey I was just looking at this guide and wondering why the emutool was suggested when hekate can backup emunand.
Preference, I guess? I personally use NxNandManager for that and it works fine for my purposes. Hekate's decent as well and it's the only one of them that's up-to-date (not sure if that's relevant or not).
 
  • Like
Reactions: impeeza
Preference, I guess? I personally use NxNandManager for that and it works fine for my purposes. Hekate's decent as well and it's the only one of them that's up-to-date (not sure if that's relevant or not).
Yes you are right.

Hey I was just looking at this guide and wondering why the emutool was suggested when hekate can backup emunand.

And also because for the most noobies users is easy to understand and straight forward this method, even if took longer and need extra steps. but I found what for the inexperienced user is hard to understand how to use NXNandManager and the drivers etc. and the Hekate backup method can be confusing and lead you to overwrite and lost backups if you do not know exactly what are you doing.

Another advantage is if you use a real USB 3.0 reader for the card on the PC, the backup time can be halved. Hekate trends to be slow and NXNandManager can only use USB 2.0 speeds so far.
 
  • Like
Reactions: Blythe93
Hey I followed this guide but it's telling me my version of Nyx is outdated "There will be dragons" What am I doing wrong??? I use tegra gui to inject payload and i'm thinking maybe i have the wrong one selected??? I selected the hekate .bin file for the tegra gui to inject and i've already copied everything else over to the sd card EXACTLY. What am I doing wrong????? I just don't understand what step I skipped or what i have done not correct
 
  • Like
Reactions: impeeza
Hey I followed this guide but it's telling me my version of Nyx is outdated "There will be dragons" What am I doing wrong??? I use tegra gui to inject payload and i'm thinking maybe i have the wrong one selected??? I selected the hekate .bin file for the tegra gui to inject and i've already copied everything else over to the sd card EXACTLY. What am I doing wrong????? I just don't understand what step I skipped or what i have done not correct

Update your hekate files
 
Hey I followed this guide but it's telling me my version of Nyx is outdated "There will be dragons" What am I doing wrong??? I use tegra gui to inject payload and i'm thinking maybe i have the wrong one selected??? I selected the hekate .bin file for the tegra gui to inject and i've already copied everything else over to the sd card EXACTLY. What am I doing wrong????? I just don't understand what step I skipped or what i have done not correct
Remember to download the latest files from github, even if you thing you have them, and extract them to the root of your SD Card, overwrite all files.
 
  • Like
Reactions: Blythe93
i forgot to errase the themes on my switch when i updated now updated to 19.0.1 to 20.0.1 and after the 2 logos it shows "The software could not start" i cant do nothing plss helppp
 
i forgot to errase the themes on my switch when i updated now updated to 19.0.1 to 20.0.1 and after the 2 logos it shows "The software could not start" i cant do nothing plss helppp
Plug your switch to a PC or mobile device (android) via Hekate's USB tools and delete the folders containing the themes
 
  • Like
Reactions: Blythe93
I also follow the request by adding:

I have a v1 and have always used an RCM loader. Thanks to the guide, I upgraded to the latest versions of hekate+atm+hoz etc.

In the past, I was always able to start Hekate when the RCM loader gave me a green light, but now Atmosphere always starts

So, should I
-delete the payload.bin file (which was previously the latest Hekate bin version) in the root of the SD card?
-also delete the update.bin file in the bootloader folder?
-What instructions should I add to the launch.txt file inside the RCM loader?
-In which folders within the RCM loader should the fuse.bin and hekatexx.bin files be placed?

Thanks in advance for any replies
 
Hello there, thanks for your kind words.

-delete the payload.bin file (which was previously the latest Hekate bin version) in the root of the SD card?

Did you upgraded the payload on your RCM Loader?​
If you did it, did you upgraded it to Fusee.bin or hekate_ctcaer_6.3.1.bin ?​
The ideal is your RCM Loader use the hekate_ctcaer_X.X.X.bin or a proxy payloader loader like ArgonNX-SE set up to autoload a file on your SD Card which can be upgraded easy on each upgrade of Hekate.​


-also delete the update.bin file in the bootloader folder?
SDMC:/Bootloader/update.bin is a copy of the latest hekate_ctcaer_X.X.X.bin file, included on the release zip file and of course should be upgraded with the hekate update.​

-What instructions should I add to the launch.txt file inside the RCM loader?
It depends, if you have an original RCM loader, you DO NOT EDIT that file directly, you press and keep the button pressed until the LED changes the color indicating the current payload.bin to load.​
If you have one of the new chinesse clones, sadly you can not change the payload.bin to be loaded and the most of the time only the U:/ATMOSPHERE_HEKATE/payload.bin, the new ones have a damaged firmware which can not be updated and if you format the Udisk the RCM Loader becomes bricked.​


-In which folders within the RCM loader should the fuse.bin and hekatexx.bin files be placed?
Depends of the later answer. ONLY IF YOU HAVE AN ORIGINAL RCM Loader you can have up to 5 different payloads, and the one corresponding to the color of the LED will be loaded at insertion, the next table resumes the LED color and the payload.bin to be loaded from which folder:​

LED Color​

Folder name to load​

Blue​

ATMOSPHERE_HEKATE​

Green​

REINX​

Red​

SXOS​

Yellow​

USER1​

Magenta​

USER2​

Cyan​

USER3​
If you have a newer RCM Loader I strongly recommend you to put ArgonNX-SE on the U:/ATMOSPHERE_HEKATE/payload.bin AND DO NOT PUT ANY payload.bin FILE ON THE OTHER FOLDERS and never upgrade it nor format it nor touch it, because that new models trend to be bricked very easy.​
 
@impeeza
Thanks for your help!

I basically have a very old RCM loader I bought from China (like 4-5 years ago?), but until the latest atmosphere+hoz etc update, I could decide whether to start Hekate or Atmosphere based on the light, green or blue, respectively.

I've already updated the update.bin file in the bootloader folder, like everything else.

In the RCM loader, I have:
atmosphere_hekate blue light. I've always put Fusee.bin there.
In Reinx, I always put the Hekate bin file (I used to call it payload.bin).
In Sxos, I had put the argon-nx.bin file, but now I deleted it with the update. Maybe it's the lack of this file that's stopping the RCM lights from working?

I've always had \REINX\PAYLOAD.BIN in launch.txt.

So what do I do? Delete the payload.bin in the root of the SD card and then leave only the hekate bin in the RCM loader?
 
@impeeza
Thanks for your help!

I basically have a very old RCM loader I bought from China (like 4-5 years ago?), but until the latest atmosphere+hoz etc update, I could decide whether to start Hekate or Atmosphere based on the light, green or blue, respectively.

I've already updated the update.bin file in the bootloader folder, like everything else.

In the RCM loader, I have:
atmosphere_hekate blue light. I've always put Fusee.bin there.
In Reinx, I always put the Hekate bin file (I used to call it payload.bin).
In Sxos, I had put the argon-nx.bin file, but now I deleted it with the update. Maybe it's the lack of this file that's stopping the RCM lights from working?

I've always had \REINX\PAYLOAD.BIN in launch.txt.

So what do I do? Delete the payload.bin in the root of the SD card and then leave only the hekate bin in the RCM loader?
Hello, is up to you the important thing is you understand how works your own RCM Loader.

My personal preference is to put ArgonNX-SE on the U:/Atmosphere_hekate folder as payload.bin and test.bin on the U:/Reinx folder as payload.bin.

That way I never need to upgrade my RCM Loader; I only upgrade the SDMC:/bootloader folder and the SDMC:/ARGON/Payload.bin file with latest Hekate.

And The file on the REINX folder of RCM Loader is for testing consoles on fly market.
 
  • Like
Reactions: dt90 and Blythe93
Hello, is up to you the important thing is you understand how works your own RCM Loader.

My personal preference is to put ArgonNX-SE on the U:/Atmosphere_hekate folder as payload.bin and test.bin on the U:/Reinx folder as payload.bin.

That way I never need to upgrade my RCM Loader; I only upgrade the SDMC:/bootloader folder and the SDMC:/ARGON/Payload.bin file with latest Hekate.

And The file on the REINX folder of RCM Loader is for testing consoles on fly market.

I managed to get Hekate to start. I wrote only this line in launch.txt \ATMOSPHERE_HEKATE\PAYLOAD.BIN and then put only the hekate bin in the rcm (nothing else). Now i can boot hekate, and then emunand atmosphere

I was wondering, do I really need the Hekate bin (renamed payload.bin) in the root of the SD card, since I don't have a modchip?
 

Site & Scene News

Popular threads in this forum