Toggle menu
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

UDPIH Wii U: Difference between revisions

From GameBrew
Created page with "{{Infobox WiiU Homebrews |title=UDPIH |image=udpihwiiu.png |description=Exploit for the Wii U's USB Host Stack. |author=GaryOderNichts |lastupdated=2022/06/14 |format= |type=Exploits |version=R2 |license=GPL-2.0 |download=https://dlhb.gamebrew.org/wiiuhomebrews/udpihwiiu.7z |website=https://garyodernichts.blogspot.com/2022/06/exploiting-wii-us-usb-descriptor-parsing.html |source=https://github.com/GaryOderNichts/udpih |donation=https://ko-fi.com..."
 
No edit summary
 
(7 intermediate revisions by 2 users not shown)
Line 4: Line 4:
|description=Exploit for the Wii U's USB Host Stack.   
|description=Exploit for the Wii U's USB Host Stack.   
|author=GaryOderNichts   
|author=GaryOderNichts   
|lastupdated=2022/06/14 
|lastupdated=2025/03/12
|format=
|format=
|type=Exploits
|type=Exploits
|version=R2 
|version=R5
|license=GPL-2.0
|license=GPL-2.0
|download=https://dlhb.gamebrew.org/wiiuhomebrews/udpihwiiu.7z   
|download=https://dlhb.gamebrew.org/wiiuhomebrews/udpihwiiu.7z   
|website=https://garyodernichts.blogspot.com/2022/06/exploiting-wii-us-usb-descriptor-parsing.html   
|website=https://garyodernichts.blogspot.com/2022/06/exploiting-wii-us-usb-descriptor-parsing.html   
Line 23: Line 23:
    
    
== Installation ==   
== Installation ==   
Supported devices include:
Supported devices include:
* Raspberry Pi Pico or Zero
* Raspberry Pi Pico (W) / Pico 2 (W)
* Raspberry Pi Zero (W) / A / A+ / Zero 2 W / 4 / 5
* Steam Deck
* Espressif ESP32 S2 / S3
* A Nintendo Switch capable of running [[UDPIH Nintendo Switch Payload|udpih_nxpayload]].   
* A Nintendo Switch capable of running [[UDPIH Nintendo Switch Payload|udpih_nxpayload]].   
 
Prebuilt releases of UDPIH are available for the Raspberry Pi Pico and Zero; other Linux devices with USB device emulation capabilities should work as well. 
    
    
[https://github.com/GaryOderNichts/udpih Setup and usage instructions.]   
[https://github.com/GaryOderNichts/udpih Setup and usage instructions.]   
Line 38: Line 39:
<youtube>GHusV2eDnGQ</youtube>   
<youtube>GHusV2eDnGQ</youtube>   
    
    
== Changelog ==
== Changelog ==
'''v2 2022/06/14'''
'''v5 2025/03/12'''
* ESP32:
** A new port for ESP32 S2 and S3 based boards has been added.
* Pico:
** No Pico specific changes.
* Linux:
** No linux specific changes.
* Common:
** Kernel code built with latest devkitARM.
'''v4 2024/12/06'''
* Pico:
** Releases for the RP2350 based Pico 2 boards are now available.
* Linux:
** No linux specific changes
* Common:
** Kernel code built with latest devkitARM.
'''v3 2024/07/17'''
* Linux:
** Fixes compatibility with linux v5.19 ([https://lore.kernel.org/all/[email protected]/ info]).
** Fixes compatibility with [https://software-dl.ti.com/processor-sdk-linux/esd/docs/06_03_00_106/AM437X/linux/Foundational_Components/Kernel/Kernel_Drivers/USB/DWC3.html DWC3].
** Fixes compatibility with devices reporting the ep0 max packet size as 0.
* Pico:
** No pico specific changes.
* Common:
** Changed custom request to <code>0x50</code> to avoid issues with DWC3.
* Improved documentation.
* The Steam Deck is now supported.
 
'''v2 2022/06/14'''
* The console now powers off if the recovery_menu cannot be loaded from the SD Card.   
* The console now powers off if the recovery_menu cannot be loaded from the SD Card.   
* The gadget now supports both full speed and high speed mode, to support more linux systems.   
* The gadget now supports both full speed and high speed mode, to support more linux systems.   
    
    
'''v1 2022/06/06'''   
'''v1 2022/06/06'''   
* Initial release.
* Initial release.
 
 
== Credits​ ==   
== Credits​ ==   
* [https://github.com/Maschell @Maschell] for the [https://github.com/devkitPro/wut/commit/159f578b34401cd4365efd7b54b536154c9dc576 network configuration types].   
* [https://github.com/Maschell @Maschell] for the [https://github.com/devkitPro/wut/commit/159f578b34401cd4365efd7b54b536154c9dc576 network configuration types].   

Latest revision as of 06:04, 16 March 2025

UDPIH
General
AuthorGaryOderNichts
TypeExploits
VersionR5
LicenseGPL-2.0
Last Updated2025/03/12
Links
Download
Website
Source
Support Author

UDPIH (pronounced like "mud pie" without the M), which stands for "USB Descriptor Parsing Is Hard," is an exploit for the Wii U that takes advantage of a flaw in how the system reads USB information. This allows users to gain control of the system code using devices like Raspberry Pi Pico/Zero or Nintendo Switch.

Since the USB Stack runs before anything else on the Wii U, it would allow recovering from CBHC bricks without soldering by using this with the recovery menu.

You can find the detailed write-up here.

Installation

Supported devices include:

  • Raspberry Pi Pico (W) / Pico 2 (W)
  • Raspberry Pi Zero (W) / A / A+ / Zero 2 W / 4 / 5
  • Steam Deck
  • Espressif ESP32 S2 / S3
  • A Nintendo Switch capable of running udpih_nxpayload.

Setup and usage instructions.

Media

UDPIH: Exploiting the Wii U's USB Descriptor parsing (GaryOderNichts)

Running UDPIH using an unpatched Switch (GaryOderNichts)

Changelog

v5 2025/03/12

  • ESP32:
    • A new port for ESP32 S2 and S3 based boards has been added.
  • Pico:
    • No Pico specific changes.
  • Linux:
    • No linux specific changes.
  • Common:
    • Kernel code built with latest devkitARM.

v4 2024/12/06

  • Pico:
    • Releases for the RP2350 based Pico 2 boards are now available.
  • Linux:
    • No linux specific changes
  • Common:
    • Kernel code built with latest devkitARM.

v3 2024/07/17

  • Linux:
    • Fixes compatibility with linux v5.19 (info).
    • Fixes compatibility with DWC3.
    • Fixes compatibility with devices reporting the ep0 max packet size as 0.
  • Pico:
    • No pico specific changes.
  • Common:
    • Changed custom request to 0x50 to avoid issues with DWC3.
  • Improved documentation.
  • The Steam Deck is now supported.

v2 2022/06/14

  • The console now powers off if the recovery_menu cannot be loaded from the SD Card.
  • The gadget now supports both full speed and high speed mode, to support more linux systems.

v1 2022/06/06

  • Initial release.

Credits​

Special thanks to Maschell, rw-r-r-0644, QuarkTheAwesome, vgmoose, exjam, dimok789, and everyone else who contributed to the Wii U scene.

External links

Advertising: