Sharing internet connection over serial
I have a Windows 95 laptop, which at the moment I can only connect to via serial. This has been great for sending files back and forth, but I would love to get it connected to the internet so I can connect to BBSes etc, directly.
My laptop is running Manjaro, and the serial device is a USB-to-serial dongle which has been working great. I have done some reading about SLIP and PPP, but I am unclear whether these actually share the network connection I have, or if they just create a new dedicated network connection that is only used for communication between the two systems. I tried getting PPP running, but Windows 95 would not connect to it.
Any advice or resources would be greatly appreciated!
Man, I haven’t thought about this in years. I wanted to do this back in the day, but I never got it working.
I imagine it would create a point to point connection between the two machines, then you would have to set up the manjaro machine as a router with iptables.
There are nothing "magic" in PPP or SLIP. They work is about the same way as Ethernet connection between two machines would (except slower and point-to-point).
After than you still need to share an internet connection:
Windows 95 (original release) doesn't support neither PPP nor SLIP directly. You need something like Trumpet Winsock. Later versions (OSR2, etc) do support Internet-over-serial (some standalone releases of MSIE 3.01 also include appropriate files) or but I'm not even sure how hard or easy it would be to setup that: I think I only ever used Ethernet to connect Windows 95 to anything (and then Linux did the appropriate SLIP/PPP dance).
Just run the DUN14 update on Windows 95 (RTM or OSR 2), and that should take care of any client side PPP issues.
The complicated part is the server side. A PPP server may not default to sharing/routing a internet connection but Linux certainly can do that.
I was reading something about this the other day. The guide is for DOS, but you could probably modify it to suit Windows 95. At least, the server side part should be similar: https://medium.com/swlh/connecting-a-286-dos-pc-to-the-internet-through-a-serial-connection-in-2019-b93a422ff094
Where can I get this update? I had to manually copy across the driver file to add a SLIP connection, but I'm not sure I set it up properly.> @nick99nack said:
Thanks, I had seen similar instructions that didn't work but that post seems to have more detail. I will definitely give it a shot!
Update is still available from Microsoft, surprisingly enough:
Alright, so I've made a little progress. I installed the Dial-Up Networking 1.4 update (took me a while to realize that is what DUN stands for). I also installed Trumpet Winsock, so I have some options. I'm not entirely sure what the DUN1.4 update has added, or what steps I need to take on the Win95 side.
On the Linux side, I was able to get a SLIP connection set up using slattach:
sudo slattach -v -d -p slip -s 115200 /dev/ttyUSB0
I then followed some instructions that I found (which make sense, based on what I know about iptables):
sudo ifconfig sl0 172.16.180.1 pointopoint 172.16.180.2 up
iptables -t nat -A POSTROUTING -o sl0 -j ACCEPT
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
That all seems to work fine. However that is putting the cart before the horse a little bit, because I can't get the Win95 machine to even start the SLIP connection. In WinSock, I created a new profile, which is Direct to COM1, using SLIP. I put the 172.16.180.2 as the IP address, 22.214.171.124 as the DNS server, and made sure the COM1 settings were 115200 8N1, no flow control. (I also tried with hardware flow control, just in case).
The connection simply times out when WinSock tries to connect. On the Linux side, I don't see any activity in the slattach window. Even when I stop slattach, and simply open a serial console at 115200, and then try and connect, I don't see any activity coming from the Win95 machine.
I also tried creating a generic 14400bps modem on COM1, and changing the connection type to SLIP. This is of course expecting to first dial a phone number, and communicate with an actual modem, so I assumed this wouldn't work. But just for kicks I tried connecting, and I can see activity on the serial console on the Linux side when doing this.
So I'm a bit stuck on getting the Win95 machine to communicate. It seems like WinSock isn't actually sending anything over the serial connection when it is trying to connect. Is it expecting there to be a device in Modems/Network Adapters? Or does it bypass the Windows drivers and just directly send commands to the serial interface?
I did try pppd but the ppp0 interface wasn't created when I ran the command, for some reason. Any advice/usage tips for WinSock would be appreciated. Alternate methods via built-in Dial-Up Networking would be fine as well, I don't really care what software I use, as long as I can get it working!