How wozt/ax88179_aroma_driver works
This is an experimental Wii U Aroma/WUMS USB Ethernet driver. A background worker initializes the AX88179, starts lwIP, obtains network configuration, and enables an nsysnet compatibility shim for Wii U Menu and game processes. Shim-created sockets use AX/lwIP while pre-existing native sockets remain native. Separate compatibility paths cover DNS, Nintendo NSSL through a localhost relay, and FTP/Wiiload listener handoff. The README documents these capabilities; sampled source confirms the worker’s network startup and polling, but detailed shim and driver call wiring was not sampled.
Main entry points: ax_net.c lwIP network · nsysnet_shim.c nsysnet shim · main.c Module worker · aroma_module PPC relay
Components 18
Aroma runtime
- Module worker
aroma_module/main.c - FunctionPatcher
aroma_module/iosu_patch.c
Ethernet stack
- AX88179 driver
driver/ax88179.c - Wii U USB host
- lwIP network
net/ax_net.c - lwIP system port
net/port/sys_arch.c
Network compatibility
- nsysnet shim
aroma_module/nsysnet_shim.c - DNS compatibility
aroma_module/nsysnet_shim.c - NSSL bridge
aroma_module/nsysnet_shim.c - Native nsysnet
- PPC relay
aroma_module
Listener handoff
- FTP listener handoff
aroma_module - Wiiload listener handoff
aroma_module
Other components
- Menu and games
- DHCP server
- DNS services
- Internet
- Nintendo NSSL
Connections 22
- Menu and games → FunctionPatcher: patched exports
- Module worker → AX88179 driver: initializes
- Module worker → lwIP network: starts and polls
- Module worker → nsysnet shim: starts and stops
- FunctionPatcher → nsysnet shim: dispatches exports
- AX88179 driver → Wii U USB host: USB I/O
- lwIP network → AX88179 driver: Ethernet frames
- lwIP network → lwIP system port: uses port
- lwIP network → DHCP server: requests configuration
- lwIP network → Internet: routes traffic
- nsysnet shim → lwIP network: routes shim sockets
- nsysnet shim → Native nsysnet: preserves native sockets
- DNS compatibility → lwIP network: resolves via AX
- DNS compatibility → DNS services: uses when system mode
- Nintendo NSSL → Native nsysnet: opens socket
- NSSL bridge → PPC relay: bridges encrypted stream
- PPC relay → Native nsysnet: uses localhost socket
- PPC relay → lwIP network: forwards bytes
- Module worker → FTP listener handoff: enables handoff
- Module worker → Wiiload listener handoff: enables handoff
- FTP listener handoff → nsysnet shim: recreates listener through
- Wiiload listener handoff → nsysnet shim: recreates listener through