Tutorial  Updated

How To: Upgrading / Rebuilding Wii U Internal Memory (MLC)

Warning


This tutorial is only for advanced users and has a serious risk of bricking the console. Make sure you read it completely before executing any step and that you understand every step and its implications. With de_Fuse everything should be unbrickable if you know how.

You should at least have a backup of SLC and SLCCMPT, as we can’t rebuild them at the moment. (can be done in minute_minute, so there is no excuse). We had two cases where the SLC corrupted for an unknown reason, so a backup is essential.

What is this for?


This tutorial goes into rebuilding the MLC from scratch on a clean media. This can become useful, if
  • the MLC (eMMC) chip died or corrupted the filesystem
  • the SCFM (SLC cache for MLC) became inconsistent
  • you want to upgrade the capacity of the internal storage.
  • you want to set up a redNAND without SCFM
If you have a bad eMMC chip, but the recovery still works (which is most likely), then there are also ways to fix it without a complete reformat.
If the LED is blinking blue, you have a SLC problem and not a MLC problem, so this tutorial won't help with that.

It will format your MLC, so all data on the internal Wii U memory will be lost.

Update


13.03.2024 - The wafel_setup_mlc.ipx now uses a built in IOSU function to create system folders, that should make sure the permissions are right, which caused problems with game updates in the past. It will also recreate the update folder (so system updates won't be blocked by that)

Prerequisites


Backing up save games



Do a backup of what you want to preserve, like savegames and Miis.
For Backing up Save games, it is recommended to use SaveMii. That requires that you have Tiramisu or Aroma running.
You can also move your savgames (or whole games) to USB, which should still be readable. When recreating the users after the rebuild, you just have to be carefull to create the users in the right order, to make the ID’s match. A backup by other means (Like savemii) is still recommended.
If you are using this tutorial to fix a failing eMMC you might not be able to use the other Backup options. In that case use the Dump MLC option in the Recovery. You can extract your data from there using wfs-extract.

Storage Options


The Wii U has two ways of connecting internal memory, each with its own drawbacks:
  • SDIO – On retail consoles the internal memory is a eMMC chip connected through an internal SDIO bus to the Latte chip. This SDIO bus can also use SD cards (hence the name SD IO). Access to media connected on the SDIO is cached through a file on the SLC, presumably to reduce writes on the MLC. This cache is called SCFM and it is the reason why you always need to backup / restore SLC and MLC together and doesn’t allow easy swapping of multiple SDs.
    IOSU also only supports 3 sizes of media on this bus: <=8GB, 32GB and 64GB. The size will be limited to the biggest it fits, the rest is unusable. This bus is limited to 26MB/s (4bit@52Mhz). For replacing the eMMC with an micro SD you can use MLC2SD or a similar Interposer. Soldering and micro SD adapter using wires, works too.
    It is recommended to use a 64GB Sandisk Max Endurance card (But similar card should also be fine), since the Wii U is known for writing much.

  • SATA – The Disc drive is connected through SATA, the connectors are different but the electrical signals are still the same. Some Kiosk consoles used this Interface to connect to a HDD. The type of the SATA device can be configured in the SEEPROM, so we can configure our retail consoles to also use a SATA HDD / SSD.
    NOTE: @QuarkTheAwesome is building an SATA adapter for that purpose, available soon™.

    The advantage of using this interface is, that the size isn’t limited (well WFS is limited to 2TB) and it doesn’t use SCFM, which makes some things easier and improves performance in some circumstances. The obvious disadvantage is that you can’t use your disc drive anymore. Without the Disc Drive vWii System Menu doesn't work. vWii Injectes / Wii VC from the eShop can still be used, but only when installed to USB. Also you still might need to disable the MLC on the SDIO bus, or else the wii u might still use the SDIO one if the SATA device takes too long to init.

  • redNAND – redirects the read / writes to one or more of the internal storage devices to paritions on the SD card. You can create an arbitrary size MLC partition on the SD card and set it up using this tutorial. SCFM can be easily disabled for the redNAND. The 64GB limit does not exist for redNAND if the SCFM is disabled. For redNAND we have a dedicated Tutorial here: https://gbatemp.net/threads/fixing-...-soldering-using-rednand-with-isfshax.642268/

Does that mean we can’t get more than 64GB on the SDIO bus? No, BUT it requires ISFShax / defuse to boot the console every time. @GaryOderNichts created a patch to remove the limits and always use the maximum size of the SDIO media and it also disables SCFM, because SCFM doesn’t work with more than 64GB and disabling SCFM improves performance and reduces wear on the SLC, at the cost of increasing wear of the MLC media. I packaged this patch in wafel_unlimit_mlc.

Rebuilding the MLC


Now that you decided what media you want to use as MLC, we can start with the actual process:
  1. Download all the mlc system titles for your region from NUS. This can be done conveniently with MLCRestorerDownloader by @Xpl0itU. Copy the otp.bin from the SD to the folder with the MLCRestorer Downloader so it can get the common key from there.

    You will get the output/MLC/{region} directory, which then contains a directory for each title. In total there should be 52 titles totaling ~1.1GiB.

    If your console has an old firmware it might also be necessary to get the latest SLC titles.

  2. On the root of your SD card (the one that will go in the front slot, not the MLC replacement) create a folder wafel_install. Then copy all 52 titles to the wafel_install folder, so it now contains the 52 subfolders, one for each title. If you want to reinstall / update SLC titles, you would also put them there.

  3. Attach your MLC media of choice. (If you are using SATA got to Backup and Restore, then at Set SATA Device in SEEPROM select GEN2-HDD (Kiosk CAT-I with HDD)).
    For installing MLC2SD look here: https://gbatemp.net/threads/using-n...emmc-fix-160-0103-system-memory-error.636361/ at the Soldering section.

  4. If you install to eMMC / MLC2SD, got to Backup and Restore and select Erase MLC and Delete scfm.img. If the Erase MLC fails, you can ignore that if it wasn't formatted as MLC before (from a failed install or so).

  5. Put the wafel_setup_mlc.ipx on the SD card in /wiiu/ios_plugins. If you want more than 64GB on SDIO you also need to put the wafel_unlimit_mlc.ipx there. If you install with wafel_unlimit_mlc.ipx, it will be permanently required and therefore also permanently requires ISFShax or defuse.

  6. [Optional, only when using defuse] Open the serial monitor on the PC (Putty / minicom) for defuse to see the setup progress. There will be no display output in the Wii U itself. I attached the whole serial log of a successfull install as a reference.

  7. Select Patch (sd) and boot IOS (slc) in minute to start the setup of your fresh MLC.During the setup you won't see anything on the screen. You have to go by the power led.
    The power LED will flash blue, while it is installing the titles.
    if something goes wrong the LED will turn orange, but it will continue as long as it is blinking.
    The LED will become static once it finished. You can now power off the console.
    If the led is blinking red, something fatal happend. Ask for help.
    During the setup a short log gets written to the SD: wafel_setup_mlc.log.
    In the end it will enable the initial setup on the next boot.

  8. Remove the wafel_setup_mlc.ipx from /wiiu/ios_plugins on the SD.

  9. Boot the console. Patch (sd) and boot IOS (slc)

  10. If everything worked, the initial setup should launch.

ISFShax only: Finalizing


If you are using the wafel_unlimit_mlc.ipx you need to keep ISFShax installed. If you haven't done already complete the "Booting without SD" step form the ISFShax tutorial but also add the wafel_unlimit_mlc.ipx renamed to 9unlimit.ipx to the /storage_slc/sys/hax/ios_plugins directory.
If you are not using the wafel_unlimit_mlc.ipx you can either uninstall ISFShax or keep it as a brick protection. If you keep it complete the "Booting without SD" step form the ISFShax tutorial.
The Wii U should now boot automatically if you don't have an SD in.
You probably also want to enable the autobooting now.

See Also


https://gbatemp.net/threads/wii-u-internal-storage-upgrades-are-possible.635629/

Pictures


512 GB SD card:
img_20230702_021647-jpg.381270


@QuarkTheAwesome 120 GB SSD:
img_2709-jpg.381271


Thanks


 

Attachments

  • serial-log.txt
    87.6 KB · Views: 60
Last edited by SDIO,

MoscoMon

Active Member
Newcomer
Joined
Jan 4, 2024
Messages
42
Trophies
0
Age
35
XP
47
Country
Brazil
The heat sink is ok, and the fan is spinning. I'm not sure it's not overheating, but it doesn't seem to be overheating. It happens quite quick, one minute during the SLC dump, or few seconds if idle. It might be a bad installation of the pico by my part. I'll try to redo it with different wires.

Here's the output of the pico during start up:
Code:
[pico] Changed state: WIIU_STATE_POWERED_OFF -> WIIU_STATE_NEEDS_DEFUSE
Starting... 3224:0
Results:
Winner! 0xf368
01
02
03
04
05
08
09
0a
0b
0c
0d
0e
13
14
15
18
1b
1c
1d
1e
1f
25
88
00
00
[pico] Changed state: WIIU_STATE_NEEDS_DEFUSE -> WIIU_STATE_DEFUSED
[pico] Changed state: WIIU_STATE_DEFUSED -> WIIU_STATE_MONITORING
U�U�U�U�U�[Pico] Switching to data mode...

fe 00 02 07 01 00 00 43 46 25 10 00 28 4d 45 4d
32 4d 45 4d 30 50 52 53 48 84 00 00 00 5d 5d 00
01 5d 5d 00 02 5d 5e 00 04 5d 5e 00 08 ef a2 82
d9 01 00 02 00 00 00 00 10 01 00 02 10 5d 5d 00
04 f0 0f ca ff f0 0f ca fa 55 aa 55 aa 55 aa 55
aa f0 0f ca [Pico] Switching to text mode...
U�U�U�beefcafeGPU TV addr: 17500001
GPU DRC addr: 00000000
minute loading
minute was loaded from boot1 context!
Initializing exceptions...
Configuring caches and MMU...
MEM: cleaning up
MEM: unprotecting memory
MEM: mapping sections
MEM: enabling caches
MEM: enabling MMU
MEM: configuring heap
MEM: init done
Interrupts initialized
prsh: Header at 10005a54, PRST at 10007ff0, 1 entries (32 capacity):
    0: boot_info 0x58 10008000
crypto support initialized
BSP version: 0x25100028
Board type: CF (0x4346)
Board revision: 0xb
DDR props: size=2GiB (0x0800) speed=0x0002 vendor=U! (0x5521)

Initializing SD card...
sdhc: SDHC 1.0, 48 MHz base clock
sdhc_bus_power(0x300000)
sdhc_bus_clock(25000, 0)
sdhc_bus_width(1)
resetting due to error interrupt
timeout dump: error_intr: 0x0 intr: 0x2
CID: 8300474B31DA1020202044534D531B00
CID: mid=1b name='SMSD   ' prv=16.13 psn=0a314b47 mdt=3/2008
CSD: 0040969FFFB76DCA83595F32002F0000
taac=47 nsac=0 read_bl_len=9 c_size=3881 c_size_mult=7 card size=1017643008 bytes
sdcard_select: resp=700
sdhc_bus_width(4)
sdcard: enabling highspeed 52MHz clock (32)
sdhc_bus_clock(52000, 1)
resetting due to error interrupt
timeout dump: error_intr: 0x0 intr: 0x2
sdcard: MMC_ALL_SEND_CID failed with 116
sdcard: could not enable highspeed clock for card, falling back to 48MHz highspeed?
sdhc_bus_clock(48000, 1)
resetting due to error interrupt
timeout dump: error_intr: 0x0 intr: 0x2
sdcard: MMC_ALL_SEND_CID failed with 116
sdcard: could not enable highspeed clock for card, falling back to 25MHz highspeed?
sdhc_bus_clock(25000, 1)
Mounting SD card...
crypto: ~0x07d bytes of OTP loaded; JTAG is disabled (000000e1)
f8 b1 8e c3 fe 26 b9 b1 1a d4 a4 ed d3 b7 a0 31
11 9a 79 f8 eb e4 2a 22 5e 85 93 e4 48 d9 c5 45
73 81 aa f7 24 8a ef ae 01 68 74 8b f1 0c 5f 79
e6 d4 c4 8e 48 7b 86 68 0b 64 1c bc 16 8e 7d e5
84 76 50 4a 21 9a 85 fd c5 c3 29 30 22 dc f0 38
be dd 72 88 e8 1c 82 ab 5d 89 17 5c 43 48 88 ab
d5 81 62 ec 79 18 13 95 15 56 e1 8e a4 1c 4e eb
87 3f 1c ee 56 a7 2a a7 ed d0 00 00 00
Console is de_Fused! Loading sdmc:/otp.bin...
minini: Failed to open `sdmc:/minute/minute.ini`!
Initializing MLC...
sdhc_bus_power(0x40000000)
mlc: powerup failed for card
sdhc_bus_power(0x40000000)
mlc: powerup failed for card
sdhc_bus_power(0x40000000)
mlc: powerup failed for card
sdhc_bus_power(0x40000000)
mlc: powerup failed for card
sdhc_bus_power(0x40000000)
mlc: powerup failed for card
sdhc_bus_power(0x40000000)
mlc: powerup failed for card
sdhc_bus_power(0x40000000)
mlc: powerup failed for card
sdhc_bus_power(0x40000000)
mlc: powerup failed for card
sdhc_bus_power(0x40000000)
mlc: powerup failed for card
sdhc_bus_power(0x40000000)
mlc: powerup failed for card
sdhc_bus_power(0x40000000)
mlc: powerup failed for card
sdhc_bus_power(0x40000000)
mlc: powerup failed for card
sdhc_bus_power(0x40000000)
mlc: powerup failed for card
sdhc_bus_power(0x40000000)
mlc: powerup failed for card
sdhc_bus_power(0x40000000)
mlc: powerup failed for card
sdhc_bus_power(0x40000000)
mlc: powerup failed for card
sdhc: SDHC 1.0, 48 MHz base clock
sdhc_bus_power(0x40300000)
sdhc_bus_clock(400, 0)
sdhc_bus_width(1)
CID: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00
resetting due to error interrupt
timeout dump: error_intr: 0x0 intr: 0x2
mlc: SD_SEND_RCA failed with 116
sdhc_bus_width(1)
sdhc_bus_clock(0, 0)
sdhc_bus_power(0x0)
sdhc_bus_power(0x40300000)
sdhc_bus_clock(400, 0)
sdhc_bus_width(1)
CID: 3439495C19FFFFFFFFFF363100000600
resetting due to error interrupt
timeout dump: error_intr: 0x0 intr: 0x2
mlc: MMC_SEND_CSD failed with 116
sdhc_bus_power(0x0)
Mounting SLC...
Showing menu...

and here's the error:

Code:
Dumping SLC.RAW...
Initializing SLC...
SLC-RAW: Page 0x00000 / 0x40000 completed
SLC-RAW: Page 0x01000 / 0x40000 completed
SLC-RAW: Page 0x02000 / 0x40000 completed
SLC-RAW: Page 0x03000 / 0x40000 completed
SLC-RAW: Page 0x04000 / 0x40000 completed
[pico] Changed state: WIIU_STATE_MONITORING -> WIIU_CHECK_IF_POWERED_OFF
[pico] Changed state: WIIU_CHECK_IF_POWERED_OFF -> WIIU_STATE_POWERED_OFF

It seems to turn off quicker. Maybe it is overheating after all...
Post automatically merged:

Does it also turn off if you don't connect the pico to the PC?
It does turn off. The behavior seems to be the same.
 

SDIO

Well-Known Member
OP
Member
Joined
Feb 13, 2023
Messages
2,462
Trophies
0
Age
28
XP
1,719
Country
Germany
What does the led do, when it turns off?
Post automatically merged:

Did you do anything to the MLC? Because it says power up failed
Post automatically merged:

And please check if any of the signals for the eMMC is shorted to gnd or 3V3
 
Last edited by SDIO,

MoscoMon

Active Member
Newcomer
Joined
Jan 4, 2024
Messages
42
Trophies
0
Age
35
XP
47
Country
Brazil
I found my mistake. I thought if I just put the top shielding and fan loosely without screws it would work, but apparently I had to put some screws and tighten it a bit for the Wii u to be stable. I don't know exactly how it worked, but it worked, and I was able to dump the SLC. I'll dump the SLCCMPT now.
 

SDIO

Well-Known Member
OP
Member
Joined
Feb 13, 2023
Messages
2,462
Trophies
0
Age
28
XP
1,719
Country
Germany
Do you still get the MLC power up errors?

If the heatsink is in the wrong orientation, it sits on the coils of the vrms and doesn't actually contact the Heatspreader
 

MoscoMon

Active Member
Newcomer
Joined
Jan 4, 2024
Messages
42
Trophies
0
Age
35
XP
47
Country
Brazil
Do you still get the MLC power up errors?

If you mean the original error where it stays with a Black screen and a solid blue light? I haven't tested yet, but I'm sure it's still like that. But the de_fuse state is not suddenly shutting down anymore.
 

SDIO

Well-Known Member
OP
Member
Joined
Feb 13, 2023
Messages
2,462
Trophies
0
Age
28
XP
1,719
Country
Germany
I mean this:
Code:
Initializing MLC...
sdhc_bus_power(0x40000000)
mlc: powerup failed for card
sdhc_bus_power(0x40000000)
mlc: powerup failed for card
sdhc_bus_power(0x40000000)
mlc: powerup failed for card
sdhc_bus_power(0x40000000)
mlc: powerup failed for card
sdhc_bus_power(0x40000000)
mlc: powerup failed for card
sdhc_bus_power(0x40000000)
mlc: powerup failed for card
sdhc_bus_power(0x40000000)
mlc: powerup failed for card
sdhc_bus_power(0x40000000)
mlc: powerup failed for card
sdhc_bus_power(0x40000000)
mlc: powerup failed for card
sdhc_bus_power(0x40000000)
mlc: powerup failed for card
sdhc_bus_power(0x40000000)
mlc: powerup failed for card
sdhc_bus_power(0x40000000)
mlc: powerup failed for card
sdhc_bus_power(0x40000000)
mlc: powerup failed for card
sdhc_bus_power(0x40000000)
mlc: powerup failed for card
sdhc_bus_power(0x40000000)
mlc: powerup failed for card
sdhc_bus_power(0x40000000)
mlc: powerup failed for card
sdhc: SDHC 1.0, 48 MHz base clock
sdhc_bus_power(0x40300000)
sdhc_bus_clock(400, 0)
sdhc_bus_width(1)
CID: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00
resetting due to error interrupt
timeout dump: error_intr: 0x0 intr: 0x2
mlc: SD_SEND_RCA failed with 116
That is very concerning
 

MoscoMon

Active Member
Newcomer
Joined
Jan 4, 2024
Messages
42
Trophies
0
Age
35
XP
47
Country
Brazil
I mean this:
Code:
Initializing MLC...
sdhc_bus_power(0x40000000)
mlc: powerup failed for card
sdhc_bus_power(0x40000000)
mlc: powerup failed for card
sdhc_bus_power(0x40000000)
mlc: powerup failed for card
sdhc_bus_power(0x40000000)
mlc: powerup failed for card
sdhc_bus_power(0x40000000)
mlc: powerup failed for card
sdhc_bus_power(0x40000000)
mlc: powerup failed for card
sdhc_bus_power(0x40000000)
mlc: powerup failed for card
sdhc_bus_power(0x40000000)
mlc: powerup failed for card
sdhc_bus_power(0x40000000)
mlc: powerup failed for card
sdhc_bus_power(0x40000000)
mlc: powerup failed for card
sdhc_bus_power(0x40000000)
mlc: powerup failed for card
sdhc_bus_power(0x40000000)
mlc: powerup failed for card
sdhc_bus_power(0x40000000)
mlc: powerup failed for card
sdhc_bus_power(0x40000000)
mlc: powerup failed for card
sdhc_bus_power(0x40000000)
mlc: powerup failed for card
sdhc_bus_power(0x40000000)
mlc: powerup failed for card
sdhc: SDHC 1.0, 48 MHz base clock
sdhc_bus_power(0x40300000)
sdhc_bus_clock(400, 0)
sdhc_bus_width(1)
CID: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00
resetting due to error interrupt
timeout dump: error_intr: 0x0 intr: 0x2
mlc: SD_SEND_RCA failed with 116
That is very concerning
It seems so:

Code:
Starting... 3224:0
Results:
Winner! 0xf368
01
02
03
04
05
08
09
0a
0b
0c
0d
0e
13
14
15
18
1b
1c
1d
1e
1f
25
88
00
00
[pico] Changed state: WIIU_STATE_NEEDS_DEFUSE -> WIIU_STATE_DEFUSED
[pico] Changed state: WIIU_STATE_DEFUSED -> WIIU_STATE_MONITORING
U�U�U�U�U�U�U�U�be[Pico] Switching to data mode...

fe 02 02 03 01 00 00 43 46 25 10 00 28 4d 45 4d
32 4d 45 4d 30 50 52 53 48 84 80 00 00 5d 5d 00
01 5d 5d 00 02 5d 5e 00 04 5d 5e 00 08 ef a2 82
d9 01 00 02 00 00 00 00 10 01 00 02 10 5d 5d 00
04 f0 0f ca ff f0 0f ca fa 55 aa 55 aa 55 aa 55
aa f0 0f ca [Pico] Switching to text mode...
efcafeGPU TV addr: 17500001
GPU DRC addr: 00000000
minute loading
minute was loaded from boot1 context!
Initializing exceptions...
Configuring caches and MMU...
MEM: cleaning up
MEM: unprotecting memory
MEM: mapping sections
MEM: enabling caches
MEM: enabling MMU
MEM: configuring heap
MEM: init done
Interrupts initialized
prsh: Header at 10005a54, PRST at 10007ff0, 1 entries (32 capacity):
    0: boot_info 0x58 10008000
crypto support initialized
BSP version: 0x25100028
Board type: CF (0x4346)
Board revision: 0xb
DDR props: size=2GiB (0x0800) speed=0x0002 vendor=U! (0x5521)

Initializing SD card...
sdhc: SDHC 1.0, 48 MHz base clock
sdhc_bus_power(0x300000)
sdhc_bus_clock(25000, 0)
sdhc_bus_width(1)
resetting due to error interrupt
timeout dump: error_intr: 0x0 intr: 0x2
CID: 8300474B31DA1020202044534D531B00
CID: mid=1b name='SMSD   ' prv=16.13 psn=0a314b47 mdt=3/2008
CSD: 0040969FFFB76DCA83595F32002F0000
taac=47 nsac=0 read_bl_len=9 c_size=3881 c_size_mult=7 card size=1017643008 bytes
sdcard_select: resp=700
sdhc_bus_width(4)
sdcard: enabling highspeed 52MHz clock (32)
sdhc_bus_clock(52000, 1)
resetting due to error interrupt
timeout dump: error_intr: 0x0 intr: 0x2
sdcard: MMC_ALL_SEND_CID failed with 116
sdcard: could not enable highspeed clock for card, falling back to 48MHz highspeed?
sdhc_bus_clock(48000, 1)
resetting due to error interrupt
timeout dump: error_intr: 0x0 intr: 0x2
sdcard: MMC_ALL_SEND_CID failed with 116
sdcard: could not enable highspeed clock for card, falling back to 25MHz highspeed?
sdhc_bus_clock(25000, 1)
Mounting SD card...
crypto: ~0x07d bytes of OTP loaded; JTAG is disabled (000000e1)
f8 b1 8e c3 fe 26 b9 b1 1a d4 a4 ed d3 b7 a0 31
11 9a 79 f8 eb e4 2a 22 5e 85 93 e4 48 d9 c5 45
73 81 aa f7 24 8a ef ae 01 68 74 8b f1 0c 5f 79
e6 d4 c4 8e 48 7b 86 68 0b 64 1c bc 16 8e 7d e5
84 76 50 4a 21 9a 85 fd c5 c3 29 30 22 dc f0 38
be dd 72 88 e8 1c 82 ab 5d 89 17 5c 43 48 88 ab
d5 81 62 ec 79 18 13 95 15 56 e1 8e a4 1c 4e eb
87 3f 1c ee 56 a7 2a a7 ed d0 00 00 00
Console is de_Fused! Loading sdmc:/otp.bin...
minini: Failed to open `sdmc:/minute/minute.ini`!
Initializing MLC...
sdhc_bus_power(0x40000000)
mlc: powerup failed for card
sdhc_bus_power(0x40000000)
mlc: powerup failed for card
sdhc_bus_power(0x40000000)
mlc: powerup failed for card
sdhc_bus_power(0x40000000)
mlc: powerup failed for card
sdhc_bus_power(0x40000000)
mlc: powerup failed for card
sdhc_bus_power(0x40000000)
mlc: powerup failed for card
sdhc_bus_power(0x40000000)
mlc: powerup failed for card
sdhc_bus_power(0x40000000)
mlc: powerup failed for card
sdhc_bus_power(0x40000000)
mlc: powerup failed for card
sdhc_bus_power(0x40000000)
mlc: powerup failed for card
sdhc_bus_power(0x40000000)
mlc: powerup failed for card
sdhc_bus_power(0x40000000)
mlc: powerup failed for card
sdhc_bus_power(0x40000000)
mlc: powerup failed for card
sdhc_bus_power(0x40000000)
mlc: powerup failed for card
sdhc_bus_power(0x40000000)
mlc: powerup failed for card
sdhc_bus_power(0x40000000)
mlc: powerup failed for card
sdhc: SDHC 1.0, 48 MHz base clock
sdhc_bus_power(0x40300000)
sdhc_bus_clock(400, 0)
sdhc_bus_width(1)
CID: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00
resetting due to error interrupt
timeout dump: error_intr: 0x0 intr: 0x2
mlc: SD_SEND_RCA failed with 116
sdhc_bus_width(1)
sdhc_bus_clock(0, 0)
sdhc_bus_power(0x0)
sdhc_bus_power(0x40300000)
sdhc_bus_clock(400, 0)
sdhc_bus_width(1)
CID: 3439495C19FFFFFFFFFF363100000600
resetting due to error interrupt
timeout dump: error_intr: 0x0 intr: 0x2
mlc: MMC_SEND_CSD failed with 116
sdhc_bus_power(0x0)
Mounting SLC...
Showing menu...

What does this mean? is this wii u bricked beyond repair? I was able to dump the SLC:

Code:
Dumping SLC.RAW...
Initializing SLC...
SLC-RAW: Page 0x00000 / 0x40000 completed
SLC-RAW: Page 0x01000 / 0x40000 completed
SLC-RAW: Page 0x02000 / 0x40000 completed
SLC-RAW: Page 0x03000 / 0x40000 completed
SLC-RAW: Page 0x04000 / 0x40000 completed
SLC-RAW: Page 0x05000 / 0x40000 completed
SLC-RAW: Page 0x06000 / 0x40000 completed
SLC-RAW: Page 0x07000 / 0x40000 completed
SLC-RAW: Page 0x08000 / 0x40000 completed
SLC-RAW: Page 0x09000 / 0x40000 completed
SLC-RAW: Page 0x0A000 / 0x40000 completed
SLC-RAW: Page 0x0B000 / 0x40000 completed
SLC-RAW: Page 0x0C000 / 0x40000 completed
SLC-RAW: Page 0x0D000 / 0x40000 completed
SLC-RAW: Page 0x0E000 / 0x40000 completed
SLC-RAW: Page 0x0F000 / 0x40000 completed
SLC-RAW: Page 0x10000 / 0x40000 completed
SLC-RAW: Page 0x11000 / 0x40000 completed
SLC-RAW: Page 0x12000 / 0x40000 completed
SLC-RAW: Page 0x13000 / 0x40000 completed
SLC-RAW: Page 0x14000 / 0x40000 completed
SLC-RAW: Page 0x15000 / 0x40000 completed
ECC stats for NAND page 0x15958: 0 uncorrectable, 1 corrected
SLC-RAW: Page 0x16000 / 0x40000 completed
SLC-RAW: Page 0x17000 / 0x40000 completed
ECC stats for NAND page 0x1780B: 0 uncorrectable, 1 corrected
SLC-RAW: Page 0x18000 / 0x40000 completed
SLC-RAW: Page 0x19000 / 0x40000 completed
SLC-RAW: Page 0x1A000 / 0x40000 completed
SLC-RAW: Page 0x1B000 / 0x40000 completed
SLC-RAW: Page 0x1C000 / 0x40000 completed
SLC-RAW: Page 0x1D000 / 0x40000 completed
SLC-RAW: Page 0x1E000 / 0x40000 completed
SLC-RAW: Page 0x1F000 / 0x40000 completed
SLC-RAW: Page 0x20000 / 0x40000 completed
SLC-RAW: Page 0x21000 / 0x40000 completed
SLC-RAW: Page 0x22000 / 0x40000 completed
SLC-RAW: Page 0x23000 / 0x40000 completed
SLC-RAW: Page 0x24000 / 0x40000 completed
SLC-RAW: Page 0x25000 / 0x40000 completed
SLC-RAW: Page 0x26000 / 0x40000 completed
SLC-RAW: Page 0x27000 / 0x40000 completed
SLC-RAW: Page 0x28000 / 0x40000 completed
SLC-RAW: Page 0x29000 / 0x40000 completed
SLC-RAW: Page 0x2A000 / 0x40000 completed
SLC-RAW: Page 0x2B000 / 0x40000 completed
SLC-RAW: Page 0x2C000 / 0x40000 completed
SLC-RAW: Page 0x2D000 / 0x40000 completed
ECC stats for NAND page 0x2D44E: 0 uncorrectable, 1 corrected
SLC-RAW: Page 0x2E000 / 0x40000 completed
SLC-RAW: Page 0x2F000 / 0x40000 completed
SLC-RAW: Page 0x30000 / 0x40000 completed
SLC-RAW: Page 0x31000 / 0x40000 completed
SLC-RAW: Page 0x32000 / 0x40000 completed
SLC-RAW: Page 0x33000 / 0x40000 completed
ECC stats for NAND page 0x33C0C: 0 uncorrectable, 1 corrected
SLC-RAW: Page 0x34000 / 0x40000 completed
SLC-RAW: Page 0x35000 / 0x40000 completed
SLC-RAW: Page 0x36000 / 0x40000 completed
SLC-RAW: Page 0x37000 / 0x40000 completed
SLC-RAW: Page 0x38000 / 0x40000 completed
SLC-RAW: Page 0x39000 / 0x40000 completed
SLC-RAW: Page 0x3A000 / 0x40000 completed
SLC-RAW: Page 0x3B000 / 0x40000 completed
SLC-RAW: Page 0x3C000 / 0x40000 completed
SLC-RAW: Page 0x3D000 / 0x40000 completed
SLC-RAW: Page 0x3E000 / 0x40000 completed
SLC-RAW: Page 0x3F000 / 0x40000 completed
ECC stats for NAND page 0x3FB7C: 0 uncorrectable, 1 corrected
Press POWER/Q to exit.
 

SDIO

Well-Known Member
OP
Member
Joined
Feb 13, 2023
Messages
2,462
Trophies
0
Age
28
XP
1,719
Country
Germany
We should figure out what the power up problem there is before anything else. Maybe a line is shorted, and that could damage the driver inside the SoC.

Can you check the eMMC signals for shorts?
After that maybe cut the clk line and remove the resistors to see if that goes away.
 

MoscoMon

Active Member
Newcomer
Joined
Jan 4, 2024
Messages
42
Trophies
0
Age
35
XP
47
Country
Brazil
We should figure out what the power up problem there is before anything else. Maybe a line is shorted, and that could damage the driver inside the SoC.

Can you check the eMMC signals for shorts?
After that maybe cut the clk line and remove the resistors to see if that goes away.
I checked continuity between the resistors r27 to r31, from the side of the hynix eMMC, and there isn't any short there. I also measured they resistance, and all of them have 50 Ohms. Is it ok? Is there any other place I should check? I will cut the clock trace now and see what happens.
Post automatically merged:

After cutting the clock line, the system doesn't go into de_fuse. The terminal spams "error 3201:1" followed by hex numbers, and then again "error 3200:1" and so on. I'll check is any solder point from the pico was torn apart during my handling.
Post automatically merged:

One wire from the pico got free. I soldered it again and things are back to normal. I'm going to desolder the clock signal again (I placed a jumper wire while troubleshooting) and see if the errors disappear.
 
Last edited by MoscoMon,

SDIO

Well-Known Member
OP
Member
Joined
Feb 13, 2023
Messages
2,462
Trophies
0
Age
28
XP
1,719
Country
Germany
Use something like Kapton tape to hold de wires down and relief stress from the pads and the joints.
 

MoscoMon

Active Member
Newcomer
Joined
Jan 4, 2024
Messages
42
Trophies
0
Age
35
XP
47
Country
Brazil
Output of the terminal with the clock cut:
Code:
[pico] Changed state: WIIU_STATE_POWERED_OFF -> WIIU_STATE_NEEDS_DEFUSE
Starting... 3224:0
Results:
Winner! 0xf368
01
02
03
04
05
08
09
0a
0b
0c
0d
0e
13
14
15
18
1b
1c
1d
1e
1f
25
88
00
00
[pico] Changed state: WIIU_STATE_NEEDS_DEFUSE -> WIIU_STATE_DEFUSED
[pico] Changed state: WIIU_STATE_DEFUSED -> WIIU_STATE_MONITORING
U�U�U�U�U�U�U�U�[Pico] Switching to data mode...

fe 00 02 07 01 00 00 43 46 25 10 00 28 4d 45 4d
32 4d 45 4d 30 50 52 53 48 84 00 00 00 5d 5d 00
01 5d 5d 00 02 5d 5e 00 04 5d 5e 00 08 ef a2 82                                                                                               d9 01 00 02 00 00 00 00 10 01 00 02 10 5d 5d 00 .8 | VT102 | Offline | ttyACM0                                                                04 f0 0f ca ff f0 0f ca fa 55 aa 55 aa 55 aa 55
aa f0 0f ca [Pico] Switching to text mode...
beefcafeGPU TV addr: 17500001
GPU DRC addr: 00000000
minute loading
minute was loaded from boot1 context!
Initializing exceptions...
Configuring caches and MMU...
MEM: cleaning up
MEM: unprotecting memory
MEM: mapping sections
MEM: enabling caches
MEM: enabling MMU
MEM: configuring heap
MEM: init done
Interrupts initialized
prsh: Header at 10005a54, PRST at 10007ff0, 1 entries (32 capacity):
    0: boot_info 0x58 10008000
crypto support initialized
BSP version: 0x25100028
Board type: CF (0x4346)
Board revision: 0xb
DDR props: size=2GiB (0x0800) speed=0x0002 vendor=U! (0x5521)

Initializing SD card...
sdhc: SDHC 1.0, 48 MHz base clock
sdhc_bus_power(0x300000)
sdhc_bus_clock(25000, 0)
sdhc_bus_width(1)
resetting due to error interrupt
timeout dump: error_intr: 0x0 intr: 0x2
CID: 8300474B31DA1020202044534D531B00
CID: mid=1b name='SMSD   ' prv=16.13 psn=0a314b47 mdt=3/2008
CSD: 0040969FFFB76DCA83595F32002F0000
taac=47 nsac=0 read_bl_len=9 c_size=3881 c_size_mult=7 card size=1017643008 bytes
sdcard_select: resp=700
sdhc_bus_width(4)
sdcard: enabling highspeed 52MHz clock (32)
sdhc_bus_clock(52000, 1)
resetting due to error interrupt
timeout dump: error_intr: 0x0 intr: 0x2
sdcard: MMC_ALL_SEND_CID failed with 116
sdcard: could not enable highspeed clock for card, falling back to 48MHz highspeed?
sdhc_bus_clock(48000, 1)
resetting due to error interrupt
timeout dump: error_intr: 0x0 intr: 0x2
sdcard: MMC_ALL_SEND_CID failed with 116
sdcard: could not enable highspeed clock for card, falling back to 25MHz highspeed?
sdhc_bus_clock(25000, 1)
Mounting SD card...
crypto: ~0x07d bytes of OTP loaded; JTAG is disabled (000000e1)
f8 b1 8e c3 fe 26 b9 b1 1a d4 a4 ed d3 b7 a0 31
11 9a 79 f8 eb e4 2a 22 5e 85 93 e4 48 d9 c5 45
73 81 aa f7 24 8a ef ae 01 68 74 8b f1 0c 5f 79
e6 d4 c4 8e 48 7b 86 68 0b 64 1c bc 16 8e 7d e5
84 76 50 4a 21 9a 85 fd c5 c3 29 30 22 dc f0 38
be dd 72 88 e8 1c 82 ab 5d 89 17 5c 43 48 88 ab
d5 81 62 ec 79 18 13 95 15 56 e1 8e a4 1c 4e eb
87 3f 1c ee 56 a7 2a a7 ed d0 00 00 00
Console is de_Fused! Loading sdmc:/otp.bin...
minini: Failed to open `sdmc:/minute/minute.ini`!
Initializing MLC...
sdhc_bus_power(0x40000000)
mlc: powerup failed for card
sdhc_bus_power(0x40000000)
mlc: powerup failed for card
sdhc_bus_power(0x40000000)
mlc: powerup failed for card
sdhc_bus_power(0x40000000)
mlc: powerup failed for card
sdhc_bus_power(0x40000000)
mlc: powerup failed for card
sdhc_bus_power(0x40000000)
mlc: powerup failed for card
sdhc_bus_power(0x40000000)
mlc: powerup failed for card
sdhc_bus_power(0x40000000)
mlc: powerup failed for card
sdhc_bus_power(0x40000000)
mlc: powerup failed for card
sdhc_bus_power(0x40000000)
mlc: powerup failed for card
sdhc_bus_power(0x40000000)
mlc: powerup failed for card
sdhc_bus_power(0x40000000)
mlc: powerup failed for card
sdhc_bus_power(0x40000000)
mlc: powerup failed for card
sdhc_bus_power(0x40000000)
mlc: powerup failed for card
sdhc_bus_power(0x40000000)
mlc: powerup failed for card
sdhc_bus_power(0x40000000)
mlc: powerup failed for card
sdhc: SDHC 1.0, 48 MHz base clock
sdhc_bus_power(0x40300000)
sdhc_bus_clock(400, 0)
sdhc_bus_width(1)
resetting due to error interrupt
timeout dump: error_intr: 0x0 intr: 0x2
mlc: MMC_SEND_OP_COND failed with 116
sdhc_bus_width(1)
sdhc_bus_clock(0, 0)
sdhc_bus_power(0x0)
sdhc_bus_power(0x40300000)
sdhc_bus_clock(400, 0)
sdhc_bus_width(1)
resetting due to error interrupt
timeout dump: error_intr: 0x0 intr: 0x2
mlc: MMC_SEND_OP_COND failed with 116
sdhc_bus_width(1)
sdhc_bus_clock(0, 0)
sdhc_bus_power(0x0)
sdhc_bus_power(0x40300000)
sdhc_bus_clock(400, 0)
sdhc_bus_width(1)
resetting due to error interrupt
timeout dump: error_intr: 0x0 intr: 0x2
mlc: MMC_SEND_OP_COND failed with 116
sdhc_bus_width(1)
sdhc_bus_clock(0, 0)
sdhc_bus_power(0x0)
sdhc_bus_power(0x40300000)
sdhc_bus_clock(400, 0)
sdhc_bus_width(1)
resetting due to error interrupt
timeout dump: error_intr: 0x0 intr: 0x2
mlc: MMC_SEND_OP_COND failed with 116
sdhc_bus_width(1)
sdhc_bus_clock(0, 0)
sdhc_bus_power(0x0)
sdhc_bus_power(0x40300000)
sdhc_bus_clock(400, 0)
sdhc_bus_width(1)
resetting due to error interrupt
timeout dump: error_intr: 0x0 intr: 0x2
mlc: MMC_SEND_OP_COND failed with 116
sdhc_bus_width(1)
sdhc_bus_clock(0, 0)
sdhc_bus_power(0x0)
sdhc_bus_power(0x40300000)
sdhc_bus_clock(400, 0)
sdhc_bus_width(1)
resetting due to error interrupt
timeout dump: error_intr: 0x0 intr: 0x2
mlc: MMC_SEND_OP_COND failed with 116
sdhc_bus_width(1)
sdhc_bus_clock(0, 0)
sdhc_bus_power(0x0)
sdhc_bus_power(0x40300000)
sdhc_bus_clock(400, 0)
sdhc_bus_width(1)
resetting due to error interrupt
timeout dump: error_intr: 0x0 intr: 0x2
mlc: MMC_SEND_OP_COND failed with 116
sdhc_bus_width(1)
sdhc_bus_clock(0, 0)
sdhc_bus_power(0x0)
sdhc_bus_power(0x40300000)
sdhc_bus_clock(400, 0)
sdhc_bus_width(1)
resetting due to error interrupt
timeout dump: error_intr: 0x0 intr: 0x2
mlc: MMC_SEND_OP_COND failed with 116
sdhc_bus_width(1)
sdhc_bus_clock(0, 0)
sdhc_bus_power(0x0)
sdhc_bus_power(0x40300000)
sdhc_bus_clock(400, 0)
sdhc_bus_width(1)
resetting due to error interrupt
timeout dump: error_intr: 0x0 intr: 0x2
mlc: MMC_SEND_OP_COND failed with 116
sdhc_bus_width(1)
sdhc_bus_clock(0, 0)
sdhc_bus_power(0x0)
sdhc_bus_power(0x40300000)
sdhc_bus_clock(400, 0)
sdhc_bus_width(1)
resetting due to error interrupt
timeout dump: error_intr: 0x0 intr: 0x2
mlc: MMC_SEND_OP_COND failed with 116
sdhc_bus_width(1)
sdhc_bus_clock(0, 0)
sdhc_bus_power(0x0)
sdhc_bus_power(0x40300000)
sdhc_bus_clock(400, 0)
sdhc_bus_width(1)
resetting due to error interrupt
timeout dump: error_intr: 0x0 intr: 0x2
mlc: MMC_SEND_OP_COND failed with 116
sdhc_bus_width(1)
sdhc_bus_clock(0, 0)
sdhc_bus_power(0x0)
sdhc_bus_power(0x40300000)
sdhc_bus_clock(400, 0)
sdhc_bus_width(1)
resetting due to error interrupt
timeout dump: error_intr: 0x0 intr: 0x2
mlc: MMC_SEND_OP_COND failed with 116
sdhc_bus_width(1)
sdhc_bus_clock(0, 0)
sdhc_bus_power(0x0)
sdhc_bus_power(0x40300000)
sdhc_bus_clock(400, 0)
sdhc_bus_width(1)
resetting due to error interrupt
timeout dump: error_intr: 0x0 intr: 0x2
mlc: MMC_SEND_OP_COND failed with 116
sdhc_bus_width(1)
sdhc_bus_clock(0, 0)
sdhc_bus_power(0x0)
sdhc_bus_power(0x40300000)
sdhc_bus_clock(400, 0)
sdhc_bus_width(1)
resetting due to error interrupt
timeout dump: error_intr: 0x0 intr: 0x2
mlc: MMC_SEND_OP_COND failed with 116
sdhc_bus_width(1)
sdhc_bus_clock(0, 0)
sdhc_bus_power(0x0)
sdhc_bus_power(0x40300000)
sdhc_bus_clock(400, 0)
sdhc_bus_width(1)
resetting due to error interrupt
timeout dump: error_intr: 0x0 intr: 0x2
mlc: MMC_SEND_OP_COND failed with 116
sdhc_bus_width(1)
sdhc_bus_clock(0, 0)
sdhc_bus_power(0x0)
sdhc_bus_power(0x40300000)
sdhc_bus_clock(400, 0)
sdhc_bus_width(1)
resetting due to error interrupt
timeout dump: error_intr: 0x0 intr: 0x2
mlc: MMC_SEND_OP_COND failed with 116
sdhc_bus_width(1)
sdhc_bus_clock(0, 0)
sdhc_bus_power(0x0)
Error while initializing MLC.
Mounting SLC...
Showing menu...

Do you think I should remove the resistors? I don't think I'll be able to put them back on the board after that, so the eMMC will be unusable after that.
 

SDIO

Well-Known Member
OP
Member
Joined
Feb 13, 2023
Messages
2,462
Trophies
0
Age
28
XP
1,719
Country
Germany
Check if any of the lines is shorted to 3V3 or GND. But the eMMC wasn't detected anyway, so you won't lose much, if you can't reconnect it. If you really wanted to reconnect it, you could even bridge the pads of the resistors, they don't need to be there.
More important than the eMMC is the Host Controller inside the SoC, we don't want that to fail. (but if removing the resistors doesn't help, then the host controller probably failed)

