Wii U wupclient how to use it to connect to wupserver (Windows OS) Guide

Started by tzirf, Jan 26, 2024, 05:13 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

tzirf

When repairing the Wii U MLC there is an option to run wupserver from the console, which connects to WiFi and then allows a client to connect to the Wii U in order to make various edits to files/folders that are corrupt. Sometimes these files/folders must be moved to a new directory and cannot be deleted and other times they can be deleted and reinstalled depending on what they are.

I was unable to find documentation online for wupclient. This script is written in python and I have some base knowledge about it. That being said there are likely individuals who do not understand python, nor have the time to understand it, that wish to use this script to fix their Wii U. That is the purpose of this guide.

Disclaimer: Using this and deleting files/folders could result in a "bricked" Wii U; albeit fixable. If you are not sure what the files are for you should ask before touching them with wupclient. I am not the one who wrote the script, it was created by the github user at the link below. Also I take no responsibility for any damages caused by using this script. USE AT YOUR OWN RISK. 


wupclient can be downloaded here or from the attached file on this post in case the github is removed.

Setting up wupclient
1. On windows you will have to install Python Environment, which you can download here. Choose Windows Installer 64bit unless you are running a 32 bit version of Windows.
2. Install Python
3. Extract wupclient from the zip file
4. Right click wupclient and select edit with IDLE
5. Find line  def __init__(self, ip='192.168.1.1', port=1337) and edit the IP address to the IP of your Wii U console. The console will display the IP when you start the wupserver. If it shows 0.0.0.0 then it isn't connected to WiFi and you need to load a network configuration. If you already loaded the network configuration stop wupserver and start it again. Keep in mind if you power down the console you will have to load the network configuration each time you turn it on. Save the changes to wupclient when you are done.
6. Open a command prompt. hit Windows Key + R type in cmd and hit enter
7. In the command prompt change the root directory to the directory where wupclient is by using the command cd. So if your wupclient is located in the downloads folder on Windows, it would look like this
cd C:\Users\Your_UserName\Downloads, where "Your_UserName" is your account name on Windows. Make sure to change this. If you have it in a different directory copy and past that directory location after cd in the command prompt. Hit enter you should see it change the root directory 
8. Type py -i wupclient.py This will start the python script. Upon successful connection to the Wii U wupserver it will display 0x0 and >>> on separate lines and wait for additional commands.
9. This is where you can start telling wupclient what to do.

wupclient commands
These are commands that most people will need to use. There may be others. If you know of them and wish to share make a post and I will add them. I have created this section with the command and an explanation on how to use it. Following each command is an example for using that command.

Remove Files:
w.rm("") - Used to remove files. Place the directory location of the file between "" You can only do 1 file at a time. If executed correctly it will prompt "WARNING: REMOVING A FILE CAN BRICK YOUR CONSOLE, ARE YOU SURE(Y/N)?" Select Y for Yes or N for No

After you remove a file you must flush the MLC by running command flush_mlc()

Example: w.rm("/vol/storage_mlc01/sys/title/00050010/10049100/code/acs.rpx") This would remove file acs.rpx.


Delete Titles:
delete_title("",True) - Used to remove titles from Wii U. You can only do 1 title at a time. If executed correctly it will prompt "WARNING: REMOVING A FILE CAN BRICK YOUR CONSOLE, ARE YOU SURE(Y/N)?" Select Y for
Yes or N for No" Select Y for Yes or N for No

Example: delete_title("/vol/storage_mlc01/sys/title/00050030-1001410a", True) This would remove the Nintendo eshop title. Full list of titles can be found in this title database


Move Files/Folders
w.mv("")  - Used to move files/folders that are corrupt but cannot be deleted. Its recommended you move them to a folder called "Corrupt" in the same parent directory. If executed correctly it will prompt "WARNING: REMOVING A FILE CAN BRICK YOUR CONSOLE, ARE YOU SURE(Y/N)?" Select Y for
Yes or N for No" Select Y for Yes or N for No

Example: w.mv("/vol/storage_mlc01/sys/title/00050030/1001410a", "/vol/storage_mlc01/sys/title/00050030/corrupt") - This would move the corrupt Eshop title to a folder in directory "0050030" called corrupt. It later could be deleted using a different FTP method.


Flush MLC Command:
flush_mlc() -to flush MLC after manually removing or moving files. Does not need to be used after deleting titles.

No example required. The command is just flush_mlc() 

Additional Info
It appears that Meta Data corruption cannot be deleted. It must be moved into a new directory. So if you find yourself trying to delete a file and it errors out, try moving it instead.






tzirf