Plailect / sysDowngrader

3DS offline system downgrader using CIA files
GNU General Public License v3.0
28 stars 7 forks source link

9.2 downgrade can cause a softbrick in some rare situations #1

Closed Plailect closed 7 years ago

Plailect commented 8 years ago

All variations of sysUpdater, not just sysDowngrader, have a very small chance of causing a "soft brick" once the downgrade is complete and the device reboots. This will cause the system to boot directly to the Nintendo error screen instructing users to power off the device.

The reason for this is unknown, but can be prevented by performing a system format before downgrading. It seems to happen more often on systems with ambassador status or who have DSiWare installed.

Once this error happens, it can only be fixed by using safe mode (A + R + L + Up on the D-Pad) to update to the latest system version.

As of the time this is written, the latest version (11.0.0) has completely blocked all software downgrading, and if someone encounters this error they will be locked out of any further downgrading unless they use a hardmod exploit.

TypicalTorontoHipster commented 8 years ago

Hey guys, I'm just leaving this information here for future reference. I recently bought two used 'new' 3ds systems, and attempted to downgrade both of them. 1 was a majora's mask 3ds that I didn't bother formatting since the guide said that there was a very small chance for softbricking. This one softbricked right away.

Next, I bought another used N3ds system. This time I followed Plialect's guide to the letter and even formatted the system 3 times before attempting to downgrade. This system softbricked as well.

I know that the guide recommends to format the system, but should I have also formatted my microSD card using the computer? I spent the last hour reviewing my steps to see where I went wrong and I just don't see it.

I was tethered to my phone's data for the second n3ds, and for the majora's mask one I was connected via wifi.

Below is the setup for my micro SD card. Did I do something wrong here, or was I just unlucky enough to have two systems softbrick on me?

inside 3ds folder

root of sd card

Thulinma commented 8 years ago

