Using The Findings of LibDRC to Make My Own USB Adapter

46 views
Skip to first unread message

Famidawg

unread,
Dec 18, 2025, 11:14:59 PM (6 days ago) Dec 18
to libdrc users
Hi ya'll,

I've been deep in the pits of the Wii U GamePad lately and wanted to share something I'm working on . First, I want to say thanks to everyone who contributed to this project. The reverse engineering work that has gone on here is incredible.

I've been attempting to build a dedicated USB adapter using a BW16 (RTL8720DN) paired with a CH32V307 for USB 2.0 High-Speed. The idea here is to package eveyrthing into a single piece of hardware that handles the Wi-Fi siade while the host PC does the H.264 encoding (and decoding for GamePad camera).

Where I'm at now:
- I have proper WPS pairing working, my adapter is able to go display the four symbols derived from its MAC address and do the regular Wii U sync process so the SSID, PSK, WOWLMac, Channel ect are stored in the GamePad's EEPROM. This was achieved with a mixture of raw frame injection via undocumented SDK internals and hand crafting beacon frames with Nintendo's vendor IEs and implementing the full M1-M8 state machine in software. The GamePad soft reboots and then tries to connect via WPA2.

- I have not yet yet implemented WPA2, but that will be my next task at hand. At least until the CH32V307 dev board arrives.

The reason I'm going the dedicated hardware route is twofold:

1. TSF timing - So with the same chip handling beacons and packet timestamps, I am hopeful that this will sidestep the drift problem mentioned in the docs.

2. All the complexity stays on the adapter side and the end user doesn't have to worry at all about kernel patches (which I have made my own for getting TSF to work with the adapter I bought from Best Buy :P) or any other complexities. The host will just see a USB device and send/receive frames, thus leading to compatibility with Windows, Mac, ect ect.

Still have a long road ahead of me. I did make a fork of cemu that does work with libdrc just as a PoC if it could work, and it did, but TSF drifting kept me from playing it for more than a few minutes. Here's hoping my journey gets me somewhere.

Attached is a video of my adapter thus far. (The OLED display is just for debugging although I mainly use serial of course)

If anyone wants to follow my progress, I have a Discord server  https://discord.gg/2bQHDe5ZXV or you can just email me. :)

Thanks again for all the groundwork.

- Famidawg
Adapter.mov
Reply all
Reply to author
Forward
0 new messages