Approver
551
edits
StarlitSkies (talk | contribs) (condense wikitext, add new error, and revise wording enough to remove one of the two Page WIP clauses) |
m (reorder headers alphabetically) |
||
(55 intermediate revisions by 11 users not shown) | |||
Line 1: | Line 1: | ||
{{ | {{shortcut|3DS:EXCEPTION}} | ||
This page lists possible causes and fixes of Luma3DS exception screens. They are not applicable to every situation, but cover most common known issues. | |||
== Reading a Luma3DS exception screen == | |||
A Luma3DS exception has four (or five, in a few cases) different parts to it that help in finding its cause, as follows: | |||
[[File:Luma3DS_exception.png|center]] | |||
* '''Processor:''' What part of the system is causing the exception. The two processors are: | |||
** '''Arm9:''' The 'security processor' of the system. These exceptions are usually raised because of errors in NAND data or hardware faults in either the 3DS or its SD card. | |||
** '''Arm11:''' The 'userland' of the system. These exceptions have numerous causes but are more often related to broken software or user data. | |||
* '''Exception type:''' The type of fault that caused the exception. These categories correspond to the ARM exceptions for the [https://developer.arm.com/documentation/ddi0201/d ARM9] and [https://developer.arm.com/documentation/ddi0360/f ARM11] CPUs, as follows: | |||
** '''data abort''': Caused by a read or write to an invalid part of memory. Usually related to game mods/cheats/plugins, broken HOME Menu data, and/or broken CFW applications. | |||
** '''prefetch abort''': Caused by an attempt to execute a CPU instruction that was marked as invalid. Often related to conflicts between CFW and other software. | |||
** '''prefetch abort (svcBreak)''': Caused by either Process9 or homebrew software manually halting because it tripped a pre-defined error condition. Often related to damage to NAND data, even when raised by Arm11. Can also happen when launching an out-of-region game that isn't [[3DS:SGL|locale emulated.]] | |||
** '''prefetch abort (kernel panic)''': Caused by Kernel9 detecting an unrecoverable error and forcibly halting to avoid causing damage. Can be related to any of several things, but hardware issues are the most likely. | |||
** '''undefined instruction''': Caused by an attempt to execute a CPU instruction that was unimplemented, disallowed, or unusable. Often related to software missing its required files (if not on boot) or an outdated <code>boot.firm</code> (if on boot). | |||
* '''Fault status:''' The specific type of ARM exception that was raised. Helpful for developers, but not so much for the end user. | |||
* '''Current process:''' Where the error is coming from in the system. Often the most helpful part of the exception. Some examples of processes are as follows: | |||
** '''fs''': The filesystem, i.e. either the SD card or the NAND. | |||
** '''menu''': Data that is opened either as a part of the HOME Menu or at the same time as it. | |||
** '''loader''': The service that opens apps, meaning the app most recently opened has an issue. | |||
** '''nwm''': Networking services, almost always Wi-Fi. | |||
** '''ns''': The <u>N</u>intendo User Interface <u>S</u>hell, which handles all apps/processes/services in 3DS mode. | |||
* '''Registers (R0-R12/SP/LR/PC/CPSR/FPEXC)''': Usually just internal data that's not worth reading, though R0 is the most likely of them to contain useful data. There are certain notable exceptions that aren't mentioned in the list of known errors, however: | |||
** If the value <code>000400??</code> (the ? marks can be any number) appears in any of the registers, it likely refers to the first half of a title ID - check the value of the register after it to ensure this. If it is a title ID, it can be used to narrow down the original cause of an error. | |||
** If the value of any register starts with the letter C, D, E, or F (even if it isn't in R0) and doesn't look completely random, it may be an error code - this is more likely if the value starts with C or D. You may want to check it manually, as if it is an error code, it can likely help in troubleshooting. | |||
=== | == Known Errors == | ||
In the following list, the file prefixes on file paths refer to the starting location. <code>sd:/</code> refers to the SD card, and numbers in the format of <code>[X:]</code> refer to GodMode9's drive numbers. | |||
{{info|If the below fixes do not solve your issue or you are unsure of what to do, join the [https://discord.gg/C29hYvh Nintendo Homebrew Discord] for further assistance.}} | |||
---- | |||
=== | === <big>Arm9</big> === | ||
Arm9 errors are sorted by their '''exception type'''. | |||
= | <span style="font-size:175%; display:flex; justify-content:center"><h4>Error On Boot</h4></span> | ||
<h5>Any Type</h5> | |||
* Files on the SD are corrupted. | |||
** To fix, [[Checking_SD_card_integrity|verify that the SD card is not faulty.]] If it is verified working, make a backup of all intact files, [[Formatting_an_SD_card|format the SD card]], and try booting again. | |||
* A system save located on the NAND in <code>[1:]/data</code> has a problem. | |||
* System-unique files are missing from the NAND in <code>[1:]/rw/sys</code>. | |||
<h5>data abort</h5> | |||
* | * The <code>shared2</code> folder in <code>[2:] SYSNAND TWLN</code> is missing. | ||
** To fix, create this folder. | |||
* System titles have been deleted. | |||
** To fix, perform a [[3DS:Safe Mode|Safe Mode update]]. If this does not work, perform a [[3DS:CTRTransfer|CTRTransfer]]. | |||
<h5>prefetch abort (kernel panic)</h5> | |||
* | * The console likely has a hardware issue. | ||
<h5>prefetch abort (svcBreak)</h5> | |||
* | * The system movable, <code>[1:]/private/movable.sed</code>, is 288 bytes but a flag is enabled that expects a size of 320 bytes. | ||
** To fix, boot into GodMode9 and select <code>SYSNAND CTRNAND</code>, then go into the <code>private</code> folder.<br>Inside this folder, you will see a file named <code>movable.sed</code>. Select it, and under the options menu, select '''Show in Hexeditor'''.<br>Green-colored numbers will appear in the middle of the screen - press {{B|A}} and then unlock '''writing to sysNAND (lvl2)'''.<br>At the beginning of the file, look for the set of numbers <code>53 45 45 44 00 01</code>. Once you find these numbers, hold {{B|A}} and press {{B|D-PAD DOWN}} while the <code>01</code> value is highlighted to change it to <code>00</code>. Press {{B|B}}, then {{B|A}}, then {{B|B}} to save changes and exit from the hexeditor, then press {{B|START}} to reboot your console. | |||
* <code>SYSNAND CTRNAND</code> has bad CMACs. | |||
** To fix, press R+A on the <code>SYSNAND CTRNAND</code> drive and <code>Fix CMACs for drive</code>. The console will act like it has been formatted after this, and this is intended. | |||
*If none of the above have worked, perform a [[3DS:CTRTransfer/Manual|Manual CTRTransfer]]. | |||
<h5>undefined instruction</h5> | |||
* | * The console likely has a hardware issue, or corrupted sysmodules. Try performing a [[3DS:CTRTransfer|CTRTransfer]] to see if it resolves the issue. | ||
= | <span style="font-size:175%; display:flex; justify-content:center"><h4>Error During Use</h4></span> | ||
<h5>data abort</h5> | |||
* | * Files on the SD are corrupted. | ||
** To fix, [[Checking_SD_card_integrity|verify that your card is not faulty.]] If it is verified working, make a backup of all intact files, [[Formatting_an_SD_card|format the SD card]], and try again. | |||
=== | === <big>Arm11</big> === | ||
= | All Arm11 errors are sorted by their '''current process''', except for entries that can apply to multiple processes; these always appear first in the list for simplicity. | ||
If the | <br>If an error appears in the <code>Error At Any Time</code> section, do not look for it in the other two sections. | ||
<span style="font-size:175%; display:flex; justify-content:center"><h4>Error On Boot</h4></span> | |||
<h5>gsp/i2c/mcu/pxi/spi</h5> | |||
* The console has a serious hardware issue that is likely not easily fixable. | |||
** Run [[3DS:Hardware test|3ds_hw_test]]. If the test returns zero errors detected, join [https://discord.gg/C29hYvh the Nintendo Homebrew Discord] and ask, in English, for help. | |||
<h5>act</h5> | |||
* Your NNID(s)' stored data is misconfigured or being interfered with. | |||
** To fix, if [https://pretendo.network Pretendo] is installed, turn it off by disabling <code>Enable loading external FIRMs and modules</code> on the [[3DS:Luma3DS/Configuration|Luma3DS configuration menu]]. | |||
*** If this does not help or Pretendo is not installed, then [[3DS:GodMode9/Usage#Restoring_a_NAND_backup|restore a NAND backup]] - especially if you recently tried to [[3DS:GodMode9/Usage#Removing_an_NNID_without_formatting_your_device|log out an NNID]]. | |||
<h5>boss</h5> | |||
* <h6>Outdated firmware (11.16 or older):</h6> | |||
** The current firmware version may be too old for SpotPass to work. Perform a [[3DS:Safe Mode|Safe Mode update]]. | |||
*** If this does not work, you may require [[3DS:CTRTransfer|a CTRTransfer.]] | |||
* <h6>Latest firmware (11.17):</h6> | |||
** An installation of NetPass is likely interfering with your console. To check this, do the following steps: | |||
**# Hold {{B|SELECT}} while powering on the console | |||
**# Within the [[3DS:Luma3DS/Configuration|Luma3DS configuration menu]], disable <code>Enable loading external FIRMs and modules</code> | |||
**# Either press {{B|START}} or press {{B|A}} on the <code>Save and exit</code> option to save changes and exit the configuration menu | |||
**# If the issue stops after this, go into the folder <code>sd:/luma/sysmodules</code> and delete the files <code>0004013000003402.ips</code> and <code>0004013000002602.ips</code> to remove NetPass entirely. | |||
<h5>camera</h5> | |||
* Potential hardware issues, or an instance of ShutTheCamUp is crashing. | |||
** Look for and delete <code>/luma/sysmodules/0004013000001602.ips</code> and <code>/luma/titles/0004013000001602/code.ips</code>. | |||
*** If this fixed the issue, then [[3dsguide:restoring-updating-cfw|update Luma3DS]] and reinstall the correct Old or New 3DS patch for [[udb:3ds/shut-the-cam-up|ShutTheCamUp]] if you wish to continue using it. | |||
*** If these don't exist, or the error occurs when booting without an SD card, it's likely hardware issues. Join the [https://discord.gg/nintendohomebrew Nintendo Homebrew Discord] and ask, in English, for help. | |||
<h5>cfg</h5> | |||
* Either the NAND [[3dbrew:Config Savegame|config savegame]] or part of your console-unique file(s) is damaged. | |||
** To fix, first boot into GodMode9, press R+A while the cursor is on the folder <code>[1:]/data/<ID0>/sysdata/00010017</code>, choose to <code>Copy to 0:/gm9/out</code>, then delete the folder. After rebooting, the console will enter initial setup again; this is intended and not an issue. | |||
*** If this does not help, delete the newly created <code>00010017</code> and copy the backup into its place, run [[3DS:ctrcheck|ctrcheck]], and replace any console-unique files marked as invalid or missing with the copies from the <code>essentials.exefs</code> backup inside <code>[S:] SYSNAND VIRTUAL</code> in GodMode9. | |||
<h5>fs</h5> | |||
* Could be an SD card problem, minor NAND problem, hardware issue, or anything in between. | |||
** [[wikipedia:Fault isolation|Fault isolation]] will likely be required to find the true cause of this error. Start by doing [[3DS:ctrcheck|ctrcheck]] and trying to trigger the error with the SD card removed from the console.<br>If the error stops when the SD card is removed, [[Formatting an SD card|reformat the SD card]], and if that doesn't help, [[Checking SD card integrity|test it for hardware damage]]. | |||
<h5>hid</h5> | |||
* Either an instance of rehid is crashing, or your console may have hardware damage. | |||
** First look for and delete <code>/luma/titles/0004013000001D02</code>, <code>/luma/titles/0004013000003302</code>, <code>/luma/sysmodules/0004013000001D02.cxi</code> and <code>/luma/sysmodules/0004013000003302.ips</code>. | |||
*** If this fixed the issue, then [[3dsguide:restoring-updating-cfw|update Luma3DS]] and reinstall the latest release of [[3DS:Rehid|rehid]] to continue using it. | |||
*** If these don't exist, or rehid has never been installed on this console, it's likely hardware issues. [[3DS:Hardware test|3ds_hw_test]] or [[3DS:ctrcheck|ctrcheck]] may help with fault isolation. | |||
<h5>loader</h5> | |||
* <h6>prefetch abort (svcBreak)</h6> | |||
**The code or sysmodule patch Luma3DS tried to load is invalid or corrupt. | |||
***To fix: Redownload any recently installed patches (eg. Nimbus (Pretendo), Wumiibo, or anything else that goes in <code>/luma/titles</code> or <code>/luma/sysmodules</code>.) Alternatively, you may disable <code>loading external FIRMs and modules</code> as well as <code>Enable game patching</code> in the [[3DS:Luma3DS/Configuration|Luma3DS configuration menu]]. | |||
<h5>menu</h5> | |||
* <h6>data abort</h6> | |||
** The installed [[3DS:Custom themes|theme]] is corrupted or otherwise broken. | |||
*** To fix, go into the folder <code>sd:/Nintendo 3DS/<ID0>/<ID1>/extdata/00000000/</code> and delete the folder matching your region, one of the following: | |||
**: USA: <code>000002cd</code><br>EUR: <code>000002ce</code><br>JPN: <code>000002cc</code> | |||
** The HOME Menu's extra data is corrupted. | |||
*** To fix, go into the folder <code>sd:/Nintendo 3DS/<ID0>/<ID1>/extdata/00000000/</code> and delete the folder matching your region, one of the following: | |||
**: USA: <code>0000008f</code><br>EUR: <code>00000098</code><br>JPN: <code>00000082</code><br>KOR: <code>000000A9</code> | |||
** An installed application is corrupted or otherwise broken. | |||
*** To fix, either perform a [[3DS:Safe Mode|Safe Mode update]], attempt to enter System Settings before the crash occurs and delete the application in Data Management, or [[Formatting an SD card|reformat the SD card]]. | |||
* <h6>prefetch abort</h6> | |||
** An installation of Menuhax is conflicting with the custom firmware. | |||
*** To fix, follow the directions [[3DS:Troubleshooting/removing_menuhax67|on this page]]. | |||
**If this occurs on boot, set '''Hbmenu autoboot''' in the [[3DS:Luma3DS/Configuration|Luma3DS configuration menu]] to 3DS, then follow the above instructions and turn '''Hbmenu autoboot''' back off once it has been removed. | |||
***Ensure in <code>sd:/luma/config.ini</code> that hbldr_3dsx_titleid is set to 000400000d921e00 and <code>boot.3dsx</code> is in the root. | |||
* <h6>prefetch abort (svcBreak)</h6> | |||
** If <code>R5</code> contains <code>D900458B</code>: The <code>f000000b</code> folder in <code>SYSNAND CTRNAND</code> is broken, its exact location being at <code>[1:]/data/<ID0>/extdata/00048000/f000000b</code>. | |||
*** To fix, backup <code>f000000b</code> by pressing R+A while highlighting it, then selecting <code>Copy to 0:/gm9/out</code>. Once it is backed up, delete the folder. If this does not fix the issue, copy the folder back where it was. | |||
**System titles are missing. Perform a [[3DS:Safe Mode|Safe Mode update]]. | |||
**If you have a recent NAND backup, try restoring it with [[3DS:GodMode9/Usage#Restoring_a_NAND_backup|this guide]] | |||
<h5>mset</h5> | |||
* System Settings is broken in some way - this may indicate that the console has a hardware issue. | |||
** To fix, perform a [[3DS:CTRTransfer|CTRTransfer]], or a [[3DS:CTRTransfer/Manual|Manual CTRTransfer]] if that does not work. | |||
*** If neither of these work, the console has a serious issue. Join the [https://discord.gg/C29hYvh Nintendo Homebrew Discord] and ask, in English, for help. | |||
<h5>ns</h5> | |||
* The [[3DS:Luma3DS/Configuration|Luma3DS configuration]] setting '''Hbmenu autoboot''' is set to boot to a title that does not exist. | |||
** To fix, disable the option, install an application with the title ID in <code>sd:/luma/config.ini</code>, or change the set title ID to match an application that does exist. | |||
<h5>nwm</h5> | |||
* The WiFi chipset's hardware is damaged or dead. | |||
** To fix, replace the WiFi chipset with a new one. To avoid the error until then, disable WiFi on the 3DS and do not turn it back on. | |||
*** If the 3DS is an old model, you can disable WiFi using an external switch. New models do not have this switch disable it through the HOME Menu Settings or Rosalina. Repeatedly pressing the keycombo for Rosalina while powering on might let you access Rosalina before it can crash. | |||
<h5>pm</h5> | |||
* The installed version of Luma3DS likely does not support the current firmware version. This is guaranteed to be true if the contents of R0 are <code>E0E01BF5</code>. | |||
** To fix, [[3dsguide:restoring-updating-cfw|update CFW.]] | |||
<span style="font-size:175%; display:flex; justify-content:center"><h4>Error During Use</h4></span> | |||
<h5>app/CtrApp/IbizaCit/Joker/Kirby3DS/Kujira/niji_loc/etc.</h5> | |||
* The app you most recently opened is attempting to load corrupt code, instructions, or patches. As this type of error can happen to nearly anything on the console, if your listed '''current process''' does not show up anywhere else under Arm11, it may help to follow these instructions anyway. | |||
** First, turn off all game mods, cheat codes, plugins, and both the settings <code>Game patching</code> and <code>loading external FIRMs and modules</code> in the [[3DS:Luma3DS/Configuration|Luma3DS configuration menu]] to stop all external interference.<br>If this fixes the issue, redownload all of those types of patches that you had enabled for the game(s) before turning them back on. If it does not fix the issue, check whether the game is the same region as the console and [[3DS:SGL|activate locale emulation]] if it is not. | |||
*** If the error continues after trying all of the above, then the game itself is likely faulty. If it is a [[3DS:Dump titles and game cartridges#Dumping a Game Cartridge|cartridge dump]], redump it. If it is an eShop game, click the Repair button at the bottom of its eShop page or delete and reinstall it. If it is a cartridge, clean the cartridge and the 3DS cartridge reader with isopropyl alcohol. | |||
<h5>cam/qtm</h5> | |||
* The camera's hardware is damaged or dead. | |||
** To fix, replace the camera with a new one. To avoid the error until then, disconnect the camera or avoid using anything that activates the camera. | |||
<h5>3dsx_app</h5> | |||
* The <code>.3dsx</code> file that was most recently opened is corrupted. | |||
** To fix, download a new copy of the <code>.3dsx</code> file. If this error happens when opening the Homebrew Launcher, download a new copy of <code>boot.3dsx</code>. | |||
**: If the error still happens, [[Checking SD card integrity|test the SD card for errors.]] | |||
<h5>fs</h5> | |||
* Could be an SD card problem, minor NAND problem, hardware issue, or anything in between. | |||
** [[wikipedia:Fault isolation|fault isolation]] will likely be required to find the true cause of this error. Start by doing [[3DS:ctrcheck|ctrcheck]] and trying to recreate the error without the SD card inserted.<br>If the error stops after the SD card is removed, [[Formatting an SD card|reformat the SD card]], and if that doesn't help, [[Checking SD card integrity|test it for hardware damage]]. | |||
<h5>GARDEN</h5> | |||
* Animal Crossing's game data or savedata is having issues. | |||
** To fix, disable all game mods, cheat codes, and plugins to ensure they are not the cause. If the error still happens, then the game itself may be faulty. If it is a [[3DS:Dump titles and game cartridges#Dumping a Game Cartridge|cartridge dump]], redump it, if it is an eShop game, click the Repair button at the bottom of its eShop page or delete and reinstall it, or if it is a cartridge, clean the cartridge and the 3DS cartridge reader with isopropyl alcohol. | |||
*** If the error yet still happens, ensure that you have not used a save editor before the error started happening. If you have used a save editor, the edits are broken and you will need to restore a backed-up save, or wipe the save and start over if you have no backup. | |||
<h5>loader</h5> | |||
* <h6>undefined instruction</h6> | |||
** The app most recently opened is trying to load invalid, missing, or corrupt data. If the value of R0 starts with C or D, it is an error code, and has a chance of being an error code if the value starts with E or F. A large number of such error codes can be found at [[3DS:ERRDISP|this page]], but here are the most common values seen in this error: | |||
*** <code>D9004587</code>: When trying to open a game: The game is corrupted, or its seed is not imported. | |||
**** To fix: Follow [[3DS:FCG|the corrupted games guide]] | |||
*** <code>C8804478</code>: If trying to open the Homebrew Launcher: <code>boot.3dsx</code> is missing from the root of your SD card. | |||
**** To fix: Download the latest Homebrew Launcher from [https://github.com/devkitPro/3ds-hbmenu/releases/latest here] | |||
*** <code>C88044AB</code>: If trying to open the Homebrew Launcher: Your SD card either is not properly inserted, or cannot be read by the console. | |||
**** To fix: Try to reinsert the SD more firmly, and check whether its data can be read on boot. If it can't, then [[Formatting an SD card|reformat the SD]]. | |||
*** <code>D96077FA</code>/<code>FFFFFFFF</code>: The <code>.3dsx</code> that Luma3DS tried to load is corrupted. | |||
**** To fix, redownload the app you are trying to launch. If this happens when you try to open the Homebrew Launcher itself, see the error above. | |||
*** Most of the other possible error codes that can appear here are listed on [[3DS:Error_screens/Luma3DS_ErrDisp|the ErrDisp page]]. | |||
* <h6>prefetch abort (svcBreak)</h6> | |||
**The code or sysmodule patch Luma3DS tried to load is invalid or corrupt. | |||
***To fix: Redownload any recently installed patches (eg. Nimbus (Pretendo), Wumiibo, or anything else that goes in <code>/luma/titles</code> or <code>/luma/sysmodules</code>.) Alternatively, you may disable <code>loading external FIRMs and modules</code> as well as <code>Enable game patching</code> in the [[3DS:Luma3DS/Configuration|Luma3DS configuration menu]]. | |||
<h5>mset</h5> | |||
* '''If not occurring in Nintendo DS Profile:''' System Settings is broken in some way - this may indicate that the console has a hardware issue. | |||
** To fix, perform a [[3DS:CTRTransfer|CTRTransfer]], or a [[3DS:CTRTransfer/Manual|Manual CTRTransfer]] if that does not work. | |||
*** If neither of these work, the console has a serious issue. Join the [https://discord.gg/nintendohomebrew Nintendo Homebrew Discord] and ask, in English, for help. | |||
* '''If occurring in Nintendo DS Profile:''' Your NVRAM either is corrupted or is suffering from hardware damage. Run [[3DS:ctrcheck|ctrcheck]] - if its results do not include <code>Critical: NVRAM is inaccessible</code>, then follow [[3DS:NVRAM|the Fix NVRAM guide]]. | |||
<h5>nwm</h5> | |||
* The WiFi chipset's hardware is damaged or dead. | |||
** To fix, replace the WiFi chipset with a new one. To avoid the error until then, disable WiFi on the 3DS and do not turn it back on. | |||
*** If the 3DS is an old model, you can disable WiFi with an external switch. New models must instead disable it through the HOME Menu Settings or Rosalina. Repeatedly pressing the keycombo for Rosalina while powering on might let you access Rosalina before it can crash. | |||
<h5>pm</h5> | |||
* The software you have launched may be missing required files. If the value in R0 is <code>E0E01BF5</code>, this is extremely likely to be the cause. | |||
<h5>pxi</h5> | |||
* Could be anything from a faulty cartridge to damaged internal components, but will almost always be some type of hardware issue. | |||
<h5>swkbd</h5> | |||
* The software keyboard is broken in some way - this may indicate that the console has a hardware issue. | |||
** To fix, perform a [[3DS:CTRTransfer|CTRTransfer]], or a [[3DS:CTRTransfer/Manual|Manual CTRTransfer]] if that does not work. | |||
*** If neither of these work, the console has a serious issue. Join the [https://discord.gg/nintendohomebrew Nintendo Homebrew Discord] and ask, in English, for help. | |||
[[Category:Unbricking]] | [[Category:Unbricking]] | ||
[[Category:Nintendo 3DS troubleshooting]] | |||
{{Short description|Guide to the CFW error handler}} |