In that case the only solution for you would be to use the SATA Adapter and replace the Disc drive with a SATA SSD. I think @Lazr1026 has some SATA adapters (or will have them soon)
 

MoscoMon

Active Member
Newcomer
Joined
Jan 4, 2024
Messages
42
Trophies
0
Age
35
XP
47
Country
Brazil
Check if any of the lines is shorted to 3V3 or GND. But the eMMC wasn't detected anyway, so you won't lose much, if you can't reconnect it. If you really wanted to reconnect it, you could even bridge the pads of the resistors, they don't need to be there.
More important than the eMMC is the Host Controller inside the SoC, we don't want that to fail. (but if removing the resistors doesn't help, then the host controller probably failed)

In that case the only solution for you would be to use the SATA Adapter and replace the Disc drive with a SATA SSD. I think @Lazr1026 has some SATA adapters (or will have them soon)
Resistors removed. Here's the result:
Code:
[pico] Changed state: WIIU_STATE_POWERED_OFF -> WIIU_STATE_NEEDS_DEFUSE
Starting... 3224:0
Results:
Winner! 0xf368
01
02
03
04
05
08
09
0a
0b
0c
0d
0e
13
14
15
18
1b
1c
1d
1e
1f
25
88
00
00
[pico] Changed state: WIIU_STATE_NEEDS_DEFUSE -> WIIU_STATE_DEFUSED
[pico] Changed state: WIIU_STATE_DEFUSED -> WIIU_STATE_MONITORING
U�U�U�U�U�U�U�U�[Pico] Switching to data mode...

