Всем привет!
Дисклеймер: Данная статья не является руководством по прошивке консоли. Я не одобряю пиратство, никого не призываю прошивать консоли ради пиратства. Если вы решите повторить написанное в данной статье со своей консолью - оцените все риски и действуйте на свой страх и риск. Если вы не полностью уверены в своих силах и навыках, лучше доверьте этот процесс специалистам.
Решил я на новый 2026 год сделать себе подарок и купил на Avito очередной экземпляр в коллекцию старых и не очень железяк - Nintendo Wii U. На данный момент я пользуюсь ею около месяца, и мне есть что рассказать.
Для затравки скажу, что за этот неполный месяц использования я её дважды "окирпичил" и дважды восстановил, установил последнюю версию прошивки, снял региональную блокировку, сменил язык интерфейса и установил массу Homebrew приложений и игр.
Но, как обычно, пойдем по порядку.
Пара слов про мой экземпляр
Не скажу, что это была запланированная покупка. Вообще, я давно хотел заполучить в коллекцию Nintendo Wii, но как-то всё откладывал эту покупку. И вот, в очередной раз просматривая Avito в поисках интересных электронных устройств, попалась мне Nintendo Wii U по привлекательной цене. Ну а раз она имеет обратную совместимость с Wii, то я решил - почему бы и нет. Тут же написал продавцу, оплатил и стал ждать, когда приедет заказ. То есть это был типичный случай импульсивной покупки.
Разумеется, я знал об этой консоли какие-то базовые теоретические вещи, что это восьмое поколение консолей, наравне с PlayStation 4 и Xbox One, что это предшественник Nintendo Switch, но ничего не знал ни о технических нюансах, ни о региональных особенностях, не говоря уже о том, что совершенно не имел опыта пользования данным девайсом. Начал изучать тему уже после совершения сделки.
Итак, мой экземпляр это Nintendo Wii U японского региона в черном цвете, с 32 ГБ встроенной памяти (также выпускались модели с 8 ГБ памяти). Комплектация у продавца была не полная, а именно это была сама тушка, контроллер/планшет и сенсорная панель Wii/Wii U.
Не было ни блока питания для самой консоли, ни зарядного устройства для контроллера, ни A/V кабеля. Но меня было уже не остановить.
Я знал, что все недостающие комплектующие можно купить на маркетплейсах и по этому поводу не переживал, но хотелось сначала дождаться, когда приедет консоль и уже потом заказывать всё остальное.
Да, не сложно было нагуглить необходимые выходные напряжение и ток и подобрать блоки питания из имеющихся, но Nintndo любит оснащать свои устройства проприетарными разъемами, поэтому, чтобы не колхозить какие-то переходники и не вандалить консоль было принято решение заказать уже готовые решения.
Итого: через неделю приехала консоль, ещё через две — недостающие блоки питания.
Первое знакомство с консолью и первый "кирпич"
Когда наконец весь комплект был собран, пришла пора подключить консоль к телевизору и испытать её в деле.
Как я говорил, консоль у меня японского региона. Предыдущим владельцем, видимо, была куплена с японского аукциона, после чего сразу же продана на Avito. Поэтому японский язык в меню консоли меня хоть и не сильно удивил, но всё равно слегка расстроил. Потыкавшись наугад в японское меню и посидев с онлайн-переводчиком, я понял, что так просто сменить язык у меня не получится. Была надежда, что возможно, при первоначальной инициализации будет выбор языка для меню. Дело осталось за малым, найти пункт меню для сброса консоли до заводских настроек. Сказано сделано. С помощью переводчика нахожу необходимый пункт меню, запускаю процесс сброса, на экране появляется надпись «не выключайте питание консоли, этот процесс может занять несколько часов». Я оставляю консоль в покое и иду заниматься своими делами.
Спустя приблизительно полчаса, я решил проверить, не завершилась ли инициализация, и подойдя к телевизору обнаружил, что процесс завершился ошибкой (код ошибки 160-0103).
Перезагружаю консоль, процесс инициализации запускается и зависает. И так повторяется снова и снова. При этом пропала синхронизация с контроллером.
На этом шаге я отключил консоль, убрал её на полку, и пошел читать форумы по восстановлению и прошивке данной консоли.
Первое восстановление
Первым делом я обгуглил тот самый Error Code, который мне выдала консоль. Интернет мне ответил, что 160-0103 - это одна из самых серьезных ошибок, которая указывает на проблему с внутренней памятью eMMC. Проще говоря, это не программный сбой, а аппаратная проблема, точнее проблема с внутренней памятью. Мне не хотелось верить, что я купил заведомо неисправную консоль, поэтому начал искать способы восстановить систему после неудачного сброса настроек.
И этот способ был найден.
На YouTube достаточно много подробных видеороликов на разных языках с восстановлением Wii U, поэтому слишком глубоко в матчасть я зарываться не буду. Просто перечислю, что мне для этого потребовалось и что я делал.
Мне потребовались: Raspberry Pi Pico и SD-карта.
Вместо Raspberry Pi Pico можно использовать Raspberry Pi Zero, Steam Deck, Nintendo Switch с модчипом или любое другое устройство на базе Linux, поддерживающее эмуляцию USB-устройств. У меня хоть и есть Nintendo Switch, но она не чипованная и чиповать я её не собираюсь. К тому же Raspberry Pi Pico мне всё равно была нужна для другого проекта, о котором я когда-нибудь тоже расскажу.
Особых требований к SD-карте нет, разве что, если вы хотите сделать полный бэкап внутренней памяти консоли, тогда необходимо взять карту объемом, превышающим объем памяти Wii U.
Для восстановления нашего кирпича потребуется подготовить Raspberry Pi Pico и SD-карту.
Прошивка Pico
Прошивается Pico очень просто. Идём на GitHub к разработчику GaryOderNichts, находим репозиторий udpih и качаем оттуда файл udpih.uf2. Зажимаем кнопку BOOTSEL на Pico, вставляем её micro-USB в компьютер. Она определяется как обычная флешка. Просто перетаскиваем скачанный .uf2-файл на эту «флешку». Pico моргнёт и отключится — прошивка готова, на ней теперь живёт эксплойт UDPIH (USB Descriptor Parsing Is Hard), который заставляет консоль загрузить специальное меню восстановления с SD-карты.
Подготовка SD-карты
Теперь нужна SD-карта, отформатированная в FAT32. Идём на GitHub уже в другой репозиторий — recovery_menu (тоже от GaryOderNichts). Качаем оттуда последний релиз. Нас интересует файл recovery_menu. Кладём его в корень SD-карты.
Либо есть форк от этого же recovery_menu, от разработчика jan-hofmeier, называемый mlctools, представляющий тот же функционал, только немного более расширенный. Лично я предпочитаю использовать именно mlctools 0.3.
Либо все эти файлы можно скачать с Яндекс.Диска
Кстати, туда же, на Яндекс.Диск я положил все архивы, которые я буду использовать и на которые буду ссылаться далее. В том числе архив Wii U Japan Fix.zip, который может понадобиться при некоторых сбоях прошивки. Его тоже рекомендую скачать и распаковать в папку install на той же SD-карте. Как им воспользоваться я расскажу немного ниже.
Работает это всё таким образом: эксплойт, который мы записали на Pico перенаправляет загрузчик Wii U с внутренней памяти на SD. Но чтобы он сработал, нужно попасть точно в тайминг. Сейчас объясню, что я имею в виду.
Когда наши Pico и SD-карта готовы, вставляем SD в соответствующий слот Wii U, а Pico готовимся вставить в USB порт на передней панели (Важно! Именно передней! USB порты расположенные сзади работать не будут). Для того чтобы эксплойт сработал, Pico надо вставить в порт точно в момент, когда появляется светлый экран с логотипом Wii U. Если вставить немного раньше или позже, то магия не произойдет и всё придётся повторить сначала - выключить консоль, включить, дождаться момента, вставить.
Если всё сделано правильно, через пару секунд мы увидим на экране вместо привычного экрана ошибки меню восстановления. Индикатор питания на консоли загорится фиолетовым — это верный признак того, что у нас всё получилось.
Теперь, когда мы загрузились в Recovery Menu у нас есть все инструменты для восстановления нашей консоли.
Кстати, контроллер в данном меню не работает. Навигация происходит кнопкой EJECT, а выбор пункта кнопкой POWER.
В данном случае мне пригодился один-единственный пункт меню - Set Coldboot Title, который позволяет изменить загрузчик консоли. То есть, если консоль при включении, по какой-то причине, загружает не главное меню, а какое-то приложение (как в моём случае - процесс сброса) то данный пункт меню будет незаменим. После чего я выбрал Shutdown и консоль выключилась.
Если же консоль не ожила, то нужно воспользоваться архивом Wii U Japan Fix.zip который я упоминал немного ранее. Чтобы это сделать, выбираем пункт меню Install WUP и дожидаемся окончания установки и выключаем консоль.
После всех манипуляций я включил Wii U и она меня поприветствовала экраном инициализации, то есть сброс консоли до заводских настроек всё-таки выполнился. Но выбора языка она мне так и не предоставила. Значит танцы продолжаются.
Установка Aroma
После того как я оживил консоль и убедился, что она загружается, встал вопрос: а что дальше? Японское меню меня по-прежнему не устраивало, да и хотелось нормально пользоваться консолью - иметь возможность запускать игры разных регионов, запускать полезные программы.
Для Wii U есть две основные прошивки, это Tiramisu и Aroma. Я буду рассматривать только Aroma, так как Tiramisu - это уже замороженный проект который не обновляется, а Aroma, по сути своей, является его преемницей и активно обновляется по сей день. Хотя ничего не запрещает установить обе прошивки одновременно.
Что такое Aroma и зачем она нужна
Aroma — это среда, которая заменяет экран Wii U своим собственным, имеет свои модули и плагины и позволяет запускать Homebrew-приложения. По сути, это полноценная замена стандартному окружению консоли с расширенными возможностями. С её помощью можно:
- Запускать игры любого региона.
- Использовать плагины прямо во время игры (FTP-сервер, скриншоты, мониторинг системы).
- Привязывать геймпады от консолей другого региона.
Подготовка SD-карты
Для установки Aroma нам потребуется та же SD-карта. Форматируем её в FAT32, если ещё не сделали этого.
Идём на официальный сайт загрузки Aroma. Оттуда нам понадобятся:
- EnvironmentLoader
- Base Aroma
- Nanddumper (на всякий пожарный, для бэкапа)
Все эти файлы распаковываем в корень SD-карты так, чтобы в итоге на карте появилась папка wiiu со всеми необходимыми файлами внутри.
Отдельно качаем SigPatches — это заплатки, которые позволяют запускать приложения и игры без подписей. Кладём их в папку sd:/wiiu/environments/aroma/modules/setup.
NAND-бэкап (лучше сделать, чем потом жалеть)
Прежде чем лезть дальше, лучше сделать полный бэкап внутренней памяти консоли. Если что-то пойдёт не так при установке прошивки, этот бэкап может пригодиться.
Для этого вставляем SD-карту в консоль, идём в браузер Wii U и заходим на сайт для запуска эксплойта, например https://wiiuexploit.xyz.
Нажимаем кнопку Run Exploit!, и при появлении белого экрана с логотипом Wii U зажимаем кнопку B — должно открыться меню загрузчика.
В меню выбираем nanddumper. Ставим галочки напротив всего, что там есть: SLC, SLCCMPT, OTP, SEEPROM. MLC можно тоже поставить, но учтите: если у консоли 32 ГБ памяти, бэкап MLC займёт примерно столько же места на SD-карте. Запускаем процесс и ждём.
После завершения на SD-карте появятся файлы бэкапов. Сразу копируем их на компьютер. С карты их можно удалить, чтобы освободить место.
Первый запуск Aroma
Теперь, когда у нас есть резервная копия NAND на случай непредвиденных проблем, мы можем установить PayloadLoader в свою систему. Используя эксплойт для веб-браузера, как описано ранее, на этот раз нам нужно будет удерживать кнопку X, чтобы открыть меню Environment Loader.
Мы увидим предупреждение о наличии папки с обновлениями. Это нормально. Жмем X, чтобы заблокировать обновления.
A, чтобы открыть меню Wii U
В меню Wii U находим появившуюся новинку Payload-Loader Installer (ракета, вылетающая из коробки) и запускаем ее.
Жмем кнопку A, чтобы проверить, можно ли установить PayloadLoader. Теперь мы увидим сообщение о том, что PayloadLoader можно установить в приложение «Информация о здоровье и безопасности» (восклицательный знак в желтом треугольнике).
Жмем кнопку A, чтобы выбрать Install / Update.
Нас спросят, уверены ли вы, что хотите установить PayloadLoader. С помощью крестовины выберем Install и нажмем A.
После завершения установки нажмем A, чтобы выключить консоль.
Автозапуск Aroma
Теперь, чтобы запустить Aroma, нам нужно сначала запустить приложение «Информация о здоровье и безопасности». Если мы хотим, чтобы Aroma запускалась автоматически при каждой загрузке, мы можем настроить автоматическую загрузку приложения «Информация о здоровье и безопасности».
- Запустим консоль, чтобы войти в меню Wii U, затем откроем приложение «Информация о здоровье и безопасности».
- Нажмем A, чтобы запустить среду aroma.
- Нажмем A, чтобы открыть меню Wii U.
- В меню Wii U запускаем установщик PayloadLoader.
- Нажмем A, чтобы выбрать Check.
- Выберем Boot options.
- Нам будет предложено сменить режим загрузки. Нажмем A, чтобы выбрать Switch to PayloadLoader.
- Когда процесс завершится, нажмем A, чтобы выключить консоль. Теперь PayloadLoader будет запускаться автоматически при каждой загрузке.
Настройка PayloadLoader, Environment Loader и Aroma
Теперь мы настроим автоматический запуск среды Aroma, когда наша консоль загружает приложение «Информация о здоровье и безопасности», и выберем Wii U Menu в качестве варианта загрузки по умолчанию.
- Запустим EnvironmentLoader. Если мы уже используем автоматическую загрузку PayloadLoader, просто включим Wii U.
Если же шаги по автоматической загрузке были пропущены, то запустим приложение «Информация о здоровье и безопасности». - Нажмем Y на aroma , чтобы сделать эту среду средой по умолчанию (она выделится желтым цветом), затем A, чтобы запустить Aroma. Чтобы в будущем открыть Environment Loader нужно удерживать кнопку X во время загрузки Wii U или при запуске приложения «Информация о здоровье и безопасности».
- В меню выбора загрузки Aroma Boot Selector уже должен быть выбран вариант Wii U Menu . Нажмем Y, чтобы установить его в качестве опции автоматической загрузки по умолчанию (он также должен выделиться желтым цветом), затем A, чтобы перейти в меню Wii U.
- Теперь Aroma будет запускаться при каждой загрузке консоли (или при открытии раздела «Здоровье и безопасность»), а затем сразу переходить в меню Wii U.
Плагины
После установки Aroma я добавил несколько полезных плагинов:
- region_free_plugin — чтобы запускать игры любого региона.
- ftpiiu_plugin — чтобы заливать файлы по сети, не вынимая SD-карту.
- screenshot_plugin — чтобы делать скриншоты в играх и меню.
Все плагины кладутся в папку sd:/wiiu/environments/aroma/plugins/.
Управление плагинами вызывается комбинацией L + Крестовина вниз + Минус (-) на геймпаде в любой момент, даже во время игры.
Смена языка меню и второй "кирпич"
Итак, региональная блокировка снята, сторонние приложения устанавливай хоть заустанавливайся, а меню консоли всё еще на японском языке.
Сама по себе смена языка меню это задача достаточно простая. Всё что требуется, это заменить некоторые файлы во внутренней памяти консоли. Но для того что бы это сделать, нужно что бы была установлена Aroma и плагин FTPiiU. Достаточно подробная инструкция есть на форуме 4PDA.
Если коротко, нам нужно подключить Wii U к домашней сети, с помощью FTP-клиента (например FileZilla) с компьютера подключиться к консоли (на ней должен быть запущен плагин FTPiiU) и скопировать файлы из этого архива на консоль, сохраняя структуру папок. После выполнения данной процедуры нужно перезагрузить консоль и язык меню сменится на русский.
Казалось бы, простейшая операция, что же могло пойти не так и как на данном этапе я получил кирпич?
У меня каким-то чудом забаговал архиватор и криво распаковал архив с файлами руссификации. То есть фактически вся структура каталогов и файлов получилась нужная, но некоторые файлы были пустыми по 0 байт. Я это сразу не заметил и произвел процедуру описанную выше, то есть заменил нормальные файлы пустышками, после чего консоль, разумеется, грузиться перестала.
Второе восстановление
Хорошо, что я не пренебрег главным правилом любого здравомыслящего человека - перед каждым шагом делай бэкапы всего чего можно. Вот и перед заменой файлов я сделал полный бэкап файловой системы моей Wii U. Казалось бы, возьми да залей их обратно по тому же FTP и вопрос будет решен. Но проблема была в том, что сразу после загрузки этих пустых файлов я консоль перезагрузил. Система грузиться отказалась. Плагин FTPiiU конечно же тоже не загрузился, соответственно подключиться через FileZilla тоже не представлялось возможным.
Тут мне на помощь опять пришла Pico и записанное на SD-карту recovery menu.
Привычным способом загружаемся в то же recovery menu, теперь нам понадобится пункт Start wupserver.
Если ранее вы уже подключались к своей домашней сети по Wi-Fi или Ethernet, то консоль должна запомнить параметры подключения и после выбора Start wupserver консоль поднимет WUP server и выведет на экран параметры для подключения. Нас здесь интересует только IP-адрес.
Если же этого не произошло, то нужно выключить консоль, извлечь SD из консоли и в корневом каталоге создать файл с названием network.cfg со следующим содержанием:
если используется подключение по Ethernet то одну строку:
type=eth
Если используется подключение по WiFi:
type=wifi
ssid=ssidhere
key=wifikeyhere
key_type=WPA2_PSK_AES
где:
ssid - имя вашей сети WiFi
key - пароль для подключения к этой сети
key_type - тип шифрования
Все эти настройки можно посмотреть на вашем домашнем роутере.
Сохранить файл, вставить SD-карту обратно в консоль и выбрать пункт recovery menu - Load Network Configuration. После чего опять вернуться к Start wupserver
Далее, чтобы загрузить корректные файлы на консоль по протоколу WUP, нам понадобится wupclient всё от того же GaryOderNichts. Скачивайте этот файл и кладите его в тот же каталог где находится ваш ранее распакованный архив с файлами руссифицированного меню или файлы бэкапов. Например, архив распакован в каталог C:\Wup\, внутри этого каталога уже лежит каталог storage_mlc из архива, значит файл wupclient.py нужно тоже положить в каталог C:\Wup\.
Следующим шагом открываем файл wupclient.py с помощью любого текстового редактора (Блокнот или Notepad++) и находим строку, содержащую IP-адрес (обычно это строка 29 или 30, где указано 192.168.ххх.xxx). Замените этот адрес на текущий IP-адрес вашей Wii U, сохраните и закройте этот файл.
Откройте командную строку (терминал) на вашем компьютере. Перейдите в папку, где лежит wupclient.py. Например:
cd C:\Wup\
Теперь выполните команду для запуска клиента в интерактивном режиме. Команда зависит от вашей операционной системы:
Windows: py -3 -i wupclient.py
macOS / Linux: python -i wupclient.py
Если подключение прошло успешно, в окне терминала вы увидите несколько строк с hexadecimal числами. После этого появится интерактивная строка (>>>), готовая к вводу команд. И теперь копируем каждый ошибочный файл отдельной командой вида:
w.up("исходный файл","файл назначения")
Например, мне надо было скопировать 7 файлов и мои команды выглядели следующим образом:
w.up("sys/title/00050010/10040000/content/JpJapanese/Message/AllMessage.szs","sys/title/00050010/10040000/content/JpJapanese/Message/AllMessage.szs")
w.up("sys/title/00050010/10040000/content/JpJapanese/Olive/1stNUP.xml","sys/title/00050010/10040000/content/JpJapanese/Olive/1stNUP.xml")
w.up("sys/title/00050010/10047000/content/JpJapanese/Message/AllMessage.szs","sys/title/00050010/10047000/content/JpJapanese/Message/AllMessage.szs")
w.up("sys/title/00050010/10048000/content/JpJapanese/Message/AllMessage.szs","sys/title/00050010/10048000/content/JpJapanese/Message/AllMessage.szs")
w.up("sys/title/00050010/1004c000/content/JpJapanese/Message/AllMessage.szs","sys/title/00050010/1004c000/content/JpJapanese/Message/AllMessage.szs")
w.up("sys/title/00050030/1001000a/content/Common/Package/Hbm.pack","sys/title/00050030/1001000a/content/Common/Package/Hbm.pack")
w.up("sys/title/00050030/1001800a/content/message/JP_Japanese/scope.msbt.zlb","sys/title/00050030/1001800a/content/message/JP_Japanese/scope.msbt.zlb")
После этих действий моя консоль ожила и заговорила по-русски.
Но запаситесь терпением, скорость передачи по протоколу WUP очень низкая, и файлы хоть и имеют небольшой объем, могут передаваться по 5-10 минут. Но если всё пройдет успешно и копирование всех файлов завершится успешно, мы получим полностью живую консоль с русским меню.
Вывод
Да, статья получилась достаточно объемная, но я описал самый базовый минимум по прошивке и восстановлению консоли Nintendo Wii U. Если попытаться описать хотя бы часть функционала, который предоставляет прошитая консоль, количество текста умножится в 2 или 3 раза.
Если будет запрос, то возможно, я напишу еще пару-тройку статей про Wii U, например про то как использовать жесткий диск для установки игр, или как играть в онлайне с прошитой консоли.
Но если даже тема с Wii U не получит большого отклика, я получил бесценный опыт и задокументировал его для будущего себя.
Касаемо моих личных впечатлений об этой консоли. В процессе работы над руссификацией, восстановлением, накаткой Aroma, я неоднократно задавался вопросом, а стоит ли оно того? Но когда весь этот путь был пройден я получил чрезвычайно интересную консоль с богатой библиотекой игр и уникальными опциями. Чего только стоит контроллер-планшет.
Всем добра, стабильных прошивок и никаких кирпичей!