*BSD News Article 30774


Return to BSD News archive

Xref: sserve comp.os.386bsd.questions:10407 comp.dcom.modems:51905
Newsgroups: comp.os.386bsd.questions,comp.dcom.modems
Path: sserve!newshost.anu.edu.au!munnari.oz.au!spool.mu.edu!howland.reston.ans.net!math.ohio-state.edu!cyber2.cyberstore.ca!nntp.cs.ubc.ca!torn!uunet.ca!uunet.ca!jts.com!itcyyz!fam
From: fam@itcyyz.ipsa.reuter.com (Frank Mandarino)
Subject: FreeBSD/TrailBlazer Plus dialin problem
Organization: Reuters Information Services (Canada) Ltd., Toronto
Date: Wed, 18 May 1994 17:35:33 GMT
Message-ID: <Cq0E7t.JtG@itcyyz.ipsa.reuter.com>
Lines: 56

I'm running FreeBSD 1.1.0(Gamma) with a Telebit TrailBlazer Plus modem
connected to /dev/tty00 and a Telebit WorldBlazer on /dev/tty01.  The
system uses the sio driver and a 2-port 16C550 card.  I have gettys
running on both ports to allow dial in.  I have also created the
/dev/cua001 devices and set both ports to bidir to allow dial out.

Dial out on both ports and dial in on the WorldBlazer port works
perfectly.  Dial in on the TrailBlazer Plus port, however, does not
work.  The TB+ answers the call, successfully negotiates the protocol
and speed so that the calling side sees the CONNECT message, but then
the TB+ side immediately hangs up the call.

I have configured both modems to raise DCD when carrier is detected. 
This allows getty to block in the port open() call until the incoming
call is connected and it is time to send the login: prompt.  It also
allows other processes to access the port for dial out.

By running getty with gdb, I was able to see that the open() completes
successfully, but that the call is disconnected before the next
statement after the open() is executed.

I turned off the getty, and ran kermit on the TB+ port.  Kermit opens
the port with O_NONBLOCK, so that the open() completes before the call
is connected.  In this case, I am able to answer incoming calls using
ATA and they are not disconnected.

I wrote a small program which just opens the TB+ port, then sleeps for a
long time.  If I open without O_NONBLOCK, incoming calls are
disconnected before the sleep, just like they are with getty.  If I open
with O_NONBLOCK, it opens then sleeps, but in this case incoming calls
are not disconnected.  Incoming calls are not disconnected with or
without the O_NONBLOCK when the same program is used on the WorldBlazer
port.

Has anyone else observed this behavior?  Is anyone successfully using a
TrailBlazer Plus with FreeBSD?  I would appreciate any help in getting
the TB+ to work properly.  I have enclosed my TB+ configuration below.

Thanks,
../fam

E0 F1 M0 Q9 T V1 W0 X14 Y0 &P0 &T4     Version BA5.00
S00=001 S01=000 S02=043 S03=013 S04=010 S05=008 S06=002 S07:100 S08=002 S09=006
S10:014 S11:060 S12=050 S18=000 S25=005 S38=000
S41=000 S45=000 S47=004 S48=000 S49=000
S50=000 S51:252 S52:002         S54:003 S55=000 S56=017 S57=019 S58:002 S59=000
S60=000 S61=150 S62=003 S63=001 S64=000 S65=000 S66:001 S67=000 S68=255 S69=000
S90=000 S91=000 S92=000 S94=001 S95:002 S96=001
S100=000 S101=000 S102=000 S104=000 S105=001
S110=255 S111:030 S112=001
S121=000 S130:000 S131:001 S255=000

-- 
Frank A. Mandarino					fam@ipsa.reuter.com
Reuters Information Services (Canada) Ltd.	 {uunet.ca,geac}!itcyyz!fam
2 First Canadian Place, Suite 2000, Toronto, Ontario