Ultimate guide to upgrade your firmware/Atmosphère

ONLY UPDATE YOUR CONSOLE TO 21.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,
Yo añadiría el bundle NX Venom for overclocking y undervolt mejora bastante el rendimiento y la duración de la batería.

I would add the NX Venom for overclocking bundle and undervolt improves performance and battery life quite a bit :grog:
 
Yo añadiría el bundle NX Venom for overclocking y undervolt mejora bastante el rendimiento y la duración de la batería.

I would add the NX Venom for overclocking bundle and undervolt improves performance and battery life quite a bit :grog:
I was trying to leave as general as possible, but I will investigate about that SYSMODULE and if possible add to the steps.

Thank you so much.
 
I don't have SDMC:/exosphere.ini or SDMC:/atmosphere/config/system_settings.ini and I don't know what "Create a folder on your SD Card and copy on it the extracted files for the firmware." means
 
I don't have SDMC:/exosphere.ini or SDMC:/atmosphere/config/system_settings.ini

That files are on SDMC:/atmosphere/config_templates. Copy the files from that folder to the root and config folder respectively


and I don't know what "Create a folder on your SD Card and copy on it the extracted files for the firmware." means

Simple: you create a folder at the root of sd card and extract the files of the firmware archive on it
 
  • Like
Reactions: Blythe93
Simple: you create a folder at the root of sd card and extract the files of the firmware archive on it
I don't know what you are talking about

also does what you said about those ini files only apply if you used an incognito RCM? because I don't think I did
 
I don't know what this firmware archive you're referring to is
You can upgrade the console firmware offline using a set of files which you can get by dumping from a console already upgraded, a cartridge or from a friend on the net. if you get the firmware from the beer is very possible you download a zip file, so you need extract that zip file on a folder on the root of the sd card
 
  • Like
Reactions: Blythe93
When is this necessary? I maybe have known in the past but I always forget stuff about switch softmodding, as a concept it seems if Atmosphere is a custom firmware it's replacing the OFW so updating the OFW should be irrelevant right?
 
When is this necessary? I maybe have known in the past but I always forget stuff about switch softmodding, as a concept it seems if Atmosphere is a custom firmware it's replacing the OFW so updating the OFW should be irrelevant right?
When you want to upgrade your firmware.
 
  • Like
Reactions: Blythe93
Last edited by impeeza,
  • Like
Reactions: Blythe93
I don't know what "Create a folder on your SD Card and copy on it the extracted files for the firmware." means
Create a folder on the root of your SD card named e.g. firmware and extract the zip archive containing firmware files that you've previously acquired somewhere on the Internet (we aren't allowed to link to any place that hosts those files due to copyright issues, but quick Google search is all it takes to find it). Why do you need to create a folder named firmware? Just so that you can find it easily once in Daybreak, an Atmosphere homebrew app that is used for updating / downgrading your Switch firmware. You can name it and place it wherever you want on your SD card, but creating a folder on the root of your SD card is recommended.

When is this necessary?
Depends on what you do on your console. If you want to play latest games, you'll probably have to be on the latest firmware. Usually game updates are the ones that require higher firmware. I personally update whenever Atmosphere, Hekate and sigpatches/sys-patch support the latest available firmware (and MissionControl, if you're like me and you're using controllers from other consoles like Wii U and PS3). All those important apps are updated in a week or so at best.

if Atmosphere is a custom firmware it's replacing the OFW so updating the OFW should be irrelevant right?
Not quite right, I guess. I believe that the author of Atmosphere made it that way so that it doesn't come with the official firmware files from Nintendo in order to avoid copyright infringement, therefore you can think of it as a patch for the official firmware that needs to be run on every boot. Him not supporting piracy as well allowed him so far to keep working on Atmosphere so that we can enjoy having the latest and greatest in Switch homebrew scene.
 
  • Edit your SDMC:/exosphere.ini file and add/change the next values to «1» in order to enable Atmosphère incognito on telemetry:
Code:
[/INDENT]
[INDENT=2]blank_prodinfo_sysmmc=1[/INDENT]
[INDENT=2]blank_prodinfo_emummc=1[/INDENT]
[INDENT=2]
I remember having read that exosphere.ini worked perfectly up to FW 16.1.0 but caused an error "0100000000000025" on FW 17.0.0. I'm thinking about updating to 18.1.0 from 17.0.1 and I currently do not have exosphere.ini, only DNSMiTM, and I'm wondering if that issue has now been fixed, since you posted using exosphere.ini in your guide, and that it's once again safe to use exosphere.ini?
 
I don't have SDMC:/exosphere.ini or SDMC:/atmosphere/config/system_settings.ini and I don't know what "Create a folder on your SD Card and copy on it the extracted files for the firmware." means

Here you go if you don't have them

[exosphere]
debugmode=1
debugmode_user=0
disable_user_exception_handlers=0
enable_user_pmu_access=0
blank_prodinfo_sysmmc=1
blank_prodinfo_emummc=1
allow_writing_to_cal_sysmmc=0
log_port=0
log_baud_rate=115200
log_inverted=0

