VOCP System - Install - Vgetty
Installing Vgetty and ensuring it works with your modem is easier than ever with VOCP 0.9
Vgetty may already be installed on your machine - mgetty+sendfax is pretty standard now with many Linux distributions and is also available through the FreeBSD ports system. It includes vgetty and the pvftools we'll be using. If it is installed, you need to make sure that it works with your modem.
The mgetty+sendfax source code (vgetty included) may be found at http://www.leo.org/~doering/mgetty/. It is also distributed in RPM format at sites like Redhat and Mandrake. Just look for a recent version (we are using the source for 1.1.30) of mgetty+sendfax.
Also, if you are unsure of your modem's compatibility, you really should get the source code and compile it - this will help a lot if your modem works with m/vgetty but is not correctly recognized.
The documentation included with mgetty is pretty straightforward - read it. You may compile and install the m/vgetty source manually but if you are unsure of your modem's compatibility, follow these instructions to automatically apply our patch and compile the programs.
Edit the mgetty.config and voice.conf files. These will be found in /etc/mgetty+sendfax or /usr/local/etc/mgetty+sendfax or something similar.
For mgetty.config, the file is well documented and the defaults are usually ok - just ensure that the contents are sane for your setup.
Set up the voice.conf (copy it from the voice.conf-dist in the mgetty-X.X.X/voice source directory if you can't find it) as per the instructions. The most important thing is to
When vgetty is installed, you need to make sure there is a line in /etc/inittab that looks like
SX:345:respawn:/usr/sbin/vgetty ttySXreplacing the X's by the /dev/ttyS[0-3] on which your modem is installed. You now need to get init to re-read the config file, do so by running:
# init qas root to for init to reread its config file.
Now, doing ps waux | grep [v]getty should display something like:
root 17250 0.0 0.3 1656 752 S Dec28 0:00 /usr/local/sbin/vgetty ttyS1Does it? Good. Have a look at the /var/log/vgetty.ttySX file (again replacing X by the appropriate number). It should show vgetty initializing and testing the modem and contain a line like
12/28 19:18:08 yS1 US Robotics detected
If the modem isn't recognized or if it is recognized as some type but gives lots of error messages, you can try to run the ./vgetty-test.pl script. Change into the mgetty source directory produced when you ran install_patched_vgetty.pl - it should be at /path/to/vocp-X.X.X/prog/dependencies/mgetty-patch/mgetty-1.1.30/voice/contrib/Pat_Deegan
Still as root, run the test script. Vgetty-test.pl will ask a few questions and then try to play a sound file through the modem using every possible modem setting and compression level. You will be asked whether you wish to play the file through the handset or speaker - choose something appropriate.
The file will be played multiple times, each time using a different force_detect in the voice.conf file. If you hear nothing or just a garbled squeaking sound, answer 'n' and try the next modem/compression.
When you do find that you can hear the little voice, take note of the modem type and compression method - these will be needed later to configure VOCP. The values will be a modem name (e.g. US_Robotics) and a compression method (which is a numerical value, eg 1).
If all tests fail, your modem may not be supported. See the modems troubleshooting page. If that doesn't help either, join the mgetty mailing list and ask the experts directly, hack yourself some support or get a supported modem.