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

3DS:Movable Moveover and 3DS:Ctrcheck: Difference between pages

From Hacks Guide Wiki
(Difference between pages)
change link to nh-server/scripts github instead of gist, and make instructions on downloading clearer
 
m change cfgnor luma link to the updated ver of the file
 
Line 1: Line 1:
{{hatnote|This page is a guide to transferring data between systems without doing a System Transfer, and usually should only be done if the '''source console''' you are transferring from is nonfunctional or you only have its SD.
{{Lowercase title}}{{Infobox homebrew
<br>If you do not have a specific reason to follow this guide (i.e. both consoles are usable), do [[3DS:System Transfer|a System Transfer]] instead.}}
| title = ctrcheck
{{shortcut|3DS:MMM}}
| for3ds = 1
| developers = StarlitSkies, FrozenFire
| version = 3.1.1
| releasedate = 2024-09-28
| github = nh-server/scripts
| releaseurl = https://raw.githubusercontent.com/nh-server/scripts/main/3DS/ctrcheck.gm9
}}


= Required Reading (Do NOT ignore) =
'''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.


This guide can potentially cause unexpected results if done wrong. Please ensure you read the steps carefully to prevent these unexpected results from happening.
== Required Reading ==
<br>Additionally, ensure you have read the following three warnings to have a full understanding of the potential risks of this guide.


{{critical|text=Do '''NOT''' use a <code>movable.sed</code> from Bruteforce Movable as your system movable (in general, but especially not for this guide). Doing so may cause other issues with the system, and '''WILL''' result in a guaranteed brick if you uninstall CFW while using that movable. Always keep a backup of your original <code>movable.sed</code> if you do so.}}
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.


{{warning|text=If you have already done this guide at any time before the date 2024-08-11, then uninstalling CFW will brick your console, as FixupMovable (which is done by the script) is required to avoid crashing on stock firmware.
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.
<br>If this applies to you, you can fix stock firmware by booting into [[3DS:GodMode9|GodMode9]], copying your <code>movable.sed</code> from <code>1:/private</code> to the '''destination console''''s SD root, copying <code>MovableMoveover.gm9</code> to the <code>/gm9/scripts/</code> folder on the SD card, and then doing the instructions from Section II onward on the '''destination console''' only.}}


{{warning|text=Any games/savedata/themes/DSiWare that was already on the destination console's SD card will become inaccessible once the guide is completed - you will only be able to use the data transferred over from the source console. To access the destination console's data again, you must undo the moveover.
== Instructions ==
<br>The script extracts the original versions of those files so you are able to undo it if you need to - ''do not lose those files.''}}


{{info|If the above warning will cause issues for you and you are willing to take extra steps to avoid it, you can instead use [[ninfs]] to merge the source console's encrypted files onto the destination console, then [[3DS:Rebuild Title Database|rebuild title.db]] to make any merged games/apps appear.<br>
=== What You Need ===
However, note that even this method will '''not''' bypass the issues of using a Bruteforce Movable <code>movable.sed</code>.}}


If you are confused in any way, join [https://discord.gg/C29hYvh the Nintendo Homebrew Discord] and ask for help in the 3ds-assistance channels.
* 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]]


== What You Need ==
* Two 3DS consoles, both modded with [[3DS:Luma3DS|Luma3DS]]
** These will be referred to as the '''source console''' and '''destination console''' for this guide's purposes
** If either console is not currently modded, stop and mod it with [[3dsguide:|our custom firmware installation guide]] first
* The '''source console's''' <code>essential.exefs</code>, such as the one created in [[3dsguide:finalizing-setup|our guide's Finalizing Setup]]
** If you already have the '''source console's''' <code>movable.sed</code> outside of a <code>.exefs</code> file, you can use that directly
* The '''source console's''' <code>Nintendo 3DS</code> folder
**this should contain the data you are trying to transfer
* The latest version of {{GitHub|/ihaveamac/faketik/releases/latest|faketik}} (the <code>.3dsx</code> file)
* The latest version of {{GitHub|d0k3/GodMode9/releases/latest|GodMode9}} (the GodMode9 <code>.zip</code> file)
* The latest version of [https://raw.githubusercontent.com/nh-server/scripts/main/3DS/MovableMoveover.gm9 MovableMoveover.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>MovableMoveover.gm9</code> if it is not named exactly that
== Instructions ==


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


{{info|Follow these instructions on the '''destination console''' only.}}
# Power off your console and insert the SD card into your device
 
# Copy the downloaded <code>ctrcheck.gm9</code> into <code>sd:/gm9/scripts</code> on the SD card
# Power off your console and insert your SD card into your computer
# If GodMode9 either is not installed or is outdated (the latest version is v2.1.1), [[3DS:GodMode9#Installation|install the latest version now]]
# Copy <code>GodMode9.firm</code> from the GodMode9 <code>.zip</code> to the <code>/luma/payloads/</code> folder on your SD card
# Reinsert the SD card into your console
# Copy the <code>gm9</code> folder from the GodMode9 <code>.zip</code> to the root of your SD card
# Copy <code>MovableMoveover.gm9</code> to the <code>/gm9/scripts/</code> folder on your SD card
# Create a folder named <code>3ds</code> on the root of your SD card if it does not already exist
#* This folder stores homebrew applications and data; it is different from the <code>Nintendo 3DS</code> folder that the console automatically generates
# Copy <code>faketik.3dsx</code> to the <code>3ds</code> folder on the root of your SD card
# Copy the '''source console's''' <code>essential.exefs</code> to the root of your SD card and rename it to <code>old-essential.exefs</code>
#* If you have the '''source console''''s <code>movable.sed</code> already in raw form, you can copy that file to the root of the SD card instead
# Copy the '''source console's''' <code>Nintendo 3DS</code> folder the the root of your SD card
# Reinsert your SD card into your console
 
=== Section II - Setup Script ===
# Hold {{B|Start}}, and while holding {{B|Start}}, power on your console
# Your console will have booted into GodMode9
# If you are prompted to create an essential files backup, press {{B|A}} to do so, then press {{B|A}} to continue once it has completed
# If you are prompted to fix the RTC date&time, press {{B|A}} to do so, then set the date and time, then press {{B|A}} to continue
# Press {{B|Home}} to bring up the action menu
# Select “Scripts…”
# Select “MovableMoveover”
# Follow the prompts in the script, answering any questions that you are asked
# Once the script completes your console will have rebooted
# Your console may act like it has just been formatted - this does not mean your data has been lost. If it does this, proceed normally through initial setup and get to the HOME Menu
 
{{info|text=The destination console's original <code>essential.exefs</code> and <code>movable.sed</code> files will be in <code>sd:/gm9/out/MMM_Backup</code> on its SD card. It is highly recommended to back up these files to a safe location.}}
 
=== Section III - Reinstating Apps ===


# Launch the '''Download Play''' application
=== Section II - ctrcheck ===
# Wait until you see the two buttons
#* Do not press either of the buttons
# Press {{B|L|DOWN|SELECT}} at the same time to open the Rosalina menu
# Select '''Miscellaneous options'''
# Select '''Switch the hb. title to the current app.'''
# Press {{B|B}} to continue
# Press {{B|B}} to return to the Rosalina main menu
# Press {{B|B}} to exit the Rosalina menu
# Press {{B|HOME}}, then close '''Download Play'''
# Relaunch the '''Download Play''' application
# Your console should load the '''Homebrew Launcher'''
# Launch '''faketik''' from the list of homebrew
# Wait until the process is completed
# Press {{B|START}} to exit
# Reboot your console


{{success|text=The moveover is complete. Congratulations for performing a complex procedure.}}
# 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'''
#* 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
# Based on the type of issue you're having, select one of the top three options
#* If you are even slightly unsure about what type of issue it is, pick '''All'''
# Accept any prompts to fix issues and unlock sysNAND write permissions that appear, then read the results on the top screen once the script finishes
# If you are following this guide at someone else's request, send a picture of the results to that person. Otherwise, if the results include any of the following, do the matching instructions:
#* <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]]
#* <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
#** 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
#* <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
#* <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 <code>not found</code>, <code>is an invalid size</code>, or <code>data is invalid</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:Nintendo 3DS guides]]
[[Category:Unbricking]]
[[Category:Nintendo 3DS troubleshooting]]

Revision as of 01:27, 30 September 2024


ctrcheck is a custom GodMode9 script that does a large number of sanity checks and checksums on a 3DS' firmware and SD card 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, 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

What You Need

  • The latest version of ctrcheck.gm9
    • To download, right-click/long-press the link and select Save link as... or similar, then rename the downloaded file to ctrcheck.gm9 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 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
    • If ctrcheck does not appear here, go into the folder 0:/gm9/scripts and manually rename it to ctrcheck.gm9 by highlighting it and pressing R+X, then reopen the scripts menu
  3. Based on the type of issue you're having, select one of the top three options
    • If you are even slightly unsure about what type of issue it is, pick All
  4. Accept any prompts to fix issues and unlock sysNAND write permissions that appear, then read the results on the top screen once the script finishes
  5. If you are following this guide at someone else's request, send a picture of the results to that person. Otherwise, if the results include any of the following, do the matching instructions:
    • ______ installed to firm0/firm1: If the result type is Information, you may ignore this line. If the type is Warning or Critical, follow either Updating B9S (if using boot9strap) or Updating fastboot3DS (if using fastboot3DS) to get the latest version of a known good bootloader. If the type is Error and both FIRM0 and FIRM1 are affected, ask for help in the Nintendo Homebrew Discord
    • Critical: NVRAM is inaccessible: 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 the special build of Luma linked in the fourteenth word of this sentence, rename it to boot.firm, and put it on the root of your SD card
      • 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
    • Warning: The SD title database needs to be reset: Using this picture as a guide, reset the title database. After you reset, follow Finalizing Setup to reacquire the homebrew apps
    • Warning: There is no boot.firm/boot.3dsx in the SD card root: Follow Restoring / Updating CFW to reacquire the file(s)
    • Critical: NAND is unreadable at _______...?: Your console's internal storage is damaged in a way that may require advanced troubleshooting to fix. Ask for help in the Nintendo Homebrew Discord
    • One or more of movable.sed, LFCS, SecureInfo, and/or HWCAL is marked as not found, is an invalid size, or data is invalid: If you have a NAND backup from before this happened, restore it. If you do not, then ask for help in the Nintendo Homebrew Discord
    • Critical: n3DS has an o3DS NAND header: If you have a NAND backup from before this happened, restore it. If you do not, then ask for help in the Nintendo Homebrew Discord
  6. If any other result(s) of the type Warning, Critical, or Error appear, you may want to ask for help in the Nintendo Homebrew Discord and provide the full output of ctrcheck there
Info icon The results found on the top screen are also stored on the SD card in the file sd:/gm9/ctrcheck_latest.txt - 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 sd:/gm9/ctrcheck_log.txt.