Connect Windows 2000 to the Internet using Virtual Modem
This tutorial will get a Windows 2000 computer (the client computer) connected on the network using only it's serial port and a Virtual Modem PPP interface software running on the Raspberry Pi (the host computer), or another host device running the virtual modem interface software. If you have not already, please follow the instructions how to set up Virtual Modem as it is a prerequisite for this tutorial. Make sure the serial cable is connected between the Raspberry Pi and the Windows computer, and that the vmodem.sh script is running on it before attempting this part of the guide.
You can connect to the Internet with the built-in Dial-up Networking (“DUN” for short) of Windows 2000, no network card needed. We will go through the steps how to set up a modem and then a dial-up connection on your Windows 2000 (or later) computer. For the sake of completeness, we will then test the connection using Netscape Communicator 4.0, but you're free to use any web browser.
Once again, please make sure you have VModem set up and running and a serial cable is connected between the Raspberry Pi and your Windows 9x computer before attempting the following steps.
Modem Setup
For you to connect to VModem running on your Raspberry Pi, you must first tell Windows 2000 that you have a modem that you can use, and it is connected to your serial port on your computer and it is a standard Generic Modem. Once you've set up the modem, you can set up the dial-up connection.
This step-by-step guide with screenshots is a work in progress, as I do not have a Windows 2000 computer right now to make proper documentation. This document will therefore be fairly generalized. Please check back later, or join our Discord channel for further information.
Some computers have more than one serial port, usually labeled COM1 and COM2 in Windows. We will be using the first serial port COM1. If you have the Raspberry connected on any other port, make adjustments as necessary.
Go into the Modem settings and select the Serial COM port the Raspberry is connected to. If you've connected your Raspberry Pi via Serial cable to Serial Port 1 (COM1), select Communications Port (COM1).
In the modem properties, you can change the modem speed from the default 19200 to the speed the Raspberry Virtual Modem is communicating at (by default 57600 bps). Make sure both the speed setting on the script and this setting are the same or the script will not work. If you adjust the script, you may need to restart the script (or if you have it running on boot, restart Raspberry Pi entirely with “sudo shutdown -r now” to restart and reload the script with the new speed setting).
When you go to connect, you will dial 1. Dialing 1 will execute the script 1.sh on the Raspberry Pi, which by default initiates a PPP connection with the client computer. You can rename this script to whatever you want if you'd like to customize the phone number. Just make sure the script ends with the .sh extension.
Country code must match your computer's locale.
Leave everything else to their defaults.
Congratulations! This finishes the set up portion of this tutorial.
You will see Windows attempting a connection.
If you have the virtual modem script visible, you will see the Hayes commands being sent from the Windows computer in realtime.
If everything goes well, after a while you will see the Connection Established window. Congratulations!
Windows 2000 now genuinely thinks that you have connected to your Internet Service Provider. You can close the window.
You can check on the status of the connection by double-clicking the dialup connection indicator.
On your first connection, you should see some bytes received and sent. The initial data that was received from Raspberry is the pppd handshake, with the usual network configuration information.
Internet Access
You should now be able to access the Internet. However, many modern websites will require modern security and will refuse to communicate with older web browsers. You can use ProtoWeb to surf the 90's Internet, and I've also went ahead and compiled a list of websites that do work.
-
If you'd like to access archived websites directly from your browser by typing in the
URL, you can use ProtoWeb as a proxy server, which serves archived websites from the 90's. The
ProtoWeb Proxy Server is straightforward to setup in many web browsers, and will allow you access to websites circa 1995-2000.
Warning
Old web browsers are fairly vulnerable to today's hacks and depending on the website(s) visited, may allow malicious software on the computer. Proceed at your caution.
You may use
www.protoweb.org to surf only classic websites, which do not exploit newer browser vulnerabilities.
If you plan on visiting websites that are live today, you may consider disabling Javascript in the web browser settings. If Javascript is enabled, it may cause all sorts of pop-up errors to show up on modern websites to the point where it could make the whole web browser unusable.
Troubleshooting
Unable to establish any connection to the script
It is always a good idea to test the script first using a terminal emulator. Issue simple commands, like HELP or AT to verify the script is responding.
If you get no connection or garbled text, you may try to play with the Flow Control settings. Sometimes you will need to select Hardware, or XON / XOFF for the flow control.
Make sure the serial communication speed matches what the script is operating on.
Make sure you are using the right COM port on the computer or terminal emulation software.
Unable to connect on dial-up
Make sure vmodem script is running on Raspberry Pi
Did you install the Generic 19.2k modem?
Some computers are not capable of operating at fast serial speeds. If you're unable to connect at 57600 or faster, try slower speeds, such as 9600 baud at first. Adjust both the vmodem.sh script and the computer to connect at only 9600 baud. If that works, work your way up to see where the limit for your specific hardware is.
Dial-up connects, but no websites open
Most current websites do not support unencrypted HTTP connections. As far as I understand, old operating systems do no longer have valid certificates, and this prevents connections to most websites. You can still explore archived websites using a Wayback Proxy server. See the section
Internet Access for more information.
If your dial-up connection works, but you're absolutely not able to open any website, even after setting up the proxy server, try checking your IP configuration. In Windows 95, 98 and Me you can view your settings by running WINIPCFG from the Run dialog box.
I've tried everything, but am still not able to connect
Video recap
Get In Touch With Us!
Get support, share your thoughts and report bugs on Discord.