Dec 9 2019
The Nintendo Switch Switch
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 .
cynthia@cynthia-switch:~$ lsusb Bus 002 Device 002: ID 057e:200c Nintendo Co., Ltd Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 001 Device 009: ID 057e:200a Nintendo Co., Ltd Bus 001 Device 011: ID 2357:0601 Bus 001 Device 005: ID 0b95:7e2b ASIX Electronics Corp. AX88772B Bus 001 Device 012: ID 04d9:0348 Holtek Semiconductor, Inc. Bus 001 Device 004: ID 1a40:0101 Terminus Technology Inc. Hub Bus 001 Device 002: ID 057e:200c Nintendo Co., Ltd Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
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.
... continue reading