Toggle menu
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

3DS:Ctrcheck: Difference between revisions

From Hacks Guide Wiki
(v4.0, plus matching revisions to in-line troubleshooting)
(imagine having duplicated text)
(11 intermediate revisions by 2 users not shown)
Line 3: Line 3:
| for3ds = 1
| for3ds = 1
| developers = StarlitSkies, FrozenFire
| developers = StarlitSkies, FrozenFire
| version = 4.0
| website = https://gist.github.com/StarlitSkies/f417c1ded9de8fceffdb532f92823377/ gist.github.com
| releasedate = 2024-10-04
| github = nh-server/scripts
| releaseurl = https://raw.githubusercontent.com/nh-server/scripts/main/3DS/ctrcheck.gm9
}}
}}


'''ctrcheck''' is a custom GodMode9 script that does a large number of [[wikipedia:Sanity check|sanity checks]] and [[wikipedia:Checksum|checksums]] on a 3DS' firmware and SD card to make troubleshooting easier through [[wikipedia:Fault isolation|fault isolation]], though it can also automatically fix certain issues.
'''ctrcheck''' is a custom GodMode9 script that does a large number of [[wikipedia:Sanity check|sanity checks]] and [[wikipedia:Checksum|checksums]] on a 3DS' firmware to make troubleshooting easier through [[wikipedia:Fault isolation|fault isolation]], though it can also automatically fix certain issues.


== Required Reading ==
==Required Reading==
Ctrcheck does not fix the majority of issues by itself, and instead only informs the user that they exist. Some of the issues it checks for may still require large amounts of knowledge to fix - this script is not a 'miracle cure' and should not be treated as such.


ctrcheck does not fix the majority of issues by itself, and instead only informs the user that they exist. Some of the issues it checks for may still require large amounts of knowledge to fix - this script is not a 'miracle cure' and should not be treated as such.
Additionally, at current ctrcheck only does checks within the NAND. If you have an issue that might be caused by the SD card instead, the pages [[Formatting an SD card]] and/or [[Checking SD card integrity]] may be more useful.


Additionally, ctrcheck cannot check whether the SD is damaged, only certain specific issues with reading its data. If you have an issue that might be caused by an SD being corrupted or formatted badly, the pages [[Formatting an SD card]] and/or [[Checking SD card integrity]] will be far more useful.
==Instructions==


== Instructions ==
===What You Need===


