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: 58
Last edited by SDIO,

SDIO

Well-Known Member
OP
Member
Joined
Feb 13, 2023
Messages
2,418
Trophies
0
Age
28
XP
1,687
Country
Germany
Yeah me neither. It seems strange. I'll go with it for now. Just trying to figure out how to boot into stroopwafel as there is no option in the minute menu for it. Or is this something that's only display in the console?
"Patch and boot ISO" if the wafel_core is in the wiiu/ios_plugins folder


It also seems that when I resize my sd card to over 1gb I loose the hdmi output.
How do you resize it? You should not change the start of the partition

If I choose Patch and boot ISO I get that slc:/sys/title/00050010/1000400a/code/fw.img is not an ancast image. Failed to load IOS with matches.
That sound like either SLC corruption or ISFShax. Can you summerize the history of the console / what you did and what the initial symptoms where?
 

fringle

Well-Known Member
Member
Joined
Apr 16, 2009
Messages
704
Trophies
1
XP
1,108
Country
Canada
"Patch and boot ISO" if the wafel_core is in the wiiu/ios_plugins folder



How do you resize it? You should not change the start of the partition


That sound like either SLC corruption or ISFShax. Can you summerize the history of the console / what you did and what the initial symptoms where?
I don't know much about the history of the console. I got it off Ebay but it seemed to work fine but the seller did state it needed repair. I just wanted to attempt upgrading the internal memory to 64gb or larger. I do have a backup of the slc.bin file that I got when I loaded Tiramisu. I'm dumping it right now with minute and it doesn't seem to be getting any errors. Is there anyway to check the SLC.RAW file?
 

fringle

Well-Known Member
Member
Joined
Apr 16, 2009
Messages
704
Trophies
1
XP
1,108
Country
Canada
Since you reinstall anyway, you don't hobe to care for scfm, so you should be fine.
It erases fine, and then when writing back it fails at a certain point. I'm doing it again just to see if it may have been a glitch. Nah it did it again. Gets to 0x18B00 and fails all the way to 0x18BFF then it starts writing again. Would my nand-aid install maybe cause this if I messed something up? I'll go over it and check it all again just to make sure.
 

fringle

Well-Known Member
Member
Joined
Apr 16, 2009
Messages
704
Trophies
1
XP
1,108
Country
Canada
that sounds more like your slc is failing...
How many errors did nandBinCheck report?
64 errors on the one I dumped today but the one I dumped 2 weeks ago there were 0 and I haven't used the console since. Upon checking I did knock off a couple of the resistors by the nand. I found one and was able to reattach it but the other is among the missing. Do you happen to know the value of these? The one that is missing is R29.
 

SDIO

Well-Known Member
OP
Member
Joined
Feb 13, 2023
Messages
2,418
Trophies
0
Age
28
XP
1,687
Country
Germany
you don't need R29 anywhey when using NAND-AID. Can you send the log from the nandBinCheck?

I would suggest not only reinstalling the mlc titles, but also the SLC ons and hope the SLC corruption was a one of thing.

You can extract the fw.img from the lates OSv10 and load it with the second option in minute from SD.
 

fringle

Well-Known Member
Member
Joined
Apr 16, 2009
Messages
704
Trophies
1
XP
1,108
Country
Canada
you don't need R29 anywhey when using NAND-AID. Can you send the log from the nandBinCheck?

I would suggest not only reinstalling the mlc titles, but also the SLC ons and hope the SLC corruption was a one of thing.

You can extract the fw.img from the lates OSv10 and load it with the second option in minute from SD.
Here is the one with all of the errors. I didn't think those resistors would be necessary that's why I wasn't too worried about them unti I started seeing these errors.
 

Attachments

  • Nandbincheck-slc.txt
    253.2 KB · Views: 31

SDIO

Well-Known Member
OP
Member
Joined
Feb 13, 2023
Messages
2,418
Trophies
0
Age
28
XP
1,687
Country
Germany
64 is the number of superclusters that failed... There are only 64 superclusters... The SLC is dead. Only way forward I see is using rednand to replace the SLC, other than soldering a new SLC.
I mean you can try booting IOSU from the SD and see what it has to say about the slc, but I would expect it to also give up on it.
 

fringle

Well-Known Member
Member
Joined
Apr 16, 2009
Messages
704
Trophies
1
XP
1,108
Country
Canada
64 is the number of superclusters that failed... There are only 64 superclusters... The SLC is dead. Only way forward I see is using rednand to replace the SLC, other than soldering a new SLC.
I mean you can try booting IOSU from the SD and see what it has to say about the slc, but I would expect it to also give up on it.
Strange as it is now booting - boot and patch ios after writing my back up to it once more.
 

fringle

Well-Known Member
Member
Joined
Apr 16, 2009
Messages
704
Trophies
1
XP
1,108
Country
Canada
Did you get errors during the writing back?
I did, I got the same errors as before. Only difference was that I had my micro sd removed at the time. So maybe something is messed up there. Going to try again with it in and see if I can narrow down what exactly is happening.

It seems to get to here and hang:
OTP store at: 27e23204
But unsure if this is normal since there isn't suppose to be any output via HDMI and that's where I'm seeing everything go. Still nothing in the console. How long does it usually take to setup a 64gb microsd? I'll just let it go for a bit and then try rebooting it to see if anything happens.
Well I'm a dumbass. I was using the wrong otp.bin and I actually wrote the wrong SLC.RAW to it. So that might have been why it's been hanging. Still doesn't explain the no output in the console though. Ah well, going to write the correct files and try again. If it doesn't work this time, in the closet it goes for another day.

It at least writes to the SLC without errors now and also boots and patches ios but still hangs after checking the otp.bin.
 
