From Nintendo Switch Brew
Revision as of 18:17, 28 December 2019 by Mha (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

The Switch 3.0.1 system update was released on July 31, 2017. This Switch update was released for the following regions: ALL.

Security flaws fixed: <fill this in manually later, see the updatedetails page from the ninupdates-report page(s) once available for now>.


Official ALL change-log:

General system stability improvements to enhance the user's experience, including:

  • Addressed an issue in which the remaining battery charge can't be displayed accurately
    • If the system's battery power display suddenly increases or decreases, it will gradually improve by following these steps.

System Titles

Exactly the following was updated:

  • Every sysmodule.
  • Every web-applet.
  • Sysupdate titlelisting-title, browser "shareddata:/", System Version Title, and all FIRM packages.

All sysmodules were rebuilt, where the only change was the hashid following the "GNU" string, however some sysmodules have additional changes.

  • Some sysmodules have strings containing "D:\home\teamcity\work\sdk\Externals\{...}" changed to "D:\Home\teamcity\work\sdk\Externals\{...}".
  • Build timestamp in wlan-sysmodule was updated.

Actual updated sysmodules:

  • nvservices
  • pcv
  • account
  • nim
  • pctl
  • npns
  • eupld

The only changes for npns and account: The "https://dauth-%.ndas.srv.nintendo.net/v1/device_auth_token" URL was changed to "https://dauth-%.ndas.srv.nintendo.net/{hex string}/device_auth_token".

The above new URL was added(not replacing any URL in .(ro)data) to nim, + code changes. A "device_auth_token" string in nim was removed.

As of October 19, 2017, manually accessing the above new URL with the proper post-data works fine, however accessing the old URL returns the following: {"errors":[{"code":"0007","message":"System update is required."}]} Hence, all sysmodules using the old URL would throw a sysupdate-required error.

FIRM packages


Everything under RomFS was updated.

Kernel wasn't updated.

The following firm-sysmodules were updated: FS, boot, and sm. The remaining modules(Loader, NCM, ProcessMana, and spl) were rebuilt: hashid following "GNU" string was updated.


Basically all code changes are related to the new NCA crypto. Key-init function was updated due to the new NCA crypto. Various keyindex values were updated due to the new NCA crypto, for non-NCA and NCA code. A function which returned ncahdr_x206("Crypto Type") was replaced with a branch to the new <get-final-cryptotype> function described here(equivalent to similar changes elsewhere).


Updated 1 func and added a new func:

  • Added a call to <new func>. w1 value passed to L_381c(prev ver L_37d4) is now the output of <mask>, instead of fixed to 0x1.

Internet Browser

All webapplets were updated, vulnerabilities were fixed. 803/buildinfo/buildinfo.dat contains the following:

 d:2017-07-11 17:51


The bootloader version was changed from 2 to 3.

New keydata was introduced for NCA content, see here.

New keydata was introduced for BCAT containers for indexes 0x10 to 0x1F.

See Also

System update report(s):

Nintendo Switch System Versions