Online Documentation Server
Net technology
Web technology
Data bases
Other docs



Вся предоставленная на этом сервере информация собрана нами из разных источников. Если Вам кажется, что публикация каких-то документов нарушает чьи-либо авторские права, сообщите нам об этом.

Mgetty + PPP

The mgetty configuration outlined here is valid for the following system:

  • Pentium-based System
  • Slackware Linux 3.0
  • Linux Kernel 2.0.27
  • Modules 2.0
  • Shadow-ina-box-1.2
  • pppd version 2.2.0f
  • Cyclade Cyclom 16YeP
  • Cardinal 33.6 Modem
  • mgetty 0.99xand higher

Should any of the above links fail for whatever reason, the best place for beginning your search would be either John Taylor's Bleeding Edge Linux Page,, or Bill Latura's Linux Applications page,

Gert Doering, author of mgetty+sendfax, has made available his instructions on the sendfax portion of mgetty+sendfax. You may find it at

Kernel Configuration.

You will need ppp support. Enabling such support is far beyond the scope of this document. (Infoseek < 'pppd | Linux' = 786 possible sources for support.)

pppd Configuration.

The directions are well written. You should have no trouble building. If you are using the shadow password package, build using:


I found it necessary to edit line 54 of 'ppp-2.2.0f/pppd/auth.c' and provide the correct path to the 'pwauth.h' file from the shadow suite. (If you use the *in-a-box* package, it may be found in '(../shadow-ina-box-1.2/shadow-96xxxx/pwauth.h))'.

mgetty Configuration.

An excellent program from Gert Doering. Capable of far more than simply Auto_PPP. Obtain it from one of the sites listed above (you should have version 0.99x or higher) and unpack as you desire.

(You are *reading* the instructions for all these packages, yes? : ) policy.h should be tuned for your system. Somewhere around line 99, for instance, you'd probably check on:

#define DEVICE_GROUP    "modem"

(The defined group must exist, i.e., groupadd -g 800 modem.)

Then, in the vicinity of line 276 you may want:

#define DEFAULT_PORTSPEED   115200

..and line 297 will appear something like the following for a Cardinal 33.6. (USR 28.8 responds well to the same string):

#define MODEM_INIT_STRING   "ATE1V1Q0&S0&D2&C1S0=0S13=1"

(*Other* modems may need only "ATE1V1Q0&D2&C1S0=0". Mgetty responds to the "RING" of the modem, so S0=1 is *not* needed.)

Next, you will need to make one edit on, or near line 110 of the Makefile. It should look like this:

CFLAGS=-02 -Wall -pipe -DAUTO_PPP

Now, build according to the instructions.
make make testdisk
make install

You'll next want to edit the login.config file in the ../etc/mgetty+sendfax directory of your chosen installation path. Comment out line 42 (assuming you don't want FIDO), and edit line 50, or somewhere thereabouts, as follows:

/AutoPPP/ - - /usr/sbin/pppd auth login +pap -chap modem crtsct
s proxyarp lock

Remove the 'proxyarp' option if you're using a standalone server or want you dialup users to remain local.

(Note: The second "-" causes for the users login name to appear in utmp/wtmp.)

Edit your /etc/inittab file to reflect you hardware. Utilizing 8 ports of a Cyclades Cyclom board would look as follows:

s0:45:respawn:/usr/local/sbin/mgetty -D -x2 /dev/ttyC0
s1:45:respawn:/usr/local/sbin/mgetty -D -x2 /dev/ttyC1
s2:45:respawn:/usr/local/sbin/mgetty -D -x2 /dev/ttyC2
s3:45:respawn:/usr/local/sbin/mgetty -D -x2 /dev/ttyC3
s4:45:respawn:/usr/local/sbin/mgetty -D -x2 /dev/ttyC4
s5:45:respawn:/usr/local/sbin/mgetty -D -x2 /dev/ttyC5
s6:45:respawn:/usr/local/sbin/mgetty -D -x2 /dev/ttyC6
s7:45:respawn:/usr/local/sbin/mgetty -D -x2 /dev/ttyC7

However, using a modem attached to a standard serial interface, I needed the following under Slackware:

s0:45:respawn:/usr/local/sbin/mgetty -D -x2 -R 45 /dev/ttyS0
s1:45:respawn:/usr/local/sbin/mgetty -D -x2 /dev/ttyS1

The "-R 45" is optional. Mgetty is designed to allow you to use your voice line to also handle dialup connections. With '-R xx' enabled, a caller simply needs to call once, hangup; then call again within xx seconds. Mgetty will ignore the first call, then respond promptly to the second. (Again, read the manual.) If you have problems using :23: as a run-level (i.e., everything seems fine, but the modem doesn't pick-up), try :45:

You must provide the correct path to your mgetty executable, i.e.,

/usr/sbin/mgetty, /usr/local/sbin/mgetty.

Do a 'kill -1 1'. You should see your modem(s) initialize.

Try dialing in from a remote machine. If the modem answers, then mgetty works. (If your modem answers, its very unlikely that any additional problems are related to mgetty, assuming you have a modem that supports 115200).

Further pppd Configuration.

You'll want to use 'pppd' as the login shell for the account established to handle dialins. You '/etc/passwd' file should look something like:

pppuser:*:xxx:800:PPP Dialup:/users1/ppp/pppuser:/usr/sbin/pppd

You'll now need to get the various "/etc/ppp/options" files correct. I have my system configured to dial out using pppd as well as receive incoming calls. I have the relevant pppd files configured similar to the following:


/etc/ppp/options/ttyCx (Cyclades ports)


/etc/ppp/options.ttyS0 (for serial ports)

Rename or remove 'pap-secrets' and try dialing in again from a Windows '95 machine. (There is some controversy on 'pap-secrets' file. Al Longyear, however, says remove it, and I removed it. It works fine for me. Logins are flawless: every time.

The '95 box need only create a new connection. Add the phone number, login name and password, and everything should go fine.

Additional Notes.

I've received questions regarding pop mail for '95 clients after they're connected. Tim Sailer wrote a patch for qpopper. It compiled for me without a hitch. It can be found at along with a collection of helpful tools and scripts written or collected by Tim Sailer. You will also find additional information regarding mgetty.

Should you be having modem problems, or are having problems defining the correct /etc/inittab entry, I suggest you read Greg Hankins, Linux Serial HOWTO. It is a valuable reference.

Tim Sailer also provides an excellent solution for setting up dynamic IP addressing.

Mgetty, (as you've certainly read by now;), is capable of far more than AutoPPP. It handles both fax and voice, and is being actively developed by a dedicated team.

Version 2.2.0f of pppd is stable and is covered by a broad number of websites.

Suggestions or comment should be directed to:

Mick Dennis

Last modified: 31 August 1997 10:44:00 EST

With any suggestions or questions please feel free to contact us