Last edited by fringle,

SDIO

Well-Known Member
OP
Member
Joined
Feb 13, 2023
Messages
2,418
Trophies
0
Age
28
XP
1,687
Country
Germany
It seems to get to here and hang:
OTP store at: 27e23204
But unsure if this is normal since there isn't suppose to be any output via HDMI and that's where I'm seeing everything go.
That is expected


Still nothing in the console.
Maybe check the wireing again.

How long does it usually take to setup a 64gb microsd? I'll just let it go for a bit and then try rebooting it to see if anything happens.
You should see it on the LED. When it starts installing the title, the LED starts flashing, that should start a few seconds after turning on again. When the LED becomes static again, it finished. If it is blue then everything is fine, if it becomes yellow, then there was a problem.

Well I'm a dumbass. I was using the wrong otp.bin and I actually wrote the wrong SLC.RAW to it.
Now everything makes sense and now that I think about it, I should have noticed it. Because all the errors where HMAC errors and no ECC errors. This would indicate a wrong key.
 

fringle

Well-Known Member
Member
Joined
Apr 16, 2009
Messages
704
Trophies
1
XP
1,108
Country
Canada
That is expected



Maybe check the wireing again.


You should see it on the LED. When it starts installing the title, the LED starts flashing, that should start a few seconds after turning on again. When the LED becomes static again, it finished. If it is blue then everything is fine, if it becomes yellow, then there was a problem.


Now everything makes sense and now that I think about it, I should have noticed it. Because all the errors where HMAC errors and no ECC errors. This would indicate a wrong key.
I gave up on it for now. I kept thinking it was the wiring with my nand-aid so ended up removing it which accidently ripped some pads off, attempted to solder in an sd card adapter instead and still got the same results. Any time I tried there was no change in the LED. It was solid unless initially booting the console when defuse would load. Even with no sd card or nand-aid attached it behaved the same, so I don't think it was properly seeing the sd card/adapter. I'm curious though if there might be away to have de_fuse load a backup nand image from the front sd slot.

I'll revisit this console again some other time. May be wait till the sata hdd adpaters are available and try again.

Thanks for your help along the way, I appreciate it. I learned quite a bit and at least have some spare parts should my other console be in need.
Post automatically merged:

So I decided to see if I could just get the console to boot and much to my surprise it still works. I found an old 32gb sdhc card and wrote my backup mlc with win32diskimager to it and soldered it to the nand points and it actually booted so the console is still salvageable. I was starting to think it was a goner.

I just reinstalled defuse. This time I used stranded 30awg and secured everything to ensure nothing would pop off. I have console now and everything seems to work normally. Reinstalled nandaid with wires and going to attempt to install a 64gb microsd.
Post automatically merged:

That is expected



Maybe check the wireing again.


You should see it on the LED. When it starts installing the title, the LED starts flashing, that should start a few seconds after turning on again. When the LED becomes static again, it finished. If it is blue then everything is fine, if it becomes yellow, then there was a problem.


Now everything makes sense and now that I think about it, I should have noticed it. Because all the errors where HMAC errors and no ECC errors. This would indicate a wrong key.
So I got it all to work or sort of but now it's getting stuck on waffel setup

It keeps repeating opening: /dev/net/ifmgr/ncl.....

At the moment it doesn't have a function wifi module, bluetooth is fine so I suspect this could be the cause. If I do write my mlc.bin backup to a 32gb card the system boots so I know my wiring is good.
 
Last edited by fringle,

fringle

Well-Known Member
Member
Joined
Apr 16, 2009
Messages
704
Trophies
1
XP
1,108
Country
Canada
I've attached my setup file. I've tried multiple sd cards all with the same result. I have also acquired another Wii U that I will temperoarly pull the wifi chip from just to see if this is what could be causing the issue as I was also getting errors at first related to BT when I didn't have that card attached.
 

Attachments

  • Wafel_setup.txt
    69.5 KB · Views: 23

SDIO

Well-Known Member
OP
Member
Joined
Feb 13, 2023
Messages
2,418
Trophies
0
Age
28
XP
1,687
Country
Germany
The log you posted looks good, I see how it formatted the MLC and installed lot's of the titles. Which color did the LED have?
It didn't look at the install of every package (that's in a more readable form on the SD), so it should probably boot now without defuse. If not send the install log from the SD
 

fringle

Well-Known Member
Member
Joined
Apr 16, 2009
Messages
704
Trophies
1
XP
1,108
Country
Canada
The log you posted looks good, I see how it formatted the MLC and installed lot's of the titles. Which color did the LED have?
It didn't look at the install of every package (that's in a more readable form on the SD), so it should probably boot now without defuse. If not send the install log from the SD
It just boots to the wii u splash screen and doesn't go any further. This is the log file from the sd card. Since I installed with unlimit on that card I can't boot without de_fuse but will try again later. Currently using my power adapter to dump the nand from the other console I picked up today.
 

Attachments

  • wafel_setup_mlc.txt
    1.3 KB · Views: 24

SDIO

Well-Known Member
OP
Member
Joined
Feb 13, 2023
Messages
2,418
Trophies
0
Age
28
XP
1,687
Country
Germany
It looks like you are missing some titles. In total it should be 53, you have only 24
Post automatically merged:

Oh wait I was wrong, the install didn't finish before, it just hang there
Post automatically merged:

It hangs on the Health and Safety App. 00050010-1004e100 Maybe just delete it for now from the wafel_install folder
@fringle (tagging you, or else you wouldn't get a notification, when I add something to the last post)
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    SylverReZ @ SylverReZ: @Sonic Angel Knight, Why is it all in lower-case?