Again: Rockwell modems don't detect hangup?
Ruediger Back (back@kunou.wuerzburg.de)
Fri, 3 Oct 1997 23:47:24 +0200
On Fri, October 3 1997, Adam Megacz wrote:
>
> Please help.... I have a Rockwell modem, and with the vgetty that's part
> of mgetty 1.1.9, if the caller hangs up, the modem won't detect it and
> just keeps on recording! Is there any solution other than shortening the
> watchdog timer?
This is an old and well-known problem. The source of it has not been
traced down completely (probably due to lack of time). I'm using a USR
Megahertz PCMCIA Modem which is also Rockwell based and experienced
the same kind of problems. I had a rather lengthy correspondence with
Marc (vgetty maintainer) and finally wound up patching Rockwell.c (the
rockwell driver part). That fixed it for me. But as far as I know,
Marc has already incorporated the patch into the most recent vgetty
releases, so it should work. Anyway, there are some things you can do:
first thing: look at Rockwell.c (you just have to do it, vgetty is not
prime time ready, at least not with Rockwell modems). Try to
understand how the stuff works, it is not too hard.
It basically works this way: You send the modem a command to report
silence periods (consult your modem manual for this). That means,
after a certain period of silence (usually three seconds or so) the
modem sends out <DLE> q (increase the loglevel to 9 and watch the
logfiles when a call comes in). Vgetty recognizes that and sends an
arbitrary character (an exclamation mark !, I think). The modem should
receive that and acknowledge it by sending <DLE> <ETX> (look up the
ASCII representation of these two bytes). If vgetty manages to see
those characters, everything works as expected. Most of the time,
however, it misses them and thus continues to record even though there
is nothing to record anymore. You need to track down, where exactly
the problem lies. As said earlier, watch the lock files with highest
debug level (-9) if you see the ! and a lot of 0 bytes packages after
that, vgetty is probably just missing the <DLE> <ETX>. It is also a
good idea to look at the end of your recorded rmd files. It also hints
at this problem If you see a lot of !^M!^M. The whole Rockwell driver
is probably not working properly (all kinds of race conditions in
there, I guess). You should also try to record voice messages (or just
noise for that matter) manually, that means use minicom, type in the
appropriate voice commands and see what gives. Make sure your modem
behaves reasonably (a lot of Sporsters are just a big piece of
junk). If you know where the problem is, bug Marc about it (but be
friendly). You can also patch vgetty yourself, take out the part where
it waits for the DLE ETX, for instance. I'm sorry, if all of this seems overly
complicated to you, but I managed to get working this way. Even if you
don't end up fixing it, I'd be most interested in hearing about the
results of your debugging attempts. I thought about rewriting the
Rockwell driver a couple of times and if I figure out whats wrong with
it (have to look a lot more closely at it) and if more people are
having problems, I might just end up doing it. So try to get as much
info as possible and mail them to me directly. No need to post to the
list as you won't get an answer anyway.
rudy
>
> ---
> Adam Megacz <megacz@usa.net>
supercomputer radar Rule Psix Ortega Waco, Texas ammunition World
Trade Center smuggle Treasury FSF PLO KGB SEAL Team 6 cryptographic
colonel
--
reply to: back@picard.mathematik.uni-wuerzburg.de
.