fe 00 02 07 01 00 00 43 46 25 10 00 28 4d 45 4d
32 4d 45 4d 30 50 52 53 48 84 00 00 00 5d 5d 00
01 5d 5d 00 02 5d 5e 00 04 5d 5e 00 08 ef a2 82                                                                                               d9 01 00 02 00 00 00 00 10 01 00 02 10 5d 5d 00 .8 | VT102 | Offline | ttyACM0                                                                04 f0 0f ca ff f0 0f ca fa 55 aa 55 aa 55 aa 55
aa f0 0f ca [Pico] Switching to text mode...
beefcafeGPU TV addr: 17500001
GPU DRC addr: 00000000
minute loading
minute was loaded from boot1 context!
Initializing exceptions...
Configuring caches and MMU...
MEM: cleaning up
MEM: unprotecting memory
MEM: mapping sections
MEM: enabling caches
MEM: enabling MMU
MEM: configuring heap
MEM: init done
Interrupts initialized
prsh: Header at 10005a54, PRST at 10007ff0, 1 entries (32 capacity):
    0: boot_info 0x58 10008000
crypto support initialized
BSP version: 0x25100028
Board type: CF (0x4346)
Board revision: 0xb
DDR props: size=2GiB (0x0800) speed=0x0002 vendor=U! (0x5521)

