Installing Homebrew on the Wii Mini

    • Tutorial

      Installing Homebrew on the Wii Mini

      This tutorial is available in German as well: Homebrew installieren auf der Wii Mini

      Wii Mini Softmod


      Yesterday, on September 28th, 2019; fullmetal5 released the first exploit for the Wii Mini. That means, you can now use Homebrew on the Wii Mini as well. This works due to a weakness in the bluetooth library in the Wii (mini), so you need a bluetooth connection to trigger the exploit.


      For this, you'll need a couple things:

      - A computer with Bluetooth (USB dongles usually work better than built-in bluetooth)
      - Linux (either directly on your computer, using a live disc, or using a virtual machine)
      - A Wii Mini (the exploit would work on a regular Wii as well, but there are easier tutorials for that -> http://wii.guide )
      - If you are not using a virtual machine: An empty DVD or an empty USB drive with at least 4GB of space.

      You can install the Homebrew Channel and use most normal homebrew. The Wiimmfi patcher works as well (when you use a LAN connection). The Priiloader can theoretically be installed, but is quite useless as you can't start it without the RESET button.

      Step 1: Linux


      Because the exploit needs to talk directly to your bluetooth module without any layer inbetween, it sadly only works on Linux. If you are already using linux, skip this first step.
      If not, you need to download Ubuntu: ubuntu.com/download/desktop

      Then you can choose between either booting Ubuntu in a virtual machine, or using a live USB or live DVD. In both cases your Windows installation is not going to be changed, you are just temporarily booting into a Linux environment. A live DVD or USB is preferred over a virtual machine, as there is a better compatibility.

      To create a virtual machine, you need to download and install Virtualbox: virtualbox.org/

      After you've installed and started it, you can click the "New" button to create a new VM. Then just follow the wizard.

      • On the first page, enter a name, select the type "Linux" and the version "Ubuntu (64 bit)".
      • On the next page, you can leave the RAM at the default setting. If you have lots of RAM you could also increase it, then Ubuntu will run faster (not more than 50% of your RAM).
      • On the third page ("drive) choose the option "No hard drive" - Linux boots directly from the ISO. Ignore the warning message by clicking "Continue".
      • Choose the new VM from the list on the left, click "Modify", go to "Storage" and choose the empty entry. Then click the DVD icon on the right side and select the Ubuntu ISO you just downloaded. The empty entry should then display the ISO file name.
      • Click "OK" and boot the machine by clicking "Start".
      • Go to the menu "Devices" -> "USB" and choose your Bluetooth dongle in the list to connect it to the virtual machine. If it isn't shown in that list, it may not be compatible with the VM and you need to try one of the other methods.


      • Download the Win32 Disk Imager and connect a USB drive with at least 4 GB. CAUTION: All data on that USB drive will be deleted!
      • Start the program, select the Ubuntu ISO under "Image File", select your USB drive under "Device", then click "Write".
      • After the write process is done, you need to boot your computer from the USB drive. The exact process is different for each computer, usually you see a message at boot time like "Press F12 for boot order" which brings you to a menu that allows you to boot from the USB drive.



      Take any disc burning program (like Imgburn) and write the ISO onto a blank DVD. Make sure you burn the image itself and not just write the image as a file onto the disc. Then restart the computer from the disc.
      The exact process is different for each computer, usually you see a message at boot time like "Press F12 for boot order" which brings you to a menu that allows you to boot from the disc drive.



      Now your computer or virtual machine should boot into the Ubuntu system. When the system is ready and asks if you want to try or install Ubuntu, click on "Try Ubuntu".

      Step 2: Preparing the exploit


      You now have prepared and started a Linux system (or you jumped to this step because you already have Linux). Now we need to install a few libraries. On a virtual machine you should automatically have an internet connection, on a computer with a LAN connnection it should work automatically as well. If you normally use WiFi, you need to click the icon in the top right corner and connect your computer to the WiFi again.

      Also, you should now turn on your Wii Mini, connect a wii remote, and connect a USB drive with a boot.elf file in its root (ideally, the Hackmii Installer).
      Make sure your console is as close to the bluetooth adapter as possible (< 1 meter).

      Then open a Terminal (click the icon in the top left corner and type "Terminal") and enter the following commands after another (you can also open Firefox, navigate to this tutorial, and copy all the commands after another so you don't have to type them):

      sudo apt update
      sudo apt install make gcc libbluetooth-dev libglib2.0-dev libdbus-1-dev libudev-dev libical-dev libreadline-dev
      mkdir bluebomb
      cd bluebomb
      wget http://www.kernel.org/pub/linux/bluetooth/bluez-5.51.tar.xz
      tar -xvf bluez-5.51.tar.xz
      cd bluez-5.51
      ./configure --enable-deprecated && make
      sudo systemctl disable --now bluetooth
      cd tools && sudo ./btmgmt
      info

      The Terminal should now display information about your bluetooth dongle. If it doesn't do that, your bluetooth dongle might be incompatible. If you are using a virtual machine, try a live DVD or USB. If that still doesn't work, try a different bluetooth adapter and/or computer.

      select 0
      connectable on
      bondable on
      discov on
      power on
      info

      The Terminal should now display a "current settings" line that should at least contain the following options (or more): powered connectable discoverable bondable br/edr

      If you get the error Powered for hci0 failed with status 0x12 (Blocked through rfkill) when entering power on, exit the btmgmt tool by typing exit, then run sudo rfkill unblock bluetooth, then run btmgmt again (sudo ./btmgmt), then try all the steps above, beginning with select 0, again.



      exit
      sudo ./hciconfig hci0 iac liac
      cd ../..
      wget https://github.com/Fullmetal5/bluebomb/releases/download/v1.0/bluebomb.zip
      unzip bluebomb.zip

      You now have prepared your computer for the exploit and can now run it (next chapter, don't close the Terminal window).

      Step 3: The exploit


      By typing the following command into the Terminal you start the exploit:

      For a PAL Wii Mini: sudo ./bluebomb-x86 ./stage0/MINI_SM_PAL.bin stage1.bin
      For an USA Wii Mini: sudo ./bluebomb-x86 ./stage0/MINI_SM_NTSC.bin stage1.bin

      If you are running this on a Raspberry Pi or a similar ARM-based device, use bluebomb-arm instead of bluebomb-x86.

      The Terminal should now print "Waiting to accept". The computer is now waiting for a connection from your Wii Mini.

      If that command prints some kind of syntax error when using this command and you tried both the x86 and the arm version, follow the following commands and try again. If the step above worked and you see the "waiting to accept" text, this is not necessary.

      Additional steps in case of syntax error
      git clone https://github.com/Fullmetal5/bluebomb.git
      cd bluebomb
      make
      cp bluebomb ..
      cd ..
      now try the command above this info box again



      • Make sure that exactly one wiimote (without Motion Plus) is connected to the Wii Mini
      • Remove the batteries from that wiimote
      • Press the SYNC button on the Wii Mini a bunch of times. It may take quite a few button presses to work, depending on the distance between Wii Mini and computer, and the quality of your bluetooth connection. Just spam the SYNC button for a while until the Terminal displays "Got connection handle".
      The Wii Mini should now boot the Hackmii installer after a few seconds. Once you are in the Hackmii installer, put the batteries back into the Wiimote and install the Homebrew Channel.

      Step 4: cIOS (experimental)


      I modded the d2x cIOS to work on the Wii Mini, that means, you can use USB-Loaders. The cIOS hasn't been tested a lot, but because it is not interfering with the system and is just installed into a cIOS slot, the chance that this breaks something is pretty small.

      Download the d2x cIOS Installer for the WiiU (yes the Wii Mini requires the WiiU version) and extract it onto the USB drive. Then delete the folder "v10" and the file "ciosmaps.xml" from the folder so that only "boot.dol", "icon.png" and "meta.xml" are in there.

      Then go to wii.leseratte10.de/d2xl-cIOS/ and download the most recent version (currently: d2xl-v1-beta2.7z) of my modified d2x(l) cIOS and extract it into the d2x-cios-installer folder (in the apps folder) on the USB drive:

      Plug the USB drive into the Wii Mini and start the d2x cIOS installer. Press any key to skip the intro screen.

      At the menu point "Select cIOS", choose "d2xl-v1-beta2". For "Select cIOS base" select "57" and for "Select cIOS slot" select "249". Under "NOTES" there will be a section "Offline installation". Take a note of the exact version number (5 digits directly before the ".wad" extension).

      Then press A to start the installation. If it fails with a weird "tmd version mismatch" error, that isn't a problem. Just try again, but this time, while selecting the cIOS base, press left/right on the wiimote until the 5-digit number from earlier is different than when you tried before. This time, it should work - one of the two version numbers should definitely work.

      After successfully installing the cIOS press B to exit. Now you've successfully installed the cIOS "d2xl-v1-beta2" into the cIOS slot 249 and can use any USB-Loader on the Wii Mini.

      What next?


      If you are reading this step that means you successfully installed homebrew on your Wii Mini.

      What does work?
      • Normal Wii homebrew
      • The Wiimmfi patcher (LAN only, see next step)
      • USB Loader (only if you installed the cIOS in step 4)


      What doesn't work (yet)?
      • Bootmii. Not compatible, and even if you could install it, you wouldn't be able to control it
      • Priiloader. You could install it, but you can't really boot it without RESET button
      • CTGP (because it requires an SD card and doesn't support USB drives)


      Wiimmfi / internet connection


      The Wii Mini has no Wifi module, that means a wireless connection is not possible. Support for the LAN adapter is present though, you just cant configure it using the Wii menu.

      Download this tool (made by fullmetal5), put it onto the USB drive (/apps/template/boot.dol) and start it.

      After that, the internet connection should be set up for a standard LAN connection with DHCP and automatic DNS.

      You can now start the Wiimmfi patcher and play online. When you are in the wiimmfi-patched game, you can unplug the USB drive and plug in the LAN adapter; or you can use an USB hub to connect both at the same time.

      Questions?


      If you have any questions you can post here and I'll try to answer them.

      DevkitPro Archiv (alte Versionen / old versions): wii.leseratte10.de/devkitPro/
      Want to donate for Wiimmfi and Wii-Homebrew.com? Patreon / PayPal

      Dieser Beitrag wurde bereits 0 mal editiert, zuletzt von Leseratte ()

      As helpful as that is, the main benefit of Priiloader is that if someone cocks up their System Menu with smth like a Banner Brick, they can boot it before System Menu crashes; an update that has a specific Wii mini combo to boot (maybe like SYNC+drive open?) would be the best bet

      I currently host the DLS1, GAMESTATS, and Peerchat server for Wiimmfi. if you have any issues with leaderboards (excluding MKW!), Mystery Gifts or other in-game downloadables, or Pokémon Wi-Fi Plaza, I can try to help!
      Yeah, there isn't really any other possible entry point on the Mini, with both SD slot and internet access removed. Still pretty complicated to set up, but you only need to do this once. Also, maybe someone will prepare a VM image that is already set up correctly so you'd only need to boot it, to make it easier.

      DevkitPro Archiv (alte Versionen / old versions): wii.leseratte10.de/devkitPro/
      Want to donate for Wiimmfi and Wii-Homebrew.com? Patreon / PayPal

      Dieser Beitrag wurde bereits 0 mal editiert, zuletzt von Leseratte ()

      "Why did the wii had a Reset button anyway" so you can boot Priiloader :P

      As far as I know, the traces are still there so you could solder a button to the mainboard.

      You could also solder SD slot, wifi module, gamecube ports and the 2nd USB port onto the mainboard if you wanted to.

      DevkitPro Archiv (alte Versionen / old versions): wii.leseratte10.de/devkitPro/
      Want to donate for Wiimmfi and Wii-Homebrew.com? Patreon / PayPal

      Dieser Beitrag wurde bereits 0 mal editiert, zuletzt von Leseratte ()

      ventord schrieb:

      True, well in the meantime you could also set the Homebrew Channel on Autoboot to have some kind of brick protection, if youre going to mess with the system menu
      As far as i heard from the wii-mini hacking discord, many bricks can actually be ironed out with bluebomb (and a fresh copy of the system menu it seems). I have not had the chance to test this yet though (luckily?).
      Somewhat related to this topic: I was finally able to compile my d2xl-cIOS fork without having to use a hex editor, and I'm planning to continue developing the cIOS in the future: gbatemp.net/threads/d2xl-cios-…avebaols-d2x-cios.558581/

      DevkitPro Archiv (alte Versionen / old versions): wii.leseratte10.de/devkitPro/
      Want to donate for Wiimmfi and Wii-Homebrew.com? Patreon / PayPal

      Dieser Beitrag wurde bereits 0 mal editiert, zuletzt von Leseratte ()