[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Modems - hack
Date: Thu, 1 Nov 90 14:26 PST
From: JFK@BOLD-EAGLE.varian.dialnet.symbolics.com (Joe F. Karnicky)
Date: Wed, 31 Oct 90 17:37 CST
From: cj@GUINEVERE.tamu.edu (Chuan Jun Su)
....
Is it possible to use a Hayes compatible?
....
I am currently using a Hayes smartmodem 1200 in
autoanswer mode and it seems to work pretty well
with the following reservations:
(1) I had to modify the defmethod (:dial-the-phone hayes-modem) in
modems.lisp to get my modem to use dial tones rather than pulse dialing.
I was told how to accomplish this same result by changing the subnets
patterns, but I forget how to do it.
(2) Frequently, my system gets into a state where it is not possible for
me to successfully probe Riverside. My modem goes off hook, dials,
Riverside answers, and I see a carrier detect. However, the carrier is
then immediately lost. This seems to be a Riverside-specific problem
as I can successfully dial up other (non-Symbolics) computers.
I'm currently working with Symbolics software support on sorting out
what's going on.
(any suggestions?)
Regards,
Joe
I have been having quite a war with what I take to be the same problem
as yours. In the short term, I wrote a fix that actually keeps the
mailer operational. Hoping that this is of use - and not too hideous.
;;; -*- Mode: LISP; Syntax: Common-lisp; Package: USER; Base: 10 -*-
;;; Pole Dialnet at intervals to check whether it is jammed, if so restart it.
;;; To do: post notification into S&F mail Log window
(defun FIND-DIALNET-PROCESS ()
(process:map-over-active-processes
#'(lambda (process) (when (let ((name (process-name process)))
(and (string-search "Dialnet" name)
(string-search "answerer" name)))
;;eg. "Dialnet unit 1 answerer"
(return-from find-dialnet-process process)))))
(defun FIND-SMTP-PROCESS ()
(process:map-over-active-processes
#'(lambda (process)
(when (string-search "SMTP server" (process-name process))
(return-from find-smtp-process process)))))
(defvar *TIME-BEFORE-DIALNET-PROCESSES-ARE-DECLARED-HUNG* (* 60 60 10)
"10 minutes")
(defun TEST-FOR-HUNG-DIALNET ()
(let ((process-1 (find-dialnet-process))
(process-2 (find-smtp-process)))
(flet ((hung-process-p (process)
(and process
(string-search "Serial" (send process :whostate))
(zerop (process:percent-utilization process))
(> (process:process-idle-time process)
*time-before-dialnet-processes-are-declared-hung*))))
(values
(or (hung-process-p process-1)
(hung-process-p process-2))
process-1 process-2))))
(defun FIX-DIALNET-IF-NECESSARY ()
(if (not (test-for-hung-dialnet))
"Dialnet OK"
(send dial:*dialnet-dial-network* :reset-dialnet-interfaces)
(send dial:*dialnet-dial-network* :enable-dialnet-interfaces)
(tv:notify nil "Hung Dialnet has been reset")))
(defvar *DIALNET-CHECK-TIMER* nil)
(defun PUT-DIALNET-MONITOR-ON-TIMER-QUEUE (&optional (repeat-interval (* 60 15))) ; 15 minutes
(unless *dialnet-check-timer*
(setq *dialnet-check-timer*
(process:create-timer-call #'put-dialnet-monitor-on-timer-queue
(list repeat-interval)
:name "Dialnet Check")))
(fix-dialnet-if-necessary)
(process:reset-timer-relative *dialnet-check-timer* repeat-interval))
(add-initialization "Start Dialnet Checker" '(put-dialnet-monitor-on-timer-queue) '(:cold))
- References:
- Modems
- From: JFK@BOLD-EAGLE.varian.dialnet.symbolics.com (Joe F. Karnicky)