=== What You Need ===
* The latest release of [https://gist.github.com/StarlitSkies/f417c1ded9de8fceffdb532f92823377/raw/ctrcheck.gm9 ctrcheck.gm9]
 
** To download, right-click/long-press the page and select <code>Save page as...</code> or similar, then rename it to <code>ctrcheck.gm9</code> if it is not already called that
* The latest version of [https://raw.githubusercontent.com/nh-server/scripts/main/3DS/ctrcheck.gm9 ctrcheck.gm9]
** To download, right-click/long-press the link and select <code>Save link as...</code> or similar, then rename the downloaded file to <code>ctrcheck.gm9</code> if it is not named exactly that
* A device that you can use to transfer files to your 3DS, either via an SD slot or via [[3DS:FTP|FTP]]
* A device that you can use to transfer files to your 3DS, either via an SD slot or via [[3DS:FTP|FTP]]




=== Section I - Prep Work ===
===Section I - Prep Work===


# Power off your console and insert the SD card into your device
# Power off your console and insert the SD card into your device
Line 36: Line 32:


# Hold {{B|START}}, and while holding {{B|START}}, power on your console. This will launch GodMode9
# Hold {{B|START}}, and while holding {{B|START}}, power on your console. This will launch GodMode9
# Press the {{B|HOME}} button, then go into '''Scripts...''' -> '''ctrcheck'''
# Press the {{B|HOME}} button, then go into '''Scripts...''' -> '''ctrcheck''' -> '''Everything'''
#* If ctrcheck does not appear here, go into the folder <code>0:/gm9/scripts</code> and manually rename it to <code>ctrcheck.gm9</code> by highlighting it and pressing {{B|R|X}}, then reopen the scripts menu
# Accept any prompts to unlock write perms that appear, and then read the results on the top screen once the script finishes
# Based on the type of issue you're having, select one of the top three options
# If they say any of the following, do the matching instructions:
#* If you are even slightly unsure about what type of issue it is, pick '''All'''
#* <code>Warning: ______ installed to firm0/firm1</code>: Update your bootloader using [[3dsguide:updating-b9s|this page of 3DS Hacks Guide]]
# Accept any prompts to fix issues and unlock sysNAND write permissions that appear, perform data recovery and rerun the script if instructed to, and then read the results on the top screen once the script is entirely finished
#** This also applies if the <code>Warning:</code> text instead reads <code>Critical:</code>, but if it reads <code>Fatal Error</code> then ask for help in the Nintendo Homebrew Discord (if the text reads <code>Information:</code>, your bootloader is up to date and no update is required)
# If you are following this guide at someone else's request, send a copy of the results to that person. Otherwise, if the results include any of the following, do the matching instructions:
#* <code>Fatal Error: NVRAM is inaccessible</code>: Download [[Media:Luma12.0.1_ignore-cfgnor.firm|the]] special build of Luma linked in the second word of this sentence, rename it to <code>boot.firm</code>, and put it on the root of your SD card
#* <code>______ installed to firm0/firm1</code>: If the result type is <code>Information</code>, you may ignore this line. If the type is <code>Warning</code> or <code>Critical</code>, follow either [[3dsguide:updating-b9s|Updating B9S]] (if using boot9strap) or [[3DS:Fastboot3DS/Usage#Updating_fastboot3DS|Updating fastboot3DS]] (if using fastboot3DS) to get the latest version of a known good bootloader. If the type is <code>Error</code> and both FIRM0 and FIRM1 are affected, ask for help in the [[Get support|Nintendo Homebrew Discord]]
#** Even with this custom version, you cannot use Wi-Fi or play DS games on the console with this error - fixing it entirely requires a hardware replacement
#* <code>Critical: NVRAM is inaccessible</code>: If your console is an old model (no ZL/ZR shoulder buttons and no C-Stick), try reseating the Wi-Fi module on the motherboard. If this does not fix it or you have a new model, download [[Media:Luma ignore cfgnor.firm|the]] special build of Luma linked in the fourteenth word of this sentence, rename it to <code>boot.firm</code>, and put it on the root of your SD card
#* Any text that ends with <code>If you unlocked write perms earlier, this has been fixed.</code>: The error that was fixed may now allow your console to boot. Reboot after checking the rest of the output and see if the HOME Menu appears
#** This build does not fix the issue, only stop it from causing system crashes. You will still be unable to play DS games, and if you were unable to use Wi-Fi it will also stay broken - fixing these entirely requires a hardware replacement
#* If any <code>Warning</code>, <code>Critical</code>, or <code>Fatal Error</code> that is not in the above set appears, ask for help in the Nintendo Homebrew Discord and provide the full output of ctrcheck.
#* <code>Warning: The SD title database needs to be reset</code>: Using [[3dsguide:images/screenshots/database-reset.jpg|this picture]] as a guide, reset the title database. After you reset, follow [[3dsguide:finalizing-setup|Finalizing Setup]] to reacquire the homebrew apps
{{info|text= The results of this ctrcheck can also be found on the SD card in <code>sd:/gm9/ctrcheck_latest.txt</code>, and if logging was enabled it will also be appended to the file <code>sd:/gm9/ctrcheck_log.txt</code> to save it permanently.}}
#* <code>Warning: There is no boot.firm/boot.3dsx in the SD card root</code>: Follow [[3dsguide:restoring-updating-cfw|Restoring / Updating CFW]] to reacquire the file(s)
#* <code>Critical: NAND is unreadable at _______...?</code>: Your console's internal storage is damaged in a way that may require advanced troubleshooting to fix. Ask for help in the [[Get support|Nintendo Homebrew Discord]]
#* One or more of movable.sed, LFCS, SecureInfo, and/or HWCAL is marked as either <code>invalid</code> or <code>still invalid after a recovery attempt</code>: If you have a NAND backup from before this happened, [[3DS:GodMode9/Usage#Restoring_a_NAND_backup|restore it]]. If you do not, then ask for help in the [[Get support|Nintendo Homebrew Discord]]
#* <code>Critical: n3DS has an o3DS NAND header</code>: If you have a NAND backup from before this happened, [[3DS:GodMode9/Usage#Restoring_a_NAND_backup|restore it]]. If you do not, then ask for help in the [[Get support|Nintendo Homebrew Discord]]
# If any other result(s) of the type <code>Warning</code>, <code>Critical</code>, or <code>Error</code> appear, you may want to ask for help in the [[Get support|Nintendo Homebrew Discord]] and provide the full output of ctrcheck there
{{info|text=The results found on the top screen are also stored on the SD card in the file <code>sd:/gm9/ctrcheck_latest.txt</code> - however, if you run ctrcheck again, that file will be overwritten with the new results. To avoid this, enabling permanent logging will also append the results to the file <code>sd:/gm9/ctrcheck_log.txt</code>.}}
 
[[Category:Unbricking]]
[[Category:Unbricking]]
[[Category:Nintendo 3DS troubleshooting]]
[[Category:Nintendo 3DS guides]]

Revision as of 01:57, 24 November 2023


ctrcheck is a custom GodMode9 script that does a large number of sanity checks and checksums on a 3DS' firmware to make troubleshooting easier through fault isolation, though it can also automatically fix certain issues.

Required Reading

Ctrcheck does not fix the majority of issues by itself, and instead only informs the user that they exist. Some of the issues it checks for may still require large amounts of knowledge to fix - this script is not a 'miracle cure' and should not be treated as such.

Additionally, at current ctrcheck only does checks within the NAND. If you have an issue that might be caused by the SD card instead, the pages Formatting an SD card and/or Checking SD card integrity may be more useful.

Instructions

What You Need

  • The latest release of ctrcheck.gm9
    • To download, right-click/long-press the page and select Save page as... or similar, then rename it to ctrcheck.gm9 if it is not already called that
  • A device that you can use to transfer files to your 3DS, either via an SD slot or via FTP


Section I - Prep Work

  1. Power off your console and insert the SD card into your device
  2. Copy the downloaded ctrcheck.gm9 into sd:/gm9/scripts on the SD card
  3. If GodMode9 either is not installed or is outdated (the latest version is v2.1.1), install the latest version now
  4. Reinsert the SD card into your console

Section II - ctrcheck

  1. Hold START, and while holding START, power on your console. This will launch GodMode9
  2. Press the HOME button, then go into Scripts... -> ctrcheck -> Everything
  3. Accept any prompts to unlock write perms that appear, and then read the results on the top screen once the script finishes
  4. If they say any of the following, do the matching instructions:
    • Warning: ______ installed to firm0/firm1: Update your bootloader using this page of 3DS Hacks Guide
      • This also applies if the Warning: text instead reads Critical:, but if it reads Fatal Error then ask for help in the Nintendo Homebrew Discord (if the text reads Information:, your bootloader is up to date and no update is required)
    • Fatal Error: NVRAM is inaccessible: Download the special build of Luma linked in the second word of this sentence, rename it to boot.firm, and put it on the root of your SD card
      • Even with this custom version, you cannot use Wi-Fi or play DS games on the console with this error - fixing it entirely requires a hardware replacement
    • Any text that ends with If you unlocked write perms earlier, this has been fixed.: The error that was fixed may now allow your console to boot. Reboot after checking the rest of the output and see if the HOME Menu appears
    • If any Warning, Critical, or Fatal Error that is not in the above set appears, ask for help in the Nintendo Homebrew Discord and provide the full output of ctrcheck.
Info icon The results of this ctrcheck can also be found on the SD card in sd:/gm9/ctrcheck_latest.txt, and if logging was enabled it will also be appended to the file sd:/gm9/ctrcheck_log.txt to save it permanently.