[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Modems



    There has been quite a lot of discussion about modems on the Symbolics
    (3640), the last few months, but I am still unclear as to what really
    works.
    Is it possible to use a Hayes compatible?

Yes.  I have recently used both a Hayes and a Hayes-compatible (Everex)
with good results.

    What are the ones supported by Symbolics, I seem to remember the name
    Vadic, and have seen some of these for sale, ie:
    Racal Vadic Va212PA
    Racal Vadic 1200VP
 
Vadic models va212, va3450 and va3451 and compatibles are supported, 
as are Concord Data Systems (the ones Symbolics supplies).  I don't
particularly recommend the Vadics, and neither does Symbolics.

    Thanks

    Chuan Jun Su
    Knowlwdge Based Systems
    Texas A&M University

Here's a patch that ensures your Hayes-compatible will be in autoanswer
mode regardless of its internal switch settings.  This should be loaded
into your world so that it takes effect when your dialnet answerer starts
up after a boot:

;;; -*- Mode: LISP; Syntax: Zetalisp; Base: 10; Package: DIAL -*-

(defmethod (make-modem-autoanswer-if-appropriate modem-dialnet-interface) (serial-stream)
  (let* ((options (neti::peripheral-device-options peripheral))
	 (autoanswer (and (listp options) (getf options :autoanswer)))
	 (command-string (cl:case (getf options :model nil)
			   (:hayes "ATS0=2")	; 1Two is the number of rings before answer0 
			   ;; 1Fill in the blanks
0			   (:va212 nil)
			   (:va3450 nil)
			   (:va3451 nil)
			   (:cds-224 nil)
			   (otherwise nil))))
    (when (and serial-stream autoanswer command-string)
      (loop for char being the array-elements of command-string
	    for code = (ascii-code char) doing
	(send serial-stream :tyo code)
	(send serial-stream :finish))
      (send serial-stream :tyo (ascii-code :cr))
      (send serial-stream :finish)
      (send serial-stream :clear-input)
      )))

(defwhopper (:get-serial-stream modem-dialnet-interface) (&rest args)
2  0"2If the host object has modem peripheral autoanswer=T, tell the modem to autoanswer.0"
  (let ((serial-stream (lexpr-continue-whopper args)))
    (make-modem-autoanswer-if-appropriate self serial-stream)
    serial-stream
    ))

;;;