Initializing SD card...
sdhc: SDHC 1.0, 48 MHz base clock
sdhc_bus_power(0x300000)
sdhc_bus_clock(25000, 0)
sdhc_bus_width(1)
resetting due to error interrupt
timeout dump: error_intr: 0x0 intr: 0x2
CID: 8300474B31DA1020202044534D531B00
CID: mid=1b name='SMSD   ' prv=16.13 psn=0a314b47 mdt=3/2008
CSD: 0040969FFFB76DCA83595F32002F0000
taac=47 nsac=0 read_bl_len=9 c_size=3881 c_size_mult=7 card size=1017643008 bytes
sdcard_select: resp=700
sdhc_bus_width(4)
sdcard: enabling highspeed 52MHz clock (32)
sdhc_bus_clock(52000, 1)
resetting due to error interrupt
timeout dump: error_intr: 0x0 intr: 0x2
sdcard: MMC_ALL_SEND_CID failed with 116
sdcard: could not enable highspeed clock for card, falling back to 48MHz highspeed?
sdhc_bus_clock(48000, 1)
resetting due to error interrupt
timeout dump: error_intr: 0x0 intr: 0x2
sdcard: MMC_ALL_SEND_CID failed with 116
sdcard: could not enable highspeed clock for card, falling back to 25MHz highspeed?
sdhc_bus_clock(25000, 1)
Mounting SD card...
crypto: ~0x07d bytes of OTP loaded; JTAG is disabled (000000e1)
f8 b1 8e c3 fe 26 b9 b1 1a d4 a4 ed d3 b7 a0 31
11 9a 79 f8 eb e4 2a 22 5e 85 93 e4 48 d9 c5 45
73 81 aa f7 24 8a ef ae 01 68 74 8b f1 0c 5f 79
e6 d4 c4 8e 48 7b 86 68 0b 64 1c bc 16 8e 7d e5
84 76 50 4a 21 9a 85 fd c5 c3 29 30 22 dc f0 38
be dd 72 88 e8 1c 82 ab 5d 89 17 5c 43 48 88 ab
d5 81 62 ec 79 18 13 95 15 56 e1 8e a4 1c 4e eb
87 3f 1c ee 56 a7 2a a7 ed d0 00 00 00
Console is de_Fused! Loading sdmc:/otp.bin...
minini: Failed to open `sdmc:/minute/minute.ini`!
Initializing MLC...
sdhc_bus_power(0x40000000)
mlc: powerup failed for card
sdhc_bus_power(0x40000000)
mlc: powerup failed for card
sdhc_bus_power(0x40000000)
mlc: powerup failed for card
sdhc_bus_power(0x40000000)
mlc: powerup failed for card
sdhc_bus_power(0x40000000)
mlc: powerup failed for card
sdhc_bus_power(0x40000000)
mlc: powerup failed for card
sdhc_bus_power(0x40000000)
mlc: powerup failed for card
sdhc_bus_power(0x40000000)
mlc: powerup failed for card
sdhc_bus_power(0x40000000)
mlc: powerup failed for card
sdhc_bus_power(0x40000000)
mlc: powerup failed for card
sdhc_bus_power(0x40000000)
mlc: powerup failed for card
sdhc_bus_power(0x40000000)
mlc: powerup failed for card
sdhc_bus_power(0x40000000)
mlc: powerup failed for card
sdhc_bus_power(0x40000000)
mlc: powerup failed for card
sdhc_bus_power(0x40000000)
mlc: powerup failed for card
sdhc_bus_power(0x40000000)
mlc: powerup failed for card
sdhc: SDHC 1.0, 48 MHz base clock
sdhc_bus_power(0x40300000)
sdhc_bus_clock(400, 0)
sdhc_bus_width(1)
resetting due to error interrupt
timeout dump: error_intr: 0x0 intr: 0x2
mlc: MMC_SEND_OP_COND failed with 116
sdhc_bus_width(1)
sdhc_bus_clock(0, 0)
sdhc_bus_power(0x0)
sdhc_bus_power(0x40300000)
sdhc_bus_clock(400, 0)
sdhc_bus_width(1)
resetting due to error interrupt
timeout dump: error_intr: 0x0 intr: 0x2
mlc: MMC_SEND_OP_COND failed with 116
sdhc_bus_width(1)
sdhc_bus_clock(0, 0)
sdhc_bus_power(0x0)
sdhc_bus_power(0x40300000)
sdhc_bus_clock(400, 0)
sdhc_bus_width(1)
resetting due to error interrupt
timeout dump: error_intr: 0x0 intr: 0x2
mlc: MMC_SEND_OP_COND failed with 116
sdhc_bus_width(1)
sdhc_bus_clock(0, 0)
sdhc_bus_power(0x0)
sdhc_bus_power(0x40300000)
sdhc_bus_clock(400, 0)
sdhc_bus_width(1)
resetting due to error interrupt
timeout dump: error_intr: 0x0 intr: 0x2
mlc: MMC_SEND_OP_COND failed with 116
sdhc_bus_width(1)
sdhc_bus_clock(0, 0)
sdhc_bus_power(0x0)
sdhc_bus_power(0x40300000)
sdhc_bus_clock(400, 0)
sdhc_bus_width(1)
resetting due to error interrupt
timeout dump: error_intr: 0x0 intr: 0x2
mlc: MMC_SEND_OP_COND failed with 116
sdhc_bus_width(1)
sdhc_bus_clock(0, 0)
sdhc_bus_power(0x0)
sdhc_bus_power(0x40300000)
sdhc_bus_clock(400, 0)
sdhc_bus_width(1)
resetting due to error interrupt
timeout dump: error_intr: 0x0 intr: 0x2
mlc: MMC_SEND_OP_COND failed with 116
sdhc_bus_width(1)
sdhc_bus_clock(0, 0)
sdhc_bus_power(0x0)
sdhc_bus_power(0x40300000)
sdhc_bus_clock(400, 0)
sdhc_bus_width(1)
resetting due to error interrupt
timeout dump: error_intr: 0x0 intr: 0x2
mlc: MMC_SEND_OP_COND failed with 116
sdhc_bus_width(1)
sdhc_bus_clock(0, 0)
sdhc_bus_power(0x0)
sdhc_bus_power(0x40300000)
sdhc_bus_clock(400, 0)
sdhc_bus_width(1)
resetting due to error interrupt
timeout dump: error_intr: 0x0 intr: 0x2
mlc: MMC_SEND_OP_COND failed with 116
sdhc_bus_width(1)
sdhc_bus_clock(0, 0)
sdhc_bus_power(0x0)
sdhc_bus_power(0x40300000)
sdhc_bus_clock(400, 0)
sdhc_bus_width(1)
resetting due to error interrupt
timeout dump: error_intr: 0x0 intr: 0x2
mlc: MMC_SEND_OP_COND failed with 116
sdhc_bus_width(1)
sdhc_bus_clock(0, 0)
sdhc_bus_power(0x0)
sdhc_bus_power(0x40300000)
sdhc_bus_clock(400, 0)
sdhc_bus_width(1)
resetting due to error interrupt
timeout dump: error_intr: 0x0 intr: 0x2
mlc: MMC_SEND_OP_COND failed with 116
sdhc_bus_width(1)
sdhc_bus_clock(0, 0)
sdhc_bus_power(0x0)
sdhc_bus_power(0x40300000)
sdhc_bus_clock(400, 0)
sdhc_bus_width(1)
resetting due to error interrupt
timeout dump: error_intr: 0x0 intr: 0x2
mlc: MMC_SEND_OP_COND failed with 116
sdhc_bus_width(1)
sdhc_bus_clock(0, 0)
sdhc_bus_power(0x0)
sdhc_bus_power(0x40300000)
sdhc_bus_clock(400, 0)
sdhc_bus_width(1)
resetting due to error interrupt
timeout dump: error_intr: 0x0 intr: 0x2
mlc: MMC_SEND_OP_COND failed with 116
sdhc_bus_width(1)
sdhc_bus_clock(0, 0)
sdhc_bus_power(0x0)
sdhc_bus_power(0x40300000)
sdhc_bus_clock(400, 0)
sdhc_bus_width(1)
resetting due to error interrupt
timeout dump: error_intr: 0x0 intr: 0x2
mlc: MMC_SEND_OP_COND failed with 116
sdhc_bus_width(1)
sdhc_bus_clock(0, 0)
sdhc_bus_power(0x0)
sdhc_bus_power(0x40300000)
sdhc_bus_clock(400, 0)
sdhc_bus_width(1)
resetting due to error interrupt
timeout dump: error_intr: 0x0 intr: 0x2
mlc: MMC_SEND_OP_COND failed with 116
sdhc_bus_width(1)
sdhc_bus_clock(0, 0)
sdhc_bus_power(0x0)
sdhc_bus_power(0x40300000)
sdhc_bus_clock(400, 0)
sdhc_bus_width(1)
resetting due to error interrupt
timeout dump: error_intr: 0x0 intr: 0x2
mlc: MMC_SEND_OP_COND failed with 116
sdhc_bus_width(1)
sdhc_bus_clock(0, 0)
sdhc_bus_power(0x0)
sdhc_bus_power(0x40300000)
sdhc_bus_clock(400, 0)
sdhc_bus_width(1)
resetting due to error interrupt
timeout dump: error_intr: 0x0 intr: 0x2
mlc: MMC_SEND_OP_COND failed with 116
sdhc_bus_width(1)
sdhc_bus_clock(0, 0)
sdhc_bus_power(0x0)
Error while initializing MLC.
Mounting SLC...
Showing menu...
Post automatically merged:

