SysUpdater -- Discussions on improving stability

Discussion in '3DS - Flashcards & Custom Firmwares' started by Selver, Feb 20, 2016.

  1. Selver
    OP

    Selver 13,5,1,14,9,14,7,12,5,19,19

    Member
    209
    277
    Dec 22, 2015
    SysUpdater is amazing. However, it is also known for instability, with some people having multiple continuous failures (bricking the SysNand/EmuNand), while others have it work on a first try.

    This thread is devoted to ideas and discussions on ways that may help improve the stability of the actual title updating functionality of this tool.

    Periodically, this post will be updated with a summary of the ideas and results, along with a link to the last post reviewed (so you can read only the more recent items).
     
    Last edited by Selver, Feb 20, 2016
  2. Vappy

    Vappy GBAtemp Advanced Maniac

    Member
    1,507
    1,154
    May 23, 2012
  3. Selver
    OP

    Selver 13,5,1,14,9,14,7,12,5,19,19

    Member
    209
    277
    Dec 22, 2015
    Idea:
    For downgrade, check currently installed title version. If same title already installed, don't process that .CIA at all.
    Edit: Seems sysUpdater 0.4.2 already does this. Wondering now if it actually is working correctly...

    Why it will help:
    1. The less that's processed, the less chance for the dreaded "an error has occurred..." screen.
    2. Downgrades that are smaller will automatically have fewer .CIA's applied
    3. Users won't need to try to figure out the minimum needed .CIA packs... always able to use full packs
     
    Last edited by Selver, Feb 20, 2016
  4. Selver
    OP

    Selver 13,5,1,14,9,14,7,12,5,19,19

    Member
    209
    277
    Dec 22, 2015
    Looking at his changes, it seems he discovered that the default printf() (also used via DebugPrint() in debug builds) would be at least one cause of error. Thus, he created a custom usPuts() function that used a custom font. That's definitely one change worth considering! :)

    The only additional change needed would be to make it "varags", so it can call into the varargs sprint() before putting the resulting characters onscreen. Nice find!
     
  5. Selver
    OP

    Selver 13,5,1,14,9,14,7,12,5,19,19

    Member
    209
    277
    Dec 22, 2015
    Idea:
    Is there a way to determine a smaller subset of files that can be safely used during a downgrade?

    For example, sysupdater seems to do fine for a number of files, and then eventually shows the dreaded "an error has occurred" screen.

    I'm wondering if it's possible to downgrade, say, only the system data archives first, and still get a bootable emuNand?

    Where would one (or more) in-between safe points be (if any), that would tend to result in a bootable frankenfirmware?

    Order:
    [] system data archives 000400DB*.cia
    [] system data shared archives 0004009B*.cia
    [] system data archives 0004001B*.cia
    [] system applications 00040010*.cia

    The idea is simply to further minimize the number of files that need to be processed before a backup of the emuNand is possible.
     
  6. tony_2018

    tony_2018 GBAtemp Psycho!

    Member
    3,106
    1,050
    Jan 3, 2014
    United States
    You download and use a checksum md5???
     
  7. Selver
    OP

    Selver 13,5,1,14,9,14,7,12,5,19,19

    Member
    209
    277
    Dec 22, 2015
    Yes, that's a very good idea. In fact, SafeSysUpdater does this; of course, it can only support "known" packs.
     
  8. JunTheBobOmbAce

    JunTheBobOmbAce Double Trouble

    Member
    139
    19
    Sep 9, 2015
    United States
    Bump, it seems you guys gotten a handle on things.
     
  9. Swiftloke

    Swiftloke Hwaaaa!

    Member
    1,770
    1,520
    Jan 26, 2015
    United States
    Nowhere
    *mmph* cause we need more stability on our 3ds updates.
    But seriously downgrading is so nerve-racking if you can improve it it would sure grab a good bit of attention.
     
  10. JunTheBobOmbAce

    JunTheBobOmbAce Double Trouble

    Member
    139
    19
    Sep 9, 2015
    United States
    It's also tedious, especially on a n3DS.
     
  11. Swiftloke

    Swiftloke Hwaaaa!

    Member
    1,770
    1,520
    Jan 26, 2015
    United States
    Nowhere
    But think about it for a second. Stability should DEFINITELY be the reason for changing our 3ds firmware version.
    LOL.
     
  12. JunTheBobOmbAce

    JunTheBobOmbAce Double Trouble

    Member
    139
    19
    Sep 9, 2015
    United States
    Of pfft- those nintendo patch notes.