This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
guides:virtual_modem [2019-11-16 03:37] omolini |
guides:virtual_modem [2021-04-10 20:10] omolini [On to the next chapter!] |
||
---|---|---|---|
Line 1: | Line 1: | ||
~~NOTOC~~ | ~~NOTOC~~ | ||
- | ====== The Raspberry Pi Virtual Dial-Up Modem ====== | + | ====== The Raspberry Pi Virtual Modem ====== |
- | //Turn a Raspberry Pi into a virtual Serial Dial-up Modem to connect to the Ethernet or even the Internet // | + | // Dial-Up Internet-Service-Provider-in-a-box ! Turn a Raspberry Pi into a Serial Dial-up Modem to connect to the Internet // |
- | {{ :images:divider3.png?nolink |}} | + | \\ |
- | {{youtube>H-rCLei0sc8?medium}} {{youtube>i_Ax0aNYWP0?medium}} | + | ---- |
+ | \\ | ||
+ | |||
+ | {{ youtube>H-rCLei0sc8?medium }} | ||
+ | |||
+ | \\ | ||
---- | ---- | ||
- | Do you remember the early days of Internet and dial-up connectivity? Early computers used to be connected to the Internet using a modem connected to a telephone network, and the only thing computers needed was a serial COM port for communication, which virtually every computer had. Nowadays every computer sold has some sort of Wi-fi or Ethernet connectivity, but our legacy computers are just left to rot offline! There are many ways you can get a PC online, including getting a 3com 3C503 or 3C509 network adapter, but sometimes a PC just doesn't support network card expansion, or maybe you're not even connecting a PC. Well, if the computer has a serial port, or you'd like to experience the Internet just like in the good old days, you can always use Virtual Modem. | + | |
+ | \\ | ||
+ | Do you remember the early days of Internet and dial-up connectivity? We used to be connected to the Internet using a modem connected to a telephone network, and the only thing computers needed was a serial port for communication, which virtually every computer had. Nowadays every computer sold has some sort of Wi-fi or Ethernet connectivity, but our vintage computers are left to rot offline! I plan to change that. Nowadays, there are many ways you can get a PC online, including getting a 3com 3C503 or 3C509 network adapter, but sometimes an old PC just doesn't have expansion for a network card expansion, or maybe you're not even trying to connect with a PC. Well, whatever piece of technological equipment it may be, as long as it has at least one serial port, a keyboard and a display, you're in luck! Get to experience connecting to the Internet just like during the golden days of the Internet. | ||
+ | |||
+ | \\ | ||
+ | {{ :guides:pics:vmodem-header.png?nolink |}} | ||
+ | |||
+ | \\ | ||
In this four-part tutorial we will build a Raspberry Pi that will act as a serial modem to a legacy computer which will enable a straightforward connection to Internet using a pre-existing serial port on any computer with support for [[wp>Point-to-Point Protocol|PPP]], this includes all Windows computers starting from Windows 3.0 and early Macintosh classics. But PPP support is not strictly required, and even simple serial terminals can connect to the Internet using Linux as a login host. In other words we'll use a Raspberry to convert a serial connection to an Ethernet connection. When all is said and done, your legacy computer will think it's calling a real [[wp>Internet Service Provider]] and establishing an Internet link with them! Your Raspberry Pi will just be telling your computer what it wants to hear, and is actually the one providing access to the Internet using your pre-existing Internet connection. | In this four-part tutorial we will build a Raspberry Pi that will act as a serial modem to a legacy computer which will enable a straightforward connection to Internet using a pre-existing serial port on any computer with support for [[wp>Point-to-Point Protocol|PPP]], this includes all Windows computers starting from Windows 3.0 and early Macintosh classics. But PPP support is not strictly required, and even simple serial terminals can connect to the Internet using Linux as a login host. In other words we'll use a Raspberry to convert a serial connection to an Ethernet connection. When all is said and done, your legacy computer will think it's calling a real [[wp>Internet Service Provider]] and establishing an Internet link with them! Your Raspberry Pi will just be telling your computer what it wants to hear, and is actually the one providing access to the Internet using your pre-existing Internet connection. | ||
- | The [[.:virtual_modem:script|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 [[wp>Bulletin board system|BBS]] phone calls for example. The VModem script was designed to be modular, and allows you to assign your own Linux scripts to specific phone numbers, accessed with standard Hayes "ATD12345"-style commands, and the scripts will be able to do whatever you would like them to do. I will be writing more specific tutorials about these functions at a later time, so stay tuned! | + | {{ :guides:pics:win95-dialup2.png?nolink}} |
- | {{ :guides:pics:google_search_with_ns3.png?450 |}} | + | \\ |
+ | The [[.:virtual_modem:script|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 [[wp>Bulletin board system|BBS]] phone calls for example. The VModem script was designed to be modular, and allows you to assign your own Linux scripts to specific phone numbers, accessed with standard Hayes "ATD12345"-style commands, and the scripts will be able to do whatever you would like them to do. I will be writing more specific tutorials about these functions at a later time, so stay tuned! | ||
+ | \\ | ||
My goal is to have a Raspberry Pi simulate a Standard 56K modem. Your client computer will be able to communicate with it over serial, and through the Raspberry, connect to 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. | My goal is to have a Raspberry Pi simulate a Standard 56K modem. Your client computer will be able to communicate with it over serial, and through the Raspberry, connect to 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 PPP networking experimentation or have a computer 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 computer to the Internet, or any other network, as long as there is a way to use dial-up PPP. Windows 3.0, 3.1 and 3.11 will need an extra program called Trumpet Winsock, but Windows 95 and later operating systems have built-in Dial-up networking. | + | \\ |
- | <WRAP center round info 70%> | + | {{ :guides:pics:netscape-navigator-4-0-header-2.png?nolink |}} |
- | ==== Before we start ==== | + | |
- | There may be better ways to accomplish these tasks. This process worked for me, but if you have improvement suggestions, I'd love to hear from you! Especially if you have ideas how to improve the documentation, or the scripts provided. Also a little disclaimer: I do not take any responsibility direct or otherwise for any damages that may be caused using the material provided in this site. That being said, I've taken all reasonable steps to ensure everything works as intended. | + | \\ |
+ | |||
+ | This guide is useful for anyone who would like to do PPP networking experimentation or have a computer connect to the Internet without a network card. It could also be useful for anyone who would like to experiment with a Simulated Modem. Since pretty much every IBM compatible computer has a RS-232 serial port, technically you could connect any computer to the Internet, or any other network, as long as there is a way to use dial-up PPP. Windows 3.0, 3.1 and 3.11 will need an extra program called Trumpet Winsock, but Windows 95 and later operating systems have built-in Dial-up networking. I will be adding Microsoft TCP/IP-32 for Windows 3.1 support soon. | ||
+ | |||
+ | \\ | ||
+ | <WRAP center round info 60%> | ||
+ | **Disclaimer** \\ I cannot take any responsibility direct or otherwise for any damages that may be caused by using the material provided on this site. That being said, I've taken reasonable steps to ensure everything works as intended. There are likely better ways to accomplish some tasks, and as such I welcome all improvement suggestions! | ||
</WRAP> | </WRAP> | ||
- | On to the next chapter! | + | \\ |
+ | |||
+ | ---- | ||
+ | |||
+ | |||
+ | ===== On to the next chapter! ===== | ||
| [[Guides:Virtual Modem|This Page]] | [[Guides:Virtual Modem:Section 2|2 - Shopping list >>]] | | | [[Guides:Virtual Modem|This Page]] | [[Guides:Virtual Modem:Section 2|2 - Shopping list >>]] | | ||
- | ===== Index ===== | + | ===== Skip to other sections ===== |
- | * [[Guides:Virtual Modem|Section 1 - Introduction]] << You are on this page | + | * [[Guides:Virtual Modem|Section 1 - Introduction]] << You are here |
* [[Guides:Virtual Modem:Section 2|Section 2 - Shopping list]] | * [[Guides:Virtual Modem:Section 2|Section 2 - Shopping list]] | ||
* [[Guides:Virtual Modem:Section 3|Section 3 - Setting up Raspbian]] | * [[Guides:Virtual Modem:Section 3|Section 3 - Setting up Raspbian]] | ||
* [[Guides:Virtual Modem:Section 4|Section 4 - Setting up Virtual Modem]] | * [[Guides:Virtual Modem:Section 4|Section 4 - Setting up Virtual Modem]] | ||
+ | |||
+ | ---- | ||
+ | ===== System specific topics ===== | ||
* [[Guides:Connecting Windows 3.1 to the Internet]] | * [[Guides:Connecting Windows 3.1 to the Internet]] | ||
* [[Guides:Connecting Windows 9x to the Internet]] | * [[Guides:Connecting Windows 9x to the Internet]] | ||
- | * [[Guides:Connecting a Macintosh Classic to the Internet]] COMING SOON | + | * [[Guides:Connecting a Macintosh Classic to the Internet]] | COMING SOON |
- | * [[Guides:Connecting a Digital VT100 compatible terminal to the Internet]] COMING SOON | + | * [[Guides:Connecting a Dumb/Smart Terminal to the Internet]] | COMING SOON |
- | * [[Guides:List of Compatible Websites]] List of classic websites that work with pre-2000 legacy web browsers. | + | |
- | * [[Guides:Virtual Modem:Script|Source code and Coding Examples]] | + | ===== Related topics ===== |
+ | * [[Guides:List of Compatible Websites|Classic website list]] | List of classic websites that work with classic web browsers. | ||
+ | * [[Guides:Virtual Modem:Script|Virtual Modem Source code and Coding Examples]] | ||
+ | * [[http://www.protoweb.org/|ProtoWeb, the 90's Internet Service Provider]] | Connect your retro computer to surf the 90's Web! | ||
---- | ---- | ||
- | ===== Questions? Comments? ===== | + | ===== Screenshots ===== |
- | 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! | + | |
- | | [[:Contact Information]] | | + | | {{:guides:pics:win95-dialup1.png?nolink}} | |
- | ---- | + | \\ |
+ | Virtual Modem can be used in conjunction with ProtoWeb, the 90's Internet Service Provider. | ||
+ | Please visit [[http://www.protoweb.org]] for more information. | ||
+ | \\ | ||
+ | | {{:guides:pics:netscape-navigator-4-0-epic.png?420|}} | {{:guides:pics:netscape-navigator-4-0.png?420|}} | | ||
+ | /* | ||
- | ===== About this site ===== | + | | {{:guides:pics:netscape_cern.gif?420|}} | {{ :guides:pics:netscape_google.gif?420 |}} | |
+ | |||
+ | * | ||
+ | |||
+ | ---- | ||
- | //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. // | + | ===== Get In Touch With Us! ===== |
+ | We welcome any corrections, additions, files or any other handy resources you'd like to share. And if you'd like to become a contributor, we'd would be happy to hear from you! Feel free to share your thoughts and report bugs on our Discord Virtual Modem discussion channels. Click on the Discord logo below to start. \\ | ||
+ | [[https://discord.gg/4w6CpZ8|{{:images:social-discord.png?nolink|}}]] | ||
- | {{tag>Guides Guides:Hardware}} | + | {{tag>Guides Guides:Hardware Guides:Networking}} |