steptail.com

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

User Tools

Site Tools


guides:virtual_modem:section_4

This is an old revision of the document!


Section 4 - Setting up Virtual Modem

Required packages

  • For the connection script to work properly, your Raspbian installation needs a few prerequisite packages. The most important of these is the PPP daemon “pppd” and IP Tables to route packages.
  • Run the following commands to install pppd and iptables:
sudo apt-get update
sudo apt-get install ppp iptables

Download VModem and adjust settings

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, click here
  • To download and install vmodem, execute the following commands:
sudo mkdir /boot/vmodem
sudo wget http://www.steptail.com/_export/code/guides:virtual_modem:script?codeblock=0 -O /boot/vmodem/vmodem.sh
sudo wget http://www.steptail.com/_export/code/guides:virtual_modem:script?codeblock=1 -O /boot/vmodem/1.sh
sudo wget http://www.steptail.com/_export/code/guides:virtual_modem:script?codeblock=2 -O /boot/vmodem/ppp.sh

  • You have now downloaded the following three files on the Raspberry Pi:
    • /boot/vmodem/vmodem.sh
    • /boot/vmodem/1.sh
    • /boot/vmodem/ppp.sh

Name of the serial port

The VModem script has been preconfigured to use ttyUSB0 as the default serial port name. Usually Raspbian will call its first serial port adapter ttyUSB0 when using USB to Serial converters, and you will not need to modify this script. However, if the name is something different, such as ttyAMA0, you may need to update the script to point to the correct serial port name. The following section described how to double-check your serial port name:

To confirm your serial port name, do the following:

  • Make sure the serial-to-USB adapter is connected.
  • Run the command: ls /dev/tty*

  • If you do not see /dev/ttyUSB0 listed, you will need to update the script with the correct serial port. Visit this page to update the script with the correct serial port.
  • If you do see /dev/ttyUSB0 listed, continue on!

Network test on the Raspberry Pi

This would be a good time to test your network to eliminate any future headaches.

Over SSH run the command:

ping www.google.com
  • Press Ctrl and Z to stop ping.

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:

  • Connect one end of your serial cable to the Raspberry Pi's Serial-USB converter, and the other end to an old computer with a serial port. Use a terminal program such as PuTTY or HyperTerminal, and 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)
  • PuTTY, Trumpet Winsock (Windows 3.1) or Dial-up networking (Windows 95) to connect to the Raspberry Pi.
  • Over SSH, on the Raspberry, issue the following commands.
cd /boot/vmodem
sudo ./vmodem.sh
  • If you see the READY text on the screen, the script is ready to accept connections.
  • To exit VModem and return you back to shell, you can press CTRL + z
  • On your serial terminal, issue a couple of test commands, such as “AT” and then press ENTER. You may need to type AT a couple of times for VModem to sync up.
  • On the serial terminal, this is the output you should be getting:

  • Over on the Raspberry Pi, you should see the corresponding output:

  • If you get any error messages, 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).

Getting online

Check out specific guides on how to interface different computers and devices with VModem:

Make sure vmodem.sh is running on the Raspberry Pi first before attempting connection!

Making Virtual Modem run at startup

After you have verified that the VModem works properly on the console, and you are able to connect to the Internet, you can make VModem run automatically as a background process after the Raspberry Pi is powered on.

  • Run the following command:
sudo sh -c 'printf "`head -n -1 /etc/rc.local`\n\ncd /boot/vmodem\n./vmodem.sh &\n\nexit 0\n" >/etc/rc.local'
  • To restart the Raspberry and test the changes, issue the following command:
sudo shutdown -r now
  • After the Raspberry Pi boots, VModem should automatically start up with the system and start expecting connections on serial.

Skip to other sections

guides/virtual_modem/section_4.1550458900.txt.gz · Last modified: 2019-02-18 03:01 by omolini