From Nintendo Switch Brew
Revision as of 16:53, 27 October 2017 by Smartperson (talk | contribs) (→‎Change-log: Update formatting to match Nintendo official info)
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