steptail.com

Who put the alphabet in alphabetical order?

User Tools

Site Tools


guides:virtual_modem

This is an old revision of the document!


VMODEM - A Raspberry Pi Serial to Ethernet interface

Turn a Raspberry Pi into a Modem Emulator to provide Ethernet access to serial terminals and legacy computers.


Anyone remember the good old days of dial-up connectivity? Well, back in 80's and 90's, computers connected using a dial-up modem, and the only thing the computers needed was a serial COM port for communication (USB didn't exist back then!). Nowadays every computer sold has some sort of Wi-fi or Ethernet connectivity, and our old legacy computers are just left to rot! Well, I'm planning on changing that! Why? For fun, of course! :-D

In this four-part tutorial we will build a Raspberry Pi that will be able to present itself as a serial modem to a client computer which will enable easy connection to Internet using their pre-existing serial port on any Windows 3.1/95/98/Me and any other operating system with built-in support for PPP. In other words we'll be using a Raspberry Pi to translate a serial connection into an Ethernet connection. When all is said and done, your Windows 3.1/9x computer will be fooled to think that it's calling an actual Internet Service Provider and establishing an Internet connection with them. This will in fact just be your Raspberry Pi telling your computer what it wants to hear, and is just providing access to the Internet using your pre-existing Internet connection.

The Virtual Modem script will not only allow you to connect your old computer to the Internet, it will allow you to use the serial connection to login to the console of the Raspberry Pi or fake BBS phone calls for example. The script was designed to be modular, and will allow you to assign your own Linux scripts to specific phone numbers, accessed with standard Hayes “ATD12345”-style commands. I will be writing specific tutorials about these functions at a later time.

The end result will be a Raspberry Pi that will simulate a Generic 57600 baud modem. Your client computer will be able to communicate with it over serial, and through the Raspberry, connect to the network and the Internet. The baud rate can be changed to your liking. I've tested the virtual modem at the following symbol rates: 9600, 19200, 38400 and 57600 baud.

This guide is useful for anyone who would like to do networking or connect to the Internet without a network card. It could also be useful for anyone who would like to experiment with a Virtual Modem. Since pretty much every IBM compatible computer has a RS-232 serial port, technically you could connect any older PC compatible computer to the Ethernet, as long as there is a way to use PPP. Windows 3.1 will need an extra program called Trumpet Winsock, but Windows 95 and later operating systems have PPP built-in!

Heed my word! But just in case...

There may be better ways to accomplish the task at hand. I've designed this process according to what has worked for me, and there are probably a plethora of ways this process could be improved. I welcome any improvement ideas and fixes to the guide and scripts provided. Also, naturally I cannot take any responsibility direct or indirect of any damages that may be caused by following these instructions. All materials are provided AS IS, however I've taken every reasonable step to make sure everything should work as intended.

On to the next chapter!

Index

Questions? Comments?

I welcome any corrections, additions, files or any other handy resources you'd like to share. And if you'd like to become a contributor, I would be happy to hear from you!


About this site

Resources on this site are provided as-is. I cannot guarantee that the information is accurate and/or that the software will work as expected in your case. As such, I cannot be held responsible or liable for any damage(s) caused either directly or indirectly by using any of the resources on this site, or by relying on other information I have provided. That said, I've made every effort to make sure the information and resources provided on this site are as accurate as possible.

guides/virtual_modem.1550462446.txt.gz · Last modified: 2019-02-18 04:00 by omolini