20.1.5

From Nintendo Switch Brew
Jump to navigation Jump to search

The Switch 20.1.5 system update was released on June 19, 2025 (UTC). 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:

  • General system stability improvements to enhance the user's experience.

System Titles

  • The following titles were updated:
    • Sysmodules: account, ns, erpt, pctl, migration.
    • Applets: qlaunch.

NPDM changes (besides usual version-bump):

  • migration: Service access: added eupld:c.

RomFs changes:

IPC Interface Changes

  • Interface Changed: nn::account::migration::IDeviceMigrationUserImportRequest
    • Added: 27 - inbytes: 0x0, outbytes: 0x1
  • Interface Changed: nn::account::migration::IDeviceMigrationUserImportRequest
    • Added: 27 - inbytes: 0x0, outbytes: 0x1
  • Unknown Interface prev-version: 0x71001408F8 [ID = 0x29d8801c]
  • Unknown Interface cur-version: 0x7100140A48 [ID = 0x29d8801c]
  • Interface Changed: nn::migration::user::IService
    • Changed: 2250 - outinterfaces: ['0x71001408F8 [ID = 0x29d8801c]'] -> ['0x7100140A48 [ID = 0x29d8801c]'] (final state: inbytes: 0x18, inhandles: [1], outbytes: 0x0, outinterfaces: ['0x7100140A48 [ID = 0x29d8801c]'])
    • Changed: 2260 - outinterfaces: ['0x71001408F8 [ID = 0x29d8801c]'] -> ['0x7100140A48 [ID = 0x29d8801c]'] (final state: inbytes: 0x4, inhandles: [1], outbytes: 0x0, outinterfaces: ['0x7100140A48 [ID = 0x29d8801c]'])

ns

Besides IPC-related changes:

  • Updated L_a0488, prev ver @ L_a0478.
    • Added a call to L_8f0a4 after the first func call.
    • Added a call to L_9c164.
  • Updated L_a05e4, prev ver @ L_a0584.
    • Code was added for using L_8f0a4 in a loop.
    • Added a call to L_9c164.
  • Updated L_ce23c, prev ver @ L_ce160.
    • Code was added at 0xce56c (prev ver 0xce48c): if (s32 sp44 <= 0x13) { L_8f0a4(...); <increment sp44> }
  • Updated L_11d950, prev ver @ L_11d824.
    • When the first func call fails, this now calls L_8f0a4 twice before returning.
  • Updated L_11ed70, prev ver @ L_11ebf4.
    • Added a call to L_8f0a4 after the first func call.
    • When L_99b70 returns success, this now calls L_9c164.
  • Updated L_11f454, prev ver @ L_11f290.
    • At the start of this func a call to L_8f0a4 was added.
    • At the end of this func when successful, a call to L_9c164 was added.
  • Updated L_14418c, prev ver @ L_143f68.
    • Changes are similar to L_ce23c, except the used field is s32 *(*(inx0+8)+8).
  • Updated L_1446bc, prev ver @ L_14444c.
    • Added: *(inx0+8) = 0;
  • Updated L_144c28, prev ver @ L_1449b4.
    • Clearing code was updated.
  • Updated L_26bb28, prev ver @ L_26b818.
    • Minor changes?

erpt

Only a single instruction was changed (besides GNU build-id). Previously, when validating the CreateReportContext in Reporter::CreateReport, Nintendo checks that FieldId_ErrorCode is present, and that the field corresponding to FieldId_ErrorCode has type == FieldType_String (ResultFieldTypeMismatch if not) and that it has size <= 0xE (ResultArrayFieldTooLarge if not).

It now checks that the error code string is size <= 0xF instead of <= 0xE.

migration

Besides IPC related changes from updated SDK, etc:

  • L_10a560 (prev ver L_10a540), L_10a690 (prev ver L_10a650), L_144ec4 (prev ver L_144dac), L_144f7c (prev ver L_144dac):
    • Added a call to L_d5294 (logging func).
  • L_12700c updated, prev ver @ L_126fbc.
    • Now sets x21 to the L_15306c ret, instead of ignoring it. Code was added following that.
  • Updated L_12b8d0, prev ver @ L_12b830.
    • At 0x12b950 (prev ver 0x12b8b0), added: if ((L_143510() & 1) == 0) L_1a8620(*(x23+104));
  • Updated L_12d4c8, prev ver @ L_12d418.
    • Now calls L_153050, the ret&1 is passed as an additional param to L_2e4.
  • Updated L_12f6b4, prev ver @ L_12f5e4.
    • Clearing code was updated.
  • Updated L_12f9a0, prev ver @ L_12f8d0.
  • Updated L_12fcd8, prev ver @ L_12fbb4.
  • Updated L_144e60, prev ver @ L_144d10.
    • Removed some func calls.
  • New func L_153000.
  • New func L_153050.
    • Only called by L_12700c and L_12d4c8.
  • New func L_1a8620.
    • Only called by L_12b8d0 and L_12fcd8.
  • eupld:c SetAutoUpload is now used. This is now called by L_12f9a0 and L_1a8620.

See Also

System update report(s):


Nintendo Switch System Versions
1.0.0
2.0.02.1.02.2.02.3.0
3.0.03.0.13.0.2
4.0.04.0.14.1.0
5.0.05.0.15.0.25.1.0
6.0.06.0.16.1.06.2.0
7.0.07.0.1
8.0.08.0.18.1.08.1.1
9.0.09.0.19.1.09.2.0
10.0.010.0.110.0.210.0.310.0.410.1.010.1.110.2.0
11.0.011.0.1
12.0.012.0.112.0.212.0.312.1.0
13.0.013.1.013.2.013.2.1
14.0.014.1.014.1.114.1.2
15.0.015.0.1
16.0.016.0.116.0.216.0.316.1.0
17.0.017.0.1
18.0.018.0.118.1.0
19.0.019.0.1
20.0.020.0.120.1.020.1.120.1.5