4.0.0

Revision as of 16:26, 19 October 2017 by SciresM (talk | contribs) (Clarify that SSK isn't used directly, it's overwritten.)

The Switch 4.0.0 system update was released on October 18, 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>.

Change-log

Official ALL change-log:

  • Added the following system functionality
  • Capture video on select games
  • To capture video, hold down the Capture Button during gameplay
  • Up to maximum of the previous 30 seconds will be saved in the Album. You can trim the beginning and end of each clip, and post to Facebook and Twitter.
  • As of October 18th, 2017, this feature is compatible with The Legend of Zelda: Breath of the Wild, Mario Kart 8 Deluxe, ARMS, and Splatoon 2
  • Select from 12 new Super Mario Odyssey and The Legend of Zelda: Breath of the Wild icons for your user
  • To edit your user icon, head to your My Page on the top left of the Home Menu > Profile
  • Transfer user and save data to another system
  • To transfer, head to System Settings > Users > Transfer Your User and Save Data
  • Pre-purchase option on Nintendo eShop
  • A pre-purchase option will be available for certain games. This option allows pre-load of the game to your system for quicker play when the game is released.
  • This feature will be supported by future game releases
  • News channel updates
  • The news feed has been updated with a new look.
  • Unfollowing a channel will remove that channel's content from the news feed and following the channel again will make it reappear.
  • Match software version with a group of local users
  • To create a group, head to the software's Options > Software Update > Match Version with Local Users
  • Everyone's software will be updated to match the most recent version in the group
  • All users must be on system menu version 4.0.0 or later to view and join a group
  • General system stability improvements to enhance the user's experience, including:
  • Changed the specification which hid wireless networks using TKIP security from the network search results. Wireless networks using TKIP security will now display in search results as a grayed-out selection instead of not being displayed
  • The Nintendo Switch console supports WEP, WPA-PSK(AES), and WPA2-PSK(AES). If your router is using a different security type (e.g. WPA-PSK(TKIP)), you will need to change this security type within your router's settings.

System Titles

<fill this in (manually) later>

  • Every single system title was updated, except for: 0100000000000805("Chinese and Korean dictionaries"), 0100000000000808("European, English and Japanese dictionaries"), and 010000000000080C("EULA").
  • 4 new sysmodules were added, and new FIRM-package title 010000000000081C was added.

FIRM

Everything under RomFS was updated.

The package1 entrypoint address specified by BCT was increased by 0x20-bytes, since there's now an additional 0x20-bytes at the start of package1. The additional data is identical to the 0x20-byte block before it.

Package1

 setKeyslotFlags (LT_4001011a)
 Instead of writing ~flags directly to securityEngine->KEYSLOT_FLAGS[keyslot], this now preserves the high bits of the existing flags.
 
 getOdmFuse4Type (LT_40010614)
 This func now includes bits 16-19 in the OR'd flag used in the switch, and now returns 4 as a default invalid result instead of the low bit of FUSE_SPARE_BIT_5.
 
 checkFuseCoherency (LT_400106e4)
 This func was updated to take into account the new invalid retval for getOdmFuse4Type. C
 Check that bootrom patch version was < 0x1F was removed, and patch version is still validated to be < 0x7F.
   
 decryptAndParsePK11 (LT_40010734)
 The entrypoint calculation code no longer adds *(package11Header + 0x4) to the address.
 
 generateKeys (LT_400107a2)
 setKeyslotFlags(keyslot, 0x15) is now additionally called on keyslots 14 and 15.
 The code for switching key generation method depending on fuses (unit type) and last byte of PKC modulus has been removed, and replaced with a call to a single key generation function.
 The code block inbetween the keyslot-config code was replaced with just a call to LT_40011264.
 setKeyslotFlags(keyslot, 0xFF) is now used on keyslots 12 and 15 instead of 12 and 13.
 
 downgradeFuseCheck (LT_400111cc)
 The burnt fuse information stored in .rodata now expects 5 fuses to be burnt for retail units, instead of 4.
 
 generateKeysFromBITAddress (LT_40011264)
 Instead of calling generateKeysLegacyMethod, this now calls generateKeysFromKeyblobAndKeyseeds (the main key generation function). Legacy key generation code has been removed.
 
 generateKeysFromKeyblobAndKeyseeds (LT_400112f0)
 The function now takes in two keyseeds and sizes, previously it only took in one (keyseed, size) pair.
 Keyslot 15 (initially SSK) is now used where keyslot 10 was used previously, and keyslot 15 is no longer cleared when keyslot 14 (initially SBK) is cleared.
 The Keyblob keyseed was updated for keyblob 4.
 code block following the keyblob clear code was updated:
 After the decrypted keyblob is cleared, decryptDataIntoKeyslot(KEYSLOT_14, KEYSLOT_12, secondKeySeed, secondKeySeedSize) is now called before decryptDataIntoKeyslot(KEYSLOT_12, KEYSLOT_12, firstKeySeed, firstKeySeedSize).
 At the end of the function, "decryptDataIntoKeyslot(KEYSLOT_13, KEYSLOT_10, perConsoleKeyseed2, 0x10); clearKeyslot(KEYSLOT_10);" has been replaced with "decryptDataIntoKeyslot(KEYSLOT_13, KEYSLOT_15, perConsoleKeyseed3, 0x10); decryptDataIntoKeyslot(KEYSLOT_15, KEYSLOT_15, perConsoleKeyseed2, 0x10);"

Keys

All of these updated titles now use the new NCA crypto for non-ncatype0(all content except .cnmt content), except for all of the FIRM-packages including the new one(required for FIRM installation).

Keyblob 4 is now used, instead of 3.

OSS

The updated OSS includes WebKit changes.

See Also

System update report(s):