steptail.com

How many light bulbs does it take to change a penguin?

User Tools

Site Tools


guides:virtual_modem:section_4

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
guides:virtual_modem:section_4 [2020-02-19 02:10]
omolini [Further steps]
guides:virtual_modem:section_4 [2021-04-14 18:56]
omolini [Skip to previous sections]
Line 11: Line 11:
 In the next chapter we will download and install vmodem onto your Raspberry linux box! In the next chapter we will download and install vmodem onto your Raspberry linux box!
  
-  * If you would like to view the source code and more coding examples, ​[[Guides:​Virtual Modem:​Script|click here]] +  * If you would like to optionally ​[[Guides:​Virtual Modem:​Script|view the source code and a few more coding examples, ​click here]] 
-  * To download and install vmodem, execute the following commands:+  * To just download and install vmodem, execute the following commands:
 <code bash> <code bash>
 sudo mkdir /​boot/​vmodem sudo mkdir /​boot/​vmodem
Line 27: Line 27:
   * Make sure they are executable:   * Make sure they are executable:
 <code bash> <code bash>
-chmod 770 /​boot/​vmodem/​vmodem.sh +sudo chmod 770 /​boot/​vmodem/​vmodem.sh 
-chmod 770 /​boot/​vmodem/​1.sh +sudo chmod 770 /​boot/​vmodem/​1.sh 
-chmod 770 /​boot/​vmodem/​ppp.sh+sudo chmod 770 /​boot/​vmodem/​ppp.sh
 </​code>​ </​code>​
  
Line 40: Line 40:
   * Run the command: ''​**ls** /​dev/​tty*'' ​   * Run the command: ''​**ls** /​dev/​tty*'' ​
 {{ :​guides:​pics:​raspberry_serial_port_3.png |}} {{ :​guides:​pics:​raspberry_serial_port_3.png |}}
-    * If you **do not** see ''/​dev/​ttyUSB0''​ listed, you will need to update the script with the correct serial port. Visit [[Guides:​Virtual Modem:​Section 4:Changing the serial port|this page]] to update the script with the correct serial port. +    * If you **do not** see ''/​dev/​ttyUSB0''​ listed, you will need to update the script with the correct serial port. [[Guides:​Virtual Modem:​Section 4:Changing the serial port|Visit this page]] to update the script with the correct serial port. 
     * If you **do** see ''/​dev/​ttyUSB0''​ listed, continue on!     * If you **do** see ''/​dev/​ttyUSB0''​ listed, continue on!
 +
 +==== Name of the ethernet interface ====
 +For the sake of this tutorial we have used wired Ethernet. If you want to use Virtual Modem over a **wireless connection**,​ you will need to make sure it is properly set up, then update the script where it says ''​etherp=eth0''​ to say ''​etherp=wlan0''​ instead. To change the ethernet port in the vmodem.sh script, do the following:
 +  - Run ''​sudo nano /​boot/​vmodem/​vmodem.sh''​
 +  - Find the line ''​etherp=eth0''​ and change it to read ''​etherp=wlan0''​.
 +  - Save file by pressing CTRL + o, then ENTER to save under the same name.
 +  - Exit editor with CTRL + x.
  
 ==== Network test on the Raspberry Pi ==== ==== Network test on the Raspberry Pi ====
 This would be a good time to test your network to eliminate any future headaches. This would be a good time to test your network to eliminate any future headaches.
  
