[comp.dcom.modems] HDB on 3B1 with external modem

wtm@neoucom.UUCP (Bill Mayhew) (04/28/89)

It is probably easiest to set up HDB uucp manaully to use tty000 if
you are switching over from using the OBM.

Here is a list of what you need to do.

1.  Make sure that /usr/lib/uucp/Permissions has sane values in it
for the system you want to call.  This is most likely alright if you
are already using the OBM.  Pay attention to the LOGNAME= field.

2.  Make sure that you have defined a dailer for the modem that you
want to attach.  The place to check is /usr/lib/uucp/Dialers.
Pretty logical, huh?  The file should contain the information
defining the various fields at the top of the file.  Here is a
sysnopsis in case that got lost:

dialer_name {tab} ={token}-{token} {tab} {expect_field} {send_field} ...

{tab} is the tab chararater
{token} substituted for the = and - in the telno string.  = is the
     metacharacter for "wait for dial tone" and - is the telno meta
     character for "pause a short time"
{expect_field} denotes something you want to see the modem send
     back to you
{send_field} denotes a string that you want to send to the modem

The dialer subroutine parses the expect and send fields until they
have been exhaused, at which point control is handed back to
scanning the Systems file (see below) for logging in to the remote
host.  Note that the dialer begins expecting something, so in
almost all cases you have to supply a null field.  You can do this
by putting in "" to indicate that the field is null.

Here is an example dialer that I wrote to kick my Trailblazer
T-2000 into 2400 baud non-mnp mode and dial with it:

tb24nmnp	=W-,	"" A\pA\pA\pA\pA "" "ATE1Q0S50=3S95=0S111=0DT\T\r\d\d\d\d\c CONNECT\s2400
note: the line above is more than 80 characters long in case news
truncates it, sorry.

name is tb24nmnp
W makes the modem wait for a dial tone
, makes the modem pause
"": expect nothing
A\pA\pA\pA\pA:  send 5 As with pause between; needed to autobaud
"": expect nothing
ATE1Q0S50=3S95=0S111=0DT\T\r\d\d\d\d\c:  Send the initailization to
the modem: echo on, no quiet, baud 2400, no mnp, dial, touchtone,
substitue in telno string, send {CR}, delay four times, no {CR} at
end of string.  If you have a long connect delay, it is better to
do it here than in the Systems file, as the delay here doesn't get
charged against the inactivity timeout value.
CONNECT\s2400: wait to get acknowledgement from modem.

Note that unlike modemcap, there is no branching capability in the
dialer definition.


3.  Make sure that you equivalence the dialer definition with a
physical port (or ports) on the machine.  Uucico will retrieve the
device alias name from the Systems file, and then scan through the
/usr/lib/uucp/Devices file to see what, if any, physical ports
match the device alias; it will then call the appropriate dialer.

Here is a synopsis:

{device_alias} {portnum} - {dialer_name} {\D | \T }

{device_alias} is the device alias you want to assign to a given
port and dialer.  Several different port / dialers can have the
same alias, if you wish.  The customary alias is to call it ACU.

{portnum} is the port's /dev name.  Here, put in tty000.

- this is required, I forget why at the moment.

{dialer_name} is the modem definition from the Dialers file

{\D \T}  \D to send the telno string to the dialer as is, or \T to
do areacode substitution.

Here is an example:

24NMNP tty000 - 2400 tb24nmnp \T


4.  You need to have a sane entry in your /usr/lib/uucp/Systems
file.  Here is a hypothetical entry.  Note that following the
telephone number, you start off exptecting something.  If the other
end is running uugetty you won't get anything until you wake up the
uugetty.  Expect a null with "" and then send them a newline.

The fields are:
{sysname} {times} {device_alias} {baudrate} {telno} {expect} {send}...

Here is a practical example:

neoucom Any 24NMNP 2400 *45,9=12165551212 "" \r\d\r ogin:--ogin:--ogin: uupal sowrd: buddy

When the last token is processed, uucico falls through to the initail
handshake.

5.  Make sure that you have a reasonable line in your /etc/inittab
file.  Go ahead, be daring, and edit the file manually.  Notice
that the line must start with a blank to allow geton.sh and
getoff.sh to work correctly.

 000:2:respawn:/usr/lib/uucp/uugetty -t120 tty000 2400

6. Log in as root and do a telinit Q to rescan the inittab and
enable the getty.

7.  Make sure that your modem is configured correcty and double
check the gettydefs file.  The default in gettydefs is to expect the
DCD lead to be up defore it will raise the DTR lead.  This is
contrary to what RS-232-C, Aug. 1969 says.  This is a throwback to
the days of separate ACU dialers and modems.  Make sure that the
mdoem cable has pins 1,2,3,4,5,6,7,8,20.  There is a dipswitch on
hayes clone modems that lets you strap the various leads to the
preconditions that uucp needs.  I don't have a Hayes modem, so this
is left as exercise for the reader.  From my ancient dusty memory,
the DCD tie-high is controlled by dipswitch #6 on a Hayes 1200.
You have to power the modem off then on again to force it to read
the dipswitches.

8.  If you can't get running from this description, you need more
help than I can give.  Good luck.  If all else fails, RTFM.  The
Nutshell administering uucp book is a good one.

Bill
wtm@impulse.UUCP