Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
227 changes: 158 additions & 69 deletions docs/user_guide/rcm/sending_payload.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,150 +22,238 @@ Now that the device is in RCM, we will need to send it a payload. The methods ar

### Section I - Requirements

* The latest release of [TegraRcmGUI](https://github.com/eliboa/TegraRcmGUI/releases) (either the MSI or zip)
* The latest release of [OmniRCM](https://github.com/DefenderOfHyrule/OmniRCM/releases/latest) (`OmniRCM-win-x64.exe`)
* A USB-A to USB-C cable (or a standard USB-C cable if your computer natively supports USB-C)
* The latest release of [hekate](https://github.com/CTCaer/Hekate/releases/). The hekate payload (`hekate_ctcaer_(version).bin`) is located inside of the `hekate_ctcaer_(version).zip`.

### Section II - Instructions

1. Download and open OmniRCM.
* If you get a SmartScreen popup, click `More info` and click `Run anyway`.
1. Connect your Switch in while it's in RCM to your PC using the USB cable.
1. Click the red `Install Driver` button near the top of the window.
* If you face issues when installing the driver, follow the driver installation with [Zadig](#optional---driver-installation-with-zadig) section below.
1. Under `Payloads`, click the `↓ Update` button to fetch the remote payloads.
1. Select the `hekate` payload.
1. Click the Green `► Inject Payload` button
* If your payload was successfully injected your switch should have yellow text that says "Update bootloader folder!", this will be resolved soon.

If you experience issues with OmniRCM or you just want to try a different payload injector, you can check out the web injector by unfolding the section below.

::: details Alternative payload injector for Windows {closed}

### Section I - Requirements

* The latest release of [TegraRCMGUI](https://github.com/eliboa/TegraRcmGUI/releases)
* A USB-A to USB-C cable (or a standard USB-C cable if your computer natively supports USB-C)
* The latest release of [hekate](https://github.com/CTCaer/hekate/releases/). The hekate payload (`hekate_ctcaer_(version).bin`) is located inside of the `hekate_ctcaer_(version).zip`.

### Section II - Instructions

1. Install and run TegraRcmGUI.
1. Navigate to the `Settings` tab, then press `Install Driver` and follow the on-screen instructions.
* If you face issues when installing the driver, follow the [driver installation with Zadig](#optional---driver-installation-with-zadig) section below.
1. Connect your Switch in RCM to your PC using the USB cable.
1. Navigate to the `Payload` tab of TegraRcmGUI.
1. Navigate to the Payload tab of TegraRcmGUI
* Your Switch should be shown as detected in the bottom left corner.
1. Press the file button next to `Inject payload`, and navigate to and select the `hekate_ctcaer_X.X.X.bin` file.
* Do not use the hekate payload included in TegraRcmGUI. It is outdated and missing a feature needed later in the guide.
1. Click `Inject payload` to launch the payload you selected.
* If your payload was successfully injected your switch should have yellow text that says "Update bootloader folder!", this will be resolved soon.

:::

::: details Optional - Driver installation with Zadig (click to unfold) {closed}

### Optional - Driver installation with Zadig

Follow these steps if you face issues when installing the driver with TegraRcmGUI. You will need the latest version of [Zadig](https://zadig.akeo.ie).
Follow these steps if you face issues when installing the driver with OmniRCM. You will need the latest version of [Zadig](https://zadig.akeo.ie).

1. Launch Zadig. In the `Options` menu, be sure that `List All Devices` is enabled.
1. Connect your Switch in RCM to your PC using the USB cable.
1. In Zadig, select "APX" in the device list.
1. Select `libusbK (v3.1.0.0)` in the driver list.
1. Click `Install Driver` and wait for the installation to finish.

If you experience issues with TegraRcmGUI or you just want to try a different payload injector, you can check out JTegraNX by unfolding the section below.
:::

::: details Alternative payload injector for Windows {closed}

::::

:::: tab Linux

### Section I - Requirements

* The latest release of [JTegraNX](https://github.com/DefenderOfHyrule/JTegraNX/releases)
* The latest release of [OmniRCM](https://github.com/DefenderOfHyrule/OmniRCM/releases/latest) (`OmniRCM-Linux-(architecture)`, based on your device's architecture)
* A USB-A to USB-C cable (or a standard USB-C cable if your computer natively supports USB-C)
* The latest release of [hekate](https://github.com/CTCaer/hekate/releases/). The hekate payload (`hekate_ctcaer_(version).bin`) is located inside of the `hekate_ctcaer_(version).zip`.
* At least Java 11+ (ideally 21 LTS)

### Section II - Instructions

1. Download and run the JTegraNX-X.X.X.jar file.
1. Connect your Switch in RCM to your PC using the USB cable.
1. Click the `Browse for payload` button, then navigate to- and select the `hekate_ctcaer_X.X.X.bin` file.
* **Note:** You can also click the `Payloads` tab at the top of the JTegraNX window and select the latest hekate payload from there.
1. Click the `Inject payload` button.
1. Download and open OmniRCM.

::: details If you cannot open the executable... {closed}

You'll need to make the executable executable if your file manager doesn't allow you to run the executable from your file manager directly. To do this, follow the instructions below:

1. Open a terminal window,
1. Enter the following command: chmod +x /path/to/OmniRCM-linux-(architecture) (replacing /path/to with the actual path to the executable).
1. You should now be able to double click the app to open it from your file manager.

- **Note:** most file managers *do* allow you to make a file executable by right clicking the file and going to Properties > Permissions (or similar) > Allow executing file as program. The process is roughly the same for all Linux distributions.

:::

1. Connect your Switch in while it's in RCM to your PC using the USB cable.
1. Click the red `Setup udev` button near the top of the OmniRCM window.
1. Fill in your root password in the dialogue box that appears.
1. Click `Install`
1. Log out and back in.
* On some distributions (notably, Fedora) require a full reboot for group membership to take effect. If you still cannot inject without root permissions, try rebooting.
1. Re-open OmniRCM
1. Under `Payloads`, click the `↓ Update` button to fetch the remote payloads.
1. Select the `hekate` payload.
1. Click the Green `► Inject Payload` button
* If your payload was successfully injected your switch should have yellow text that says "Update bootloader folder!", this will be resolved soon.

:::

::::
---

:::: tab Linux
If you experience issues with OmniRCM or you just want to try a different payload injector, you can check out the web injector by unfolding the section below.

::: details Alternative payload injector for Linux {closed}

### Section I - Requirements

* The latest release of [JTegraNX](https://github.com/DefenderOfHyrule/JTegraNX/releases)
* A USB-A to USB-C cable (or a standard USB-C cable if your computer natively supports USB-C)
* The latest release of [hekate](https://github.com/CTCaer/hekate/releases/). The hekate payload (`hekate_ctcaer_(version).bin`) is located inside of the `hekate_ctcaer_(version).zip`.
* At least Java 11+ (ideally 21 LTS)
* A Chromium based browser (ex. Chrome, Brave, etc..)

### Section II - Instructions

1. Download and run the JTegraNX-X.X.X.jar file. (This can be done from terminal or from your file manager.)
* **Note:** You will need to run JTegraNX as root, unless you follow the instructions at [Linux injection without root](../../extras/adding_udev).
1. Set up the [udev rule](https://switch.hacks.guide/extras/adding_udev.html) for rootless injections
* This is necessary unless you wish to run your browser as root every time you want to inject.
1. Head over to https://omnircm.nintendohomebrew.com/web/
1. Connect your Switch in RCM to your PC using the USB cable.
1. Click the `Browse for payload` button, then navigate to- and select the `hekate_ctcaer_X.X.X.bin` file.
* **Note:** You can also click the `Payloads` tab at the top of the JTegraNX window and select the latest hekate payload from there.
1. Click the `Inject payload` button.
1. Click on `Connect device...` and select `APX`.
1. Download the hekate payload by clicking the button labeled `hekate_ctcaer_*.bin`.
1. Click on `Add payload...` and select the hekate payload you downloaded in the previous step.
1. Click the Blue `Inject` button.
* If your payload was successfully injected your switch should have yellow text that says "Update bootloader folder!", this will be resolved soon.

---

If you experience issues with JTegraNX, you just want to try a different payload injector or you don't want to use Java, you can check out fusee-nano by unfolding the section below.

* **Note:** fusee-nano has a tendency to simply not work on *some* system configurations for unknown reasons. Please keep this in mind.
::::

::: details Alternative payload injector for Linux {closed}
:::: tab macOS

### Section I - Requirements

* The latest release of [fusee-nano](https://github.com/DefenderOfHyrule/fusee-nano/releases) (also available on the [AUR](https://aur.archlinux.org/packages/fusee-nano))
* If you use Arch Linux or a derivative distro, the AUR package is recommended.
* The latest release of [OmniRCM](https://github.com/DefenderOfHyrule/OmniRCM/releases/latest) (`OmniRCM-osx.zip`)
* A USB-A to USB-C cable (or a standard USB-C cable if your computer natively supports USB-C)
* The latest release of [hekate](https://github.com/CTCaer/hekate/releases/). The hekate payload (`hekate_ctcaer_(version).bin`) is located inside of the `hekate_ctcaer_(version).zip`.

### Section II - Instructions

1. Download and run the payload injector from your terminal. You will need to run the injector as root, unless you follow the instructions at [Linux injection without root](../../extras/adding_udev).
1. Connect your Switch in RCM to your PC using the USB cable.
1. Run fusee-nano with: `./fusee-nano /path/to/hekate-ctcaer_X.X.X.bin`
* As mentioned earlier, unless you have followed the instructions at [Linux injection without root](../../extras/adding_udev), this will require root to run. For most systems, this is done with `sudo`
1. Download the latest release of OmniRCM.
1. Extract the `OmniRCM-osx.zip` archive somewhere (if needed, usually automatic).
1. Use Finder to open `OmniRCM.app`.
1. Connect your Switch in while it's in RCM to your PC using the USB cable.
1. Under `Payloads`, click the `↓ Update` button to fetch the remote payloads.
1. Select the `hekate` payload.
1. Click the Green `► Inject Payload` button
* If your payload was successfully injected your switch should have yellow text that says "Update bootloader folder!", this will be resolved soon.

::::
---

:::: tab macOS
If you experience issues with OmniRCM or you just want to try a different payload injector, you can check out the web injector by unfolding the section below.

::: details Alternative payload injector for macOS {closed}

### Section I - Requirements

* The latest release of [CrystalRCM](https://github.com/prayerie/CrystalRCM/releases) (the `CrystalRCM.(version).dmg` file)
* A USB-A to USB-C cable (or a standard USB-C cable if your computer natively supports USB-C)
* The latest release of [hekate](https://github.com/CTCaer/hekate/releases/). The hekate payload (`hekate_ctcaer_(version).bin`) is located inside of the `hekate_ctcaer_(version).zip`.
* A Chromium based browser (ex. Chrome, Brave, etc..)

### Section II - Instructions

1. Download the latest release of CrystalRCM.
1. Mount the `CrystalRCM.(version).dmg` file, open the mounted disk image in File Explorer and copy the `CrystalRCM.app` file inside of the mounted disk image to any location on your Mac.
1. Open the `CrystalRCM.app` app, then click `Select payload` and select the `hekate_ctcaer_X.X.X.bin` file.
* macOS may warn you about the application being downloaded from the internet. To get around this warning, hold the control key while clicking the application, then click Open and Open again.
* **macOS Sequoia users:** Apple has changed how unsigned applications from the internet are opened. You will need to follow the instructions on the [hacks.guide Wiki](https://wiki.hacks.guide/wiki/Open_unsigned_applications_on_macOS_Sequoia) to open the application.
1. Connect your Switch in RCM to your PC using the USB cable, make sure it's also detected in CrystalRCM.
1. Once selected, click `Push!`. The payload should now be injected successfully.
1. Head over to https://omnircm.nintendohomebrew.com/web/
1. Connect your Switch in RCM to your PC using the USB cable.
1. Click on `Connect device...` and select `APX`.
1. Download the hekate payload by clicking the button labeled `hekate_ctcaer_*.bin`.
1. Click on `Add payload...` and select the hekate payload you downloaded in the previous step.
1. Click the Blue `Inject` button.
* If your payload was successfully injected your switch should have yellow text that says "Update bootloader folder!", this will be resolved soon.

:::

::::

:::: tab Android

### Section I - Requirements

* The latest release of [Rekado](https://github.com/MenosGrante/Rekado/releases)
* You will need to enable Unknown Sources in your device settings to install this
* The latest release of [OmniRCM](https://github.com/DefenderOfHyrule/OmniRCM/releases/latest) (`OmniRCM-android.apk`)
* A USB-C cable
* If your device has a USB-C port, you may use a C-C cable
* If your device only has a Micro USB port, you will need a USB OTG adapter and a USB A-C cable
* This **will not work** on every phone!
* The latest release of [hekate](https://github.com/CTCaer/hekate/releases/). The hekate payload (`hekate_ctcaer_(version).bin`) is located inside of the `hekate_ctcaer_(version).zip`.

### Section II - Instructions

1. Copy the hekate_ctcaer `.bin` file from the hekate `.zip` file to a location on your phone.
* A tool such as Amaze File Manager can do this.
1. Launch Rekado on your phone.
1. Navigate to `Payloads` (Signified by a downwards arrow with a line), then press the `+` button at the bottom right.
1. Navigate to your hekate_ctcaer `.bin` file and tap it to add it to Rekado's menu.
1. **Optional, but recommended**: Navigate to Rekado's settings in the top right and enable `Hide bundled`.
1. Connect your Switch in RCM to your phone using the USB cable.
1. If prompted, grant Rekado access to the Switch.
1. Select the `hekate_ctcaer_X.X.X.bin` file in the dialog that pops up.
1. Install the `OmniRCM-android.apk` file.
1. Open the app from your Home menu.
1. Connect your Switch in while it's in RCM to your Android device using the USB cable.
1. Allow OmniRCM to access the APX device. (either temporarily or permanently)
1. Tap on the `Fetch Payloads` button to fetch the remote payloads.
1. Select the `hekate` payload.
1. Tap on the `Inject` button.
* If your payload was successfully injected your switch should have yellow text that says "Update bootloader folder!", this will be resolved soon.

---

If you experience issues with OmniRCM or you just want to try a different payload injector, you can check out the web injector by unfolding the section below.

::: details Alternative payload injector for Android {closed}

### Section I - Requirements

* A USB-A to USB-C cable (or a standard USB-C cable if your computer natively supports USB-C)
* A Chromium based browser (ex. Chrome, Brave, etc..)

### Section II - Instructions

1. Head over to https://omnircm.nintendohomebrew.com/web/
1. Connect your Switch in RCM to your Android device using the USB cable.
1. Click on `Connect device...` and select `APX`.
1. Download the hekate payload by clicking the button labeled `hekate_ctcaer_*.bin`.
1. Click on `Add payload...` and select the hekate payload you downloaded in the previous step.
1. Click the Blue `Inject` button.
* If your payload was successfully injected your switch should have yellow text that says "Update bootloader folder!", this will be resolved soon.

:::

::::

:::: tab Chromebook
:::: tab iOS (jailbroken)

### Section I - Requirements

* A jailbroken iPhone
* A lightning to USB A OTG adapter
* Not required if you use a USB-C iPhone.
* A good quality USB A to C cable
* If your phone has a USB-C port, you may use a C-C cable.

### Section II - Instructions

1. Visit the [OmniRCM Sileo Repository](https://omnircm.nintendohomebrew.com/repo/).
1. Press the `Add` button corresponding to your Package Manager.
1. Add the repository and sync your sources.
1. Navigate to `OmniRCM` > `Utilities` > `OmniRCM` and tap `GET`.
1. Install the app from the queue. In `Sileo`, this is in the bottom right of your screen.
1. Open the app.
1. Connect your Switch in while it's in RCM to your Phone using the USB cable.s
1. Tap on the `Fetch Payloads` button to fetch the remote payloads.
1. Select the `hekate` payload.
1. Tap on the `Inject` button.
* If your payload was successfully injected your switch should have yellow text that says "Update bootloader folder!", this will be resolved soon.

::::

:::: tab ChromeOS

### Section I - Requirements

Expand All @@ -181,11 +269,12 @@ If your Chromebook has a USB-C port, do note that this will not work using a C-C

### Section II - Instructions

1. Go to the injection [website](https://fusee.eiphax.tech/) and scroll all the way down
1. Open the dropdown menu and select `hekate_ctcaer_X_X_X` from the list.
1. Connect your Switch in RCM to your Chromebook using the USB cable.
1. Select "Deliver Payload". A pop-up will appear. Click the `APX` option.
1. Press the Connect button and the payload will be injected.
1. Head over to https://omnircm.nintendohomebrew.com/web/
1. Connect your Switch in RCM to your PC using the USB cable.
1. Click on `Connect device...` and select `APX`.
1. Download the hekate payload by clicking the button labeled `hekate_ctcaer_*.bin`.
1. Click on `Add payload...` and select the hekate payload you downloaded in the previous step.
1. Click the Blue `Inject` button.
* If your payload was successfully injected your switch should have yellow text that says "Update bootloader folder!", this will be resolved soon.

::::
Expand Down
Loading