________________________________________________________________________________________________________________


[eupld]
; Disable uploading error reports to Nintendo
; upload_enabled = u8!0x0
[usb]
; Enable USB 3.0 superspeed for homebrew
; 0 = USB 3.0 support is system default (usually disabled), 1 = USB 3.0 support is enabled.
usb30_force_enabled = u8!0x1
[ro]
; Control whether RO should ease its validation of NROs.
; (note: this is normally not necessary, and ips patches can be used.)
; ease_nro_restriction = u8!0x1
[lm]
; Control whether lm should log to the SD card.
; Note that this setting does nothing when log manager is not enabled.
; enable_sd_card_logging = u8!0x1
; Control the output directory for SD card logs.
; Note that this setting does nothing when log manager is not enabled/sd card logging is not enabled.
; sd_card_log_output_directory = str!atmosphere/binlogs
; Atmosphere custom settings
[erpt]
; Control whether erpt reports should always be preserved, instead of automatically cleaning periodically.
; disable_automatic_report_cleanup = u8!0x0
[atmosphere]
; Reboot from fatal automatically after some number of milliseconds.
; If field is not present or 0, fatal will wait indefinitely for user input.
; fatal_auto_reboot_interval = u64!0x0
; Make the power menu's "reboot" button reboot to payload.
; Set to "normal" for normal reboot, "rcm" for rcm reboot.
; power_menu_reboot_function = str!payload
; Controls whether dmnt cheats should be toggled on or off by
; default. 1 = toggled on by default, 0 = toggled off by default.
dmnt_cheats_enabled_by_default = u8!0x0
; Controls whether dmnt should always save cheat toggle state
; for restoration on new game launch. 1 = always save toggles,
; 0 = only save toggles if toggle file exists.
dmnt_always_save_cheat_toggles = u8!0x1
; Enable writing to BIS partitions for HBL.
; This is probably undesirable for normal usage.
; enable_hbl_bis_write = u8!0x0
; Enable reading the CAL0 partition for HBL.
; This is probably undesirable for normal usage.
; enable_hbl_cal_read = u8!0x0
; Controls whether fs.mitm should redirect save files
; to directories on the sd card.
; 0 = Do not redirect, 1 = Redirect.
; NOTE: EXPERIMENTAL
; If you do not know what you are doing, do not touch this yet.
; fsmitm_redirect_saves_to_sd = u8!0x0
; Controls whether am sees system settings "DebugModeFlag" as
; enabled or disabled.
; 0 = Disabled (not debug mode), 1 = Enabled (debug mode)
; enable_am_debug_mode = u8!0x0
; Controls whether dns.mitm is enabled
; 0 = Disabled, 1 = Enabled
; enable_dns_mitm = u8!0x0
; 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!0x0
; Controls whether dns.mitm logs to the sd card for debugging
; 0 = Disabled, 1 = Enabled
; enable_dns_mitm_debug_log = u8!0x0
; Controls whether htc is enabled
; 0 = Disabled, 1 = Enabled
; enable_htc = u8!0x0
; Controls whether atmosphere's log manager is enabled
; Note that this setting is ignored (and treated as 1) when htc is enabled.
; 0 = Disabled, 1 = Enabled
; enable_log_manager = u8!0x0
; Controls whether the bluetooth pairing database is redirected to the SD card (shared across sysmmc/all emummcs)
; NOTE: On <13.0.0, the database size was 10 instead of 20; booting pre-13.0.0 will truncate the database.
; 0 = Disabled, 1 = Enabled
; enable_external_bluetooth_db = u8!0x1
[hbloader]
; Controls the size of the homebrew heap when running as applet.
; If set to zero, all available applet memory is used as heap.
; The default is zero.
; applet_heap_size = u64!0x0
; Controls the amount of memory to reserve when running as applet
; for usage by other applets. This setting has no effect if
; applet_heap_size is non-zero. The default is 0x8600000.
; applet_heap_reservation_size = u64!0x8600000
 
  • Love
Reactions: impeeza
I remember having read that exosphere.ini worked perfectly up to FW 16.1.0 but caused an error "0100000000000025" on FW 17.0.0. I'm thinking about updating to 18.1.0 from 17.0.1 and I currently do not have exosphere.ini, only DNSMiTM, and I'm wondering if that issue has now been fixed, since you posted using exosphere.ini in your guide, and that it's once again safe to use exosphere.ini?
yes if you use blank prodinfo YOU MUST you have enabled DNS MiTM or the crash will happen.
 
yes if you use blank prodinfo YOU MUST you have enabled DNS MiTM or the crash will happen.
I've only used exosphere.ini, and because of the crash I switched to DNS MiTM. If using both prevents the crash, then that's what I'll do. It's also safer than having only one enabled, so thanks a lot for your help. :D
 
  • Like
Reactions: impeeza

Site & Scene News

Popular threads in this forum