Zachary W. Huang

Home Projects Blog Guides Resume

You Can Share Internet Over Ethernet????

September 14, 2025

I’m in shock. Apparently you can connect two computers over ethernet and have one share its wireless connection to the other???? I have been dealing with devices that don’t have wireless internet for literally years, and it’s always been a struggle trying to work with them without a connection. The problem is you can’t install anything without an internet connection (obviously), which leads a dumb bootstrapping problem. I’ve spent hours getting fresh linux boxes connected to school wifi (WPA2-protected) with text configs on systems where nmcli is not installed (I can’t install it without internet!!).

I just had this same problem with my De-10 Nano SoC I’ve been using for a school project - it only has ethernet, and my house doesn’t have ethernet jacks. No internet means I have to open a TTY over serial. I had to transfer a 7 Mb binary file from my computer to the board, and I figured out a hacky solution where I literally sent the bytes through the serial connection by enabling raw mode in the tty, redirecting the bytes to a file, and then cating the bytes into the tty. For reference, the 115200 baud rate over UART means that this file transfer took 7Mb/(115200bits/s)=8minutes7 \, \text{Mb} / (115200 \, \text{bits}/\text{s}) = 8 \, \text{minutes}. For every new design I compiled, a whole eight minutes just to transfer it to the board to test it. And you thought C++ compile times were bad.

It turns out I should have done a simple Google search. Apparently Windows has Internet Connection Sharing, which lets you use a computer with a working wireless connection share it over ethernet to another device (and Linux has an equivalent too). Like a Gameboy link cable. 🤦

So I can literally just connect my board to my PC with an ethernet cable and boom: internet. I guess there’s no reason why this isn’t technically possible, but I guess I just never realized it 1) actually existed and 2) was built-in to existng operating systems already. Welp, my problems have been solved (for now).

github logo linkedin logo

Zachary W. Huang © 2021-2025