Subject: Re: Modem problem (DTR not going high?)
To: Frederick Bruckman <fredb@fb.sa.enteract.com>
From: Patrick Welche <prlw1@cam.ac.uk>
List: netbsd-help
Date: 06/29/1998 19:07:11
Once again, I return to my modem problem, which basically is that I
can dial-in if I have kermit running, but not with getty. Getty
doesn't answer the phone: there is a pause after 2 rings (=S0), and various
LEDs change, but then the phone carries on ringing.

On 27 May 1998, Frederick Bruckman wrote:
> 
> On Mon, 25 May 1998, Patrick Welche wrote:
> 
> > with getty and with kermit running on the NetBSD box, the DTR light is
> > on (ie., no volts on line) and the AA light is on (once one sets
> > s0<>0). There is the same pattern of lights in both instances:
> >       TST  HS  AA  CD  OH  RD  SD  TR  MR
> >        on  on  on off off off off  on  on
> > yet with
> >   188 ??  S      0:00.05 /usr/libexec/uugetty std.9600 tty00
> > running, the modem never answers, but with kermit, it does.
> > Any further suggestion greatfully received!
> 
> Here's a shot in the dark. If the CD wire is open (in the cable), CD would
> float high.  Then getty would start /etc/login to try to log in a user
> named `RING'. Failing at that, init would start a new uugetty, and also
> toggle dtr, preventing the modem from answering. Same thing if you have
> `local' set in /etc/ttys, or if you set &C0. If this is happening to you,
> you would see the PID for uugetty change after a failed attempt. kermit,
> of course, does no such thing, so it would simply let the modem answer.
> 
> 

I have finally soldered a new cable with all 9 pins straight through,
so CD isn't open. /etc/ttys just has

	tty00   "/usr/libexec/getty std.9600"   vt220 off

in it, so no local, and the modem is

ACTIVE PROFILE:
B0 E1 L1 M1 N1 Q0 T V1 W0 X4 Y0 &C1 &D2 &G2 &J0 &K3 &Q5 &R1 &S0 &T5 &X0 &Y0
S00:002 S01:000 S02:043 S03:013 S04:010 S05:008 S06:004 S07:050 S08:002 S09:006
S10:014 S11:095 S12:050 S18:000 S25:005 S26:001 S36:007 S37:000 S38:020 S44:020
S46:138 S48:007 S95:000 

so &C1 is set, ie.: "DCD set by modem when remote carrier detected. DCD
tracks data carrier detected by modem."

So thank you for all those suggestions, but I am still stuck. After
further investigation, the LEDs are in the same state whether I run
kermit or getty. Kermit doesn't seem to be sending any initialisation
string, at least, I didn't spot one in debug.log, and "show modem" gives

 No modem selected, so DIAL and most SET MODEM commands have no effect.
 Use SET MODEM TYPE to select a modem.

so I assume it will not try to send any. The flags as shown by stty
were different according to whether kermit or getty was running:

While kermit was running:

speed 9600 baud; 0 rows; 0 columns;
lflags: -icanon -isig -iexten -echo echoe -echok echoke -echonl echoctl
        -echoprt -altwerase -noflsh -tostop -flusho -pendin -nokerninfo
        -extproc
iflags: -istrip -icrnl -inlcr -igncr ixon -ixoff -ixany imaxbel ignbrk
        -brkint -inpck ignpar -parmrk
oflags: -opost onlcr -ocrnl oxtabs onocr onlret
cflags: cread cs8 -parenb -parodd hupcl clocal -cstopb crtscts -mdmbuf
        -cdtrcts
cchars: discard = ^O; dsusp = ^Y; eof = ^D; eol = <undef>;
        eol2 = <undef>; erase = ^?; intr = ^C; kill = ^U; lnext = ^V;
        min = 1; quit = ^\; reprint = ^R; start = ^Q; status = <undef>;
        stop = ^S; susp = ^Z; time = 0; werase = ^W;

While getty was running:

ispeed 0 baud; ospeed 9600 baud; 0 rows; 0 columns;
lflags: icanon isig iexten echo echoe -echok echoke -echonl echoctl
        -echoprt -altwerase -noflsh -tostop -flusho -pendin -nokerninfo
        -extproc
iflags: -istrip icrnl -inlcr -igncr ixon -ixoff ixany imaxbel -ignbrk
        brkint -inpck -ignpar -parmrk
oflags: opost onlcr -ocrnl oxtabs onocr onlret
cflags: cread cs8 -parenb -parodd hupcl -clocal -cstopb crtscts -mdmbuf
        -cdtrcts
cchars: discard = ^O; dsusp = ^Y; eof = ^D; eol = <undef>;
        eol2 = <undef>; erase = ^?; intr = ^C; kill = ^U; lnext = ^V;
        min = 1; quit = ^\; reprint = ^R; start = ^Q; status = <undef>;
        stop = ^S; susp = ^Z; time = 0; werase = ^W;

The difference:
  kermit:
    speed 9600 baud;
    lflags: -icanon -isig -iexten -echo
    iflags: -icrnl -ixany ignbrk -brkint ignpar
    oflags: -opost
    cflags: clocal

  getty:
    ispeed 0 baud; ospeed 9600 baud;
    lflags: icanon isig iexten echo
    iflags: icrnl ixany -ignbrk brkint -ignpar
    oflags: opost
    cflags: -clocal

How/where can I find out what should be happening? It looks to me as
if getty "open"'s the tty read/write, then calls login_tty, but I
don't see how this should only happen when the modem receives a
call..

Hopefully one of you could give me tutorial / relieve my confusion?

Cheers,

Patrick