20.1.5: Difference between revisions

From Nintendo Switch Brew
Jump to navigation Jump to search
Line 28: Line 28:
** Changed:  2250 - outinterfaces: ['0x71001408F8 [ID = 0x29d8801c]'] -> ['0x7100140A48 [ID = 0x29d8801c]'] (final state: inbytes: 0x18, inhandles: [1], outbytes: 0x0, outinterfaces: ['0x7100140A48 [ID = 0x29d8801c]'])
** 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:  2260 - outinterfaces: ['0x71001408F8 [ID = 0x29d8801c]'] -> ['0x7100140A48 [ID = 0x29d8801c]'] (final state: inbytes: 0x4, inhandles: [1], outbytes: 0x0, outinterfaces: ['0x7100140A48 [ID = 0x29d8801c]'])
=== [[NS_services|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): <code>if (s32 sp44 <= 0x13) { L_8f0a4(...); <increment sp44> }</code>
* 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 <code>s32 *(*(inx0+8)+8)</code>.
* Updated L_1446bc, prev ver @ L_14444c.
** Added: <code>*(inx0+8) = 0;</code>
* Updated L_144c28, prev ver @ L_1449b4.
** Clearing code was updated.
* Updated L_26bb28, prev ver @ L_26b818.
** Minor changes?


=== [[Error_Report_services|erpt]] ===
=== [[Error_Report_services|erpt]] ===

Revision as of 02:15, 22 June 2025

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