Yesterday I had the idea that it would be cool if I turned a Nintendo Switch (will be referred to as NX to avoid confusion as NX is the code name for the Nintendo Switch) console into an actual network switch. I thought about it a bit and realized that it would be doable in hardware at least, since the NX docking station has USB-A ports.
Next step is software, while I have done some NX homebrew stuff in the past, it didn’t sound fun implementing this pretty much from scratch. But then I remembered switchroot that has Android and Linux for the NX and setting up a network switch inside Linux would be easy.
So the first step was to install switchroot Ubuntu. I just flashed the image file to an SD card, booted it with hekate (a boot loader for the NX) and followed the setup wizard.
After that was done, I plugged in the USB Ethernet dongle, opened a terminal on the switch and executed lsusb.
My dongle is 2357:0601, For some reason it does not have a vendor name but I confirmed that was not unique to the switch so proceeded along.
However, when I checked ip link all I saw was interfaces internal to the NX like lo and the WiFi interface, but no USB network card. To help debug why my USB interfaces were not showing up, I used the usb-devices tool and saw Driver=(none) for my USB Ethernet dongle. :(
I was honestly a bit confused and not sure what to do next, I tried re-compiling the kernel and all sorts of stuff that didn’t help.
Then I realized. On the download page for switchroot there is an updates folder, so I tried that.
All I had to do was download the update zip and extract it to the boot partition of the SD card after I had deleted the boot directory and the boot.scr file. I put the SD card in the NX again and booted it back up with hekate.
Upon opening a terminal and running ip link I was presented with this:
🎉🎉🎉 Finally I had gotten the dongles to work and it was only the configuration left!
So I just did some quick configuration with brctl and ip:
Then I connected one dongle to my LAN and one to a computer that I used for testing.
And after checking twitter.com on the test computer finally it was all working!
A speedtest shows that it can at least do 90Mbps (one of my dongles is only 100Mbps).
If this was to your liking then maybe you will find my Twitter interesting @bitcynth.
I have some other plans related to this that will be posted soon™.