Wii U Console no video audio output on HDMI or Component

Started by tzirf, Jan 27, 2024, 01:04 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

tzirf

Alright. Apologize for the delay here. Had some things going on and didn't have time to sit down and work on this console. It looks like defuse is the only answer to solving this problem. I did reinstall a NAND-AID. Console does the same thing solid blue light and I cannot get the recovery menu to boot. That being said the first pad was ripped off when I removed the original NAND-AID and I am not 100% positive that a connection is being made there. If there is no connection, then it doesn't matter that I installed a NAND-AID. It wouldn't work. I will have to see if there is another point I can test this from .

Edit: I was able to trace the signal back and test it from a point away from the NAND-AID. All pads are soldered correctly. So I can rule that out. The console needs defuse to diagnose it. I plan on doing it. I probably won't get to it until next week. I have 2 Wii U consoles I need to fix ahead of this.

tzirf

I am resurrecting this thread. I apologize for the long wait on this one. Its been on the back of my workbench for many months now but I finally installed defuse with this console. The documentation seems to be sparse so I need to get a few things setup and then hopefully I can diagnose this console and see what is happening.

There is a readme file included with Defuse that gives some insight on setting it up and some diagnostic steps. I have posted it below

What's New?
-----------------
- Fixed OTP dumping failure caused by corrupted PRSH

INSTALLATION INSTRUCTIONS
-------------------------

REQUIRED FILES
--------------
- boot1.img --  SD card image for minute_minute
- boot1_slccmpt.img --  NAND-flashable minute boot1, for using >2GiB SD cards
- fw.img    --  Main bootloader, minute
- wiiu/ios_plugins/wafel_core.ipx --  Stroopwafel core, this plugin loads first and bootstraps all other plugins in wiiu/ios_plugins.
- otp.bin   --  This can be dumped via the minute menu, under
              `Backup and Restore` > `Dump OTP via PRSHhax`.
              The menu will still be available if otp.bin is not present,
              however IOS will not be able to boot.

The following versions are provided in the zip:
- [pico_defuse](https://github.com/shinyquagsire23/wii_u_modchip/tree/main/pico_defuse)  @ ea84680c5d1e7636c8e8f5da938905581e985c55
- [stroopwafel](https://github.com/shinyquagsire23/stroopwafel) @ 82464ce3b3e43577ab1ca825e9ff34c903a2c7c0
- [minute_minute](https://github.com/shinyquagsire23/minute_minute) @ 464ee918dc97567d79e1b9d2913acb2b879217ec

STEPS
-----
1) Flash pico_defuse.uf2 to the Raspberry Pi Pico via USB. This can be done by copying the file to the USB Mass Storage device that appears.

2) Flash boot1.img to a 1GB SD card. Some 2GB cards may work, but 1GB seems to be the sweet spot--it just has to be non-SDHC. boot1.img includes an MBR header, so you may have to format the FAT32 partition after flashing in order to continue. Flashing can be done via win32diskimager, dd, or any other SD card formatter.

3) Copy fw.img, the wiiu folder, and otp.bin to the root of the SD card. If you do not have otp.bin, it can be dumped via `Backup and Restore` > `Dump OTP via PRSHhax`.

4) Power on the Wii U console. If it is working correctly, the power LED will flash and turn purple. By default, the minute menu will appear on the serial console, however an INI file can be placed on the SD card to trigger autobooting.

Your SD card file structure should contain the following, or it will not boot:
```
sdmc:/
├── fw.img
└── wiiu
    └── ios_plugins
        └── wafel_core.ipx
        └── wafel_debug_exts.ipx
```

A brief purple flash followed by a blinking orange LED means that fw.img was not found on the SD card root.

ACCESSING THE MINUTE MENU
-------------------------
A serial console is required to operate the menu, for now. On Windows you can use PuTTY, on Linux/macOS you can use minicom (eg `minicom -b 115200 -o -D /dev/cu.usbmodem11101`).