My own experimentation suggests these soft bricks can be prevented by using a "fresh" SD card in the system before starting the downgrade. e.g.: move (don't copy) all folders off the card before starting, then make sure everything is ready (all the needed stuff etc is on the SD card), then copy or move back to the card after finishing the entire installation process post-downgrade. Whether or not data on the SD can be used by the before-downgrade or after-downgrade system (or even pre-format or post-format system = older findings from when formatting, etc was still the way to go) doesn't seem to make a difference, as far as I can tell. In other words, data on SD for "other systems" seems to matter, even though it shouldn't. All I know is that using that technique I haven't had a single softbrick since, and I've done literally dozens of installs. Just passing this on, hoping it might be useful. Do with it what you want. :-)

Its-my-right commented 8 years ago

Hi, I wonder how did you manage to format the console and right then use sysDowngrader ? I'm in 9.9.0-26E so my entrypoint is menuHax (installed from browserHax). But when I format the console (with or without the SD card in it), I'm then unable to launch Homebrew Launcher via the d-pad down pressing when powering on the console. So I guess menuHax does'nt work anymore after formatting the console (with or without the SD card in it).

So does "formatting the console before downgrading" means "format the console, then install menuHax, then downgrade" ?

I already softbricked a 2ds that way, and would like to try on a second, that's why I'm asking

Thank you !

Nashismo commented 8 years ago

I didn't understand a word Thulinma!!

Here is the thing, you have the homebrew launcher installed on the 3DS itself, then you bacup all the files you have on your SD to your PC. And what files do you keep on oyur SD? You didn't explain which files need to be kept to start the downgrade.

Please be specific mate, which files you move from the SD and which you keep (and then you start the downgrade) . I beg of you.

Thulinma commented 8 years ago

@Nashismo Yeah, the reason I was a bit vague is because I wasn't sure exactly which files affect it. This is what I did and what worked for me, but its very possible being less extreme in the steps still works:

It might be easier to simply switch to a blank SD card before starting the entire guide, and then switch back to the original SD card after finishing. Result should be the same, in theory.

AfiqHazwanAzman commented 8 years ago

Hi I want to leave an update to this. I hope you guys already discovered this but I want to report this just in case and hope this can help other people too and to improve this wonderful guide. I downgraded from 9.9.0.26U to 9.2 but I got the "boot directly to the Nintendo error screen instructing users to power off the device". So I panicked and turn of the device and try to reopen it, the screen goes black. I tried a couple of time but with no avail so I opened without the sd card and the screen is lit and takes me to the home screen. I then goes to the settings and see my N3DS XL at 9.2.0.20U !

So I followed the rest of the instruction and it is going smoothly so far. I after that formatted my sd card, retry everything from part 1 and retry the downgrade process to get the full confirmation.

And FYI this is a brand new 3ds XL with no mod, game or whatsoever in the memory card. I did not attempt to format the sd card after I got to homebrew because I was unclear about the wording. if I was unsure if I system format the 3ds will the homebrew launcher still there etc so I did not do it (which is my mistake I think I really need to system format it)

Anyhow hopefully this update can help us all to better understand the system to improve 3ds hax scene.

turtwig commented 8 years ago

I can confirm AfiqHazwanAzman's comments.

I got the error part way through the sysDowngrader process.

Popping the SD card allowed me to boot the system.

I replaced the files I had already copied to the SD and reinserted while booted, then I was able to repeat the browser exploit and menuhax installation processes.

After that, I was able to complete the sysDowngrader process successfully and was able to continue with the guide without issue.

gnmmarechal commented 8 years ago

@Its-my-right If you format, you can always use browserhax to install menuhax again.

Armen1er commented 8 years ago

Hi,

Can someone please help me? I have a N3DS USA and I was on 10.3-28U (I think 28U not sure). I followed the guide and when I used the sysdowngrader to 9.2.0 I received an error "error: titleException: title.cpp: 126: Result: 0xC920181A"

Now the 3DS blue light goes on but the screens are black/off and after a few seconds the blue led goes off. I tried to do step 10 and tried without the sd card and tried removing the battery for a few seconds.

Does anyone have any suggestions or alternatives to fix this? I can't seem to find this error code anywhere either :(

I attached a screenshot of the error. 20160918_222854

Kind regards, Armen

gauravg11 commented 8 years ago

I'd also like a confirmation to @Its-my-right's question:

So does "formatting the console before downgrading" means "format the console, then install menuHax, then downgrade" ?

TypicalTorontoHipster commented 8 years ago

Actually, I've formatted my memory card before every single downgrade attemot and had 3/5 partial downgrades, where 2 were soft bricks.

On 20 Sep 2016 11:28, "Gaurav Gupta" notifications@github.com wrote:

I'd also like a confirmation to @Its-my-right https://github.com/Its-my-right's question:

So does "formatting the console before downgrading" means "format the console, then install menuHax, then downgrade" ?

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/Plailect/sysDowngrader/issues/1#issuecomment-248336910, or mute the thread https://github.com/notifications/unsubscribe-auth/AUTaibp4tNf0kOgfekl_KfdD1ihgESNFks5qr_uIgaJpZM4JsXq4 .

gnmmarechal commented 8 years ago

@gauravg11 as I've said, yes.

TypicalTorontoHipster commented 8 years ago

Hi Armen,

That is unfortunate. If the black screen comes on and then nothing else, then you may have a soft brick. What you can do is try booting the 3ds without the SD card, as someone earlier suggested. If that still doesn't work then you'll have to update to 11.0 and use a second 3ds to downgrade. Sorry about that mang.

On 19 Sep 2016 12:31 am, "Armen1er" notifications@github.com wrote:

Hi,

Can someone please help me? I have a N3DS USA and I was on 10.3-28U (I think 28U not sure). I followed the guide and when I used the sysdowngrader to 9.2.0 I received an error "error: titleException: title.cpp: 126: Result: 0xC920181A"

Now the 3DS blue light goes on but the screens are black/off and after a few seconds the blue led goes off. I tried to do step 10 and tried without the sd card and tried removing the battery for a few seconds.

Does anyone have any suggestions or alternatives to fix this? I can't seem to find this error code anywhere either :(

I attached a screenshot of the error. [image: 20160918_222854] https://cloud.githubusercontent.com/assets/22286395/18622665/68f54488-7e00-11e6-89e3-1871d0d496e9.jpg

Kind regards, Armen

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/Plailect/sysDowngrader/issues/1#issuecomment-247909894, or mute the thread https://github.com/notifications/unsubscribe-auth/AUTaiWPnXwR4y4WqGwgZmeaRB0qLNuRHks5qrhA6gaJpZM4JsXq4 .

jrr6415sun commented 8 years ago

I'm having the same problem 5/5 brand new 3ds consoles, nothing installed on them on 9.9 never used. When I do the downgrade it soft bricks every time. After it bricks it will start if I take out the SD card and when I run the downgrade again sometimes it's fine This is from using menuhax/browserhax

However I have tried twice on different consoles after using OOThax and it has worked both times with no errors. I don't know why it matters which entry point I used but from my experience this was the case.

Actually now that I think of it I used menuhax and got a softbrick 5/5 times on 9.9 software, however OOThax to run sysdowngrade the consoles were on 11.1, so maybe it has something to do with the 9.9 software for the reason it is always softbricking.

Nashismo commented 8 years ago

The real question is, do I format de SD card on the PC or on the 3DS menu??

ghost commented 7 years ago

This will cause the system to boot directly to the Nintendo error screen instructing users to power off the device.

I think mine is doing this, but more specifically, it boots to the home screen and once the home screen fully "initializes", it will go to the error screen. I can avoid the error screen by immediately entering any other app before I allow the home screen to fully load (such as by entering browser and going to browserhax). This started happening to me after a seemingly complete 9.2 downgrade (zero issues during sysdowngrade) and then doing a subsequent 2.1 ctrtransfer. I booted without the SD card in the console and it started doing as described above.

Is the only way to fix this by doing recovery mode, or can I just boot into decrypt9 and restore my F0F1_N3DS.bin or do a 9.2 ctrtransfer?

ihaveamac commented 7 years ago

with the help of vb_encryption_vb, we managed to get one of these soft-bricked systems to run under Luma3DS with ErrDisp patches. this is the output: error info RSL is 0xD960D02B, which means:

Module:
  NIM (52)
Description:
  Database doesn't exist/failed to open (AM) (43)
Summary:
  Internal (11)
Level: 
  Permanent (27)
ihaveamac commented 7 years ago

tagging @fincs in case he wants to see this.

fincs commented 7 years ago

Thank you very much. It confirms the error code that I observed after reading my New3DS's native.log. According to yls8 some months ago it is caused by a failure processing NIM command 0x00170042, It would be a good idea to use Decrypt9 to create both a full NAND backup and a ctrtransfer image of this softbricked 3DS. The latter should be offered to relevant people (@Plailect, @d0k3, @TuxSH) for investigation.

ihaveamac commented 7 years ago

@fincs I have two NAND images (before dg, soft-bricked) + xorpad, I can probably give them tomorrow. I didn't get a ctrtransfer image, though shouldn't a ctrnand image work as well?

fincs commented 7 years ago

That would work too. I suggested sending them a ctrtransfer image in order to allow them to test any potential mitigations to be done in the downgrading tool, on an actual NAND image that is known to cause a softbrick, but I think one can be constructed manually from a raw dump + xorpad.

ihaveamac commented 7 years ago

also, any idea what 0x00170042 could be? 3dbrew doesn't seem to list anything. just curious

GerbilSoft commented 7 years ago

I've been working with @MainMemory to downgrade his 11.0 O3DS using slowhax and Fieldrunners. We have an 11.0 NAND backup and used dgTool to downgrade to 10.4 NFIRM; the 9.2 downgrade fails with a softbrick. Restoring the NAND backup works, but unfortunately we're stuck here due to lack of an exploitable cartridge.

Should we obtain an exploitable cartridge, is there anything we could get from the NAND dump that would indicate why the 9.2 downgrade fails?

james-d-elliott commented 7 years ago

Think this is more relevant to you: https://github.com/Plailect/dgTool/issues

@GerbilSoft

MainMemory commented 7 years ago

But dgTool isn't the thing that's failing, sysDowngrader is. dgTool works perfectly fine, near as I can tell.

gnmmarechal commented 7 years ago

Not at all. Even before DSiWareHax came around, softbricks still happened with downgrades like this. @james-d-elliott

Plailect commented 7 years ago

https://github.com/Plailect/sysDowngrader/commit/d69cd9455fcbf40f1c6c0eba68585e70f372d770

Plailect commented 7 years ago

Deleting pending nand titles doesn't work ^

pixel-stuck commented 7 years ago

after some testing with @ihaveamac, we discovered that the NIM savegame seems to be preventing the system from booting. Deleting it resolves the error... Tagging in @fincs here, since he may know more, but, I'm not sure there's a way to delete the NIM savegame from elevated userland, or even with k11 access... we'll see, I suppose

EDIT: seems that there's some odd stuff inside the NIM savegame on the bad ones, see for yourself: http://i.imgur.com/zWQqHiv.png

fincs commented 7 years ago

The error code that was posted previously was a NIM error, after all.

pixel-stuck commented 7 years ago

@fincs yeah, that's why we tried deleting it. My main question is more about how we might go about fixing this without arm9 access... Are there any services (besides the one that actually formats the console) that can delete the save game for it?

Plailect commented 7 years ago

https://github.com/Plailect/nimSM

gnmmarechal commented 7 years ago

Great work!

MainMemory commented 7 years ago

Thanks, it works perfectly now.