mgetty DTR problems.
Eric Veldhuyzen (eric@terra.telemediair.nl)
Wed, 13 Oct 1999 12:31:15 +0200
Hi,
I am getting pretty desperate, so I hope that you can help me. I think
I've tried about everything, read the FAQ, the manual, tried the
mailing list archive (but the DNS won't resolve it, so that one didn't
work) but I can't make mgetty work correctly.
My problem is that mgetty works correctly for every first connection to
a modem, but doesn't accept any further calls. On bootup mgetty sees the
modems, and the DTR light flashes on. On an incoming call the program
for authentication (/bin/login or pppd for /AutoPPP/) is called correctly
(I am sure about this for login, not quite sure for PPP since I haven't
been able to get this working because of authentication and/or ipnumber
allocation problems. But that's another problem, and I don't think I
should bother the list with that).
Once the user logs off, the DTR light goes off and doesn't come up
again. The lock file in /var/lock remains, and mgetty doesn't do anything
anymore with the port.
I am using Linux with kernel 2.0.38, mgetty 1.1.21. I've tried two
different types of modems with the same result. The modem I want to use
is a Cyber Bullet E56K RVP modem yes, this modem can do a lot more that
I want to. I only want to use the modems for dialing in. This is my
last tried configuration:
mgetty.config:
-------------------
debug 9
speed 115200
data-only y
init-chat "" ATQ0E1V1H0 OK ATL0M1S0=0 OK AT&K3&D2 OK
force-init-chat "" ATQ0E1V1H0 OK ATL0M1S0=0 OK AT&K3&D2 OK
-------------------
login.config:
-------------------
/AutoPPP/ - @ /sbin/pppd
-------------------
I used logger to redirect the mgetty logfile through syslog, loglevel 9, so
logger means the logfile of mgetty.
The Log:
Oct 13 09:57:50 sde0 logger: 10/13 09:55:34 yS1 waiting...
Oct 13 09:57:50 sde0 logger: 10/13 00:57:50 yS1 select returned 1
Oct 13 09:57:50 sde0 logger: 10/13 00:57:50 yS1 checking lockfiles, locking the line
Oct 13 09:57:50 sde0 logger: 10/13 00:57:50 yS1 makelock(ttyS1) called
Oct 13 09:57:50 sde0 logger: 10/13 00:57:50 yS1 do_makelock: lock='/var/lock/LCK..ttyS1'
Oct 13 09:57:50 sde0 logger: 10/13 00:57:50 yS1 lock made
Oct 13 09:57:50 sde0 logger: 10/13 00:57:50 yS1 wfr: waiting for ``RING''
Oct 13 09:57:50 sde0 logger: 10/13 00:57:50 yS1 got: [0d][0a]RING[0d]
Oct 13 09:57:50 sde0 logger: 10/13 00:57:50 yS1 CND: RING
Oct 13 09:57:50 sde0 logger: 10/13 00:57:50 yS1 wfr: rc=0, drn=0
Oct 13 09:57:50 sde0 logger: 10/13 00:57:50 yS1 send: ATA[0d]
Oct 13 09:57:50 sde0 logger: 10/13 00:57:50 yS1 waiting for ``CONNECT''
Oct 13 09:57:50 sde0 logger: 10/13 00:57:50 yS1 got: ATA[0d]
Oct 13 09:58:04 sde0 logger: 10/13 00:57:50 yS1 CND: OKATA[0d][0a]CONNECT ** found **
Oct 13 09:58:04 sde0 logger: 10/13 00:58:04 yS1 send:
Oct 13 09:58:04 sde0 logger: 10/13 00:58:04 yS1 waiting for ``_''
Oct 13 09:58:04 sde0 logger: 10/13 00:58:04 yS1 got: 28800/V42[0d]
Oct 13 09:58:04 sde0 logger: 10/13 00:58:04 yS1 CND: CONNECT 28800/V42
Oct 13 09:58:04 sde0 logger: 10/13 00:58:04 yS1 CND: found: 28800/V42[0a] ** found **
Oct 13 09:58:05 sde0 logger: 10/13 00:58:04 yS1 waiting for line to clear (VTIME), read:
Oct 13 09:58:05 sde0 logger: 10/13 00:58:05 yS1 looking for utmp entry... (my PID: 25)
Oct 13 09:58:05 sde0 logger: 10/13 00:58:05 yS1 utmp + wtmp entry made
Oct 13 09:58:05 sde0 logger: 10/13 00:58:05 yS1 tio_set_flow_control( HARD )
Oct 13 09:58:05 sde0 logger: 10/13 00:58:05 yS1 print welcome banner (/etc/issue)
Oct 13 09:58:12 sde0 logger: 10/13 00:58:05 yS1 getlogname (AUTO_PPP), read:eric[0d]
Oct 13 09:58:12 sde0 logger: 10/13 00:58:12 yS1 input finished with '\r', setting ICRNL ONLCR
Oct 13 09:58:12 sde0 logger: 10/13 00:58:12 yS1 tio_get_rs232_lines: status: RTS CTS DSR DTR DCD
Oct 13 09:58:12 sde0 logger: 10/13 00:58:12 yS1 login: use login config file /etc/mgetty+sendfax/login.config
Oct 13 09:58:12 sde0 logger: 10/13 00:58:12 yS1 match: user='eric', key='/AutoPPP/'
Oct 13 09:58:12 sde0 logger: 10/13 00:58:12 yS1 login: fall back to /bin/login
Oct 13 09:58:12 sde0 logger: 10/13 00:58:12 yS1 calling login: cmd='/bin/login', argv[]='login eric'
Oct 13 09:58:12 sde0 logger: 10/13 00:58:12 ##### data dev=ttyS1, pid=25, caller='none', conn='28800/V42', name='', cmd='/bin/login', user='eric'
Oct 13 09:58:12 sde0 logger:
Oct 13 09:58:12 sde0 logger: 10/13 00:58:12 yS1 setenv: 'CALLER_ID=none'
Oct 13 09:58:12 sde0 logger: 10/13 00:58:12 yS1 setenv: 'CALLED_ID='
Oct 13 09:58:12 sde0 logger: 10/13 00:58:12 yS1 setenv: 'CONNECT=28800/V42'
Oct 13 09:58:12 sde0 mgetty[25]: data dev=ttyS1, pid=25, caller='none', conn='28800/V42', name='', cmd='/bin/login', user='eric'
Oct 13 09:58:16 sde0 PAM_pwdb[25]: (login) session opened for user eric by (uid=0)
Oct 13 09:58:16 sde0 login -- eric [25]: DIALUP AT ttyS1 BY eric
Oct 13 09:58:16 sde0 login -- eric [25]: LOGIN ON ttyS1 BY eric
Oct 13 09:58:16 sde0 PAM_pwdb[25]: (login) session closed for user eric
After this a new mgetty session is forked by init, but it doesn't
to anything. I doesn't log a thing, it doesn't remove the lock file,
doesn't reinitialize the modem. Nothing, it just sits there.
I think I've given all the information required, but please let me know
if there is anything else I forgot to mention. I really need this to work.
--
#!perl # Life ain't fair, but root passwords help.
# Eric Veldhuyzen eric@terra.telemediair.nl
$!=$;=$_+(++$_);($:,$~,$/,$^,$*,$@)=$!=~ # Perl Monger
/.(.)...(.)(.)....(.)..(.)..(.)/;`$^$~$/$: $^$*$@$~ $_>&$;`