Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 11 Nov 1996 17:18:05 -0600 (CST)
From:      Joe Greco <jgreco@brasil.moneng.mei.com>
To:        john@starfire.mn.org
Cc:        jgreco@brasil.moneng.mei.com, neal@pernet.net, freebsd-isp@freebsd.org
Subject:   Re: modems for dial-in/dial-out on FreeBSD(UNIX) (was: PPP/LCP sensing getty)
Message-ID:  <199611112318.RAA20128@brasil.moneng.mei.com>
In-Reply-To: <199611112230.QAA16305@starfire.mn.org> from "john@starfire.mn.org" at Nov 11, 96 04:30:36 pm

next in thread | previous in thread | raw e-mail | index | archive | help
> This discussion has generalized beyond PPP/LCP now -- this information
> is generally useful to anyone supporting dial-in connections, and
> especially those sharing modems and lines for in and out.  In fact,
> Joe and I ought to prepare something on this for the FAQ, I suspect!

I guess I have the experience :-(

I was really into modems and stuff back in Commodore days.  I wrote 
some fairly sophisticated assembly language code for a BBS package that
I developed.. totally rewrote console I/O, etc.  It was the only BBS
software I ever saw where one could drop to "READY.", load, edit, and/or
run other programs, and still handle the console and exceptional
conditions such as carrier loss correctly...

I remember being one of the VERY few people (half a dozen total, they 
said) who wrote a working bit of code to correctly answer a Volksmodem 
1200 baud _dumb_ modem...  one had to sit there and twiddle bits in 
exotic ways.  Eccch.

I think my real claim to fame was writing a bit of code that sat on the
modem port listening for "CONNECT^M", "NO CARRIER^M", etc. as part of
the data stream, because one never really knew if what one was seeing on
the "control" lines of the modem port was reasonable and accurate...

I spent many hours struggling with how the hell to get an AT command set
modem to do precisely what I wanted, under all circumstances.  :-(

I do not consider modems with in band status and control capabilities to 
be fun.  :-(  :-(  :-(  :-(  :-(  :-(  :-(  :-(  :-(  :-(  :-(  :-(  :-(

> > > I tried using the patches, but they have one small problem.  My modems
> > > stupidly send a connect message in a way that getty sees as a username.
> > > So it sits at Password: waiting for test, but only getting LCP.  The other
> > > times I got it to work(with different modems), it worked like a charm.
> > 
> > Turn off result codes.
> > 
> > ATZ
> > ATQ1&W
> > 
> > Also set the modem to do a reset on DTR transition.  Then if you need to 
> > dial out, you can use "ATQ0" in your dial string to force the modem to 
> > provide result codes for the dialer program.
> 
> This is good, but if your modem supports something like the "Q2"
> command in which results are supressed (quiet mode) only in answer
> mode, this is even better.  Then you don't have to issue the "ATQ0"

If your modem supports Q2, it probably supports reset on DTR or reset
on carrier loss.  I won't argue that it is good advice, however...

> in the dial string or init string to dial out, nor guarrantee that
> the modem was fully reset on each transition (though doing a reset
> on the DTR transition is usually a win, anyway).  I don't know how
> many modems support this, but US Robotics Couriers and Sportsters
> do, and they are quite popular.  If your modem doesn't support Q2
> or something similar, then Joe's suggestion is the way to go.

Junk alert: USR Sportsters.  (Fine for casual home use, probably, but
crummy if you are an ISP)

> > No modem I have ever seen works out of the box correctly with a UNIX host
> > for both in- and outdial applications.
> 
> Strongly concur! :-)

I have a small database of my "preferred defaults" for a number of
varieties of modems....  usually these defaults include things such as
shutting off the speaker and setting other parameters to allow for
hardware flow control, ATS0=1, disable "+++", etc.  I do not guarantee
that all of them conform to this 100%, as some of them were done for
particular reasons.

AT&T Paradyne DataPort 14.4K  (my favorite modem of all time)

AT&F
ATE0L3M0Q1S0=1S2=255S10=220
ATX1&C1&R0\D1\G0
AT&W0

Motorola Power 28.8 (probably identical for Premier/Lifestyle)

AT&F
ATE0M0Q2S0=1S2=255S10=220
AT&D3&R&S2\K5
AT&W

USR Sportster V.34

AT&F1
ATE0L3M0Q2S0=1S2=255S10=220
ATS13.0=1
AT&W

USR Courier V.34

AT&F1
ATE0L3M0Q2S0=1S2=255S10=220
ATS13.0=1S32=8S34.4=1
AT&W

Telebit Trailblazer Plus (probably not quite conformant)

AT&FS50=0S51=5S52=2S54=3S55=3S58=2
ATS66=1S68=255S95=2X1Q0E1
ATM0S0=1S2=255S10=220S64=1S92=1
AT&W

Zoom 28.8 V.FC (don't ask why I have two of these - they are junk)

AT&F
ATE0M0Q0S0=1S2=255S10=220
AT&C1&D2%E2
AT&W0

I would only personally buy the Paradyne 14.4's, the Motorola 28.8's, or
the Couriers.

... JG



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199611112318.RAA20128>