-Over SSH run the command: +  * Over SSH run the command: ​''​ping ''''​www.google.com''​ 
-<code bash> +  * If you get ping replies, you are all set and the networking on your Raspberry Pi is working. 
-ping www.google.com +  * Press Ctrl Z to stop ping. 
-</​code>​ +
-  * Press Ctrl and Z to stop ping. +
 ==== Initial VModem testing ==== ==== Initial VModem testing ====
 To test VModem, you should be able to simply run the script. Test it first over SSH to see it's output: To test VModem, you should be able to simply run the script. Test it first over SSH to see it's output:
  
-  * Connect ​one end of your serial cable to the Raspberry Pi, and the other end to a client ​computer which has a terminal software installed. You can use any terminal, such as [[https://​www.chiark.greenend.org.uk/​~sgtatham/​putty/​latest.html|PuTTY]] or the built-in HyperTerminal on Windows 9x. +  * If you have not done so already, connect ​one end of your serial cable to the Raspberry Pi's USB-to-serial adapter, and the other end of the serial cable to a computer which has a terminal software installed. You can use any terminal, such as [[https://​www.chiark.greenend.org.uk/​~sgtatham/​putty/​latest.html|PuTTY]] or the built-in HyperTerminal on Windows 9x. 
   * Make sure you set the appropriate serial speed settings on the terminal program before you connect (by default VModem is set to operate at 57600 bps).    * Make sure you set the appropriate serial speed settings on the terminal program before you connect (by default VModem is set to operate at 57600 bps). 
   * Connect with the terminal program to the Raspberry Pi.   * Connect with the terminal program to the Raspberry Pi.
Line 63: Line 68:
 </​code>​ </​code>​
  
-  * If you see the READY text on the screen, the script is ready to accept connections. +  * If you see the READY text on the Raspberry Pi, the script is ready to accept connections. 
-  * To exit VModem and return you back to shellyou can press **CTRL + z** +  * Nowopen up a SERIAL terminal on the computer, and issue a few basic Hayes commands. First press ENTER a couple of times to sync upThen type "​AT"​ and then press ENTER. You should receive an "​OK"​ response. ​ 
-  * The script emulates ​a few basic Hayes commands, so you should be able to issue the AT command on the terminalType "​AT"​ and then press ENTER. You should receive an "​OK"​ response. If you do notyou may need to sync up the connection by pressing ENTER a couple of times. If you still do not receive ​response, something may be wrong with the serial settings, or with the connection to the Raspberry Pi. Also check to see that the vmodem.sh script is running. If it is, it should echo your input on the serial terminal to the script'​s output.+    * If you receive a garbled or no responsethe serial speed settings ​may be wrong. Make sure both computers are set to the same serial speed. 
 +    * If you do not receive ​any response, something may be wrong with the serial settings, or with the connection to the Raspberry Pi. Does the computer have a fast 16550 UART and a good USB-to-Serial adapter? (check section 2 of this tutorial).  
 +    * Check to see that the vmodem.sh script is running ​and is receiving your keystrokes. If it working, it should echo your input from the serial terminal to the script'​s output
 +    * If you're still not able to get it working, see the Troubleshooting section below
   * On a serial terminal, this is the output you should be getting:   * On a serial terminal, this is the output you should be getting:
 {{ :​guides:​pics:​vmodem_hyperterm.png?​600 |}} {{ :​guides:​pics:​vmodem_hyperterm.png?​600 |}}
Line 72: Line 80:
  
 ===== Getting online ===== ===== Getting online =====
-Now you can proceed to check out the system specific guides on how to interface different vintage computers and devices with VModem:+Now you can proceed to check out the system specific guides on how to interface different vintage computers and devices with VModem. Once you are done, return back to this guide!
  
   * [[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 Serial Terminal ​to the Internet]] COMING SOON 
 + 
 +*/ 
  
 Make sure vmodem.sh is running on the Raspberry Pi first before attempting connection! Make sure vmodem.sh is running on the Raspberry Pi first before attempting connection!
Line 84: Line 97:
 After you have **verified** that the VModem works properly on the console, and you have tested that you are able to connect to your network, you can make VModem run automatically as a background process after the Raspberry Pi is powered on. It will run as a background process so you won't see it's output, so it's highly recommended to thoroughly test the script first. After you have **verified** that the VModem works properly on the console, and you have tested that you are able to connect to your network, you can make VModem run automatically as a background process after the Raspberry Pi is powered on. It will run as a background process so you won't see it's output, so it's highly recommended to thoroughly test the script first.
  
-  * Edit the /​etc/​rc.local file. Make sure your /etc/rc.local has the following ​at the bottom:+  * Edit the **/​etc/​rc.local file**Go to end of the file, and find the last lineIt should be ''​exit 0''​. Now add the following ​lines **ABOVE** it. 
 <code bash> <code bash>
 # Start serial port and simulate a modem # Start serial port and simulate a modem
 cd /​boot/​vmodem/​ cd /​boot/​vmodem/​
 /​boot/​vmodem/​vmodem.sh & /​boot/​vmodem/​vmodem.sh &
-exit 0 
 </​code>​ </​code>​
  
-  * You can alternatively run the following command on the Raspberry Pi shell which will do the appropriate changes for you: +Beware ​the ampersand "&"​ at the end of the lineWithout it, the boot process may not complete correctly (or at all).
-<code bash> +
-sudo sh -c '​printf "`head -n -1 /etc/rc.local`\n\ncd /boot/​vmodem\n./​vmodem.sh &​\n\nexit 0\n" >/etc/rc.local'​ +
-</​code>​+
  
 +  * Restart Raspberry and test the changes. After rebooting, VModem should automatically start up with system processes and start expecting connections on serial.
  
  
-  * Restart Raspberry and test the changes. After rebooting, VModem should automatically start up with system processes and start expecting connections on serial.+===== Troubleshooting =====
  
-==== Further steps ==== +**Cannot communicate on serial terminal with the vmodem script**\\ 
-You can now proceed ​to connect ​your retro machine ​to the Internet ​using Virtual modem.+After running the Virtual Modem script on the Raspberry Pi, and connecting it to your computer via the USB-to-Serial adapter and a null modem cable, you should be able to fire up a simple serial terminal on the computer and issue a few Hayes commands to ensure connectivity. Hayes commands are a common way to communicate with Modems, and by typing AT and pressing enter in the terminal, you should see an "​OK"​ response. The vmodem script also recognizes other commands, such as HELP which should provide a short list of recognized commands). If you receive a garbled response after typing AT or HELP, your serial speed settings may not be the same on both ends. Make sure you have adjusted the communication speed to match. If you receive no response whatsoever, you might have a problem with the USB-to-Serial adapter or you may be using an older UART on your computer (see section 2 for more on this). If you're still unable to communicate with the VModem script, feel free to join our Discord channel (see bottom of page for link) for further support. Simple tutorials can only go so far..:)
  
-  * [[Guides:​Connecting Windows 3.1 to the Internet]] 
-  * [[Guides:​Connecting Windows 9x to the Internet]] 
-  * [[Guides:​Connecting a Macintosh Classic to the Internet]] | COMING SOON 
-  * [[Guides:​Connecting a Dumb/Smart Terminal to the Internet]] | COMING SOON 
  
-===== Troubleshooting ===== 
  
-* 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 computer is. +**After dialing in, system is disconnected immediately**\\ 
-  * If you run into any other issues, take a note of them and look for commonalities in any steps you've taken before this step. Open up the script vmodem.sh for editing to make sure the baud and serial port are properly set. If you're unable to figure it out, feel free to contact ​me (see bottom of page).+Make sure you are using the latest version of the Virtual Modem script. An early version had an issue where the serial connection would be cut before the network connection was established. Also, be sure to make sure your serial baud settings are correct, and they match the virtual modem script. Finally, try turning off Flow Control from the Modem Settings under Advanced Settings. 
 + 
 +**After dialing in, system reports connected, but no network is available**\\ 
 +Make sure you have updated the network device in **vmodem.sh** to reflect the correct network interface. By default it is eth0. If you are using Raspberry on WIFI, you may need to change this to wlan0. 
 + 
 +**Other issues:** 
 +  ​* 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 computer is. 
 +  * If you run into any other issues, take a note of them and look for commonalities in any steps you've taken before this step. Open up the script vmodem.sh for editing to make sure the baud and serial port are properly set. If you're unable to figure it out, feel free to contact ​us at Discord. We have a channel specific for Virtual Modem support ​(see bottom of page). 
 + 
 +==== Related Topics ==== 
 +  * [[http://​www.protoweb.org/​|ProtoWeb - The 90's Internet Service Provider]] | Connect your retro computer to surf the 90's Web! 
 +  * [[Guides:​List of Compatible Websites]] | List of classic websites that work with pre-2000 legacy web browsers. 
 +  * [[Guides:​Virtual Modem:​Script|Virtual Modem Source code and Coding Examples]] | These should help you get started with building new modules for Virtual Modem. 
 + 
 + 
 +----
  
-==== Skip to other sections ====+==== Skip to previous ​sections ====
  
   * [[Guides:​Virtual Modem|Section 1 - Introduction]]   * [[Guides:​Virtual Modem|Section 1 - Introduction]]
Line 120: Line 140:
   * [[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]] << You are here   * [[Guides:​Virtual Modem:​Section 4|Section 4 - Setting up Virtual Modem]] << You are here
 +  * [[Guides:​Virtual Modem:​Section 5|Section 5 - Using Virtual Modem]]
  
-==== Related Topics ==== +----
-  * [[Guides:​Virtual Modem:​Script|Source code and Coding Examples]] +
-  * [[Guides:​List of Compatible Websites]] | List of classic websites that work with pre-2000 legacy web browsers. +
-  * [[Guides:​Virtual Modem:​Script|Virtual Modem Source code and Coding Examples]] +
-  * [[Guides:​Web Archive Proxy|Steptail Wayback Proxy Server]] | Connect your retro computer to a mirrored copy of the Internet as it was in 1996!+
  
-----+==== Get In Touch With Us! ==== 
 +Get support, share your thoughts and report bugs on Discord. \\ 
 +[[https://​discord.gg/​4w6CpZ8|{{:​images:​social-discord.png?​nolink|}}]] ​
  
-Questions? Comments? [[:Contact Information|Contact Me!]]+{{tag>​Guides Guides:Networking}}
  
guides/virtual_modem/section_4.txt · Last modified: 2023-11-24 23:16 by omolini