minute can be configured to autoboot into IOS via sdmc:/minute/minute.ini. To trigger the menu manually, press (but do not hold) the power button 3-5 times (like you're trying to get into the BIOS on a computer), or until the menu shows up on the serial console. From here you can swap the SD card and make NAND backups. To back up MLC, it is currently recommended to Format redNAND with a 64GB SD card, and then copy the partitions off the SD card.

An example of an autoboot minute.ini is as follows:
```
[boot]
autoboot = 1
autoboot_timeout = 3
```

RESTORING NAND BACKUPS
----------------------
minute now supports restoring NAND backups, however there still *may* be some lingering bugs. AS LONG AS YOU HAVE A KNOWN-GOOD SLC.RAW and SLCCMPT.RAW BACKED UP SOMEWHERE SAFE, YOU WILL BE FINE!! I managed to completely wipe my SLCCMPT and restore it, but I also had one restore where some sectors didn't program for some reason. It could have just been my SD card though.

I plan on continuing to work on this, since I also want to recover a unit which has had its NAND entirely wiped with no backups. However, the current state of things is as I said.

A corrupt NAND will look as follows in IOSU logs:
- "Attached volume to slc01 (raw)"
- "Attached volume to slccmpt01 (raw)"
- A ton of spam about bad hashes (this also happens if otp.bin is invalid or zeroed).

REDNAND
-------
RedNAND can be configured using sdmc:/minute/rednand.ini. If you have an older redNAND (de_Fuse 0.7 or so), you can use the following INI file:
```
[partitions]
slccmpt=true
slc=true
mlc=true

[scfm]
disable=false
allow_sys=false

[disable_encryption]
mlc=false
```

GPU OVERCLOCKING
---------------------
minute has experimental support for overclocking (or underclocking) the Radeon GPU by specifying PLL parameters in the ini file. **This can potentially harm your Wii U if you don't check your math!** Or your Wii U will just not boot into the menu or may otherwise become unstable in normal usage.

Manual PLL overrides overview:
```
div_select = ?
clkV is spread spectrum related maybe?
clkS is clock source...?

clkXtal = 27MHz
clkO = clkO0Div, clkO1Div, or clkO2Div (based on div_select)
clkF = (clkFMsb << 16) | (clkFLsb << 1)
freqMhz = clkXtal * (clkF/0x10000) / (clkR+1) / (clkO/2)
```

Example unmodified INI values:
```
; Defaults:
; GPU = 544.999878MHz
; 27 * (0x285ED0 / 0x10000) / (0+1) / (0x4/2)
[clocks]
gpu_clk_r = 0x0
gpu_clk_f = 0x285ED0
gpu_clk_s = 0x1C2
gpu_clk_v = 0x7
gpu_clk_o_0div = 0x4
gpu_clk_o_1div = 0x4
gpu_clk_o_2div = 0x0
```

Example overclock:
```
; GPU = 679.999878MHz (1.25x)
; 27 * (0x325ED0 / 0x10000) / (0+1) / (0x4/2)
[clocks]
gpu_clk_f = 0x325ED0
```

The GPU gets unstable at around 770MHz in my testing.

TROUBLESHOOTING
---------------
You will want a serial console connected for this, see above for help.

If the console LED stays red after pressing the power button, and then boots normally after ~30s, this means that either de_Fuse failed to detect success, or the SD card was invalid.

A successful de_Fuse looks like this:

```
[pico] Changed state: WIIU_STATE_POWERED_OFF -> WIIU_STATE_NEEDS_DEFUSE
Starting... 1152
Results:
Winner! 0xfb80
01
02
03
04
05
08
09
0a
0b
0c
0d
0e
13
14
15
18
1b
1c
1d
1e
1f
25
88
89
8a
...
```

- If the initial lines are not 01, 02, 03, ..., this means the DEBUG GPIOs are not wired correctly.
- If the final line is 0x1E and the error code is 0x00, that is an invalid SD card. Invalid SD cards seem to hang boot0.
- If the final line is 0x25, and 1e and 1f are in the output, this means the SD card was valid, but not flashed correctly (or otherwise failed to read).
- If the final line is 0x25, and 1e and 1f are NOT in the output, this means that the EXI CLK wire is not connected correctly, or there is an issue with the EXI data wire.
- A brief purple flash means that the custom boot1 has loaded, and glitching was successful. If it stays solid purple, then it has loaded fw.img from the SD card.
- A brief purple flash followed by a blinking orange LED means that fw.img was not found on the SD card root, or the SD card failed to mount.


 

tzirf

Alright, trying to complete the older projects before starting any new ones. I finally got this system put back together so I could plug it in and start figuring out Defuse. I opted to make the cables long enough so I could wrap them around and place the Raspberry Pi Pico on the front of the console. May not have been the most ideal way of doing this, but it worked for my situation and allows me to easily plug this into a computer.

With too many components that could slip all over the place I decided to partially reassembly the console. This may not be necessary to do in all circumstances, especially if you don't have to move the console.

I will admit that attaching the Pico to the back of the console is likely an easier method as it requires much short wires to connect it. Might pose some challenges if you need to connect to a PC for debugging. 

IMG_8877.JPG

Unfortunately I am not able to move forward because the SD Card doesn't appear to be detected. The instructions for Defuse state that you should use a 1GB card. That isn't possible for me as I do not have one that small. I did format a 1GB partition on a 32GB SD Card but it doesn't seem to like that.

When I power the console on it, the LED turns Red and stays red, which I believe indicates that the SD Card is invalid. If I remove the SD Card while the console is still powered on the LED immediately starts blinking blue. I am not able to find any mention of this online to determine what it means, but it may just means the console is looking for an SD card because when I insert the card it goes back to the Red LED.

As for what I see using Putty, its in the image below. I don't know what this specific Error indicates...
Putty Error.JPG

however I know Defuse is working because the serial console will the following message when the Wii U console is powered off:
PuttyWiiUnopower.JPG

 

tzirf

Based on everything I can find (there isn't much documentation I can find for Defuse) the mod requires a 1GB SD Card to be successful. I don't know if this is entirely true as I am unable to locate anyone who has used Defuse and disclosed the SD Card/Size they used with it.

I don't think its going to be possible for me to locate a 1GB SD Card in 2024. These things just don't exist and even the 2nd hand market doesn't seem to have them, which isn't surprising because they have no value and most of them likely end up being tossed in the trash. Well here is to another day. Tomorrow I will double check all the solder points just to be certain Defuse is installed properly. If it is, I can only assume at this point the problem is an invalid SD Card. 

tzirf

Double checked Defuse. Everything is soldered correctly. I am going to have to find a 1GB SD Card for further testing. Unfortunately all the ones I have located today were SDHC cards, which do not work.  :'(

tzirf

I purchased a 1GB SD Card that should work for this. Will continue diagnosing this console when it arrives.

tzirf

Defuse is apparently very picky about the SD Card used with it. I didn't think I would have this much difficulty finding one. I have tried 4 or 5 1GB SD Cards and none of them worked. The readout is that defuse doesn't detect a valid SD Card. Well I came across this SD Card today.

SDCard.JPG

If an official Nintendo one from the Wii won't work then I am not sure what to do. A part of me has doubts about this one working because the same manufacturer (SanDisk) produced several of the other cards I tried that failed to work. Well only one way to find out, give it a try and hope for the best. 

tzirf

YES!!! We are in!!!!!  Defuse is now working.
Defuse working.JPG

Alright so it appears not to load the otp.bin file. Which is a bit concerning because I have it on the SD Card. I guess this is where the troubleshooting starts and I see if I can identify what the problem is. Unfortunately Defuse has very little documentation online and I am unable to find much reference to anything that is happening on screen.

A couple thinks that stand out to me are the sdcard: doesn't support SDR25, staying at SDR12. Also the fact that the crypto bytes of the OTP loaded might mean that the otp is somehow corrupt on this console. Just throwing out some guesses as I am not 100% sure what I am looking at here. You can see this in the picture below for reference.

Defuse Loaded.JPG

I guess at this point I can try dumping the OTP.Bin from the console again just to be sure the one I have isn't corrupt. Since Minute is loading I can actually Dump OTP Via PRSHhax. 

tzirf

If you are using the Dump otp.bin via PRSHhax from the "Backup and Restore" menu a successful dump will look like this from the serial console:
OTP dumped.png

Alright I Dumped the OTP.bin via PRSHhax and now Defuse automatically loads into the Minute menu, which means the other OTP.bin I had must have been corrupt. When the OTP.bin is working properly it loads directly into the minute menu, for those interested in knowing if there is a readout that tells you it successfully loaded, there is from the Serial Console and it looks like this:

otpbin loaded.png






tzirf

Alright an update to this console. I was able to get ISFShax installed on the console.

I installed a 64GB SD Card and noticed that it isn't detecting it. When I attempt to erase the MLC, it detects an SD Card but it has the wrong size, its detecting 8GB when the card is a 64GB and then I just get "resetting due to timeout" error. This means the SD card isn't accessible, but also its reporting the incorrect size. 

Upon disassembling the console to inspect the NAND-AID I noticed something strange. The NAND-AID wasn't sitting flush to the Wii U PCB. It should be mentioned that I was only able to see this using a Microscope. To the naked eye everything looked good.

I grabbed my hot air station and removed the SD Card Slot and once it was out of the way it was obvious where the failure was. The Ground pad on the NAND-AID had failed. This reminded me that this was the console I had serious trouble removing the old solder from the Wii U ground pad. Apparently I didn't do a good enough job.

So this time I went ahead and removed all the solder from the board, right down to the pad and added all new solder. NAND-AID is now sitting flush with the board and has a strong solder joint to the ground pad.

I will get an SD Card Slot installed tomorrow and get everything reassembled and tested to see if the SD Card shows up this time. 

tzirf

I replaced the SD Card Slot and the SD Card does show up properly now, but I still get the resetting due to timeout error when trying to erase the MLC. I am out of ideas at this point....

I dumped the log files and have attached them. Log file 13 is the most recent, but it would appear to be an old log from when I initially repaired this console.