What are the chances that this is just normal behavior, and if I put an NAND-AID it will work normal? Also, do you think removing the eMMC from the board might help if it s defective?
Post automatically merged:

I did check for shorts with 3v3 line and the data lines of the eMMC, but didn't find any. I suppose the eMMC was just dead already?
 
Last edited by MoscoMon,

SDIO

Well-Known Member
OP
Member
Joined
Feb 13, 2023
Messages
2,462
Trophies
0
Age
28
XP
1,719
Country
Germany
Sadly this is not normal behaviour, we even tested it (@Lazr1026 did). The bus power up should still happen normally, it would error out later, where it asks the card to start up. But I just see that for your the parameter (ocr) of the powerup is different.
You have 0x40000000, but it should be 0x300000. It gets read from the chipset and that is returning some nonsense for a reason.
Here I try to force it ti the expected value, see if that changes something.
Post automatically merged:

And can you check if the eMMC gets power? (check the point where the NAND-AID get's the 3V3 from if that i actually 3V3
 

Attachments

  • minute_force_ocr.zip
    192.9 KB · Views: 13
Last edited by SDIO,

MoscoMon

Active Member
Newcomer
Joined
Jan 4, 2024
Messages
42
Trophies
0
Age
35
XP
47
Country
Brazil
The output was different this time:
Code:
hello there
Start state machine.
[pico] Changed state: WIIU_STATE_POWERED_OFF -> WIIU_STATE_NEEDS_DEFUSE
Starting... 3224:0
Results:
Winner! 0xf368
01
02
03
04
05
08
09
0a
0b
0c
0d
0e
13
14
15
18
1b
1c
1d
1e
1f
25
88
00
00
[pico] Changed state: WIIU_STATE_NEEDS_DEFUSE -> WIIU_STATE_DEFUSED
[pico] Changed state: WIIU_STATE_DEFUSED -> WIIU_STATE_MONITORING
U�U�U�U�U�U�U�U�[Pico] Switching to data mode...

fe 00 02 07 01 00 00 43 46 25 10 00 28 4d 45 4d
32 4d 45 4d 30 50 52 53 48 84 00 00 00 5d 5d 00
01 5d 5d 00 02 5d 5e 00 04 5d 5e 00 08 ef a2 82
d9 01 00 02 00 00 00 00 10 01 00 02 10 5d 5d 00
04 f0 0f ca ff f0 0f ca fa 55 aa 55 aa 55 aa 55
aa f0 0f ca [Pico] Switching to text mode...
beefcafeprsh: Header at 10005a54, PRST at 10007ff0, 1 entries (32 capacity):
    0: boot_info 0x58 10008000
bootinfo:
 is_coldboot: 00000001
 boot_flags: a6000080
 boot_state: 00000000
 boot_count: 00000001
 field_10: 00000000
 field_14: 00000000
 field_18: ffffffff
 field_1C: ffffffff
 field_20: ffffffff
 field_24: ffffffff
 os_id: ffffffff
 field_2C: ffffffff
 os_size: 00000000
 os_address: 00000000
 boot1_main: 00369f6b
 boot1_read: 00297268
 boot1_verify: 0005fcfe
 boot1_decrypt: 00053ce8
 boot0_main: 00012030
 boot0_read: 000029d2
 boot0_verify: 0000d281
 boot0_decrypt: 0000027a
GPU TV addr: 17500001
GPU DRC addr: 00000000
minute loading
minute was loaded from boot1 context!
Initializing exceptions...
Configuring caches and MMU...
MEM: cleaning up
MEM: unprotecting memory
MEM: mapping sections
MEM: enabling caches
MEM: enabling MMU
MEM: configuring heap
MEM: init done
Interrupts initialized
crypto support initialized
BSP version: 0x25100028
Board type: CF (0x4346)
Board revision: 0xb
DDR props: size=2GiB (0x0800) speed=0x0002 vendor=U! (0x5521)

Initializing SD card...
sdhc: SDHC 1.0, 48 MHz base clock
sdhc_bus_power(0x300000)
sdhc_bus_clock(25000, 0)
sdhc_bus_width(1)
resetting due to error interrupt
sdhc: ERROR interrupt, status=0x8000
CID: 8300474B31DA1020202044534D531B00
CID: mid=1b name='SMSD   ' prv=16.13 psn=0a314b47 mdt=3/2008
CSD: 0040969FFFB76DCA83595F32002F0000
taac=47 nsac=0 read_bl_len=9 c_size=3881 c_size_mult=7 card size=1017643008 bytes
sdcard_select: resp=700
sdhc_bus_width(4)
CCC (hex): 5F5
Mode Status:
 00 64 80 01 80 01 80 01
 80 01 80 01 80 03 00 00
 01 00 00 00 00 00 00 00
 00 00 00 00 00 00 00 00
 00 00 00 00 00 00 00 00
 00 00 00 00 00 00 00 00
 00 00 00 00 00 00 00 00
 00 00 00 00 00 00 00 00
Group 1 Support: 80 03
Group 1 Selection: 01
sdcard: enabling highspeed 52MHz clock (32)
sdhc_bus_clock(52000, 1)
resetting due to error interrupt
sdhc: ERROR interrupt, status=0x8000
sdcard_init finished
Mounting SD card...
crypto: ~0x07d bytes of OTP loaded; JTAG is disabled (000000e1)
f8 b1 8e c3 fe 26 b9 b1 1a d4 a4 ed d3 b7 a0 31
11 9a 79 f8 eb e4 2a 22 5e 85 93 e4 48 d9 c5 45
73 81 aa f7 24 8a ef ae 01 68 74 8b f1 0c 5f 79
e6 d4 c4 8e 48 7b 86 68 0b 64 1c bc 16 8e 7d e5
84 76 50 4a 21 9a 85 fd c5 c3 29 30 22 dc f0 38
be dd 72 88 e8 1c 82 ab 5d 89 17 5c 43 48 88 ab
d5 81 62 ec 79 18 13 95 15 56 e1 8e a4 1c 4e eb
87 3f 1c ee 56 a7 2a a7 ed d0 00 00 00
Console is de_Fused! Loading sdmc:/otp.bin...
minini: Failed to open `sdmc:/minute/minute.ini`!
Initializing MLC...
sdhc: SDHC 1.0, 48 MHz base clock
sdhc_bus_power(0x300000)
sdhc_bus_clock(400, 0)
sdhc_bus_clock(400, 0)
sdhc_bus_width(1)
resetting due to error interrupt
sdhc: ERROR interrupt, status=0x8000
resetting due to error interrupt
sdhc: ERROR interrupt, status=0x8000
mlc: is not an sd, so it is eMMC
resetting due to error interrupt
sdhc: ERROR interrupt, status=0x8000
mlc: MMC_SEND_OP_COND failed with 1
sdhc_bus_width(1)
sdhc_bus_clock(0, 0)
sdhc_bus_power(0x0)
sdhc_bus_power(0x300000)
sdhc_bus_clock(400, 0)
sdhc_bus_clock(400, 0)
sdhc_bus_width(1)
resetting due to error interrupt
sdhc: ERROR interrupt, status=0x8000
resetting due to error interrupt
sdhc: ERROR interrupt, status=0x8000
mlc: is not an sd, so it is eMMC
resetting due to error interrupt
sdhc: ERROR interrupt, status=0x8000
mlc: MMC_SEND_OP_COND failed with 1
sdhc_bus_width(1)
sdhc_bus_clock(0, 0)
sdhc_bus_power(0x0)
Error while initializing MLC.
Mounting SLC...
Mount slc: 0
Mount slccmpt: 0
Mount redslc: -1
Mount redslccmpt: -1
Showing menu...

I don't know what it means, but it did show the parameter you forced it to.
 

SDIO

Well-Known Member
OP
Member
Joined
Feb 13, 2023
Messages
2,462
Trophies
0
Age
28
XP
1,719
Country
Germany
This is more like it should look like. You may want to try to reconnect the eMMC. You can try to only connect CLK and CMD and see if that get's it to read the CID (it might also need dat1, not entirely sure rn)
 

MoscoMon

Active Member
Newcomer
Joined
Jan 4, 2024
Messages
42
Trophies
0
Age
35
XP
47
Country
Brazil
Ok, I'll try it tomorrow and post the results here. Thanks a lot for the help!
Post automatically merged:

I couldn't sleep thinking about the test, so I decided to do it lol
I soldered jumper wires on all the pads. Here's the terminal output:
Code:
[pico] Changed state: WIIU_STATE_POWERED_OFF -> WIIU_STATE_NEEDS_DEFUSE
Starting... 3224:0
Results:
Winner! 0xf368
01
03
02
03
04
05
08
09
0a
0b
0c
0d
0e
13
14
15
18
1b
1c
1d
1e
1f
25
88
00
00
[pico] Changed state: WIIU_STATE_NEEDS_DEFUSE -> WIIU_STATE_DEFUSED
[pico] Changed state: WIIU_STATE_DEFUSED -> WIIU_STATE_MONITORING
U�U�U�U�U�U�U�U�[Pico] Switching to data mode...

fe 00 02 07 01 00 00 43 46 25 10 00 28 4d 45 4d
32 4d 45 4d 30 50 52 53 48 84 00 00 00 5d 5d 00
01 5d 5d 00 02 5d 5e 00 04 5d 5e 00 08 ef a2 82
d9 01 00 02 00 00 00 00 10 01 00 02 10 5d 5d 00
04 f0 0f ca ff f0 0f ca fa 55 aa 55 aa 55 aa 55
aa f0 0f ca [Pico] Switching to text mode...
beefcafeprsh: Header at 10005a54, PRST at 10007ff0, 1 entries (32 capacity):
    0: boot_info 0x58 10008000
bootinfo:
 is_coldboot: 00000001
 boot_flags: a6000080
 boot_state: 00000000
 boot_count: 00000001
 field_10: 00000000
 field_14: 00000000
 field_18: ffffffff
 field_1C: ffffffff
 field_20: ffffffff
 field_24: ffffffff
 os_id: ffffffff
 field_2C: ffffffff
 os_size: 00000000
 os_address: 00000000
 boot1_main: 00369f6b
 boot1_read: 00297268
 boot1_verify: 0005fcfe
 boot1_decrypt: 00053ce8
 boot0_main: 00012030
 boot0_read: 000029d2
 boot0_verify: 0000d281
 boot0_decrypt: 0000027a
GPU TV addr: 17500001
GPU DRC addr: 00000000
minute loading
minute was loaded from boot1 context!
Initializing exceptions...
Configuring caches and MMU...
MEM: cleaning up
MEM: unprotecting memory
MEM: mapping sections
MEM: enabling caches
MEM: enabling MMU
MEM: configuring heap
MEM: init done
Interrupts initialized
crypto support initialized
BSP version: 0x25100028
Board type: CF (0x4346)
Board revision: 0xb
DDR props: size=2GiB (0x0800) speed=0x0002 vendor=U! (0x5521)

Initializing SD card...
sdhc: SDHC 1.0, 48 MHz base clock
sdhc_bus_power(0x300000)
sdhc_bus_clock(25000, 0)
sdhc_bus_width(1)
resetting due to error interrupt
sdhc: ERROR interrupt, status=0x8000
CID: 8300474B31DA1020202044534D531B00
CID: mid=1b name='SMSD   ' prv=16.13 psn=0a314b47 mdt=3/2008
CSD: 0040969FFFB76DCA83595F32002F0000
taac=47 nsac=0 read_bl_len=9 c_size=3881 c_size_mult=7 card size=1017643008 bytes
sdcard_select: resp=700
sdhc_bus_width(4)
CCC (hex): 5F5
Mode Status:
 00 64 80 01 80 01 80 01
 80 01 80 01 80 03 00 00
 01 00 00 00 00 00 00 00
 00 00 00 00 00 00 00 00
 00 00 00 00 00 00 00 00
 00 00 00 00 00 00 00 00
 00 00 00 00 00 00 00 00
 00 00 00 00 00 00 00 00
Group 1 Support: 80 03
Group 1 Selection: 01
sdcard: enabling highspeed 52MHz clock (32)
sdhc_bus_clock(52000, 1)
resetting due to error interrupt
sdhc: ERROR interrupt, status=0x8000
sdcard_init finished
Mounting SD card...
crypto: ~0x07d bytes of OTP loaded; JTAG is disabled (000000e1)
f8 b1 8e c3 fe 26 b9 b1 1a d4 a4 ed d3 b7 a0 31
11 9a 79 f8 eb e4 2a 22 5e 85 93 e4 48 d9 c5 45
73 81 aa f7 24 8a ef ae 01 68 74 8b f1 0c 5f 79
e6 d4 c4 8e 48 7b 86 68 0b 64 1c bc 16 8e 7d e5
84 76 50 4a 21 9a 85 fd c5 c3 29 30 22 dc f0 38
be dd 72 88 e8 1c 82 ab 5d 89 17 5c 43 48 88 ab
d5 81 62 ec 79 18 13 95 15 56 e1 8e a4 1c 4e eb
87 3f 1c ee 56 a7 2a a7 ed d0 00 00 00
Console is de_Fused! Loading sdmc:/otp.bin...
minini: Failed to open `sdmc:/minute/minute.ini`!
Initializing MLC...
sdhc: SDHC 1.0, 48 MHz base clock
sdhc_bus_power(0x300000)
sdhc_bus_clock(400, 0)
sdhc_bus_clock(400, 0)
sdhc_bus_width(1)
resetting due to error interrupt
sdhc: ERROR interrupt, status=0x8000
resetting due to error interrupt
sdhc: ERROR interrupt, status=0x8000
mlc: is not an sd, so it is eMMC
CID: 3439495C19FFFFFFFFFF363100000600
resetting due to error interrupt
sdhc: ERROR interrupt, status=0x8000
mlc: MMC_SEND_CSD failed with 1
sdhc_bus_power(0x0)
Mounting SLC...
Mount slc: 0
Mount slccmpt: 0
Mount redslc: -1
Mount redslccmpt: -1
Showing menu...

It did show a CID during the MLC initialization step, and then gave a new error. I can sleep now lol
Good night!
 
Last edited by MoscoMon,

ErdbeerbaerLP

Member
Newcomer
Joined
Jan 14, 2019
Messages
10
Trophies
0
XP
78
Country
Germany
Ok, tried a few things, now I messed up even more. The CLK input now is shorted to GND. Can I get the CLK signal from a different place on the board (a trace would be enough, I can solder to that instead)
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    NinStar @ NinStar: super monkey ball