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

  • Unknown Interface prev-version: 0x7100086504 [ID = 0x0919ff75]
  • Unknown Interface prev-version: 0x7100085DD4 [ID = 0x38f0bb3d]
  • Unknown Interface prev-version: 0x71000846F0 [ID = 0x107aa108]
  • Unknown Interface prev-version: 0x7100085B3C [ID = 0x3af03446]
  • Unknown Interface prev-version: 0x7100086228 [ID = 0x36f3a242]
  • Unknown Interface cur-version: 0x7100086504 [ID = 0x0919ff75]
  • Unknown Interface cur-version: 0x7100085DD4 [ID = 0x38f0bb3d]
  • Unknown Interface cur-version: 0x71000846F0 [ID = 0x107aa108]
  • Unknown Interface cur-version: 0x7100085B3C [ID = 0x3af03446]
  • Unknown Interface cur-version: 0x7100086228 [ID = 0x36f3a242]
  • Unknown Interface prev-version: 0x7100266784 [ID = 0x3af03446]
  • Unknown Interface prev-version: 0x7100265338 [ID = 0x107aa108]
  • Unknown Interface prev-version: 0x71001A5D44 [ID = 0x04dea048]
  • Unknown Interface prev-version: 0x7100266A1C [ID = 0x38f0bb3d]
  • Unknown Interface prev-version: 0x710026714C [ID = 0x0919ff75]
  • Unknown Interface prev-version: 0x71001A6348 [ID = 0x4e930893]
  • Unknown Interface prev-version: 0x7100266E70 [ID = 0x36f3a242]
  • Unknown Interface cur-version: 0x71002673BC [ID = 0x0919ff75]
  • Unknown Interface cur-version: 0x71002669F4 [ID = 0x3af03446]
  • Unknown Interface cur-version: 0x71002655A8 [ID = 0x107aa108]
  • Unknown Interface cur-version: 0x71001A65C0 [ID = 0x4e930893]
  • Unknown Interface cur-version: 0x7100266C8C [ID = 0x38f0bb3d]
  • Unknown Interface cur-version: 0x71002670E0 [ID = 0x36f3a242]
  • Unknown Interface cur-version: 0x71001A5FBC [ID = 0x04dea048]
  • Interface Changed: nn::account::IAccountServiceForAdministrator
    • Changed: 292 - outinterfaces: ['0x7100266784 [ID = 0x3af03446]'] -> ['0x71002669F4 [ID = 0x3af03446]'] (final state: inbytes: 0x10, outbytes: 0x0, outinterfaces: ['0x71002669F4 [ID = 0x3af03446]'])
    • Changed: 293 - outinterfaces: ['0x7100266A1C [ID = 0x38f0bb3d]'] -> ['0x7100266C8C [ID = 0x38f0bb3d]'] (final state: inbytes: 0x10, outbytes: 0x0, outinterfaces: ['0x7100266C8C [ID = 0x38f0bb3d]'])
    • Changed: 350 - outinterfaces: ['0x7100266E70 [ID = 0x36f3a242]'] -> ['0x71002670E0 [ID = 0x36f3a242]'] (final state: inbytes: 0x1, outbytes: 0x0, outinterfaces: ['0x71002670E0 [ID = 0x36f3a242]'])
    • Changed: 352 - outinterfaces: ['0x710026714C [ID = 0x0919ff75]'] -> ['0x71002673BC [ID = 0x0919ff75]'] (final state: inbytes: 0x4, inhandles: [1], outbytes: 0x0, outinterfaces: ['0x71002673BC [ID = 0x0919ff75]'])
  • Interface Changed: nn::account::baas::IAdministrator
    • Changed: 181 - outinterfaces: ['0x7100265338 [ID = 0x107aa108]'] -> ['0x71002655A8 [ID = 0x107aa108]'] (final state: inbytes: 0x0, outbytes: 0x0, outinterfaces: ['0x71002655A8 [ID = 0x107aa108]'])
    • Changed: 182 - outinterfaces: ['0x7100265338 [ID = 0x107aa108]'] -> ['0x71002655A8 [ID = 0x107aa108]'] (final state: inbytes: 0x10, outbytes: 0x0, outinterfaces: ['0x71002655A8 [ID = 0x107aa108]'])
  • Interface Changed: nn::account::baas::IManagerForSystemService
    • Changed: 181 - outinterfaces: ['0x7100265338 [ID = 0x107aa108]'] -> ['0x71002655A8 [ID = 0x107aa108]'] (final state: inbytes: 0x0, outbytes: 0x0, outinterfaces: ['0x71002655A8 [ID = 0x107aa108]'])
    • Changed: 182 - outinterfaces: ['0x7100265338 [ID = 0x107aa108]'] -> ['0x71002655A8 [ID = 0x107aa108]'] (final state: inbytes: 0x10, outbytes: 0x0, outinterfaces: ['0x71002655A8 [ID = 0x107aa108]'])
  • Interface Changed: nn::ns::detail::IApplicationManagerInterface
    • Changed: 4026 - outinterfaces: ['0x71001A5D44 [ID = 0x04dea048]'] -> ['0x71001A5FBC [ID = 0x04dea048]'] (final state: inbytes: 0x8, outbytes: 0x0, outinterfaces: ['0x71001A5FBC [ID = 0x04dea048]'])
    • Changed: 4027 - outinterfaces: ['0x71001A6348 [ID = 0x4e930893]'] -> ['0x71001A65C0 [ID = 0x4e930893]'] (final state: inbytes: 0x8, outbytes: 0x0, outinterfaces: ['0x71001A65C0 [ID = 0x4e930893]'])
  • Unknown Interface prev-version: 0x710013C728 [ID = 0x6e021695]
  • Unknown Interface prev-version: 0x71001408F8 [ID = 0x29d8801c]
  • Unknown Interface prev-version: 0x7100141D04 [ID = 0x3c7c9db7]
  • Unknown Interface prev-version: 0x7100140D7C [ID = 0xeb5e4ee2]
  • Unknown Interface prev-version: 0x710013E3E8 [ID = 0x8cf617a1]
  • Unknown Interface cur-version: 0x710013E538 [ID = 0x8cf617a1]
  • Unknown Interface cur-version: 0x7100140ECC [ID = 0xeb5e4ee2]
  • Unknown Interface cur-version: 0x710013C878 [ID = 0x6e021695]
  • Unknown Interface cur-version: 0x7100140A48 [ID = 0x29d8801c]
  • Unknown Interface cur-version: 0x7100141E54 [ID = 0x3c7c9db7]
  • Interface Changed: nn::migration::user::IService
    • Changed: 2100 - outinterfaces: ['0x710013C728 [ID = 0x6e021695]'] -> ['0x710013C878 [ID = 0x6e021695]'] (final state: buffer_entry_sizes: [0x100], buffers: [0x19], inbytes: 0x4, inhandles: [1], outbytes: 0x0, outinterfaces: ['0x710013C878 [ID = 0x6e021695]'])
    • Changed: 2110 - outinterfaces: ['0x710013C728 [ID = 0x6e021695]'] -> ['0x710013C878 [ID = 0x6e021695]'] (final state: inbytes: 0x4, inhandles: [1], outbytes: 0x0, outinterfaces: ['0x710013C878 [ID = 0x6e021695]'])
    • Changed: 2200 - outinterfaces: ['0x710013E3E8 [ID = 0x8cf617a1]'] -> ['0x710013E538 [ID = 0x8cf617a1]'] (final state: buffer_entry_sizes: [0x100], buffers: [0x19], inbytes: 0x4, inhandles: [1], outbytes: 0x0, outinterfaces: ['0x710013E538 [ID = 0x8cf617a1]'])
    • Changed: 2210 - outinterfaces: ['0x710013E3E8 [ID = 0x8cf617a1]'] -> ['0x710013E538 [ID = 0x8cf617a1]'] (final state: inbytes: 0x4, inhandles: [1], outbytes: 0x0, outinterfaces: ['0x710013E538 [ID = 0x8cf617a1]'])
    • 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]'])
    • Changed: 2300 - outinterfaces: ['0x7100140D7C [ID = 0xeb5e4ee2]'] -> ['0x7100140ECC [ID = 0xeb5e4ee2]'] (final state: inbytes: 0x18, inhandles: [1], outbytes: 0x0, outinterfaces: ['0x7100140ECC [ID = 0xeb5e4ee2]'])
    • Changed: 2310 - outinterfaces: ['0x7100140D7C [ID = 0xeb5e4ee2]'] -> ['0x7100140ECC [ID = 0xeb5e4ee2]'] (final state: inbytes: 0x4, inhandles: [1], outbytes: 0x0, outinterfaces: ['0x7100140ECC [ID = 0xeb5e4ee2]'])
    • Changed: 2400 - outinterfaces: ['0x7100141D04 [ID = 0x3c7c9db7]'] -> ['0x7100141E54 [ID = 0x3c7c9db7]'] (final state: inbytes: 0x10, inhandles: [1], outbytes: 0x0, outinterfaces: ['0x7100141E54 [ID = 0x3c7c9db7]'])
    • Changed: 2420 - outinterfaces: ['0x7100141D04 [ID = 0x3c7c9db7]'] -> ['0x7100141E54 [ID = 0x3c7c9db7]'] (final state: inbytes: 0x4, inhandles: [1], outbytes: 0x0, outinterfaces: ['0x7100141E54 [ID = 0x3c7c9db7]'])

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