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

Wii U:ISFShax: Difference between revisions

From Hacks Guide Wiki
m (Unencrypted fw.img no longer needed)
(Adds update blocking information, instructions and exploit method for Haxchi/CBHC, instructions to replace the encrypted fw.img with the non-encrypted one, general troubleshooting information, and a plugin list. Removes disclaimers for legacy environments, as there is a proper method for them now.)
Line 9: Line 9:
*Providing a minimal CFW that can launch old homebrew using the homebrew launcher (though this might be less useful with Aroma and Tiramisu available)
*Providing a minimal CFW that can launch old homebrew using the homebrew launcher (though this might be less useful with Aroma and Tiramisu available)
*Preventing the Wii U from turning on the Tablet during boot using a stroopwafel plugin
*Preventing the Wii U from turning on the Tablet during boot using a stroopwafel plugin
{{info|text= To protect against Nintendo pushing a boot1 update, which would brick a console with ISFShax, '''system updates get blocked''' by the <code>wafel_isfshax_patch</code> plugin. If you need to perform a system update, use v1.0 of said plugin, which doesn't contain the update block.}}


== Exploit Methods ==
== Exploit Methods ==
Line 15: Line 17:


*If you already have Tiramisu or Aroma installed and can launch it, follow the Instructions for Aroma
*If you already have Tiramisu or Aroma installed and can launch it, follow the Instructions for Aroma
*If you already have Haxchi or CBHC installed, follow Instructions for Haxchi
*If the Browser still works and you can launch the browser exploit u.wiidb.de, follow the Instructions for Browser
*If the Browser still works and you can launch the browser exploit u.wiidb.de, follow the Instructions for Browser
*If you can't access the Browser, but Settings still work follow Instructions for DNSpresso
*If you can't access the Browser, but Settings still work follow Instructions for DNSpresso
Line 20: Line 23:
*If your Wii U can't launch the browser anymore or can't connect to the internet, follow the Instructions for UDPIH
*If your Wii U can't launch the browser anymore or can't connect to the internet, follow the Instructions for UDPIH


{{info|text= Note: If you have a legacy CFW (Haxchi, CBHC) installed you can also use it, but follow the Aroma steps and hold A instead of B.}}
Make sure your SD card is FAT32, although this should already be the case if you have an environment installed.
 
Make sure your SD card is FAT32, although this should already be the case if you have Aroma/Tiramisu installed.


== SD Preparation ==
== SD Preparation ==
Line 32: Line 33:
*The [https://github.com/isfshax/wafel_isfshax_patch/releases IOSU ISFShax tolerance patch] (<code>wafel_isfshax_patch.ipx</code>)  
*The [https://github.com/isfshax/wafel_isfshax_patch/releases IOSU ISFShax tolerance patch] (<code>wafel_isfshax_patch.ipx</code>)  


*The [https://github.com/jan-hofmeier/minute_minute/releases minute image] (<code>fw_encrypted.img</code>) '''[Aroma/Browser/DNSpresso]'''
*The [https://github.com/jan-hofmeier/minute_minute/releases minute image] (<code>fw_encrypted.img</code>) '''[Aroma/Haxchi/Browser/DNSpresso]'''
*The [https://github.com/wiiu-env/fw_img_payload/releases fw_img_payload] zip '''[Browser/DNSpresso only]'''
*The [https://github.com/wiiu-env/fw_img_payload/releases fw_img_payload] zip '''[Browser/DNSpresso only]'''
*The [https://github.com/wiiu-env/PayloadFromRPX/releases root.rpx] '''[DNSpresso only]'''
*The [https://github.com/wiiu-env/PayloadFromRPX/releases root.rpx] '''[DNSpresso only]'''
Line 41: Line 42:
# Copy the <code>superblock.img</code> and <code>superblock.img.sha</code> to root of your SD card.
# Copy the <code>superblock.img</code> and <code>superblock.img.sha</code> to root of your SD card.
# Copy the <code>wafel_core.ipx</code> and <code>wafel_isfshax_patch.ipx</code> to the <code>ios_plugins</code> folder in the <code>wiiu</code> folder.
# Copy the <code>wafel_core.ipx</code> and <code>wafel_isfshax_patch.ipx</code> to the <code>ios_plugins</code> folder in the <code>wiiu</code> folder.
# Copy the <code>fw_encrypted.img</code> to the root of your SD card and rename it to <code>fw.img</code>.
# Copy the <code>fw_encrypted.img</code> to the root of your SD card and rename it to <code>fw.img</code>. '''(Aroma/Haxchi/Browser/DNSpresso)'''
#Extract the contents of the <code>fw_img_payload</code> zip to the root of your SD card. '''(Browser/DNSpresso)'''
# Extract the contents of the <code>fw_img_payload</code> zip to the root of your SD card. '''(Browser/DNSpresso)'''
# Copy the <code>root.rpx</code> to the root of your SD card and rename it to <code>launch.rpx</code> '''(DNSpresso)'''
# Copy the <code>root.rpx</code> to the root of your SD card and rename it to <code>launch.rpx</code> '''(DNSpresso)'''
# Copy the <code>fw.img</code> and <code>boot1.img</code> to the root of your SD card. '''(UDPIH)'''
# Copy the <code>fw.img</code> and <code>boot1.img</code> to the root of your SD card. '''(UDPIH)'''
Line 80: Line 81:


{{info|text= If the fw_img_loader isn't present, grab it from the [https://aroma.foryour.cafe Aroma Website].}}
{{info|text= If the fw_img_loader isn't present, grab it from the [https://aroma.foryour.cafe Aroma Website].}}
</span>
|-|Haxchi=
<span>
# Hold A on the gamepad while launching the Haxchi or DO NOT TOUCH ME app.
# Alternatively, if you have CHBC, you can hold A on the gamepad while booting the console.
</span>
</span>


Line 137: Line 145:
#Follow the onscreen instructions, the buttons are the same as minute's (3x Eject, 1x Power, 3x Eject).
#Follow the onscreen instructions, the buttons are the same as minute's (3x Eject, 1x Power, 3x Eject).
# The console should now turn off.
# The console should now turn off.
# Replace the encrypted <code>fw.img</code> on the SD with the <code>fw.img</code> '''(NOT the encrypted one)'''.
#If it successfully installed, the Wii U will directly boot into minute once you boot again.
#If it successfully installed, the Wii U will directly boot into minute once you boot again.


Line 147: Line 156:
To boot into the Wii U OS in minute, select <code>Patch (sd) and boot IOS (slc)</code> (2x Power, 1x Eject).
To boot into the Wii U OS in minute, select <code>Patch (sd) and boot IOS (slc)</code> (2x Power, 1x Eject).


===Launching environments with ISFShax ===
{{info|text= If your console bootloops through minute over and over again, you're probably coldbooting Aroma or Tiramisu and replaced the <code>wiiu/payload.elf</code> with the fw_img loader. Just replace it with the proper <code>wiiu/payload.elf</code> for Aroma [https://github.com/wiiu-env/PayloadLoaderPayload/releases here] (This also applies to Tiramisu).}}
 
===Launching Aroma/Tiramisu with ISFShax ===
You can use ISFShax to boot into Aroma or Tiramisu.
You can use ISFShax to boot into Aroma or Tiramisu.
To begin, you will need the latest files from the sites.
To begin, you will need the latest files from the sites.
Line 205: Line 216:
{{info|text=The Wii U will first try to load the fw.img from the SLC, and if that fails, it will fall back to the SD. If you install a broken fw.img that doesn't load, you can force ISFShax to load the fw.img from the SD by repeatedly pressing the power button until the menu shows up.}}
{{info|text=The Wii U will first try to load the fw.img from the SLC, and if that fails, it will fall back to the SD. If you install a broken fw.img that doesn't load, you can force ISFShax to load the fw.img from the SD by repeatedly pressing the power button until the menu shows up.}}


{{warning|text=A factory reset will delete the hax folder. Without the fw.img on the SD, the Wii U will boot with minimal patches.}}
{{warning|text=A factory reset will delete the hax folder. Without the fw.img on the SD, the Wii U will boot with minimal patches, but some actions (such as leaving the System Settings) may be slower. It's recommended to set up minute and stroopwafel again.}}


===Autobooting with SD (Optional) ===
===Autobooting with SD (Optional) ===
Line 219: Line 230:
You can adjust the timeout (in seconds) to your preference. The <code>autoboot</code> option determines which entry from the minute menu will be loaded. Setting it to <code>1</code> corresponds to <code>Patch (slc) and boot IOS (slc)"</code>, which loads the ios_plugins from the SLC. If you haven't installed them to the SLC or want to load them from the SD for any reason, change the value to <code>3</code>, which corresponds to <code>"Patch (sd) and boot IOS (slc)</code>.
You can adjust the timeout (in seconds) to your preference. The <code>autoboot</code> option determines which entry from the minute menu will be loaded. Setting it to <code>1</code> corresponds to <code>Patch (slc) and boot IOS (slc)"</code>, which loads the ios_plugins from the SLC. If you haven't installed them to the SLC or want to load them from the SD for any reason, change the value to <code>3</code>, which corresponds to <code>"Patch (sd) and boot IOS (slc)</code>.


{{info|text=If you combine autobooting minute with the wafel_payloader plugin, You can autoboot Aroma or Tiramisu without having Health and Safety injected at all!}}
{{info|text=If you combine autobooting minute with the wafel_payloader plugin, you can autoboot Aroma or Tiramisu without having Health and Safety injected at all!}}


As an alternative, check out the Fastboot option below.
As an alternative, check out the Fastboot option below.
Line 246: Line 257:
#Delete the /storage_slc/sys/hax folder if you have set up SLC booting.
#Delete the /storage_slc/sys/hax folder if you have set up SLC booting.
# Run the ISFShax installer again from minute and follow the on-screen instructions to uninstall.
# Run the ISFShax installer again from minute and follow the on-screen instructions to uninstall.
==Recommended Plugins ==
Here is a list of currently available stroopwafel plugins you can use with ISFShax:
# [https://github.com/jan-hofmeier/wafel_noinit_tablet wafel_noinit_tablet] - Prevents the gamepad from turning on while booting the console.
# [https://github.com/jan-hofmeier/wafel_sd_usb/releases SDUSB] - Allows you to run games from the SD Card.
# [https://github.com/jan-hofmeier/wafel_usb_partition/releases USB Partition] - Allows you to use partitioned USB devices with the Wii U.
# [https://github.com/jan-hofmeier/wafel_setup_mlc/releases wafel_setup_mlc] - Allows you to rebuild or upgrade the MLC.

Revision as of 23:27, 9 August 2024

ISFShax exploits boot1 using a specially designed ISFS (SLC filesystem) superblock. Once installed, it offers similar capabilities to defuse. Since it runs before IOSU, it can apply early patches to IOSU and repair most types of bricks. However, it cannot protect against bricks caused by boot1 corruption, seeprom issues, or installing a faulty ISFShax superblock. Additionally, ISFShax cannot help if the Wii U is already bricked.

Features

  • Rebuilding or upgrading the MLC
  • Removing the 64GB MLC limit and disabling SCFM
  • Brick protection, such as before performing a region change
  • Cold booting redNAND, which is helpful when the eMMC is failing
  • Providing a minimal CFW that can launch old homebrew using the homebrew launcher (though this might be less useful with Aroma and Tiramisu available)
  • Preventing the Wii U from turning on the Tablet during boot using a stroopwafel plugin
OOjs UI icon information-progressive.svg To protect against Nintendo pushing a boot1 update, which would brick a console with ISFShax, system updates get blocked by the wafel_isfshax_patch plugin. If you need to perform a system update, use v1.0 of said plugin, which doesn't contain the update block.

Exploit Methods

There are quite a few ways to launch the ISFShax installer.

  • If you already have Tiramisu or Aroma installed and can launch it, follow the Instructions for Aroma
  • If you already have Haxchi or CBHC installed, follow Instructions for Haxchi
  • If the Browser still works and you can launch the browser exploit u.wiidb.de, follow the Instructions for Browser
  • If you can't access the Browser, but Settings still work follow Instructions for DNSpresso
  • If your Wii U crashes in the initial setup on Mii creation, follow Instructions for DNSpresso
  • If your Wii U can't launch the browser anymore or can't connect to the internet, follow the Instructions for UDPIH

Make sure your SD card is FAT32, although this should already be the case if you have an environment installed.

SD Preparation

You will need:

  1. Copy the ios.img to the root of your SD card.
  2. Copy the superblock.img and superblock.img.sha to root of your SD card.
  3. Copy the wafel_core.ipx and wafel_isfshax_patch.ipx to the ios_plugins folder in the wiiu folder.
  4. Copy the fw_encrypted.img to the root of your SD card and rename it to fw.img. (Aroma/Haxchi/Browser/DNSpresso)
  5. Extract the contents of the fw_img_payload zip to the root of your SD card. (Browser/DNSpresso)
  6. Copy the root.rpx to the root of your SD card and rename it to launch.rpx (DNSpresso)
  7. Copy the fw.img and boot1.img to the root of your SD card. (UDPIH)
  8. Copy the recovery_menu to the root of your SD card. (UDPIH)


The structure on the SD should look like this:

  • SD card icon (root)
    • File icon boot1.img (UDPIH only)
    • File icon fw.img
    • File icon ios.img
    • File icon recovery_menu (UDPIH only)
    • File icon launch.rpx (DNSpresso only)
    • File icon superblock.img
    • File icon superblock.img.sha
    • Folder icon wiiu
      • File icon payload.elf (Browser, DNSpresso only)
      • Folder icon ios_plugins
        • File icon wafel_core.ipx
        • File icon wafel_isfshax_patch.ipx

Booting into Minute

Choose the appropriate method to boot into Minute based off of the setup you have.

  1. Hold B on boot or while launching Health and Safety (whether you coldboot or not) to boot into the PayloadLoader.
  2. You will be asked to choose your payload.
  3. Select "fw_img_loader".
OOjs UI icon information-progressive.svg If the fw_img_loader isn't present, grab it from the Aroma Website.

  1. Hold A on the gamepad while launching the Haxchi or DO NOT TOUCH ME app.
  2. Alternatively, if you have CHBC, you can hold A on the gamepad while booting the console.

  1. Navigate to the browser and type in "u.wiidb.de" in the address bar.
  2. Click on "HAXX".

If you can access the settings, follow the instructions provided here (you already have the correct files on the SD card): DNSpresso - A Wii U DNS Exploit. If you are stuck on User/Mii creation during the initial setup:

  1. If your Wii U is already connected to your AP/Router, turn off the AP/Router or disable its WiFi.
  2. When the setup asks if you already have a NNID, select "Yes" (even if you don't have one).
  3. The system will attempt to connect to the Internet, fail, and then prompt you to return to the WiFi settings.
  4. Turn your AP/Router back on and wait for it to start.
  5. If your WiFi is not already configured, connect to it now, but enter an incorrect password.
  6. Edit your WiFi connection and set 85.215.57.182 as the Primary DNS. If you entered a wrong password before, correct it now.
  7. Press (B) to go back and select "Connection Test."

  1. Boot into recovery_menu as per this guide
  2. Unplug the pico or Switch.
  3. Select "Load BOOT1 Payload" from the list and continue on.
OOjs UI icon information-progressive.svg (If your tv doesn't display an output, you'll have to navigate blindly: 18x eject, 1x power, 1 eject, 1 power)

You should now see the minute main menu. If not, ensure you have the correct fw.img file on the SD card.

In minute, use the power button to move the cursor and the eject button to select (this is opposite to the recovery menu controls).

OOjs UI icon information-progressive.svg Minute only outputs 1080p through HDMI, with no display on the GamePad or analog outputs. Some users have reported that the screen output doesn't work when minute is loaded from the recovery_menu. If you've verified that the fw.img file is correct and your TV supports 1080p HDMI, you can still proceed by pressing the appropriate buttons blindly. Make sure to wait long enough between presses to allow the system to load. Without display output, skip the first backup and go directly to installing ISFShax.


Backup and Installation

We will now start with a fresh NAND backup.

  1. Navigate to Backup and Restore
  2. Select Dump OTP and Seeprom
  3. When that is done, select Dump SLC.RAW
  4. Once that is done, return to the main menu.

Installing ISFShax

  1. Select Boot ios.img (blind combo is Power 6x, Eject 1x)
  2. The ISFShax installer will launch after a brief moment.
  3. Follow the onscreen instructions, the buttons are the same as minute's (3x Eject, 1x Power, 3x Eject).
  4. The console should now turn off.
  5. Replace the encrypted fw.img on the SD with the fw.img (NOT the encrypted one).
  6. If it successfully installed, the Wii U will directly boot into minute once you boot again.

Backing up ISFSHax

Go back to Backup and Restore and Dump the SLC.RAW again. This will replace the previous SLC.RAW file you dumped earlier. It's required if you want to restore the SLC for unbricking, without losing ISFShax, in case the superblock protection fails. Keep that backup somewhere safe.

Booting with ISFShax

From this point on, the Wii U can still boot without the SD card, but will have some patches applied (ISFShax tolerance for IOSU, update blocking). To boot into the Wii U OS in minute, select Patch (sd) and boot IOS (slc) (2x Power, 1x Eject).

OOjs UI icon information-progressive.svg If your console bootloops through minute over and over again, you're probably coldbooting Aroma or Tiramisu and replaced the wiiu/payload.elf with the fw_img loader. Just replace it with the proper wiiu/payload.elf for Aroma here (This also applies to Tiramisu).

Launching Aroma/Tiramisu with ISFShax

You can use ISFShax to boot into Aroma or Tiramisu. To begin, you will need the latest files from the sites.

OOjs UI icon information-progressive.svg If you are already coldbooting Tiramisu or Aroma via the PayloadLoader Installer, you need to disable the coldboot in the PayloadLoaderInstaller first.
  1. Put the wafel_payloader.ipx file in the ios_plugins folder.
  2. Place the root.rpx file from PayloadFromRPX in the wiiu folder on the SD card.
    • Alternatively, if you have Aroma and/or Tiramisu already, you can just grab the root.rpx from your environment of choice's folder from wiiu/environments/[ENVIRONMENT]/ and place it in the wiiu folder of the SD card.

Booting without SD

This step is optional but highly recommended. Without the SD card, the Wii U will still boot, but will only have minimal patches applied.

To fix this, we need to install minute (fw.img) and the stroopwafel plugins (wafel_core + wafel_isfshax_patch) to the internal memory (SLC). This can be done using FTPiiU-Everywhere, which can be launched from Tiramisu and is part of the Aroma Package (enable in the plugin settings), or you can use the haxcopy homebrew.

Haxcopy is recommended for most users, but if you accidentally copy a wrong plugin to the SLC or need to delete one, you'll still need to use FTP.

  1. Create a folder named "hax" on the SD card.
  2. Copy the fw.img to the hax folder.
  3. Create a subfolder named "ios_plugins" in the hax folder.
  4. Rename wafel_core.ipx to 0core.ipx and copy it to the hax/ios_plugins folder.
  5. Rename wafel_isfshax_patch.ipx to 6isfshax.ipx and copy it to the hax/ios_plugins folder.
  6. If you want to coldboot Aroma or Tiramisu, rename wafel_payloader.ipx to 9payldr.ipx and copy it to the hax/ios_plugins folder.
  7. If you need other plugins like wafel_unlimit.ipx, rename and copy them to the hax/ios_plugins folder.
  8. Download the haxcopy.wuhb from here and copy it to to the wiiu/apps folder (as you would normally install homebrew).
  9. Insert the SD card into the Wii U and run haxcopy to transfer the hax folder to the SLC.

OOjs UI icon information-progressive.svg You do not need to do the first two steps if you already have system file access enabled in the FTPiiU configuration.
  1. Open the Aroma Plugin Configuration Menu using L + Down + SELECT (-) on the GamePad or Pro Controller (or B + Down + Minus (-) for WiiMotes).
  2. Open the FTPiiU option, then settings, and set ‘Allow access to system files’ to ‘true’ by pressing A.
  3. Use an FTP client on the PC to browse to /storage_slc/.
  4. If you see a scfm.img file and sys folder, go into the sys folder. If you see folders like config, import, logs, proc, rights, security, title, and tmp, move to the next step.
  5. Create a subfolder named "hax" and enter it.
  6. Ensure your FTP client is in binary mode (not ASCII mode).
  7. Upload the minute fw.img to the /storage_slc/sys/hax folder.
  8. Create another subfolder named "ios_plugins" in /storage_slc/sys/hax.
  9. Enter the /storage_slc/sys/hax/ios_plugins folder.
  10. Rename wafel_core.ipx to 0core.ipx and upload it.
  11. Rename wafel_isfshax_patch.ipx to 6isfshax.ipx and upload it.
  12. If you want to coldboot Aroma or Tiramisu, rename wafel_payloader.ipx to 9payldr.ipx and upload it.
  13. If you need other plugins like wafel_unlimit.ipx, rename and upload them too.

Now, the Wii U should autoboot if no SD card is inserted. If an SD card is inserted, the minute menu should show up (even if the SD doesn't contain a fw.img). In that menu, you can select the Patch (SLC) and boot IOS (SLC) to load the plugins from the SLC and boot (no need to have them on the SD anymore).

OOjs UI icon information-progressive.svg The Wii U will first try to load the fw.img from the SLC, and if that fails, it will fall back to the SD. If you install a broken fw.img that doesn't load, you can force ISFShax to load the fw.img from the SD by repeatedly pressing the power button until the menu shows up.
OOjs UI icon information-warning.svg A factory reset will delete the hax folder. Without the fw.img on the SD, the Wii U will boot with minimal patches, but some actions (such as leaving the System Settings) may be slower. It's recommended to set up minute and stroopwafel again.

Autobooting with SD (Optional)

To enable autoboot on the Wii U with an SD card inserted, create the file sd:/minute/minute.ini with the following content:

[boot]
autoboot=1
autoboot_timeout=3

You can adjust the timeout (in seconds) to your preference. The autoboot option determines which entry from the minute menu will be loaded. Setting it to 1 corresponds to Patch (slc) and boot IOS (slc)", which loads the ios_plugins from the SLC. If you haven't installed them to the SLC or want to load them from the SD for any reason, change the value to 3, which corresponds to "Patch (sd) and boot IOS (slc).

OOjs UI icon information-progressive.svg If you combine autobooting minute with the wafel_payloader plugin, you can autoboot Aroma or Tiramisu without having Health and Safety injected at all!

As an alternative, check out the Fastboot option below.

Fastbooting (Optional)

To make the Wii U boot as fast as possible, without showing minute, you can now use the fw_fastboot.img. This won't work with redNAND It is hardcoded to go straight to the first option (booting the SLC, with patches from SLC). It won't display anything and ignore any autoboot configuration in the minute.ini.

  1. First make sure the system can boot using the first option in minute. (see Booting without SD)
  2. Replace the the fw.img in the hax folder on the SLC with the fastboot image (fw_fastboot.img renamed to fw.img)

If you get stuck for whatever reason and need to fully load minute from your SD, you can do this:

  1. Place the minute fw.img on the SD card
  2. Repeatedly press the power button until the minute menu shows up on the screen.

Uninstalling ISFShax

OOjs UI icon information-warning.svg Do NOT restore an older SLC backup, as it will break SCFM!

Ensure your Wii U doesn't rely on any patches (like wafel_unlimit_mlc.ipx or redNAND). You can verify this by booting with only the wafel_core.ipx and wafel_isfshax_ipx plugins in the ios_plugins directory on the SD card and selecting the "Patch (sd) and boot IOS (slc)" option.

To proceed:

  1. Delete the /storage_slc/sys/hax folder if you have set up SLC booting.
  2. Run the ISFShax installer again from minute and follow the on-screen instructions to uninstall.

Recommended Plugins

Here is a list of currently available stroopwafel plugins you can use with ISFShax:

  1. wafel_noinit_tablet - Prevents the gamepad from turning on while booting the console.
  2. SDUSB - Allows you to run games from the SD Card.
  3. USB Partition - Allows you to use partitioned USB devices with the Wii U.
  4. wafel_setup_mlc - Allows you to rebuild or upgrade the MLC.