home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
DP Tool Club 17
/
CD_ASCQ_17_101194.iso
/
vrac
/
elda20.zip
/
ELDA.DOC
< prev
next >
Wrap
Text File
|
1994-08-06
|
14KB
|
356 lines
===========================================================
ELDA v2.0 (c)1994 Brian E. Kelly
===========================================================
Enhanced Line Diagnostics Analyser. E.L.D.A.
What it does:
-------------
ELDA is a small program which sends commands to a modem
to request diagnostic information about its last call. The
data returned from the modem is then filtered and either
displayed or written to a logging file.
Although originaly intended to be used with a Wildcat! BBS
using US Robotics Dual Standard modems, it will work with
almost all other BBS and compatible modem types. It can
also be run as a stand-alone program or in conjunction with
dial out communications programs.
Why I wrote it:
---------------
I run a multi-node Wildcat! BBS under OS/2. Sometimes I get
complaints that the system is running slow or the predicted
time for file downloads is inaccurate. I have not been able
to replicate the problem myself and therefore have to assume
that poor telephone lines are responsible. I use U.S.Robotics
modems which have an "ARQ" indicator on their front panels
and I note that sometimes this flickers while a user is
connected. The flicker tells me that an error has been
detected and is being corrected. These errors are hidden from
the user because the modem asks for a block of data to be
repeated and only passes it through its DTE connector when
all the errors have been removed. However, this resending
takes time and gives the user the impression that the BBS
is running slower than it should. All USR modems have an
in-built facility to report details of the last call by
sending the ATI6 command to them. By sending this command
and disecting the reply before the BBS resets the modem it
is possible to see what really did happen during the call.
How to use it:
--------------
The program expects to run at a DOS prompt, the prompt in
an OS/2 DOS session or in a batch file. The syntax is:
ELDA <com port> <baud rate> <irq> <TERM _or_ logging file name>
All parameters must be provided but entering 0 for the baud
rate or IRQ will not change the ports present settings.
If a com port other than 1, 2, 3 or 4 is specified or an IRQ
that is already in use, an error will be reported and the
program will terminate.
The baud rate can be 300, 600, 1200, 2400, 4800, 9600, 19200
38400, 57600 or 115200. If a value of zero is entered, the
divider register in the UART is left untouched and the port
remains at whatever speed it was previously used at. For BBS use,
leave the value at zero as the DTE speed should be kept locked
anyway.
Any valid logging file name can be used. You can enter a full
path and name or just the name itself. In no path is given,
the file will be written in the current directory. The file is
opened in 'append' mode so the log can be added to the end of
an existing file. If the file doesn't exist it will be created.
I give the name of the activity log for the Wildcat! nodes it
runs on so the information is written after the call details.
If you find the activity log becomes too large to handle, you
can log to a different file. The date, time and port number
are logged to allow matching against your activity log files.
DOS treats devices and files in the same way, if the log is
written to "CON" it will appear on the screen. Specifying "PRN"
will send it to the parallel printer port. Be very careful if
you send it to a serial device, writing to the com port you
are monitoring will cause a black hole to form and suck you in.
If the word "TERM" is entered instead of a file name, the
program becomes a very simple ASCII terminal. This is to help
when configuring the modem or checking its responses. I do not
recommend using it to make outgoing calls via the modem, it
may work but the risk is yours. You can exit from terminal
mode by pressing the [Esc] key.
Examples: (taken from my own system )
--------------------------------------
QM.BAT (runs QmodemPro)
@echo off <- don't want to see all this
c: <- QmodemPro is on C: drive
cd \qmpro <- the QmodemPro home directory
qmpro /nologo %1 <- quick start
elda 2 38400 3 con <- report to screen when finished
POSTCALL.RUN (logs details after a Wildcat 4 BBS call)
elda 1 38400 4 \wildcat\activity.1
(there is a postcall.run in each nodes work directory, some use
non-standard IRQ lines so I specify all the parameters just for
consistency. You could also call it POSTCALL.BAT in the home
directory and use
"elda %wcportid% 0 0 \wildcat\activity.%wcnodeid%"
but you must specify the apropriate environment variables and
paths correctly if you do this)
Modem types:
------------
Modems manufactured by US Robotics and Practical Peripherals
both return connection details on request. Other manufacturers
probably also do the same but each has their own way of quoting
the results. I have provided two sample config files called
USR.CFG and PPI.CFG, you must rename one of these to ELDA.CFG
before running the program. You can have a different modem on
each port but you must take care that the correct .CFG is used
or the log file will be incomplete or incorrect.
The Commands file, ELDA.CMD:
----------------------------
Is simply a file containing the command that make your modem
reveal the last connection details. For USR and PPI modems the
normal diagnostic command is ATI6. On the USR DS V34 ready
model the command to return VFC information is ATI11. If your
modem requires a different command you can change it with a
text editor. Instructions are in the files header section.
The Configuration file, ELDA.CFG:
---------------------------------
This is a text file containing all the parameters that can
be returned by the modem. The file must be in the same
directory as ELDA is executed from. On a Wildcat! system this
will probably be the "wcwork\node*" directory for the node
being logged. By using this location, a different configuration
can be defined for each node.
Use any text editor to modify the the files contents. Any line
starting with a ";" (semi-colon) is ignored, delete the ";" to
make the line active. Only one parameter is allowed on each line.
Note there are lines for "Equalisation" and "Equalization" as both
spellings are used depending on the modems intended country
of use. If new parameters are introduced in later models
they can be added to the config file, there is no limit to the
files length.
The special entry "[VFast]" is used to separate any response
which is applicable to speeds of 21,600 bauds or faster. Lines
following "[VFast]" are ignored unless a fast speed is reported
by the modem.
The text in the config file must exactly match that which the modem
reports. It is case sensitive and spaces between words are important.
What you should get:
--------------------
is something like this-
┌---- Connection report from ELDA v2.0 on Sat Aug 06 00:17:11 1994 --─┐
│ Chars sent 247 │
│ Chars Received 179828 │
│ Chars lost 0 │
│ Octets sent 310 │
│ Octets Received 146657 │
│ Blocks sent 103 │
│ Blocks Received 2044 │
│ Blocks resent 0 │
│ Retrains Requested 0 │
│ Retrains Granted 0 │
│ Line Reversals 0 │
│ Blers 2 │
│ Link Timeouts 0 │
│ Link Naks 0 │
│ Data Compression V42BIS 2048/32 │
│ Equalisation Long │
│ Equalization Not Reported │
│ Fallback Disabled │
│ Protocol LAPM │
│ Speed 21600 │
│ Last Call 00:04:52 │
│ Disconnect Reason is DISC Received │
│ Modulation V.FC │
│ Carrier Freq (Hz) 1920/1920 │
│ Symbol Rate 3200/3200 │
│ Trellis Code 32S-2D/32S-2D │
│ Nonlinear Encoding OFF │
│ Precoding ON │
│ Shaping OFF │
│ Preemphasis (-dB) 7/4 │
│ Recv/Xmit Level (-dB) 35/18 │
│ Roundtrip Delay (msec) 18 │
└-------------------------------------------------------[Port 2]--------┘
This is taken from an actual call and with all the lines in
the config file active. The modem used was a USR Dual Standard
V34 ready model. The call was in V.FC mode, be aware that some
lines are meaningless unless in HST mode.
The report is probably much longer than you would ever need
but editing the config file would of course make it smaller.
The box closes after the "Disconnect Reason" line if V.FC isn't
detected.
Exit codes and error messages:
------------------------------
ELDA displays help whenever it cannot run for some reason.
It also sets the DOS errorlevel to a non-zero value if an
error occurs. Zero errorlevel indicates normal operation.
Likely errors and messages are -
[1] Command line syntax was wrong.
[2] There was an error opening the ELDA.CMD file.
[3] There was an error opening the ELDA.CFG file.
[4] The Log file could not be created or updated.
[5] No "OK" from modem after 30 seconds after Link diag request.
[6] No "OK" from modem after 30 seconds after Fast diag request.
[7] An invalid speed was detected or specified in command line.
Other exit codes refer to internal problems with the com ports
or UART chips, if you see them please report as many details as
possible about your system so I can investigate. Unless you are
using a 16550 UART I suggest you keep speeds down below 19200 or
errors are inevitable, this is not a limitation of ELDA, it is
a processing speed problem with PCs.
Feedback:
---------
I hope you find ELDA meets your requirements. Suggestions for
future versions are always welcomed.
I do not have access to a PPI modem to try its version of config
file so please let me know if it suffers problems. I am indebted
to Ray Tackett for his help with the PPI responses.
I have tested the program and used it on my own BBS, it seems
to run fine. If you find any bugs I would like to hear about
them as quickly as possible. My BBS and CIS numbers are later
in this text. I also monitor MSI supportnet and the US Robotics
modem net but may take up to 7 days to get a reply back to you.
Registration:
-------------
Try it out and if you think it deserves some of your hard earned
cash, send a small donation toward my BBS running costs.
I suggest $10, 5 UK pounds or its equivalent in your own currency.
I can accept cheques (checks) from UK banks only. For other
currencies, put paper cash in an envelope and mail it to me. Make
sure the contents can't be seen through the envelope. I will try
to confirm its arrival by Email if you give me a return address.
If you make a donation it will also cover any future releases of
the program.
I consider continual use without registration to be unethical and
dishonest. If I catch you doing so, I will send a gremlin to crash
your hard disk.
Disclaimer:
-----------
(sorry about this but I have to say it)
The program is released without warranty or guarantee of any
kind. The author will not be held liable for damage caused by
this program or as consequence of it being used on any system.
It is released in good faith and is believed to be bug free.
Acknowledgements:
-----------------
The program is written in Borland Turbo C++ version 3.0.
Serial routines are from PCL4C by Marshallsoft Computing Inc.
Future Plans:
-------------
Logging Caller ID (ANI) would be rather neat but my local telco
doesn't offer it so theres no way I could verify it worked.
It would mean another section in the .CMD file to specify the
"AT" command to report the callers number. If enough people
ask for it I'll add code to support it.
Contacting me:
--------------
My BBS details are -
BetWiXt BBS. +44 1633 614765 (from the UK it is 01633 614765)
U.S. Robotics Dual Standard V34/VF.C modems - 2 lines.
My CIS number is - 71141,2757
My mail address is -
Brian E. Kelly.
12 Cotswold Way
Risca
Gwent. NP1 6QT
United Kingdom.
BBS note:
---------
BetWiXt has been running since 1990. It started in Palatine, IL.
but moved with me to South Wales, UK in 1991.
It concentrates on programming files and utilities and has sections
covering Ham radio and television. It is adopted by the B.A.T.C.
(British Amateur Television Club.) to support their activities.
Limited access on the first call but full access is given within
48 hours subject to confirmation of log-in details.
Release History:
-------------------
V1.00 Released as USRATI6. Support for US Robotics modems only.
( 3 July 1994 )
V2.00 Rewritten and released as Enhanced Line Diagnostic Analyser.
Added support for 115200 baud rate and non-standard IRQs.
V.FC / V34 functions added.
Support for PPI modems added.
Improved error trapping and reporting.
Faster operation at high DTE speeds and timeout bug fixed
at 300 baud. ( 29 July 1994 )