Thank you to everyone who has worked on this project so far. I wanted to make it easier to modify the binary SDIO uploaded in post #11 using the instructions wii121 provided in post #44.
I made a CGI script that will modify the binary for you with a random MAC address using the Nintendo OUIs expected to be found in an official Nintendo USB Ethernet dongle (00:1E:A9, 00:22:AA, 00:24:44, 00:09:BF) for the first three bytes. The last three bytes will be completely randomized.
The serial number in the SDIO-provided binary will always default to 0009C2. To prevent USB enumeration collisions on your host OS in use cases not involving a Wii U, my CGI script dynamically changes the serial number string to match the last three bytes of your randomly generated MAC address.
More importantly, the script automatically handles the 16-bit little-endian pairwise swapping required by the ASIX EEPROM map. It mathematically aligns the MAC address and natively encodes the serial string into the strict 12-byte UTF-16LE boundary, saving you from doing this manually in a hex editor and risking a corrupted descriptor.
Please backup your original firmware before flashing the payload you get from my CGI script. In the future, I plan on allowing users to upload their original binary to extract their factory serial number and MAC address, which will then populate as the defaults in the input fields. I also plan to add options for custom "Product" and "Manufacturer" strings, though these are strictly cosmetic and not required for the Wii U driver whitelist.
Currently, there is no web UI or input fields, but hitting the script will automatically generate a structurally safe payload with a unique Nintendo MAC so you can use as many A1277 devices on your network as you want without layer 2 conflicts.
This is my first post on this site, so I can't link to the CGI script. It's available at my username dot com / ethernet.