__________________________________________________ T H E M O D E M D O C T O R Version 6.0S / 6.0R Hank Volpe copyr. 1989,1990,1991,1992,1993,1994 P.O. Box 43214 Baltimore MD 21236 __________________________________________________ What's New . . . . . . . . . . . . . . . . . . . . . . . . . Page 4 Forward . . . . . . . . . . . . . . . . . . . . . . . . . . . Page 5 Section 1. Introduction . . . . . . . . . . . . . . . . . . . Page 6 Section 2. Starting MDR . . . . . . . . . . . . . . . . . . . Page 9 The /B switch . . . . . . . . . . . . . . . . . . . . . Page 9 The /D Switch . . . . . . . . . . . . . . . . . . . . . Page 9 The /E switch . . . . . . . . . . . . . . . . . . . . . Page 10 The /Q switch . . . . . . . . . . . . . . . . . . . . . Page 10 The /S switch . . . . . . . . . . . . . . . . . . . . . Page 10 The /X switch . . . . . . . . . . . . . . . . . . . . . Page 10 The /F switch . . . . . . . . . . . . . . . . . . . . . Page 11 Section 3. First Time Setup . . . . . . . . . . . . . . . . . Page 12 A. Test Modem/ Uart . . . . . . . . . . . . . . . . Page 14 B. Uart Tests . . . . . . . . . . . . . . . . . . . . . Page 16 C. Return to main menu . . . . . . . . . . . . . . . . . Page 18 Section 4.0 The Main Menu . . . . . . . . . . . . . . . . . . Page 18 4.01 Hot-Key selection . . . . . . . . . . . . . . . . Page 18 ALT-F . . . . . . . . . . . . . . . . . . . . . . . Page 18 ALT-T . . . . . . . . . . . . . . . . . . . . . . . Page 19 ALT-H . . . . . . . . . . . . . . . . . . . . . . . Page 19 4.1 Login In Comm ports . . . . . . . . . . . . . . . . Page 19 4.11 What do IRQ's and COMM Ports do ? . . . . . . . . . Page 20 4.12 Port assignments and their meaning . . . . . . . . Page 20 4.13 Testing defective Ports . . . . . . . . . . . . . Page 22 4.2 Regs . . . . . . . . . . . . . . . . . . . . . Page 23 Line Control Register . . . . . . . . . . . . . . . Page 24 Line Status Register . . . . . . . . . . . . . . . Page 25 Modem Control Register . . . . . . . . . . . . . . Page 26 Modem Status Register . . . . . . . . . . . . . . . Page 27 Interrupt ID Register . . . . . . . . . . . . . . . Page 28 Interrupt Enable Register . . . . . . . . . . . . . Page 30 Interrupt Mask Register . . . . . . . . . . . . . . Page 31 Modem Doctor 6.0 Technical Reference Manual Interrupt Mask Register . . . . . . . . . . . . . . Page 31 4.30 Handshaking tests . . . . . . . . . . . . . . . . . Page 32 4.30A S-Register Displays . . . . . . . . . . . . . . . Page 33 4.31 Carrier Tests . . . . . . . . . . . . . . . . . . Page 34 4.31 Modem Driver Modules . . . . . . . . . . . . . . . Page 34 4.32 Types of Carrier Tests . . . . . . . . . . . . . . Page 36 4.33 AT Instruction Set Tests . . . . . . . . . . . . . Page 36 4.34 Uart or Dumb Modem Tests . . . . . . . . . . . . . Page 37 4.35 Error Messages . . . . . . . . . . . . . . . . . . Page 38 4.36 IRQ Failures . . . . . . . . . . . . . . . . . . . Page 39 4.38 Burst Mode Tests . . . . . . . . . . . . . . . . . Page 39 4.4 Loopback Tests . . . . . . . . . . . . . . . . . . . Page 41 4.41 Loopback Test Error messages . . . . . . . . . . . Page 43 4.42 Burst Mode Tests . . . . . . . . . . . . . . . . . . . . Page 43 4.5 Options Mode . . . . . . . . . . . . . . . . . . . . . . Page 45 4.51 Interactive Mode . . . . . . . . . . . . . . . . . Page 45 ALT-B . . . . . . . . . . . . . . . . . . . . . . . Page 45 ALT-C . . . . . . . . . . . . . . . . . . . . . . . Page 45 ALT-N . . . . . . . . . . . . . . . . . . . . . . . Page 45 ALT-R . . . . . . . . . . . . . . . . . . . . . . . Page 45 ALT-H . . . . . . . . . . . . . . . . . . . . . . . Page 46 ALT-X . . . . . . . . . . . . . . . . . . . . . . . Page 46 4.51A Testing for Interrupt Latency . . . . . . . . . . Page 46 4.51B View Fax Mode Settings . . . . . . . . . . . Page 47 4.52 View Current Statistics . . . . . . . . . . . . . . Page 47 4.53 Print Current Statistics . . . . . . . . . . . . . Page 47 4.54 Reset Current Statistics . . . . . . . . . . . . . Page 47 4.6 Setup Mode . . . . . . . . . . . . . . . . . . . . . Page 48 Mdr Color Selection Screen . . . . . . . . . . . . Page 48 4.7 Exit Program . . . . . . . . . . . . . . . . . . . . Page 49 5.0 Error Messages and their Meanings . . . . . . . . . . . . Page 50 General Program Errors or Warnings . . . . . . . . . . . Page 50 Setup Mode Diagnostics . . . . . . . . . . . . . . . . . Page 51 Uart diagnostics . . . . . . . . . . . . . . . . . . . . Page 55 Report Generator Messages . . . . . . . . . . . . . . . Page 56 Static DTR/DSR RTS/CTS . . . . . . . . . . . . . . . . Page 56 Carrier and Dynamic tests . . . . . . . . . . . . . . . Page 57 General program warnings . . . . . . . . . . . . . . . . Page 59 Page 2 Modem Doctor 6.0 Technical Reference Manual Section 6. Special Modes and Information . . . . . . . . . . Page 63 6.1 Using Modem Drivers . . . . . . . . . . . . . . . . Page 63 6.11 External Modem Drivers . . . . . . . . . . . . Page 64 6.2 Using the Command Line Mode switch /S . . . . . . . Page 64 6.3 Using the Hot-Keys . . . . . . . . . . . . . . . . Page 66 ALT-B Change Baud rate . . . . . . . . . . . . . . Page 66 ALT-C Clear Screen . . . . . . . . . . . . . . . . Page 67 ALT-F Force Microprocessor . . . . . . . . . . . . Page 67 ALT-H Help . . . . . . . . . . . . . . . . . . . . Page 67 ALT-R Register Display . . . . . . . . . . . . . . Page 67 ALT-X Exit Mode . . . . . . . . . . . . . . . . . . Page 67 Control -Break . . . . . . . . . . . . . . . . . . Page 67 6.4 Logging in Defective Ports . . . . . . . . . . . . Page 68 6.5 What tests cannot Do . . . . . . . . . . . . . . . . Page 68 6.6 Quirks with Some Modems . . . . . . . . . . . . . . Page 69 6.7 Buffered vs Direct Connect Modems . . . . . . . . . Page 70 6.8 Using Digiboard Serial Ports . . . . . . . . . . . . Page 71 6.9 Running Modem Doctor under Windows 3.1 . . . . . . . Page 73 6.91 Running Modem Doctor on Networks . . . . . . . . . Page 73 Section 7. Benefits of Registration . . . . . . . . . . . . . Page 73 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . Page 75 Disclaimer . . . . . . . . . . . . . . . . . . . . . . . . . Page 75 Modem Doctor History . . . . . . . . . . . . . . . . . . . . Page 76 All of the documentation text contained in this file is copyrighted 1989-1994 by Hank Volpe. This file is the technical reference manual that accompanies the Modem Doctor. This manual has been written for the expert user who would like to have background information on how the Modem Doctor conducts its various tests. It also catalogs the many error messages and their meanings, explains some of the mnemonics used in testing, and contains a brief history of the different versions of the program. Distribution of this text without the Modem Doctor shareware version and its support files is prohibited by the author. Page 3 Modem Doctor 6.0 Technical Reference Manual ------------------------------------------- What's New in Modem Doctor Version 6.0 ------------------------------------------- For those of you familiar with Modem Doctor, here is a brief look at the improved and added features of version 6. If you are new to Modem Doctor, take a look at the users manual file (MDRFIRST.TXT) that accompanies your Modem Doctor package. 1) Adds IRQ support for IRQ's 7-15 for AT Class Computers with dual Priority Interrupt Controller Chips. 2) Improves 16550AFN tests. Buffers are tested 14 levels deep (instead of 8) in both normal and new "burst mode" tests. 3) Tests for FAX modems, indicates Fax Group and Class. 4) Increase Baud Rate to 115200 in registered version. 5) Diagnostic Toggle mode for DTR and RTS signals, helpful in finding bad cables or missing signals in cables. 6) Improved Modem Recognition and Modem Drivers. 7) Burst and Signature Rate Tests for Analog loop and Carrier. 8) Support for DIGIBOARD Comm ports via the Digiboard Driver. 9) Improve FOSSIL throughput routines. 10) Detects AT, PS-2 and Dual Bus Computers, Supports Dual 8259 PIC's. 11) Support for Digiboard Intelligent Serial ports that use Digiboard's TSR comm port driver. Modem Doctor can test and support up to 4 boards with a maximum of 16 serial ports on each board. In addition to these new features, existing commands have been enhanced or rewritten to accommodate the changing technical features of contemporary hardware. 1) Manual Login feature active in both shareware and registered versions. 2) New /E switch to accommodate older display adapters (IBM 8541's) that use Com4's address as a video display adapter address. 3) Improved interrupt stack routines for PS/2 machines. 4) Support for 28.8kbps modems. 5) Improved uart hardware I/O routines. 6) Default startup mode uses polled TX operations. Some uarts in inexpensive modems have a well-know defect detected by Modem Doctor and other communication program authors that cause transmit interrupt problems. You can change this selection with the ALT-T command at any time. Page 4 Modem Doctor 6.0 Technical Reference Manual 7) Accommodations for BOCA modems with non-standard uarts. The Line Status registers of most uarts are meant to be read only except for bit 1. In the BOCA uarts, all bits are read/write, causing communication lockups. Uart routines in Modem Doctor have been changed to work with this problem. Thanks to many fine people that participated in the beta testing, Modem Doctor is a better program today than in any previous version. To these people go my thanks for helping improve the program and make me a better programmer. Forward ------- Welcome to the Modem Doctor. This documentation along with the program is a good source of information about how Uarts and Serial Ports work with modems in your Personal Computer. There are two versions of the Modem Doctor; The shareware version 6.0S and the registered Version 6.0R. There are some differences between the two. Both however are full-functioned diagnostics tools. The differences between the two are as follows; Version 6.0S supports speeds to 2400 bps Version 6.0R supports speeds to 115,200 bps Version 6.0S does not include the Digital or the Analog Loopback testing, or any of the dynamic handshaking tests supported in version 6.0R, or the /s or /x command-line modes of operation. The remaining 65+ tests of your modem and uart system hardware are fully functional. Although many people register for the higher DTE baud rates,the shareware version of Modem Doctor is just as capable at detecting your problems as the registered version. The higher speeds and uart tests serve as incentives for you to register your copy. Modem Doctor has been featured in many reviews and included in many technical manuals. You can find background information in; Killer PC Utilities QUE Upgrading and Repairing PC's QUE Modems Made Easy Bantam PC-Secrets IDG Books Dos 6.0 Powertools Bantam Page 5 Modem Doctor 6.0 Technical Reference Manual Reviews of early versions of Modem Doctor can be found in many national computer columns and also in many publications. The two best known are PC-World and the German weekly "Der Speigel". The best way to find out about Modem Doctor and Modem Doctor support is our BBS. We're up and running 24hrs a day at 410-256-3631. There are hundreds of hard-to-find communication utilities and free advice for those who call. The BBS is free to all who call, no fees or upload requirements. The BBS, and improvement to Modem Doctor are supported totally by those who register. I sincerely wish Modem Doctor could be a full time occupation, but the reality is that Modem Doctor is a labor- of-love. This is why I appreciate your support of the program. It makes communication problems simpler for all who are just setting forth into Cyberspace. This documentation covers both versions, however the feature differences above are provided for your reference. This manual is provided as a technical reference for advanced users or for those wishing to get more background information on tests. For first time users I would suggest reading the Getting started Manual text file MDR6FST.TXT, which is a little more basic in its approach. If you are using the shareware version and wish to order, please use the Order form included with this package or see Section 7, Benefits of registration at the end of this documentation. You can always get the latest version of Modem Doctor from the Modem Doctor BBS (410-256-3631, 24 hrs, speeds to 19.2kbps). Section 1. Introduction - ------------------------- The Modem Doctor is a professional diagnostic tool designed to work with IBM-PC's and compatibles. There are two versions of the Modem Doctor, the shareware version and the registered version. The registered version of the Modem Doctor contains complete diagnostics for 8250-B, 8250-A, 16450,16550, 16550A(x), and compatible Uarts, RS-232 data lines, and carrier tests. Some of the many diagnostic features of the registered version are; ** Support for COM 1 through COM 8 using system IRQ's 2,3,4,5 or 7. ** Baud Rates from 300 to 115200 bps ** Support for Courier HST/Dual Standard/V.32 Modems [+], US Robotics Sportster, V.34 28.8kbps modems, Hayes 1200, 2400, Ultra and V9600 series Modems [+*], Hayes 28.8kbps Optima modems, ZyXEL E, E+, Practical Peripherals, Intel, and Sierra Semiconductor modems. A Generic Driver is provided for all others. Page 6 Modem Doctor 6.0 Technical Reference Manual ** Auto-detection of modems that use &T0 (CCITT V.54) diagnostics ** Auto log-in of COMM ports 1 - 4 to DOS for use by other programs. ** Manual log-in of up to 8 COMM ports for non-standard hardware, including those with defective Uarts (on manual selection). ** On-screen display of all 8250 /16450/ 16550 Uart registers. ** On-screen display of modem S-Registers. ** Full Diagnostic tests of Uart and RS-232 Channels including; -- ALL Uart registers. -- ALL RS-232 handshaking Signals. -- 8259 Interrupt Controller mask registers including dual-pic environments. -- Digital loopback Uart tests including chips with Tri-stated OUT2 signals. -- Analog loopback data tests. ** Full diagnostic checks of "AT" instruction set modems; -- Carrier tests on both originate and answer frequencies. -- Carrier test interface for "dumb" modems or data channels. -- Burst mode tests that stress modulation requirements and measure system throughput. -- Modem microprocessor command channel diagnostics. -- Support for high speed modems. -- Support for modems that use the alternate &T0 self test mode. -- Dynamic simulated on-line testing of RTS/CTS and XON/XOFF handshaking. -- Static DTR/DSR and RTS/CTS uart handshaking tests. -- Ability to display any S-Register pairs ** Interactive Mode with 16K communications buffer for; -- TTY mode interactive communications over serial port or modem while on-line. -- Interrupt latency test, you can use this to determine if your display adapter is too slow for your high-speed modem. -- Custom designed tests...help menu included. -- On-line "Hot-key" viewing of 8250 Uart registers. ** Hot-Keys for selecting the baud rate, to force a modem microprocessor test mode, and to enable/disable transmitter driven interrupts. ** User Selection of modem drivers. Like printer drivers, these software modules add more selections and more test capability to The Modem Doctor. ** Ability to use external modem drivers. External modem drivers make it possible to add special modems that might not use standard AT conventions to the Modem Doctor without you having to update to a new version of the program. Page 7 Modem Doctor 6.0 Technical Reference Manual ** Built in report generator that displays the results of all tests run on all serial ports and modems. Report can be printed at any time and reset at any time by the user. ** Status bar that continuously displays the port, speed, microprocessor status, Transmitter Interrupt enable status and modem driver selections. ** User defined Colors for all screens ** Compatibility with mouse drivers. Mouse drivers also properly enabled after exiting Modem Doctor. ** Command Line Mode interface for setting up a modem to an initialization string contained in a user created file; -- A small text file contains the port (and optional address), the speed, and the string to send to the modem. Any text editor can create the file at any time! ** Automatic detection of incorrect Com1 and Com2 port assignments, IRQ assignment errors, missing IRQ signals, and missing handshake signals. The Modem Doctor and all of its documentation is copyrighted by Hank Volpe. The shareware version of this program may be distributed on not charged for its duplication or acquisition (except for BBS systems that charge a user fee for system access). Important for Shareware Distributors. Unlike previous versions, version 6.0 can be freely distributed via these channels. The only requirement that I absolutely insist upon is that you mail us a copy of your catalog for our files and that you encourage users of your service to register this and all other shareware that you distribute. Under no conditions can anyone accept registration fees for the Modem Doctor but Hank Volpe or agents authorized for resale by Hank Volpe. The Modem Doctor is distributed on as "as-is" basis, with no warranties for usefulness or suitability expressed or implied. Users of the shareware version are granted a limited license to use this program for a trial period only. Please let your conscience be your guide as to what you believe has been a fair trial period, for without the support of users who have registered, the Modem Doctor would not be the product that it is today. The Modem Doctor is a very flexible package for both the new user and for the experienced technician. The focus of this manual is to give you a technical reference regarding how the Modem Doctor works, what is the meaning of error messages you may encounter, and how the tests are Page 8 Modem Doctor 6.0 Technical Reference Manual constructed to operate between your PC and your modem. First time users or those unfamiliar with how the Modem Doctor operates should read the file MDR6FST.TXT. MDR6FST explains how to start and use the Modem Doctor, how the pulldowns operate, and how to use the menu and control system. Section 2. Starting MDR ------------------------ The Modem Doctor has been designed to work with PC-Type serial ports and "AT" instruction set (so called Hayes compatible[++]) modems. The Modem Doctor requires at least 1 serial port to operate. MDR is written to run under MS or PC DOS 2.2 or higher, and will work with any standard display adaptor in normal text mode. The program requires at least 200K of program memory space. When MDR is started, it will use your current text mode. If you have created a custom color file (see Options mode), your screen colors will be displayed as you selected them. If not, default colors will be loaded depending on the mode you are currently in (Color or Black /White). Modem Doctor starts just like any other program. From the dos prompt, type MDR. There are however several command line switches you might need to use from time to time. The /B switch ------------- Code has been included to work with hardware-incompatible display adapters as long as they are at least IBM-PC Bios compatible. For most computers, this is not necessary and will slow down screen displays, plus it will change the appearance of the input windows. The reason for using this switch is (for example), if you wish to route the output of the program through a voice synthesizer or operate it under a program that requires all screen writes to go through your Bios. If you wish to use this bios compatible mode instead of direct display writes, start the program using the Bios switch ; MDR /B The /D Switch -------------- Starting MDR with this switch active enables support for Digiboard intelligent serial ports (ComXi series) using Digiboard's TSR support driver. Support includes many diagnostic and configuration options. Support is included for 4 boards simultaneously containing up to 16 serial ports on each board. See the section entitled "Using Digiboard Serial Ports". Page 9 Modem Doctor 6.0 Technical Reference Manual The /E switch (** NEW **) ------------------------- Certain video adapters, mainly those attempting compatibility with IBM 8541 display adapters, use an address that is identical to the industry standard address for Com4. The /E switch allows Modem Doctor to operate on these machines. To start in this manner type; MDR /E The /Q switch ------------- Starting in version 5.x tests were included to verify the accuracy of IRQ settings. However this self-testing might not be desirable in some computer environments. The /Q switch makes it possible to defeat this self test of IRQ assignments. Using /Q, Modem Doctor will report "Standard Assignments" and not verify the proper configuration of IRQ settings. Use this switch if you experience a "freeze-up" of the program at the initial sign-on screen. To bypass IRQ verification, start the program with the IRQ switch; MDR /Q If your computer is a PS/2, Modem Doctor will now detect this problem and switch in code to accommodate this peculiarity without the need for the /Q switch. The /S switch -------------- Registered versions 4.0 and higher also can be run to quickly program and setup a Modem. To use this mode start the program with the setup switch ; MDR /S (see Section 3). The /X switch -------------- Registered versions 4.0 and higher have the ability to swap the communication pointers for COM1 and COM2 in memory. To use this mode, type MDR /X. Com1's pointer will be swapped to COM2 (and visa versa). You can specify any one of the 4 comm ports used by dos by typing; MDR /X [port] [port], where each [port] is a different comm port..ie to swap Com1 and Com3, type MDR /X 1 3. MDR /X without port numbers flips com1 and com2 by default. This condition is not permanent. To flip these again, just type MDR /X or if you used comm numbers, type MDR /X [port] [port]. The reason for this command line switch is for convenience and also to make it easier for technicians to swap port assignments without having to change port jumpers. This mode is not generally useful except when you believe you have addresses set incorrectly or if you wish to use a serial device that is normally Com2 Page 10 Modem Doctor 6.0 Technical Reference Manual as Com1 (such as a serial printer) from a high-level language that does not support 2 comm ports. These changes are temporary. Permanent fixes can only be done in these cases if you physically change the addresses on your serial card. The /F switch ------------- Normally, Modem Doctor and most comm programs directly control the hardware of your computer. Uart registers, interrupt controllers, and system hooks are all involved. Another way to perform control in a machine-independent way is by using kernels. Kernels are small programs that reside as TSR's (Terminate Stay Resident) in your computer. You can instruct Modem Doctor to operate in this manner, and instead of assuming complete control over your system, Modem Doctor will work through system kernels. X00 and BNU are two such kernel or FOSSIL programs. If you use Modem Doctor in this manner, some uart programming and error trapping is not possible (because the FOSSIL drivers do not support function calls to handle all test conditions). However, this command can be useful if you wish to test the proper operation of a FOSSIL driver in your system. Other Int14 type kernels are also supported. To start Modem Doctor in this mode, type MDR /F. Page 11 Modem Doctor 6.0 Technical Reference Manual Section 3. First Time Setup --------------------------- The first time you start the Modem Doctor, it will begin several system checks. These checks are not repeated until you start the program over again from the Dos prompt. First, the Modem Doctor checks to see what hardware is available and reports its results to you. Displayed on the bottom line is the serial number unique to each copy (registered version). If incorrect COMM addresses are detected or if swapped addresses are detected, an Alert-bar will be displayed, warning you that a non-standard assignment was detected, and you are asked if you wish to have this fixed for testing purposes only. ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ The Modem DoctorÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ Welcome to the Modem Doctor ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ Õ[ Modem / Uart Hardware Detection ]ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͸ ³ Port assignments Base(hex) Irq Special Port Usage ³ ³ Com port 1 [ ] 3f8 4 ³ ³ Com port 2 [ ] 2f8 3 IRQ assigned to a mouse driver ³ ³ Com port 3 [ ] 3e8 4 ³ ³ Com port 4 [ ] 2e8 3 IRQ assigned to a mouse driver ³ ³ Com port 5 [ ] ³ ³ Com port 6 [ ] ³ ³ Com port 7 [ ] ³ ³ Com port 8 [ ] ³ ³ Bus type: AT Bus Interrupt Levels: 15 HD uses DMA Ch3?: NO ³ ³ Interrupt Status : 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ É[ Serial Port Detection ]ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ» º Serial port detection º º Searching for other standard active Comm ports º º º º Total Comm ports =2 º º PRESS ANY KEY TO START TESTING º º º º º º º ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ Page 12 Modem Doctor 6.0 Technical Reference Manual Modem Doctor 6.0 uses a heads-up display that shows you the Comm port assignment number, the base i/o address, and the interrupt line in use. Unlike other IRQ mapping utilities, Modem Doctor actually creates a system interrupt and traps its ID. Running under DOS, Modem Doctor will always identify the correct IRQ line. In multi-tasking situations, this test may not be valid, which is why a new window has been created to allow you to easily select any IRQ line you wish to use. New in version 6, Modem Doctor also identifies the Computer BUS type in use (PC, AT, PS/2), the maximum number of system hardware interrupts, the status of DMA channel 3 (sometimes used for Hard Drive access, sometimes free for use by intelligent serial board DMA transfers), and the status of all interrupts (gray means inactive, white means active). É[ Ports ]Í» É[ IRQ's ]Í» É[ Baud ]ÍÍ» º Use COM 1 º º Use IRQ 2 º º 300 BPS º º Use COM 2 º º Use IRQ 3 º º 1200 BPS º º Use COM 3 º º Use IRQ 4 º º 2400 BPS º º Use COM 4 º º Use IRQ 5 º º 4800 BPS º * ÈÍÍÍÍÍÍÍÍÍÍÍͼ º Use IRQ 7 º º 9600 BPS º * º Use IRQ 9 º º 19200 BPS º * º Use IRQ10 º º 38400 BPS º Registered Versions º Use IRQ11 º º 57600 BPS º * only º Use IRQ12 º º115200 BPS º * º Use IRQ15 º ÈÍÍÍÍÍÍÍÍÍÍÍͼ ÈÍÍÍÍÍÍÍÍÍÍÍͼ Next, you are instructed to pick from a list of valid Comm ports. The only ports that are listed are valid ports that MDR found when it first started, or ports you logged in using the manual login mode. Use the arrow keys to find your selection, and then press return to select. A window now opens showing you your IRQ line choices. The sliding bar will pick the IRQ line Modem Doctor found valid during the first set of tests. You can change this to any IRQ line you wish. A note of caution though, if you pick an incorrect IRQ line, the following tests will not be valid. A window now opens showing you valid Comm port speeds. Select a speed fromthis menu. Please note, don't select a speed faster than your modem can handle. The reason for faster speeds is so communication links can Page 13 Modem Doctor 6.0 Technical Reference Manual also be tested. Use the arrow keys and press return to make your selection. At this point you are in the options menu. If you select "Test Modem", a series of commands and tests will be performed. Please check to make sure the modem is on line and running. If you select "Test Uart Hardware", only the Uart will be tested. The modem will not be setup. This selection is useful only if you wish to test an RS-232 line or a "dumb" modem.Selection 3 aborts to the main menu. (NOTE: Version 5.0 and higher include "hot-keys" to force the Modem Doctor to believe you are using a modem with a microprocessor and for changing the baud rate. Read Section 4 on the menu system for more details). A. Test Modem/ Uart --------------------- Õ[ Modem / Uart System Diagnostics ]ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͸ ³ Comm port /IRQ in use [ ] Port = 3 Address = 3E8 IRQ = 4 ³ ³ Int 14 interface [ ] Inactive ³ ³ Uart type [ ] 16550AN/AF/AFN buffered Uart detected ³ ³ Baud rate selected [ ] 2400 ³ ³ Baud Rate reg test [ ] Confirmed correct baud rate ³ ³ Modem Microprocessor [ ] Diagnostics passed ³ ³ Modem ID Type [ ] 16800+ bps modem ³ ³ Modem Fax Ability [ ] G3 EIA Class 2 Fax Capable ³ ³ Modem Memory/Rom [ ] Memory /Rom test passed ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ Õ[ Diagnostic Dialog]ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͸ ³ Modem microprocessor command bus active ³ ³ Modem ID reports a 16800 ZyXel U-1496 Series &T1 modem installed ³ ³ Modem uses EIA Fax Commands ³ ³ Modem microprocessor memory tests OK ³ ³ Modem microprocessor accepts setup commands ³ ³ Modem microprocessor ON-LINE ³ ³ Modem - uart status appears correct ³ ³ Press any key to continue ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ The preceding page shows you the results of a normal test with a modem. The first step tests the uart to modem hardware. If any connection errorsare discovered, they are reported to the screen. If no errors are detected, the Modem Doctor will check to see what type of uart is installed. Page 14 Modem Doctor 6.0 Technical Reference Manual There are differences between the different types of uarts, and the Modem Doctor uses this test to determine how to test the uart and what registers to display to the screen. Next, the uart is set to the desired baud rate, and the uart speed register is queried to make sure it did set up properly. Next, the modem command bus is tested and if its compatible, the modem ID information is queried from the modem microprocessor. The Modem Doctor then issues a command that forces the modem to run a checksum of its ram or rom memory. If your modem returns an OK, then the Modem Doctor assumes your modem passed properly. If an error is returned, you will receive an error message stating that the modem reported a rom/ram check failure. If your modem has fax capabilities, Modem Doctor attempts to determine is Group (command) capabilities. Finally, the modem is setup for diagnostics. Note: These setup strings do not overwrite any non-volatile storage. If your modem setup properly, all the uart registers and the First 16 Modem S registers are displayed. This display is not shown the next time you log in a Comm port unless you press the space bar. If the modem does not respond to certain parts of the tests, error messages are reported. Testing Modem Microprocessor ---------------------------- Modem Microprocessor Command Mode Not Detected Software Reset Initiated This message is displayed if the modem did not respond the first time for a query to its status. This could happen for any number of reasons, including that the modem was still on-line and not in the command mode. A soft-reset is performed, which essentially tries to wake the processor up. No Response...resetting Modem Microprocessor ...attempt #1 No Response...resetting Modem Microprocessor ...attempt #2 No Response...resetting Modem Microprocessor ...attempt #3 After 3 soft-resets, the Modem Doctor assumes that the modem is jammed and needs a hardware reset. A hardware reset is the program equivalent of turning the modem on and off again. This is the only way to reset some internal modems that get "jammed" when the computer is first turned on. Clearing a "jam" usually takes no more than 2 attempts. Page 15 Modem Doctor 6.0 Technical Reference Manual Trying Hardware reset of the Modem Microprocessor The Hardware reset is performed, and again the modem microprocessor is strobed for its status. Software Reset Initiated After a hardware reset, a soft reset is performed again, attempting to wake the processor up. If this fails, the following message is displayed; Modem Microprocessor Did Not Accept Setup Commands Trying a Hardware reset of the Modem Microprocessor After one more attempt at waking the modem up, the Modem Doctor assumes that the modem is not compatible and based on the status given it by the Uart, it will report if the device is off or not connected. WARNING..This unit does not have a Compatible Modem attached WARNING..The Modem Device appears to be off or not connected The registers are now displayed for diagnostic tests, and a conclusion based on the status of the registers is displayed. There are many reasons why the modem/uart could fail. See the error code section for details. If the Uart is fine, but the modem is not compatible, the program will tell you that the Uart hardware tests ok and display this in a window to the right of the register display. Note: The reason for testing the modem command set so extensively is so there can be no doubt about the modem accepting commands. You can force The Modem Doctor to believe it has a modem with a compatible microprocessor by using the hot-key Alt-F. See Section 4 about Menu system commands. B. Uart Tests --------------- The uart test is performed every time either the modem or the uart test is selected. Essentially, the uart test programs all of the registers of the uart and looks to see that the correct values have been placed in them. If any one of the registers fails to set, the Modem Doctor will display all of the registers and a diagnostic message. After that, it looks to see that an RS-232 loop is active. If not, it displays an Page 16 Modem Doctor 6.0 Technical Reference Manual error message saying that the loop is either disconnected or a register in the uart is defective. If all checks well, the type of uart chip that is installed is returned. The type of uart chip is important for the way the Modem Doctor will test and display the uart. Essentially there are 3 types it can detect; 8250-B This is the original uart installed in many PC's and serial port add-on cards. 16450/8250-A This is an upgraded uart that fixes a bug in the interrupt enable register of the 8250-B and also tri-stated the OUT2 pin of the chip during loopbacks. It also adds a scratch-pad register as the highest register. This register is tested by the Modem Doctor but not displayed because it never has what you would consider as a "correct" setting. The 16450 is used primarily in 80286 (AT) systems. 16550 This chip is essentially a faster 16450. However, it cannot be used in a FIFO buffering mode, but it does allow for a programmer to use multiple DMA channels and thus increase throughput on an AT or higher class computer system. 16550A(x) This chip is a faster 16450 with a built in transmit and receive FIFO buffer. It also allows multiple DMA channel access. You should see this chip in your 80386, 80486, Pentium, or RISC type machine. You should also consider installing this chip if you do any serious communications at 9600 bps or higher while you are multi-tasking. Whenever a 16450, 16550 or 16550AN is displayed, different diagnostics and/or different register mnemonics are displayed. The 16550AN's ability to enable and disable FIFO mode is also tested. In any case and with any uart, each register is checked for proper values. If anyone of them fail, a window will open and display a possible cause for the problem. Preliminary Diagnostic Checks of Hardware ----------------------------------------- Testing Uart Hardware Only -------------------------- A 8250-B Uart has been detected Modem - Uart Status appears correct Page 17 Modem Doctor 6.0 Technical Reference Manual The first time through these tests, the registers will display for diagnostics. Unlike the modem tests, only the uart registers are displayed. From then on, if the test results are correct, you will be prompted if you wish to have the registers displayed. If a test fails at any time, you will always see the registers displayed along with an appropriate diagnostic message. C. Return to main menu ---------------------- Selecting this returns you to the main menu, this allows you to change an entry made in error without having to wait for the diagnostic checks to fail. In any event, after any of these tests have been run, you will then enter the Modem Doctor's Main Menu. Section 4.0 The Main Menu ------------------------- The main menu consists of a sliding bar from which you make your selections. Using the arrow keys you slide left or right. Pressing ENTER selects a feature. If the feature has a pulldown window, you use the up or down arrows to navigate, and then ENTER to select that feature. 4.01 Hot-Key selection ---------------------- In addition to these menu selections, there are three hot-keys that are active at nearly all times in the Modem Doctor. The ALT-B combination can be used to change the baud rate from the main menu, from inside pulldowns and Manual test section. A window will pop-up and you can pick your desired serial port speed. This can save a lot of time when you wish to test a modem at various speeds. Using the Setup / Test Modem & Uart mode is the safest way (because it verifies the modem microprocessor accepts commands properly at the selected speed), however if you use the ALT-B command, you will take a short-cut that can help you when testing your modem. The next hot-key is ALT-F, or FORCE Micro on-line. Actually, there is no "force" involved. By pressing this key, you make the Modem Doctor believe there is a AT Instruction set compatible modem attached. This can be handy for troubleshooting a modem that doesn't work properly at certain speeds or under certain conditions. The Setup Test Modem & Uart section will not allow any AT Instruction set Carrier tests on modems that it cannot properly setup. The ALT-F combination bypasses this and allows such testing. When you press ALT-F, you will notice the Page 18 Modem Doctor 6.0 Technical Reference Manual Status Bar will say that a modem microprocessor is on-line. Starting with Version 4, this key can be operated as a toggle between on-line and off-line. This key is active inside of any menu at any time. Another hot-key is ALT-T. It allows you to toggle how Modem Doctor treats the transmission of characters. Most times, interrupt driven transmissions are used because they are fast, waste no CPU time looping, and give the best throughput. However, some early 8250 uarts cannot handle interrupt-driven transmits without errors. When you start Modem Doctor, transmit-driven interrupts are disabled. If you would like to enable and test your system for transmit driven interrupt capability, press ALT-T. If you experience errors when transmit interrupts are active and your errors go away when this feature is inactive, you either have a uart that cannot handle interrupt-driven transmit routines, or your system is too slow to process and support this feature. The last hot-key is the ALT-H for help. This key will give you varying levels of help. From the main menu, it gives a terse help just like pressing the down arrow key does. Inside of a pulldown, it gives you expanded help, just as selecting the appropriate help section of the pulldown also does. 4.1 Login In Comm ports ----------------------- When you select this menu, you are offered these choices É[ Comm Port Login ]ÍÍÍÍÍÍÍÍÍÍÍ» º Let me Auto Detect COMM Ports º <- Searches for all Comm ports º You Manually Enter COMM Ports º <- You enter port addresses º Help with Auto login Commands º <- Detailed help or ALT-H º Return To Main Menu º ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ Option 1 repeats what the Modem Doctor does when you first begin to run the program. Option 2 allows you to enter a "non" standard port address and assign one of the two Interrupt lines to use with the Uart. Option 3 gives you an expanded, on-line help description of these tests. Option 4 returns to the main menu. Page 19 Modem Doctor 6.0 Technical Reference Manual 4.11 What do IRQ's and COMM Ports do ? --------------------------------------- Each time a character is received by a modem, it has to get the attention of the computer by raising an interrupt request line (IRQ). PC-type computers have 8 of these lines, AT-type (ISA bus), MCA and EISA computers have at least 16. The 8259 Interrupt controller chip handles these requests for attention. By design, COM1 uses IRQ4 and COM2 uses IRQ3. IRQ7 is assigned to a printer, IRQ5 to the Hard Drives. It is possible to use COM1 and COM2 or COM3 and COM4 at the same time, but you cannot use COM1 and COM3 or COM2 and COM4 at the same time because these share IRQ lines. If you needed to use 3 or more COMM ports at the same time, you would need to use another IRQ line. The best bets are IRQ7 and IRQ5, because they may be available when you need them. IRQ7 is really only needed by programs that use printer interrupts (background type spoolers for example). IRQ5 is used by fixed disks. It may or may not cause a conflict if you use this IRQ line with your modem. PC type computers are quite limited because they only have 8 IRQ lines and most are reserved. AT type computers have 16 IRQ lines. A good tip would be to consult your hardware manual to find out if you can or can't use these other IRQ's. However, if you do not need to use 3 or more COMM ports at one time, then it is best to stick to the reserved IRQ4 and IRQ3 for all of your activity. 4.12 Port assignments and their meaning --------------------------------------- Like IRQ lines, certain port addresses were reserved to work with the PC's external hardware devices. Two of these were reserved by all manufacturers; 3F8 (HEX) and 2F8 (HEX). Although only two COMM ports were supported by the original ROM-BIOS, there are two additional port memory locations available for use by MS-DOS and PC-DOS applications. These reserved port addresses are 3E8 (HEX) and 2E8 (HEX). Most internal modems come with these 4 ports as selections along with several IRQ line combinations. There is a "quirk" in the way that the ROM-BIOS logs in these ports. If the Power on self-tests (POST) do not find a 3F8 serial port but they do find a 2F8, then the 2F8 serial port is mistakenly assigned to COM1. To add to this, the reserved IRQ line for COM1 is IRQ4. But this serial Port of 2F8 is using COM2's address, which means it needs IRQ3 instead of IRQ4. So, if you are trying to use Basic, Pascal, or DOS for COM1 operations, the serial port or modem will not be able to work. The general rule thus is "No COM1 without COM2". Page 20 Modem Doctor 6.0 Technical Reference Manual The Modem Doctor when it is run will detect this log-in problem and display an "alert-bar" with a message to you that points out this error. You can then elect to correct this for the purposes of testing. Remember though, you can only fix these addresses permanently by changing the settings on your serial port or internal modem. You can run Modem Doctor with the /X switch to fix this problem at boot time until you do change the address settings permanently. The addresses for PC's are standardized in order for communication programs to properly work. As stated above, the industry standards are; COMM 1 3F8 COMM 2 2F8 COMM 3 3E8 COMM 4 2E8 IRQ4 IRQ3 IRQ4 IRQ3 COMM 5 3F8 COMM 6 2F8 COMM 7 3E8 COMM 8 2E8 IRQ7 IRQ7 IRQ5 IRQ5 The port addresses for serial ports (1-4) are held in a reserved area of memory. The "base port" of each of these uarts is saved in a distinct area. When you first start the Modem Doctor, the program checks these locations to see if there are any Comm ports already logged in by Dos. If not, a search is conducted for the PC's default Comm 1 and Comm 2 port values and these are logged in. Next, a search is performed for the other industry standard Comm ports. Some PC's already log these in, however IBM-PC's and those that mimic exactly their ROM-BIOS routines do not log in a COMM 3 or a COMM 4. The Modem doctor does log these in, and as a side benefit, these stay logged in until the next warm or cold boot is performed on your computer. Why would Dos not log in a port? Well, some multi-tasking programs overwrite this area to prevent "swapping" of communication programs and it is possible that they might not be properly restored on exit. Next, a search is made for the custom comm ports 5-8. These ports are not held in DOS at all, but are held in program memory by the Modem Doctor after a user logs the port in using the Manual log-in mode (see below). If one of these ports is found, it will be added to the comm port option menu for you to use when you test the modem. The reason for the custom ports is to help users who are using non-standard interrupt lines (IRQ7,IRQ5). Unlike the Dos logged-in ports, these assignments disappear when the Modem Doctor is exited. The Modem Doctor follows the accepted arraignment of these comm Port /IRQ line pairings. However, you do have full control at all times over all port addresses and IRQ assignments and can change them using the Manual Login mode. As far as the 2 Options presented by the Login Mode, option 2 is the Page 21 Modem Doctor 6.0 Technical Reference Manual only real option available. Please use it with caution. The only need for this option is for logging in a comm port that does not use any of the listed industry standards as its base port address or IRQ line assignments. Consult your serial port or Modem's user manual to make sure you enter the exact port address and select the correct Interrupt line to use with it. Otherwise the Modem Doctor will not recognize or be able to test any device hooked to this port. Protection is included in this routine to keep someone from accidentally entering a port that is used by the system board, display adapters, or fixed disk adaptor. Entering any of these values, or an error, will result in the display; "WARNING...RESERVED port...RETRY ENTRY" After running option 1 or 2 , you must tell the Modem Doctor which comm port you wish to use so that testing can begin. Pressing the ESCAPE key or pressing a left or right arrow key works the same as Option # 3 and returns you to the main menu. 4.13 Testing defective Ports ---------------------------- Whenever the Modem Doctor checks to see if a port is working properly, it checks the status of several registers. If a uart appears "dead", the Modem Doctor will tell you that the port was not "found". You can use the Manual mode and override this determination. This allows you to test a defective port to find out what is wrong. If you tell the Modem Doctor for example to use serial Port 2F8 as COM2 and you do not have a COM2, the message "COM2 not Found" will be returned with an option "Override [Y/N] ?". Answering "Y" will force the login of this port. Certainly there is no benefit to testing a non-existent port, but a port that is defective may not be logged-in. So, you now have the option to test this defective port hardware to pinpoint a problem. Combined with the register display and diagnostics, you will most likely be able to pin-point any uart problem quickly and easily. Page 22 Modem Doctor 6.0 Technical Reference Manual 4.2 Regs ------------- É[ Register Tests ]ÍÍÍÍÍÍÍÍÍÍÍÍÍÍ» º Quick uart register diagnostics º <- Displays all registers º DTR/DSR RTS/CTS echo test º <- Tests handshake lines º DTR Continuous Pulse test º <- New, Pulses DTR line on/off º RTS Continuous Pulse test º <- New, Pulses RTS line on/off º Dynamic RTS/CTS handshake test º +<-|Handshakes under simulated º Dynamic Xon/Xoff handshake test º +<-|on-line conditions. º Display any 10 S-registers º <- Display S-registers º Help and info on these tests º <- Help or ALT-H º Return to main menu º ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ + registered version only The register display section can be an invaluable diagnostic tool. What this does is "poll" all of the status registers of the uart, and the interrupt controller to tell you exactly what is going on. When you use the setup mode, the Modem Doctor checks all of these registers for correct information. If something wrong is discovered, a warning is displayed on the screen telling you what the Modem Doctor believes is wrong. Many different error conditions are checked, see the error code section for a listing. Each register contains a Mnemonic for each one of the data bits. Bits that are a logic low ( = 0) are displayed in low intensity, those that are a logic high (= 1) are displayed in high intensity. On a color monitor, this is easy to see. On a Mono Monitor, make sure you have the brightness and contrast controls properly adjusted to see the difference between the two status conditions. (Note: Version 4 allows you to pick your own custom colors, however, it will still alternate between high intensity and low intensity shades of the colors you select for the uart register displays). Page 23 Modem Doctor 6.0 Technical Reference Manual -[ Line Control Register ]---------- | DLB STB STP EPS PEN STB WS1 WS0 | ------------------------------------ This register controls many of the setup characteristics of your uart and how it behaves to your PC. This register is responsible for setting baud rate, setting break code transmission, parity, and the length of the serial stream word. DLB Divisor Latch Used to access the baud rate registers. Should be low for all displays. STB Set Break If high, the modem transmits a break signal, should be low normally. STP Stick Parity Should be low normally EPS Even Parity select High = even parity..should be low normally. PEN Parity Enable Enable parity checks, should be low normally. STB Stop Bits Number of stop bits, should be low normally to indicate 1 stop bit character only. WS1 Word Length Select 1 WS0 Word Length Select 0 These two bits are used to determine the serial data word length. Both should be high normally to indicate a length of 8 bits. Page 24 Modem Doctor 6.0 Technical Reference Manual -[ Line Status Register ]----------- | TSE THE BI FE PE OE DR | ___________________________________ The line status register reports error conditions that might have occurred between the PC and the Uart. TSE TX Shift Register A high indicates that all characters sent to the Uart were transmitted. Should be High Normally. THE TX Holding Register A high indicates that the Uart can now Empty accept a new character from the PC.Should be high normally. BI Break Interrupt A high indicates that a break signal was received. Should be low normally. FE Framing Error A high indicates that a serial data train did not have a proper stop bit. Should be low normally. PE Parity Error A high indicates that the received serial data's parity did not match what the uart was programmed to receive. Should be low normally. OE Overrun Error A high indicates that a character in the receive buffer was not read by the PC in time, and another character overwrote and destroyed it. Should be low normally. DR Data Ready A High indicates that a character has been received and is ready to be read by the PC from the receiver buffer. Should be low normally for these test, but can vary while data is coming in from the modem. Page 25 Modem Doctor 6.0 Technical Reference Manual -[ Modem Control Register ]--------- | LP OT2 OT1 RTS DTR | ------------------------------------ The Modem Control register handles all of the interfacing between the Uart and the modem. Only 5 signals are needed for this level of control. LP LOOP A high indicates that the loopback digital diagnostic has been activated. This feature only works with 8250 uarts or those that are 100% compatible. This is used in the digital loopback test. OT2 OUT 2 A high enables the uart to generate interrupts. A low disables interrupts. This should always be high for testing purposes. OT1 OUT 1 On 100% compatible modems, a high on this pin will perform a hardware reset of the modem in some compatible designs.Normally this is a low. RTS Request to Send A Handshaking signal that is used by some modems to enable data transfer between the modem and the Uart. Should be high for testing purposes. DTR Data Terminal Ready A Handshaking signal that is used by some modems to enable data transfer between the modem and the uart. Should be high for testing purposes. Page 26 Modem Doctor 6.0 Technical Reference Manual -[ Modem Status Register ]---------- | RLS RI DSR CTS DRD TER DDR DCS | ------------------------------------ The Modem Status Register returns the status of the control signals sent by the modem to the Uart. RLS Received Line Detect A high indicates that a carrier has been received by the modem. When the Analog tests are run, this should be high. If it is not, it is still possible that the modem is ok, however the cable from the modem to the uart (for externals only) might not have a complete circuit due to faulty wiring of the RS-232 cable. This signal is very important for some communications programs to operate properly. RI Ring Indicator A high indicates that the modem detected a ringing signal on the phone line. DSR Data Set Ready This is part of the DTR/DSR Handshaking pair that is used by some modems to control the flow of data. Normally it will be a high. CTS Clear to Send This is part of the RTS/CTS Handshaking pair that is used by some modems to control the flow of data. Should normally be a high. DRD Delta Received Line Signal Detect. A high indicates that the Received Line Signal has changed state. Some communications programs use this also as an indication that a carrier was detected by the modem. TER Trailing Edge Indicator A high indicates that the Ring Indicator changed state. Some communications programs use this as an indication that the phone has rung. Page 27 Modem Doctor 6.0 Technical Reference Manual DDR Delta Data Set Ready Indicates that the DSR signal has changed state. DCS Delta Clear to Send Indicates that the CTS signal has changed state. If a 8250-B / 16450 or 8250A Uart was detected, the following is displayed; -[ Interrupt ID Register ]---------- | ID1 ID0 ITP | ------------------------------------ The Interrupt ID Register is used to tell the CPU what kind of interrupt occurred. ID0 Interrupt Bit 2 ID1 Interrupt Bit 1 These two signals are a binary code which can be read by the CPU to tell what kind of interrupt occurred. Both bits high indicates an error occurred or a break interrupt wasreceived. Bit 2 high and Bit 1 low indicates that data is ready to be read by the CPU. Bit 1 high and bit 2 low indicates that a ring signal or carrier signal was received. For testing purposes, only the Data ready mode is used. ITP Interrupt Pending A Low indicates that an interrupt has occurred. For testing purposes, this should always be high if data was successfully read by the Modem Doctor. If it is not, then an interrupt did occur but the CPU did not respond. Suspect a problem with an interrupt controller chip or the uart interrupt generating capability. If a 16550 or 16550A(x) chip was detected, the register selection uses the enhanced register display. Page 28 Modem Doctor 6.0 Technical Reference Manual If a 16550A(x) was detected, the appearance of the Interrupt ID register changes and the following is displayed; -[ Interrupt ID Register ]---------- | FEM FEL ID2 ID1 ID0 ITP | ------------------------------------ FEM FIFO Enable MSB This is the most significant bit of the FIFO register. It should be high on both the 16550 and 16550AN if the FIFO buffering is enabled. Normal Modem Doctor status shows this as a logic low (unless testing is performed). FEL FIFO Enable LSB This is the least significant bit of the FIFO Register. It should be a high on the 16550A(x) only! The 16550 always displays this bit low. Again, the normal Modem Doctor status will show this as a logic low (unless testing is performed). ID2 FIFO Timeout This signal is raise high by a 16550A(x) to indicate that it is holding characters for the CPU to read, but it is less than what the CPU has requested to be interrupted for. The FIFO buffer can be as deep as 14 characters. If only 8 have come in, the CPU will not be interrupted. The 16550A(x) is programmed to interrupt after a period of time has gone by during which no characters were received in order to force the CPU to get what it is currently storing. Normal operation should keep this line low, if it is high at any time there is a problem with the uart. Page 29 Modem Doctor 6.0 Technical Reference Manual -[ Interrupt Enable Register ]------ | ESI ELI ETI ERI | ------------------------------------ The Interrupt Enable register is programmed to allow certain types of interrupts to occur. ESI Enable Status A high causes the uart to generate an interrupt whenever RI or RSD signals in the Modem Status register go high. Should be low for testing. ELI Enable Line A high causes the uart to generate an Interrupt whenever an error or break interrupt is detected in the Line Status Register. Should be low for testing. ETI Enable Transmitter A high causes the uart to generate a holding register interrupt whenever the THE signal of the empty interrupt line status register goes high. Should be low for testing. ERI Enable Receive Data A high causes the uart to generate a ready interrupt whenever data is ready to be read by the CPU. The DR line of the line status register going to a high state generates this condition. This signal should be high for testing purposes, since it is the only interrupt needed by the Modem Doctor. Page 30 Modem Doctor 6.0 Technical Reference Manual -[ Interrupt Mask Register ]-------- | IQ7 IQ6 IQ5 IQ4 IQ3 IQ2 IQ1 IQ0 | ------------------------------------ The interrupt mask register is contained on the 8259 priority interrupt controller on your computer's motherboard. Each one of these hardware interrupts corresponds to an external device. IQ7 Printer Interrupt (can be used by Custom COM5 or COM6) IQ6 Floppy Disk Interrupt IQ5 Hard Drive interrupt (can be used by Custom COM7 or COM8) IQ4 COM1 Interrupt (also COM3) IQ3 COM2 Interrupt (also COM4) IQ2 reserved by IBM (Gateway to second 8259 on AT's) IQ1 Keyboard Interrupt IQ0 Timer Interrupt Under Normal Conditions, IQ0,IQ1 and IQ6 should be lit, along with IQ4 if testing COM1 (or COM3) or IQ3 if testing COM2 (or COM4). In addition, other lines could be lit depending on your computer. The only line the Modem Doctor looks for is the IQ4 or IQ3 lines (depending on which serial port you are testing). -[ Interrupt Mask Register ]-------- | I15 I14 I13 I12 I11 I10 IQ9 IQ8 | ------------------------------------ If you are using an IRQ line above 7, this alternate display is shown above. In normal use, only IRQ9, IRQ10, IRQ11, IRQ12, and IRQ15 are free to be assigned to other hardware devices. I15 - free, normally assigned to BIOS I14 - used by hard disk controllers I13 - Redirected NMI interrupt or coprocessor I12 - free, normally assigned to BIOS I11 - free, normally assigned to BIOS I10 - free, normally assigned to BIOS IQ9 - Redirected IRQ 2 IQ8 - Real time clock interrupt Page 31 Modem Doctor 6.0 Technical Reference Manual Although the status of all interrupt lines are shown, only 9,10,11,12 and 15 can be accessed by Modem Doctor. 4.30 Handshaking tests ---------------------- Just like a handshake between friends, the Modem Doctor tests to see that your computer uart and the modem are properly exchanging handshaking for data communication. There are 4 tests for proper operation. Two of them are static (meaning that the control lines between the computer and modem are raised and lowered), and two of them are dynamic (meaning that the modem is placed in a self-connect mode and data is sent to the modem). Static test results can vary modem to modem. Some modems echo control line toggles...in other words, if DTR goes low, so will DSR. Other modems do not. So, it would be considered normal for a modem *not* to pass this particular test. However, if you wish to test a cable, and at the end you place a loopback plug, then the static echo test should pass. Otherwise, your cable is wired incorrectly! The static RTS/CTS tests are conducted the same way, however this handshake pair is important for high-speed modem users. Again, working through a modem, you will see a failure (unless using the modem for Synchronous Communications, something most users never do). However, with a loopback plug, you should see the static test pass. The static tests above are designed to show that your cabling to the modem is proper, when verified with a loopback plug. However, these tests cannot verify if your modem microprocessor will act properly on this handshaking information. New in version 6.0, DTR and RTS pulse tests are added to aid you in finding problems with cables or connectors. If DTR is selected, the DTR line is raised and lowered every 2 seconds. If RTS is selected, the RTS line is raised and lowered every 2 seconds. Using modem indicator lights or Modem Doctor's status display and a loopback cable, you can find out if a cable has the proper wiring for handshaking signals. With some simple test equipment (like a logic probe), you can use this mode to trace a problem to its source. The dynamic tests force your modem to self-connect. Next the RTS (or DTR) lines are dropped (depending on which test is run). Then 20 characters are sent to the modem. If the modem is properly using handshaking, no characters will be sent back to the computer. If any Page 32 Modem Doctor 6.0 Technical Reference Manual characters are received, then your modem ignored the handshake request. In most cases, if the static tests passed but the dynamic failed, it means your modem needs to be setup for testing. The Modem Doctor offers you the choice of programming your modem to test its ability to handshake. Using this mode requires that you have selected the proper modem driver from the Carrier mode before hand, otherwise incorrect commands will be sent to your modem. If you know you have the right driver, then you can go ahead and see if your modem is set properly or not. None of the commands sent to the modem are permanently stored in the modem. If the Modem Doctor enables handshaking and it works, but your setup in the modem does not work, then you have to reprogram the modem yourself. You can use the Interactive terminal mode to do this if you wish without leaving the Modem Doctor. Also, in order for these tests to be valid you must be using a modem that supports RTS/CTS and XON/XOFF handshaking modes of operation. 4.30A S-Register Displays ------------------------- The most important S-registers are the first 16. These determine many of the abilities and options that your modem can use during communication sessions. However, today's high-speed modems have many more registers, in fact some have up to 200! After the first 16, no one really follows any sort of "plan", each modem manufacturer is pretty free to do what they wish. From a diagnostic standpoint, this is a nightmare scenario. Even with the same manufacturer, different ROM versions change how these registers are used. The "compromise" position is allow for the viewing of S-registers in groups of 10. You pick the starting register, and the next 10 are displayed. Values of 0 (appearing slowly) usually indicate that the selected register doesn't exist. As with all Modem Doctor routines, you cannot change any of these S- register settings, unless you go into the Interactive Mode and use the AT commands that allow you to change register settings. Page 33 Modem Doctor 6.0 Technical Reference Manual 4.31 Carrier Tests ----------------- É[ Modem Tests ]ÍÍÍÍÍÍÍ» º Carrier Self-tests º <- Simulate on-line tests º Burst Mode Self-Test º <- New, Sends data in Bursts º Burst Signature Test º <- New, Sends a modulation test pattern º Burst Alt Data Test º <- New, Sends an alternating pattern º Select modem drivers º <- Pick a modem driver º Help with carrier test º <- Help º Return to main menu º ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ The carrier test section is used to test your modem's ability to detect a carrier, demodulate signals on the originate frequency and answer frequency, and to properly control the RLS (Received Line Signal) and CD (carrier detect) modem status/control lines. All of these are essential elements for good data communication. When you select carrier tests, a pulldown menu is displayed. Option 1,2,3 and 4 prompts you to run different carrier tests (see types of carrier tests later in this section). Option 5 offers you the chance to select a custom modem driver. Option 7 allows you to return to the main menu (pressing ESCAPE or a left/right arrow key also does the same thing as option 7). 4.31 Modem Driver Modules -------------------------- Although your AT instruction set modem is based on a defacto standard developed by Hayes, there are several "supersets" of this instruction set for various modems. Currently, the Modem Doctor supports 9 different software Modem Drivers for testing; Generic Compatible, &T0 (CCITT V.54 test sequence) instruction set, Hayes 9600,14400, Hayes 28800 bps, Courier HST/V.32, Sportster 14440, USR 28800 bps, ZyXEL 1496 E and E+, Practical Peripherals, Intel, and Sierra Semiconductor modems. If your modem is not included, you can easily pick a driver that will work for you following these simple guidelines; a) If it is a high speed modem (over 2400 bps), select Hayes 9600. b) If it is a 2400 bps modem, select &T0 instruction set. c) If these do not work, use Generic driver. When the Modem Doctor is running the setup mode, it queries the microprocessor for its type identification. Based on this information, a modem driver is selected for use. Basically, all 2400 bps and lower Page 34 Modem Doctor 6.0 Technical Reference Manual modems are assigned the Generic Driver, and all supported 9600 and higher modems are assigned their proper ID, based on the information your modem returns via its ROM code. If Modem Doctor knows its a high-speed modem but can't determine the type, the Courier HST/V.32 driver is assigned by default. The &T0 instruction set modems, (those that use the CCITT V.54 test sequence), are tested in a different manner with a different set of instructions. Previous versions of the Modem Doctor would automatically switch to the &T0 instruction set if the modem was a 2400 bps modem and if it failed to properly detect a carrier during testing. This function is still built into the Modem Doctor, but you can optionally select the &T0 driver yourself before beginning your testing in order to speed things up. Auto-selection added about 10 seconds a pass that can now be eliminated. If you desire to select the &T0 set for your modem instead of letting the Modem Doctor do it for you. NOTE: Don't select this instruction set unless you know for sure that your modem is 100% instruction set compatible with the Hayes 2400 or 2400B. Hayes 1200 bps and lower, and almost all other 2400 bps and lower modems use the Generic Driver. You will find that 99% of all modems will work properly with this assignment, in fact, if you disable all data compression and Fixed link assignments from any high speed modem (including 28800+'s), the generic driver will test these modems properly also! This allows people with high-speed modems that are not supported currently to use the Modem Doctor for testing. If you have a high-speed modem that is not supported, you can use a Combination of the Manual mode and the Generic Modem Driver to test these modems also. All of the modem drivers used by the Modem Doctor are built into the program, however version 6.0, like earlier versions, has the ability to recognize an external driver file. If the Modem Doctor finds and external driver file when it starts, it uses those command instead of the built-in drivers. The format for drivers has changed between version 4.0x, 5.0, 6.0 and any future drivers will be released in all formats for users of all versions of Modem Doctor. What purpose is there in external drivers? Well, first off, if a new modem command set is adopted, or a bug is discovered in one of the built-in modems, you will be able to receive a free driver file from any bbs or by mail. This means that your copy of the Modem Doctor can stay current for some time to come. The second reason for external drivers is to allow you, if you desire, to have us custom design a Page 35 Modem Doctor 6.0 Technical Reference Manual modem driver for a particular modem. These drivers would be designed at a modest charge and would be for your use only. In any case, external drivers insure your investment in the Modem Doctor. 4.32 Types of Carrier Tests ----------------------------- The carrier tests are designed to test your modem under actual use conditions (minus a telephone line). Your modem uses two different frequency bands for communication. These are the originate and answer frequencies. AT Compatible modems can select these under command of the Modem Doctor via the appropriate Modem Driver module. So called "Dumb" Modems have front-panel switches that you must use to properly test the modem. The Modem Doctor supports both types of tests, one of which is automatically selected by the Modem Doctor depending on the hardware it detects. 4.33 AT Instruction Set Tests ----------------------------- If you selected the Test Modem/Uart option from the setup menu and a Modem with a compatible microprocessor was detected, or if you have forced the Modem Doctor to use the AT instruction set tests via the hot-key ALT-F, the Modem Doctor will test the originate and answer frequencies of your modem automatically. Before running this test, make sure you have disconnected the modem from the telephone line, because the modem will go off-hook and sometimes the dial-tone will interfere with testing. If you press ESCAPE in this menu, you return to the main menu. Any other key continues. You will be prompted to enter a "Loop Count". If you select a count of 1, you will be able to hear the connecting tones on your speaker. If you select a count greater than 1, then the speaker is turned off. After you make your selection, two windows will open on your screen. One contains data that is being sent to the modem, the other data that has been received by the modem. All of the characters from binary 0 to binary 255 are transmitted. Some of these will look strange because they are characters of the extended character set. The Modem Doctor takes a great deal of care in preserving the normal condition of your modem before testing, and sends all the character strings necessary to test without disturbing any non-volatile memory settings. If you have an external modem, you will see the data being sent and acknowledged before testing begins. Page 36 Modem Doctor 6.0 Technical Reference Manual While it is setting up, the Modem Doctor tells you what is going on, including that the modem is reset, that commands are being sent, and that it is waiting for a carrier. The Modem Doctor waits up to 15 seconds for either the word CONNECT or the RLS signal to go active. If this does not happen, the Modem Doctor switches to the &T0 command set that is used by Hayes 2400's and several other clones. This test is just as valid as a full carrier test for these types of modems, and verifies both the modem and the uart signal paths as does the traditional carrier test. If you switch to this mode, you will be informed via the screen and the message "CCITT V.54 " will be displayed. Also, if you have an external modem, you might see the "modem ready" light flashing throughout this test. If you selected the &T0 instruction set yourself from the Modem Driver selection menu, then the &T0 set will be used exclusively. This selection is mainly a convenience for some users (because the auto-detection method takes a little longer), however it will not test any other kind of modem properly. If you are unsure, let the Modem Doctor figure it out for you. Note, if you select more than 1 iteneration and change you mind, press ESCAPE anytime during the test. At the next available loop-repeat time the Modem Doctor will abort testing and give you your current status. 4.34 Uart or Dumb Modem Tests ----------------------------- This test works the same as the AT instruction set modem test with two main exceptions. First, Your modem must be able to generate a carrier on its own on the answer and originate frequencies. Most external "dumb" modems have front panel switches for this function. Most are marked as AL (for Analog Loopback). If your modem can generate this, answer yes and follow the prompts on the screen. All testing is performed as above, except you setup the modem instead of the Modem Doctor using its modem driver software. Whenever the Modem Doctor is working with the micro in the "Off-line" mode, the dumb mode tests are used. You are prompted if your modem can generate a carrier. Answer yes to start the testing. You are then told to place your modem in the analog loop mode and force the carrier detect on. Most dumb modems will light the CD light on the front panel of the modem when you press the AL switch. This CD light sends a RLS (Received Line Signal) status word to the uart. The Modem Doctor looks for this before it will allow testing in this dumb mode. If your modem cannot generate a carrier indication, you can still test an analog loopback using the loopback function in the registered version and select the analog loopback tests (this is explained later in the documentation). Page 37 Modem Doctor 6.0 Technical Reference Manual 4.35 Error Messages ------------------- If A RLS (Received Line Detect) signal is not received before testing begins, this indicates that either a carrier is not being generated (or properly received in self test) by the modem, or an RS-232 Cable to an external modem is improperly wired. Although RS-232 loops will work fine without an RLS signal being wired, there is no way for the Modem Doctor to detect on a dumb modem if a carrier was generated. On a AT instruction set modem, the Modem Doctor alternately looks for the word "CONNECT" to be sent from the modem if there is no RLS signal available. If you wish your all of your communications programs to work properly, you should get a cable with this signal wired. If an error is detected during the analog test, the error counter is incremented. There are two error counters; one is used for the originate mode, and the other for the answer mode. If you receive an error, it could be due to a problem with a uart or a modem at a certain baud rate. Try testing at other baud rates to determine if the errors repeat. Also errors could occur on only the originate or the answer frequency. This is more prevalent at higher baud rates. Finally, make sure that the modem was disconnected from the phone line before testing. The dial-tone interferes with some modems. One other possibility exists, that there could be a problem with a cable or interrupts not properly being generated or properly handled by the CPU. Run the digital/loopback tests and if the problem repeats, you might have a bad uart or motherboard problem. Although it is unlikely, if power is removed from the modem or a cable falls off (or who knows what else), the Modem Doctor waits a pre-determined period of time for an interrupt to occur. If none is detected, the warning "Modem Queue Failure" or "Modem Receiver Failure" will be displayed in one of the windows. These might also be displayed if the modem never acknowledged a character being transmitted, or never sent one back. Again, the only conditions that would cause this would be a cable being removed between the modem and the uart, the power being removed to the modem, or the modem "blowing up" via some unnatural means during the test. If the RLS (Received Line Signal) is constantly active from the modem, the Modem Doctor will tell you that you might have a problem with a cable or the modem and that the test results might not be valid. Reason for this is that the Modem Doctor never did detect a carrier because the uart said it was already there. This can be traced in nearly all cases to the modem. Change the setting of the modem to let the carrier Detect (CD) act normally. It should never be set to be forced on for a PC. If so, not only the Modem Doctor, but other communications programs will not operate properly. Page 38 Modem Doctor 6.0 Technical Reference Manual 4.36 IRQ Failures ----------------- The Modem Doctor will allow you to test a modem that might not have a proper IRQ assignment. Such errors in jumper settings on your serial cards or internal modems are tough to trace. If you see this error message displayed, it means that your modem is receiving signals properly, but it cannot communicate back to the computer over normal interrupt assignments. This normally results from using an IRQ line reserved for one comm port with another. See the section above about IRQ's if you get this error, and use the table above as a guide to how to correct your problem. IRQ failures will be displayed in the setup mode, the Regs Quick Uart Diagnostics mode, the Analog Loopback mode and the Carrier Tests mode. 4.38 Burst Mode Tests ---------------------- Burst Mode tests have been added to Modem Doctor. Unlike the carrier self tests (which transmit 1 character at a time and wait for the character to be received), the Burst Mode tests send all characters at once, and then clock how long it takes for these characters to be received. There are 3 different Burst Mode Tests. 1) Burst Mode Self-Test - All 255 characters are sent in a burst. 2) Burst Signature test - designed to detect shift register and modulation problems. 3) Burst Alt Data test - another test pattern used for similar purposes as test #1. Modem Doctor clocks how long it takes to receive them all. This information is displayed in a bar between windows like this; -------------------------------------------------------------------- 16550A TR14 TX Time = 1.21sec 210 cps RX Time = 1.00sec 255 cps -------------------------------------------------------------------- Between the windows (sent to and received from modem),Modem Doctor calculated the send and return time and approximate characters per second. Also, since this particular test was run on a computer with a 16550AFN uart, Modem Doctor also displays the buffer trigger level (14). A 16550AFN uart will usually return characters faster than a regular uart. Transmit times however depend on the type of computer more than the type of uart. Faster machines can send data faster. Page 39 Modem Doctor 6.0 Technical Reference Manual After the test runs, you will see this window; Õ[ Burst Test ]ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͸ ³ The results of the burst mode data tests shows that ³ ³ approximately 465 characters per second can be safely ³ ³ moved between modem and uart without handshaking ³ ³ ³ ³ You do not need any handshaking at this DTE speed ³ ³ Press Any Key to Continue ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ This value is calculated by adding the receive and transmit times together. If Modem Doctor calculates the round trip time to be more than it should be at the chosen baud rate, you will see this message instead; Õ[ Burst Test ]ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͸ ³ The results of the burst mode data tests shows that ³ ³ approximately 210 characters per second can be safely ³ ³ moved between modem and uart without handshaking ³ ³ ³ ³ You will need some sort of handshaking at this speed ³ ³ Press Any Key to Continue ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ At 2400 bps, 240 characters are transmitted each second. If your computer can only handle 210 cps total, then your computer could drop characters. Therefore hardware handshaking is needed. Now, no computer made will have this problem until you exceed baud rates of 4800 bps. At 9600 bps, 960 characters need to be received per second. If your computer can only handle 930, you will need handshaking. At 19200bps, you need to be able to handle 1920 cps. Most computers under 50mhz cannot do this without handshaking. The Burst Signature Mode tests are useful in detecting Modem or serial link modulation/demodulation problems. As with the previous Burst test, Modem Doctor calculates the tx and rx times. However, only one character is sent, an A5 hex or . This character in binary is broken into two halves; 1010 (A) and 0101 (5). Since modulation and demodulation in modems depends on correctly phasing changing data Page 40 Modem Doctor 6.0 Technical Reference Manual packets, this A5 character swings the modem between worst case repeating bit states. If you find errors here, you may have located the source of your "line noise" problems. Burst Alt Signature Test - Another useful test in determining the condition of the modulator/demodulator in a modem. In this case, two characters are alternated; the or A5 hex and the letter Z or 5A hex. The modem sees these data bits 1010 (A) 0101(5) 0101 (5) 1010 (A). Additionally, Modem Doctor stresses the first few data packets by sending the sequence 5A A5 5A A5 5A A5 A5 5A 5A A5 A5 5A A5 5A. Many times, initial packets of data are garbled (beginning of a line). Again, if you have a failure, this may be the source of your intermittent line noise. The analog burst tests in the registered version work in the identical manner, except no modulation from a modem is used. This enables you to test the shift registers and serial/parallel decoder features of your serial port. 4.4 Loopback Tests ------------------- The loopback tests were designed for two purposes. First, to test an RS-232 loop including cables that are properly terminated with a loopback plug, and second, to run a digital loopback test on 8250 and 100% compatible uarts. Additionally, the analog portion of this test can be used to test a dumb modem that does not generate a CD (carrier detect) signal when the AL switch is thrown on the front panel. Selecting loopback and pressing return fetches this menu; É[ Loopback Tests ]ÍÍÍÍÍÍÍÍÍÍÍ» º Analog Loopback using a PLUG º +<- test Uart & Cables º Digital Loopback 8250 UARTS º +<- Uart test only º Burst Mode Self-Test º +<- New, Sends data in a burst º Burst Signature Test º +<- New, Sends Burst signature data º Burst Alt Data Test º +<- New, Sends alternate burst data º Loopback Plug Technical Data º +<- How to build a º Help with Loopback Tests º loopback plug º Return To Main Menu º ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ +registered version only Page 41 Modem Doctor 6.0 Technical Reference Manual Analog loopback tests require that you attach a Loopback plug either to the back of the Comm port connector on your computer, or at the end of a RS-232 Cable. This test is designed for external modems, however you could run this on an internal modem as a test of the command channel's ability to receive characters. Caution should be used on internal modems, for some will fail this test. If this happens, don't be concerned. However this test should NEVER fail with a loopback plug, unless you were trying to drive the line at an excessive rate. Remember, the faster the data rate, the shorter the lines should be, and the faster the computer should be to handle it. With a loopback plug on the back of the serial port, speeds of 56000 bps should run fine even on a slower PC (as long as it is not multi- tasking). If you experience problems at 56000 but not at 19200, chances are your hardware is fine (if you are using an 8250-B). In extensive testing with PC's at 4.77 mhz, the original 8250-B performed flawlessly at 56000 bps. Dumb modems can use this test also (as explained above and in the section carrier tests). Digital loopback tests require that you have an 8250-B, 8250A,16450, 16550, 16550A(x) or other 100% compatible uart in your system. These uart's have built-in diagnostics. If you are using a PC compatible internal modem or a PC compatible serial card, then you will definitely have a compatible uart installed. There is a design difference between the 8250-B and other compatible chips in this series. Some of the differences were explained above, but the important difference for the loopback test is the way the different uarts will respond. The 8250-B allowed its OUT2 signal to become active during loopback testing. The OUT2 signal is used by PC compatible machines to gate the interrupt signal off of the serial board (or internal modem). Later designs (8250A, 16450, 16550,16550AN) tri-stated this line. As a result, the self-test diagnostics will not allow the interrupt signal to gate off the board and interrupt the CPU. This would cause all digital loopback tests on these improved chips to fail. The Modem Doctor handles this by a brute-force read of the uarts. By sampling the Interrupt ID register, the presence of an interrupt is detected, then the receiver buffer register is read. This method is not as efficient as a true interrupt-driven test would be, but it is accurate. The Uart does generate the ID for an interrupt, the character is pulled out of the uart. In version 4.0, the speed of this routine was significantly enhanced so that it runs approximately at the same speed as a true interrupt driven 8250-B. Page 42 Modem Doctor 6.0 Technical Reference Manual When running this test on an 8250-B, you will see the true speed of the interrupt handling and processing. On others, you will see the brute-force method. Each is an accurate test of the uart and valid at any baud rate selected. If this test does not run, but yet the analog test and all other tests run fine, it means that you do not have a compatible uart installed. Some uarts that are not 8250's have a problem entering this mode properly. If the test does not start, do not be alarmed, because only 8250 and true compatibles will pass this test. However this test will NEVER start and then fail unless you do have a hardware problem. You should never pick up a character error using this test. If you do, you have a bad uart or CPU motherboard problem. Both tests open up windows (like the analog test) and send and receive characters to the uart. If you wish to know how to build a loopback plug, select the Loopback Plug technical data section. Pressing ESCAPE or the left/right arrows is the same as Option 4 and returns you to the main menu. 4.41 Loopback Test Error messages --------------------------------- Essentially the error messages for these tests are simple. In the loopback test mode, if a character is received incorrectly, the error counter is advanced and a report is issued at the end. If the analog or digital tests fail to receive or transmit characters, the messages will explain that either the transmit queue, the receive queue failed, or that the uart did not respond to the tests. The last message may be displayed if you have a non-compatible uart. If the uart fails to setup properly for the digital loopback test (does not program its registers properly), a warning is displayed that there is an error in one of the registers. The message will explain what is wrong and what it expects. Also, if you are using the wrong IRQ line for your comm port, you will receive an IRQ failure error. See the warning message section for more details. 4.42 Burst Mode Tests ---------------------- Like the Carrier mode, Burst Mode tests have been included in the Loopback tests. Unlike the regular analog loopback tests (which transmit 1 character at a time and wait for the character to be received), the Burst Mode tests send all characters at once, and then clock how long it takes for these characters to be received. Please refer section 4.38 for a description of these tests. Used with a Uart, these burst mode diagnostics are used to test serial ports and do not Page 43 Modem Doctor 6.0 Technical Reference Manual use any modem modulation techniques. However, burst tests will detect bad buffer chips or serializes in a uart just as it detected modulation problems in a modem. As with the carrier mode tests, Modem Doctor calculates the system throughput and displays it in this manner; -------------------------------------------------------------------- 16550A TR14 TX Time = 1.21sec 210 cps RX Time = 1.00sec 255 cps -------------------------------------------------------------------- Between the windows (sent to and received from modem),Modem Doctor calculated the send and return time and approximate characters per second. Also, since this particular test was run on a computer with a 16550AFN uart, Modem Doctor also displays the buffer trigger level (14). A 16550AFN uart will usually return characters faster than a regular uart. Transmit times however depend on the type of computer more than the type of uart. Faster machines can send data faster. After the test runs, you will see this window; Õ[ Burst Test ]ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͸ ³ The results of the burst mode data tests shows that ³ ³ approximately 465 characters per second can be safely ³ ³ moved between modem and uart without handshaking ³ ³ ³ ³ You do not need any handshaking at this DTE speed ³ ³ Press Any Key to Continue ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ This value is calculated by adding the receive and transmit times together. If Modem Doctor calculates the round trip time to be more than it should be at the chosen baud rate, you will see this message instead; Õ[ Burst Test ]ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͸ ³ The results of the burst mode data tests shows that ³ ³ approximately 210 characters per second can be safely ³ ³ moved between modem and uart without handshaking ³ ³ ³ ³ You will need some sort of handshaking at this speed ³ ³ Press Any Key to Continue ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ Page 44 Modem Doctor 6.0 Technical Reference Manual 4.5 Options Mode --------------------- É[ User Options Selection ]» º Interactive Terminal Mode º <- A Built-in mini-terminal º View FAX Mode Settings º <- New, List Current Fax settings º View Current Statistics º <- Status of all tests º Reset Current Statistics º <- Reset all tests to 0 º Print Current Statistics º <- Send results to printer º Help with these options º º Return to main menu º ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ The options mode allows you access to the built-in 16k communications terminal (Interactive Mode), and the report generator features. 4.51 Interactive Mode ---------------------- As well written as the Modem Doctor is, there exists the possibility that a modem or a system might not be compatible with the diagnostics. The manual section allows you to send your own string commands to the modem, read back data, and in fact you could use this as a mini-communications program. If you select this mode, a window opens with the banner Interactive Mode. At the Bottom are listed the "Hot-Keys" you can use; ALT-B This opens a window for you to change the baud rate. Note: if you are on-line with a service this might cause an error between the computer and the modem. Off-line conditions should work properly. ALT-C Clears the screen. This only clears the window of data, and leaves all your prompts. ALT-N Add Nulls, this is new with Modem Doctor 5.0, and can be used to determine if your display adapter is causing "Interrupt Latency". ALT-R This displays the Uart registers...handy for real-time troubleshooting of RS-232 loops. Page 45 Modem Doctor 6.0 Technical Reference Manual ALT-H Help..this displays the basic AT Command set instructions that you could use to control your modem. Note that this is only a basic set. Some modems have many extensions to this, so for advanced work, consult your owners manual. ALT-X Exits the interactive mode and returns to the main menu. 4.51A Testing for Interrupt Latency ----------------------------------- Interrupt Latency is caused by a hardware device (usually a hard disk or a video display adapter) taking longer to process a function that the time it takes to receive a character over your modem. Normally, interrupt latency is not a problem until you use DTE/DCE speeds over 19200bps. With today's high- speed modems, its not uncommon for people to be running speeds of 38400 or 57600bps between computer and modem. Older display adapter, most notably early EGA's with "Auto-detection" circuitry, cause interrupt latency. The symptoms will range from loosing characters occasionally to excessive errors when downloading files. There is no real test for interrupt latency, because such a wide variety of situations can cause it. The only "cure" is to acquire a faster display adapter or a 16550AFN uart. Now, there is a way that you can use Modem Doctor to verify such an error is happening, and that is by using ALT-N. When you add nulls, you are telling Modem Doctor to wait a bit longer inside of a routine that talks to your video adapter, looking for more interrupts before exiting the display routine. If adding nulls improves the error rate that you see characters displayed (while on-line via the Interactive mode to a BBS), then you know you do indeed have an interrupt latency problem. There are two "short-cut" keys associated with ALT-N, and they are ALT+ and ALT-. ALT-N prompts you for a number, while ALT+ adds 1 to that number, and ALT- subtracts 1 from that number. Page 46 Modem Doctor 6.0 Technical Reference Manual 4.51B View Fax Mode Settings ---------------------------- If you have a fax modem, Modem Doctor will give you more detailed info on its features than the setup menu initially displayed. Õ[ Fax Modem Information]ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͸ ³ Current Fax Class : 0 ³ ³ Permissible Fax Classes : 0,2,8 ³ ³ DCE Model Information : U1496E V 6.01 M ³ ³ DCE Manufacturer : ZyXEL ³ ³ DCE Revision Number : U1496E V 6.01 M ³ ³ Auto Answer Mode : DCE answers/auto-determines ³ ³ Press Any Key To Continue ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ If your modem is a Class 1, none of this information can be displayed since the modem lacks the ability to accept T.30 commands. However, if you do have a Class 2 or higher modem (as most are), you will see the display above. This information, especially Permissible class faxes and Auto Answer mode are important for some fax software. 4.52 View Current Statistics ---------------------------- Whenever you log-in a comm port for testing, the Modem Doctor keeps tabs on how many tests were run, the baud rates that were tested, and how many errors you accumulated. You can view these statistics by using this selection. These results are also displayed whenever you quit the Modem Doctor. 4.53 Print Current Statistics ----------------------------- If you wish a hard-copy of your test results, just select this option. You will be able to send this to any one of the printers the modem doctor finds available or to a file called MDR.RPT. 4.54 Reset Current Statistics ----------------------------- Use this mode to reset all test results back to zero at any time. Page 47 Modem Doctor 6.0 Technical Reference Manual 4.6 Setup Mode -------------- The setup mode consists of 2 sections. The first, the setup modem section was covered above. Use this to change the serial port under test, the baud rate, and the type of test to be run. The second section allows you to select the colors that you wish to work with while using the Modem Doctor. You can select default colors, Monochrome (black and white), or create your own custom colors. If you are using a color monitor, you can use window selections to pick the colors you like and optionally save them to a file (MDR.CFG). If you save them, then as long as this file exists, the Modem Doctor will use those colors in place of the default ones. To return to default, either erase the MDR.CFG file, or select default colors and save it to disk. When you enter the color selection mode, you will be presented with three different windows that will allow you to make legal color selections. [ Mdr Color Selection Screen ] Select from this menu the color of normal window and error backgrounds Background Black Blue Green Cyan Red Magenta Brown Gray Select from this menu the color of all window foregrounds & sliding bars foreground colors; Darkgray Lightblue Lightgreen Lightcyan Lightred Lightmagenta Yellow White Page 48 Modem Doctor 6.0 Technical Reference Manual If you select two colors the same (or different intensities that are the same), the Modem Doctor will tell you your selections are invalid. After you have made your choices, you will be presented with a window that allows you to save your choices to a file, use the choices without saving or reselect. If you save them to a file, a file MDR.CFG is created or updated. When Modem Doctor loads the next time, it will use these colors again. 4.7 Exit Program ---------------- This is the only way to exit the Modem Doctor. This is necessary because the interrupt tables and controllers of your PC must be returned to their original state in order to avoid problems after you use the Modem Doctor. Pressing Control-C or Control-Break during the Modem Doctor will cause one of two things to happen. First, it will ignore what you have done if it is critical that the program not be interrupted, or second, if it is at all possible to exit without damage, a window will open telling you that you can Control-Break abort if you wish..answer yes or no. You can Control-Break during all tests and at times from menus. If you choose to quit, the Modem Doctor cleans things up properly and exits to Dos. Please remember this is just an emergency way of doing an exit. Use the Exit function from the main menu as the correct way to end the program. Page 49 Modem Doctor 6.0 Technical Reference Manual 5.0 Error Messages and their Meanings ------------------------------------- The Modem Doctor, if presented with an error, will make a diagnosis of the problem. In most cases, this should be enough for you to figure out what is wrong and go on from there to correct it. General Program Errors or Warnings ---------------------------------- 1) ABORT PROGRAM Control Break Key pressed..Aborting Program Run. Do you wish to abort? [Y/N] : - This means you have pressed the Control Break Key sometime during the program run. The Modem Doctor, unlike most programs, does not drop to dos with a Control-Break without cleaning up after itself. Answering Yes will clean up and stop the program. Answering no keeps the program running at the spot you left off at. If you answer Yes, you will see this message; Flushing Buffers.......Restoring Comm Port and Interrupt Vectors Program Aborted..all vectors restore. 2) You Must SETUP a COMM PORT first....Press any key to continue - If you do not select at least 1 comm port when the program first starts running, you cannot run any tests. This message explains why. 3) Exchanging COM1 and COM2 Base Addresses in Memory COM1 Address was %x COM2 Address was %x COM1 Address now is %x COM2 Address now is %x Run MDR /X again to exchange again, these changes are gone when you reboot! - This messages is displayed when Modem Doctor is run in the exchange mode (MDR /x). 4) Sorry...but I cant find a modem to use... Use Login Feature to Manually Log in a comm port. - The Modem Doctor needs at least 1 comm port installed at a conventional port address to run. If none are available, you have to use the manual login mode to start testing. You should never see this error message with a computer unless it has no serial ports whatsoever. Page 50 Modem Doctor 6.0 Technical Reference Manual 5) Resetting modem to your default settings...please wait - Whenever you exit Modem Doctor and a microprocessor-based modem was detected, it will clean up after itself and restore your modem to initial settings. Uart only tests do not display this message. 6) Your foreground color equals background..please retry 7) Your foreground low intensity equals background, please retry - These messages are displayed when you make color selection choices that would not be proper for the type of display monitor you are using. 8) Warning..I could not create the MDR.CFG file. No colors saved to disk. - Modem Doctor could not save the file to disk, perhaps there is no more space on the disk or the disk is write-protected. 9) Warning..I could not read the MDR.CFG file. No colors read to disk - You asked Modem Doctor to load the color configuration, however there was none found on your disk or in the current working directory. Setup Mode Diagnostics ----------------------- 1) No Response...resetting modem microprocessor ...attempt #%d - The Modem Doctor tried sending a simple AT command to your modem but it did not respond with a valid answer. 2) Modem microprocessor command mode not detected - The Modem did not respond to a valid, simple AT command either because it is on-line, jammed, or not completely compatible. 3) Modem microprocessor command bus active - The Modem Doctor received a correct response from the modem and placed it into the command mode. 4) Software reset initiated - A software reset clears all test registers and resets the modem. 5) Modem microprocessor memory tests OK - The Modem Doctor instructed your modem to run a self-test of its RAM/ROM contents. It responded successfully. Page 51 Modem Doctor 6.0 Technical Reference Manual 6) Modem microprocessor memory may have a problem - The Modem Doctor instructed your modem to run a self-test of its RAM/ROM contents and did not receive the proper response. Your modem may or may not have a problem depending on the results of all the rest of the testing. If all other tests are ok, chances are your modem might have a memory problem. If other tests fail, it could be because your modem is not completely compatible. 7) Modem ID reports a 1200 bps modem installed Modem ID reports a 2400 bps modem installed Modem reports a 9600+ bps modem installed Modem reports a 9600 /1440 bps modem installed - All of these messages are based on receiving correct product codes from your modem. Some modem manufacturers however do not place valid product codes in their modems, so it is possible that you might see the Modem Doctor give you the incorrect type of modem. This does not affect testing, however it does affect the type of Modem Driver that is automatically selected. You can override automatic selections from the Carrier Menu by selecting the proper driver for your modem. 8) No modem ID received...using Generic driver - No product code was received, so defaults are being used. 9) Modem microprocessor accepts setup commands Modem microprocessor did not accept setup commands - The Modem Doctor sends setup commands for all of its tests to your modem. If they were not received properly, you get an error message. 10) An 8250-B Uart has been detected A 16450 / 8250A Uart has been detected A 16550AN/AF/AFN Buffered Uart has been detected A 16550 Non-buffered Uart has been detected - The Modem Doctor programs uarts differently depending on the type and the test running. This will tell you what type of uart chip you have installed in your serial port. Page 52 Modem Doctor 6.0 Technical Reference Manual 11) Modem Control Register reading show that either the LOOP, OUT2, DTR, RTS did not set properly to test. OUT2 and DTR are essential for proper-functioning communications. LOOP is necessary for the digital test to run. -Either the Modem Control Register is bad, or their is a problem with the serial port or modem. 12) Modem Status Register readings show that there is no status coming back from the modem to the Uart. Neither RTS/CTS or DTR/DSR Pairs are active. Most comm programs can work without RTS/CTS, but DTR/DSR are needed by most. RTS/CTS are needed by most hi-speed modems for handshaking. -Your external cable may be wired wrong, or if this is an external modem, check that the cable is plugged in and that the modem is turned on. 13) Line Control Register readings show that the word length selected is incorrect or you have a parity error. WS1 and WS0 should both be on indicating that 8 bit words are to be used. All other readings should be low. Parity errors could happen once but not every time. -If either persists, then the Uart is defective or communications to the Uart are suspect. 14) Line Status Register readings show a problem. The Tx Holding register THE and the Tx Shift register TSE should be the only active signals. No other signals should be active. If either TSE or THE are not active then the Uart is not resetting properly. Uart is suspect. If any other signal is high, and TSE/THE are both active, then you have a data overrun or framing error. -If this repeats, you should then suspect the Uart or connections to the Uart from the computer. 15) Modem Control Register readings show that either DTR,RTS or OT2 signals are not set properly. DTR & RTS are needed by most comm programs. OT2 is essential for interrupts to occur. - Uart is suspect or the interface to the Uart from the computer bus. 16) Interrupt ID Register readings show that an interrupt is pending when none should be. This can be caused by a modem being turned on and off as testing was conducted or if data was waiting to be read Page 53 Modem Doctor 6.0 Technical Reference Manual by a prior running application, or you are not using the correct IRQ line. -If this does not clear when you display the registers again, then the Uart is suspect or connections to the Uart from the computer, or you are using the wrong IRQ line for this comm port assignment. 17) Interrupt Enable Register readings show that ERI Enable Receiver ints is not set properly. As a result, you might not get proper recognition of any interrupts being generated when a character is received. -Suspect the Uart or connections to the Uart from the computer bus. 18) Interrupt Controller has not responded to setting the IRQ4 line. This problem is on the system board of your computer. Run your computer diagnostics program to locate the error. -Normally IRQ4 is used for COM1 you might have a usage conflict. 19) Interrupt Controller has not responded to setting the IRQ3 line. This problem is on the system board of your computer. Run your computer diagnostics program to locate the error. -Normally IRQ3 is used by COM2 you might have a usage conflict. 20) Interrupt Controller has not responded to setting the IRQ7 line. This problem is on the system board of your computer. Run your computer diagnostics program to locate the error. -Normally IRQ7 is used by the printer you might have a usage conflict. 21) Interrupt Controller has not responded to setting the IRQ5 line. This problem is on the system board of your computer. Run your computer diagnostics program to locate the error. -Normally IRQ5 is used by the Hard Drive Controller you might have a usage conflict. 22) WARNING...This COMM PORT MODEM STATUS & ID REGISTERS ARE DEFECTIVE - This is a severe error. It means that one or more of the uart registers are defective. This could also be caused by logging in a non-existent comm port in the manual mode. You should never see this message displayed in an auto-detected mode unless your uart is definitely defective. Page 54 Modem Doctor 6.0 Technical Reference Manual Uart diagnostics ----------------- 1) Confirmed Uart setup to proper baud rate - The uart Dlab (divisor latch) settings are polled to make sure they match what the Modem Doctor intended. If not, you see the following displayed; ERROR..Uart did not set to desired baud rate (you should not see this message unless the divisor latch in your uart is defective). 2) Trying a hardware reset of the modem microprocessor - None of the attention commands or soft-resets to the modem have worked to place the modem microprocessor on-line. A hardware reset simulates turning the power on and off to the modem and uart. 3) WARNING...This unit does not have a compatible modem attached - After many tests and hardware/software resets, the Modem Doctor finally deduces it cannot work with this modem because it is not compatible. If you have a compatible modem, then you might have selected the wrong baud rate to work with, or you forgot to turn the external modem on. If there is a hardware problem, the next screen you will receive will be the uart diagnostics pointing out the problem. 4) Modem microprocessor ON-LINE - The Modem Doctor successfully communicated to the modem microprocessor. 5) Testing Uart hardware only - You are running uart-only tests. 6) WARNING...The Modem Device appears to be off or not connected - No status is being received from the modem indicating it is on. If it is on, you might have a bad cable. If you are testing a uart that is hooked up to a serial mouse, then you will always see this message displayed, for a serial mouse does not use traditional uart status. Page 55 Modem Doctor 6.0 Technical Reference Manual Report Generator Messages -------------------------- 1) You selected to clear the report stats.This means that any errors found will not be reported in a final report format. Are you sure [Y/N]: ? - All report statistics will be cleared if you respond Yes. 2) Send to file MDR.RPT Send to printer LPT1: Send to printer LPT2: Send to printer LPT3: Do not Print /Return - The printed form of your report can be sent to any one of 3 dos printers (if the Modem Doctor detects they are installed) or to a file called MDR.RPT. 3) Print Buffer full or Printer off-line - If the Modem Doctor cannot communicate with the printer, it is either receiving a busy signal from the printer (which clears when the busy signal is lifted) or the printer is off-line. Static DTR/DSR RTS/CTS Handshaking tests ------------------------------------------- 1) Lowering DTR Signal..waiting for DSR to follow DSR did not follow DTR dropping or is set as a permanent ON DSR followed DTR drop...normal for all devices DSR did not follow DTR raising..possible cable or modem setup problem DSR followed DTR raise or is set as a permanent ON - The DTR/DSR tests work by lowering the DTR (Data terminal ready) signal from the computer to the modem. If the modem uses this type of handshaking, it should respond by lowering its signal that is picked up in the uart modem status register as a DSR (Data set ready) signal. If not, then either the modem is not set up properly according to standard handshaking protocol or you have a bad cable. Please note, a failure to follow DTR/DSR handshaking might keep some communication programs from working with your modem. If you get an error, consult your modem manual or have the Modem Doctor test your cable to an external modem with a loopback plug. Page 56 Modem Doctor 6.0 Technical Reference Manual 2) Lowering RTS signal..waiting for CTS to follow Dropping RTS Signal to modem Modem is using RTS/CTS Handshaking properly Modem is not using RTS/CTS Handshake hold Raising RTS line CTS did not follow RTS dropping...usually normal for modems CTS followed RTS drop...usually normal for serial devices CTS did not follow RTS raising...you could have a cable problem CTS followed RTS raise or is set as a permanent ON - Like DTR/DSR, RTS/CTS handshaking tests check that if the computer lowers its RTS (Ready to send) line, that the modem responds in kind and that the CTS (Clear to send) status is echoed to the uart modem status register. This signal is not as important as the DTR/DSR, unless you have a high speed modem. In this case RTS/CTS handshaking is critical for proper high-speed transfers. Carrier and Dynamic tests --------------------------- 1) Sending Carrier Test info to modem - Commands to self-connect are beings sent to your modem. 2) T1 Loopback commands sent waiting 5 seconds till start of test - The alternate &T0/&T1 instruction set is being used for self tests. 3) Carrier Detected...waiting 5 seconds to the start of the test - The RLS (Received line signal) went to an active state or the Modem Doctor received the words CONNECT from the modem during self-testing. The 5 second delay is necessary to allow some modems to settle down for proper reception of characters during self-tests. 4) Using &T1 Loopback command set to modem for this test - If you selected the Generic driver and the Modem Doctor failed to connect, it uses this &T0/&T1 instruction set automatically for its testing. 5) Sending 20 Characters to the modem - All Dynamic DTR/DSR and RTS/CTS tests force the modem to self connect. Next either the DTR or RTS lines are dropped, and 20 characters are sent to the modem. If no characters are received back to the computer from the modem, then the Modem Doctor reports Page 57 Modem Doctor 6.0 Technical Reference Manual that the dynamic handshaking works. If a character is received, then it means that type of dynamic handshaking does not work. 6) Sending Xoff Signal to modem - An ASCII character that tells the modem NOT to send data has been transmitted to the modem for dynamic Xon/Xoff testing. 7) Modem is using Xon/Xoff Handshaking properly - 20 characters were sent to the modem, and it properly did not send anything back to the computer. 8) Modem is not using Xon/Xoff Handshake hold - 20 characters were sent to the modem, but it send them back to the computer, indicating it did not recognize the dynamic Xon/Xoff handshake test. Normally most modems do not need this handshake. 9) Sending Xon Signal to the modem - This restores the modem to proper operation and clears its internal data buffers. 10) Warning...I can't test this modem because there is no RTS/CTS signals. If this is an external modem, you may not have a proper cable or the modem is off. If you have an internal, you might have a port conflict or a configuration switch set improperly. - Most times this message is due to an improperly wired cable or a improper configuration of some modem switches. See your modem manual for setup, or use a loopback plug and the Analog loopback mode to test the cable. 11) Setting up the modem for the Originate Mode Carrier Test..please wait. Setting up the modem for the Answer Mode Carrier Test.....please wait. -Self tests commands are being sent to your modem for the different connect modes and frequencies. Page 58 Modem Doctor 6.0 Technical Reference Manual General program warnings ------------------------ 1) Note...you hit the Escape Key during testing. This means the results of this test is inconclusive. You should run these tests again without escaping for a valid performance check. - You can press escape during nearly all tests that the Modem Doctor runs (except during crucial communication modes between the modem and computer, in which case as soon as this communication is completed, the Modem Doctor will escape with this warning. 2) INTERRUPT FAILURE Warning Note...No interrupts were detected or generated during testing. This could be due to a failure of your serial port to generate interrupts or you have selected an IRQ line or Comm assignment in error on the serial card or in a custom assignment from the Login menu manual mode. Check your settings and if all is ok, suspect the Uart or serial port card. - This warning can be received anytime that the Modem Doctor tries to talk to a modem or a uart (in analog loopback test). The most common cause of this problem is an incorrect jumper or comm port assignment on your modem or serial port. See the section on IRQ's and their meanings to select the proper IRQ line for your port. 3) Fixed Rate Advisory Note...I had to lower the baud rate to match the connect rate. What this means is that you are using a high speed modem with a fixed link rate in a variable rate mode. You might want to check your DTE/DCE settings in your modem Nram if this is not desired. - Most high-speed modems keep the link between the computer and the modem running at a fixed rate, while the connection between the modem and the remote modem (bbs or service) operates at another rate. This method allows data compression and greater throughput (characters per second) to be received by the computer. If you have a high-speed modem, check your settings. It is recommended you run in the fixed link rate whenever possible so you can gain all the benefits of data compression with the new data protocols. Page 59 Modem Doctor 6.0 Technical Reference Manual 4) Failure Report RLS (Received Line Signal Detect) indicates that a carrier has not been received by the UART. Check modem or connector wiring - This is an advisory that you might have a cable wired incorrectly between your computer and external modem or that your modem does not raise the RLS signal. This is only critical if your communication programs never display the words "ON-LINE". 5) Modem not responding to the Analog originate test - Modem never went into the self-test mode. 6) Carrier Not Detected..5 Sec Sync Delay till start of Answer test Modem not responding for Analog answer test - A carrier should have been received by the RLS signal or the words CONNECT from the modem, if not, the &T0/&T1 instructions are sent and the test is performed. If the modem does not respond to this test, then the last message is displayed indicating a problem getting the modem to self-test itself. 7) RLS Warning The Received Line Signal of your modem stayed active throughout the testing. Some modems have a jumper or switch that should be set to carrier is active only when a signal is detected. Check your manual to change this setting so the Modem Doctor and comm programs will work properly. Check your modem to make sure that Carrier isn't forced high 8) NOTE.Carrier (RLS Line) active, it should not be..test may not be valid. - The RLS signal was always active. This means the Modem Doctor cannot figure out if the modem ever entered the self-test mode. Also, your communications program probably will always display the "ON-LINE" status. Unfortunately, this type of situation is the default setting from the factory of most 2400 bps modems. It can be reprogrammed by a simple setup command. See your modem manual for instructions. 9) SET YOUR MODEM TO ORIGINATE CARRIER FREQUENCY...PRESS TO CONTINUE SET YOUR MODEM TO ANSWER CARRIER FREQUENCY...PRESS TO CONTINUE - Dumb modem tests require you to flip switches on your modem. Usually this is the AL button. After you do this, the Modem Doctor should see a carrier and continue proper testing. Page 60 Modem Doctor 6.0 Technical Reference Manual 10) Loopback Transmit Error Loopback Queue Failure ESCAPE KEY PRESSED....ABORTING ALL LOOPBACK TESTS UART Control Lines set...waiting 2 seconds for CTS Handshake NO CTS Handshake Detected .Continuing test even though plug/line maybe bad Loopback Queue Failure UART not responding using Analog Loopback Plug mode No Loopback Plug or General Failure of the Hardware Analog Loopback Test passed without any errors - If the analog loopback did not return characters or generate an interrupt, then the uart may have been tested without a loopback plug attached or there is a failure of the uart. If all was ok, a passed message is displayed. 11) Loopback Transmit Error UART not responding to the Digital Loopback test UART Registers did not set for Loop back test UART Digital Test passed without any errors - If no characters were received, then either the uart you are working with is not 100% 8250-B compatible or defective. If everything was ok, a passed message is displayed. 12) Warning, Comm Port 1 is using Com Port 2's address.You should reconfigure your Serial Card to the correct Address. Otherwise,Communication programs won't properly operate. 13) Warning, Comm Port 2 is using Com Port 1's address. Do you want me to correct this for testing purposes only? [Y/N]: - These error messages are received if the Modem Doctor found a Com2 reserved address as Com1, or visa versa. Many PC owners that do not have built-in serial ports make the mistake of assigning a Com2 address without having a Com1 installed. The ROM-BIOS cannot correct this problem or even detect it. The Modem Doctor does and will point out the error to you. 14) Flopping COM1/COM2 pointers in Memory only. Note..this is only valid till the next warmboot of your system. You must change your serial card settings to keep this permanent. Note...tests may not work properly because of this error. - This message is displayed either in the exchange mode or when the Modem Doctor is asked to fix the problem of addresses in memory for testing only. Page 61 Modem Doctor 6.0 Technical Reference Manual 15) Logging out incorrect COM1 for testing purposes. Logging out incorrect COM2 for testing purposes. - If you decide not to fix a problem, the incorrect assignment is logged out of Dos and your choices for testing. 16) ALL Available COMM ports are in use...Press to Return - If 4 comm ports (shareware) or 8 comm ports (registered) are already in use, you cannot add any more in the auto-login mode to the Modem Doctor. Use the manual mode to override your choices for testing comm ports higher than 8. 17) Comm (x) Not Found ... override ? : - You told the Modem Doctor in manual mode that a port existed with a certain base port address. It was not found. If you override, this address is logged in for testing. This allows you to test a defective uart chip that might not be recognized by dos or the Modem Doctor as valid. 18) Sorry...your Modem.dat file has an invalid Comm port Sorry...I cannot find Modemdr.dat file in this directory WARNING...RESERVED PORT ADDRESS in Mdr.dat file correct address in hex must be between [ ]..ie [2F8] Sorry...your Modem.dat file has an invalid Speed..using 300 baud Modem Did not respond to setup string..run the Modem Doctor to check your modem. Programming according to file Mdr.dat Modem Responded to setup string and is ready for use - Running Modem Doctor in the setup (/s) mode, the file MDR.DAT is queried for the proper comm port, address, speed and setup string. If any of this is invalid, one of the messages above is received. If it is valid you receive the message that Modem Doctor is programming according to the Mdr.dat file. Page 62 Modem Doctor 6.0 Technical Reference Manual 19) Standard Assignment Not Verified When Modem Doctor 6 starts, it automatically verifies all comm port base addresses and IRQ settings. However, some environments may not tolerate self-testing of IRQ selections. To defeat this setting, Modem Doctor is started with the /Q switch. When operating in this mode, Modem Doctor displays the above message next to the IRQ assignments to indicate that the program has not verified any IRQ assignments. Section 6. Special Modes and Information ---------------------------------------- The Modem Doctor supports a wide range of "AT" instruction set modems. There are however "supersets" of instructions that manufacturers have used to enhance the capability of their modems. Although there is some structure in this area, not all commands intermix between different brands and lines of modems. This situation is analogous to PC computer printers, and it calls for a similar approach. The Modem Doctor now supports the use of "Modem Drivers" to meet these special needs. Additionally, due to the increase in computers using the ISA bus, there are more interrupt lines free to be used by modem manufacturers. For test purposes, you can use IRQ2-15 for your hardware testing. Using the special /S switch, you can send initialization codes to your modem from a batch file or other command-line need to setup the modem for use. Finally, to add some flexibility to the Modem Doctor's diagnostics, some special "Hot-keys" have been added. These have been discussed above in an operational sense, however in this section you will get some idea of how these can help you speed up testing and test defective or non-compatible hardware. 6.1 Using Modem Drivers ----------------------- Most Modem's today are built on the original "AT" instruction set that was developed by Hayes Micromodems in their 1200B series. This driver, named the Generic Driver in the Modem Doctor, is used exclusively if the modem returns an ID indicating it is a 300,1200 or 2400 bps modem. Also, if the modem does not return an ID, this Generic Driver is used. The Generic Driver can be used to test nearly all modems, however there are some 2400 bps modems that were built using the command structure that Hayes Micromodems put into their 2400B line. These modems used an "&" for some modem setup and command functions. The Modem Doctor has a driver for these modems called the "&T0/&T1" driver. Using this driver, the Modem Doctor can perform a simulated carrier test. During your Page 63 Modem Doctor 6.0 Technical Reference Manual testing of this type of modem, you will notice the MB (Modem Busy) light flashing on your external modem. This driver (and all others) is user selectable, however the Modem Doctor will automatically switch to it when performing the carrier tests if the Modem was detected to be a 2400 bps modem. Most high speed modem will work properly with one of two drivers; The Hayes Ultra or US Robotics (Courier) V.32. So if your modem is not listed, use one of these two drivers in its place. 6.11 External Modem Drivers --------------------------- Supported starting with version 4.0 is the ability to read a specially created external modem driver file. This file makes it possible to handle any future changes in modems by simply releasing a new driver file. When the Modem Doctor first begins, it looks in the default directory for the existence of this driver file. If it exists, a valid checksum is performed to see that it is indeed a modem driver. If so, this external set of commands is inserted in place of the internally contained modem drivers. As of the initial release of 6.0, there are two external driver files in circulation. These drivers are built into the latest release of Modem Doctor (ver 6.0). Driver files will be released under 2 conditions; first, if a bug is detected in any of the driver routines, a shareware driver file will be released on the bulletin boards at no cost. Registered users will be mailed at no cost the updated driver file. Second, if a registered user would like a custom modem driver file written, we will create one at minimal charge as long as proper documentation for the type of modem is submitted. If you wish to have an interface written, please contact us for pricing and appropriate information that we will need to do this for you. 6.2 Using the Command Line Mode switch /S ---------------------------------------- There can be special occasions where you need to initialize and test a modem before another program can be run. The Modem Doctor now supports a method to do this. Using the command line switch /S, you can instruct the Modem Doctor to "wake-up" a Modem and send an initialization string to it. Although similar to our product Comset, it offers some additional flexibility but does not allow the serial port only setup that Comset does. To use this special mode, you need to have a companion file Page 64 Modem Doctor 6.0 Technical Reference Manual named MDR.DAT that you create with any ASCII text editor that follows this format; 1) All information must start on the first space on each line and can consist of up to 3 lines. Line 1 and Line 2 are required. 2) Line 1 = Port Number 1 through 8 and an optional port address in [] ( For settings greater than Port 4, this address is required). 3) Line 2 = the Baud Rate you wish to use (300-115200 or 3-1152 are acceptable). 4) Line 3 = the initialization string you wish to send. This string must start with AT and can be up to 80 characters long. If no string is included in the file, or if it does not begin with the letters AT, then ATZ is automatically sent to the modem. Example..to setup Port 2 to 19200 and set S7 to 255; Make a file called MDR.DAT that looks like this; 2 [2F8]<--note for Port 1-4 unless it is non-standard [2F8] is not needed 192 AT S7= 255 Next, start the Modem Doctor by typing MDR /S. As long as the MDR.DAT file is in the current working directory, these commands will be sent. If not, you will get an error message stating that MDR.DAT could not be found. Why not have the Modem Doctor search all directories for the file? Well, the reason is so that you can put MDR.EXE in a Dos path but have individualized setup MDR.DAT files in different subdirectories for different programming needs. Instead of constantly changing the file, make different ones and call MDR.EXE. It will only use the MDR.DAT file in the current working directory. After the initialization string is sent, the Modem Doctor will wait up to 10 seconds for the word "OK" to return from the modem. If it does not, you will get a message saying the modem failed to setup. In Page 65 Modem Doctor 6.0 Technical Reference Manual either case, whatever your modem sent to the Modem Doctor will be displayed. If you see the word "ERROR", that was sent from the modem, it probably means that your initialization string was not correct. No message returning could indicate a problem with the modem, or an invalid baud rate. When it finishes executing, the Modem Doctor returns an errorlevel to the calling program. An errorlevel of 0 is normal, an errorlevel of 99 indicates a failure. You can use these errorlevels to control batch processes if you wish to. Also, this mode of the Modem Doctor uses bios screen writes, so all of the information displayed can be redirected to a printer, a file, or whatever other DOS device you wish. Example...to send the output of this test to a file called Test.txt... MDR /S > TEST.TXT or MDR /S >> TEST.TXT (if you wish to append an existing Test.txt file. If the Modem Doctor setup was successful, the modem's DTR and RTS lines stay active, if not, they are dropped. If you need more specialized command-line modes of operation, you might consider Comset. Comset allows Serial Ports and Modems to be setup at various rates and under various conditions. Registered Modem Doctor users get a 15% discount! You can find Comset on most BBS's as COMSET12.ZIP. 6.3 Using the Hot-Keys ---------------------- Hot-Keys are combinations of the ALT key plus a letter. The Modem Doctor adds several of these Hot-keys to make it easier to test modems at different baud rates and to circumvent some of the error checking that the program performs under normal circumstances. ALT-B Change Baud rate - If you are testing a system that you suspect has a problem, it is best to use the setup mode when changing the baud rate. The Setup mode will test all the registers, and the modem microprocessor (if selected) and assure you that all the hardware is communicating properly at each baud rate. However, if you feel a system is running fine, using the ALT-B from the main menu can save time when running tests at different baud rates. Press ALT-B and select the baud rate (taking care not to select a rate higher that what your modem is rated for if you are doing modem tests). ALT-B works from the main menu, and from inside the Manual interactive mode. Page 66 Modem Doctor 6.0 Technical Reference Manual ALT-C Clear Screen - This key is only active inside of the Manual interactive mode and is used to clear the text window of any characters. ALT-F Force Microprocessor on-line - The Modem Doctor has many tests built-in to verify the working condition of a microprocessor-based modem and will not allow a modem to be tested in the "AT" instruction set mode if it has not properly addressed and setup a modem microprocessor. Using the ALT-F combination forces the Modem Doctor to perform tests as if it had properly setup a modem. This feature should be used with care, however its primary benefit is to help you test a malfunctioning modem to see exactly what commands it will respond to. Pressing ALT-F also updates the status bar to indicate that the modem microprocessor is on-line (which may or may not be the case after this command was issued). Version 4.0 of Modem Doctor makes this hot-key a toggle, so pressing 1 time will change the on-line status. Pressing again returns it back to normal. ALT-H Help - You can press this key at any time to get help on a topic or general help depending on if you are in a menu or at the main menu selection bar. ALT-R Register Display - This is only active inside of the Manual interactive mode and is used to display the status of all Uart registers on the screen for diagnostic purposes. ALT-X Exit Mode - This is only active inside of the Manual interactive mode and is used to exit this mode. Control -Break -------------- This allows an immediate exit from anywhere permissible inside the Modem Doctor, however it offers you a choice to clean up or to continue. You should not use this mode, it is better to exit via the Main menu selection. Page 67 Modem Doctor 6.0 Technical Reference Manual 6.4 Logging in Defective Ports ------------------------------ If a serial port Uart is defective, the Modem Doctor will refuse to log it in for testing. This is necessary because there is no way for it to know what ports are defective and what are non-existent. However starting with Version 4.0, you can now log-in a defective chip for testing. The procedure to do so is explained above under Manual Login. The reason for doing so however might not have been apparent. If any register of a serial port is defective, it might not function properly. Logging in this defective port will give you the full benefit of the Uart and Serial port diagnostics. Error messages will be displayed, in most cases there will be multiple error messages. There are two possible causes of a defective port; the Uart chip and the Serial Port address system. If it is a chip, simply replacing the chip fixes the problem. If it is a serial port instead, then the same problem will repeat. How do you approach this? Well for starters, check that the strapping on your serial port board matches the correct COMM port assignment (ie strapped for COM1 for COM1..etc). Next, if there is user selectable IRQ assignments, make sure it again matches the COMM port assignment (IRQ4 for COM1/3, IRQ3 for COM2/4, IRQ5 for COM7/8, IRQ7 for COM6/7). If all this is set properly, then you can suspect the chip, but also the Serial Port hardware that gates the address of the chip to the computer. Finally, if you get warnings about status, but the chip logs in, then you might just have a bad cable from the computer to the modem (NOTE: The Modem Doctor does not consider this an error but simply displays a warning and allows the Uart to be logged-in for use). 6.5 What tests cannot Do ------------------------ Although I tried to be extremely thorough in my tests, there are somethings that tests just cannot do or pinpoint. If you are having problems with excessive line-noise, you might have a bad connection between your modem and your telephone wiring in the house. Another possibility, although remote, is that your modem does not offer the correct input impedance to the telephone line. This can cause poor connections. The problem is with the electronic design of the modem, and again, it is more prevalent in inexpensive modems. Also, tests cannot check that the communications program you are using is set up correctly. Page 68 Modem Doctor 6.0 Technical Reference Manual At times, installing a communications package can be very challenging for a novice user. Tests also cannot check the wiring in your serial Cable. The Modem Doctor will tell you if a handshaking pair is missing, but it cant tell you why. It could be because the Uart is bad, but more than likely, your RS-232 Cable doesn't carry all of the handshaking signals to or from the external modem or serial device. This can be important if you are using a high-speed modem. Most High-speed modems will drop the CTS line when their communication buffers are full. Previous Modems ignored the RTS/CTS signals and instead used the DTR/DCE pair. What this means is that if you buy a new modem, it might not work with the older-cable (yet at the same time the older modem will work..which might lead you to believe that you have a defective modem). 6.6 Quirks with Some Modems --------------------------- Carrier tests - Some Modems have two "AT" instruction sets, usually referred to as Compatible and Enhanced. If your modem does not perform a carrier test at speeds below 4800, then this is usually the case. Some modems provide a dip-switch or a toggle switch to select either mode. Setting your modem to the Standard Compatible Mode should get rid of your problems below 4800 bps. Also, make sure you select the Generic Compatible Modem Driver unless you are sure your modem matches the modem's that have special drivers written especially for their use. At speeds above 4800 bps, the Modem Doctor is only compatible with USR V.32, Dual Standards (V.32 and HST) and HST brand of modems, Hayes V9600 and Ultra 9600, and Courier 2400 modems. If you wish to test another brand of modem that is not compatible, simply turn off any modem-hardware error correcting using the Manual mode and following the information in your modem users manual. Then select the Generic Modem Driver and you should be able to test your modem properly. Finally, if only one of the tests (Originate or Answer) runs and NO CARRIER is displayed for the other, the problem lies with the Enhanced Command settings of your modem. Hayes Modems use &T1 through &T8 commands for their 2400 and also have other special switches. The &T0 command set is tried by this version of the Modem Doctor automatically, however there is no compensation for any other type of modems that use non-standard commands. Again for the sake of compatibility with the widest range of modems at speeds below 4800, this cannot be corrected for in this version. Considering the vast numbers of "AT" compatible modems in the marketplace, these two exceptions are minor and will not Page 69 Modem Doctor 6.0 Technical Reference Manual affect most users. Finally, users of 8250 compatible Uarts that do not support the Digital (Chip) Loopback will get an error. This should be of no concern. However if the test runs for a while, then fails, it could indicate a problem with your Uart. This is explained in the pull-down window in the program. The Modem Doctor has been tested on about 25 Modems from Major Manufacturers and on a variety of Clones and Compatibles (plus the "Real Thing"). It is possible that a certain combination of hardware still might give problems, however if you are a registered user, I will find a way to make it work. 6.7 Buffered vs Direct Connect Modems ------------------------------------- When testing high speed modems, you should note that some of them cannot test in the a "buffered mode", which means that they will not be able to self-test in carrier mode above speeds of 9600. The Hayes Ultra's fall into this category. The highest DTE/DCE rate you can use and still generate a successful carrier test is 9600 bps. Any higher DTE rate will cause Modem Doctor to return errors that are not valid. Page 70 Modem Doctor 6.0 Technical Reference Manual 6.8 Using Digiboard Serial Ports -------------------------------- Modem Doctor now supports Digiboard Intelligent Serial Ports that use the "X" series drivers (XIDOS). To test these serial ports, you must start Modem Doctor with the /D command...ie from the dos prompt.... MDR /d (or MDR /D). The /D switch instructs Modem Doctor to ignore traditional comm ports and instead test Digiboards. When started in this manner, Modem Doctor looks for an installed driver. If one is not found, Modem Doctor defaults to the INT14 support mode (pretty useless unless you also have an INT14 driver running). Õ[ DigiBoard Hardware Detection ]ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͸ ³ Driver Version : 409 Supported Channels: 4 Total Boards: 1 ³ ³ Lowest Channel : 4 Highest Channel : 7 ³ ³ ³ ³ Board # 0 IRQ: 5 Board Type: 1 DP Memory Seg : D800 ³ ³ Channels: 4 I/O Address: 320h First Channel : 4 ³ ³ ³ ³ ³ ³ Bus type: AT Bus Interrupt Levels: 15 HD uses DMA Ch3?: NO ³ ³ Interrupt Status : 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ³ ³ Press Any Key to Continue ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ Modem Doctor can test up to 4 Digiboards that contain up to 16 channels each. When in the setup mode, you will get this screen instead of the traditional PORT, IRQ, SPEED selections; É[ Digboard ]» É[ Channel ]» É[ Baud ]ÍÍ» º Use Board 1 º º Use Ch 1 º º 300 BPS º ÈÍÍÍÍÍÍÍÍÍÍÍÍÍͼ º Use Ch 2 º º 1200 BPS º º Use Ch 3 º º 2400 BPS º º Use Ch 4 º ÈÍÍÍÍÍÍÍÍÍÍÍͼ Higher speeds ÈÍÍÍÍÍÍÍÍÍÍÍÍͼ with registered version to 57.6kbps Page 71 Modem Doctor 6.0 Technical Reference Manual If more than 1 board is found, it will be displayed (max is 4). If more than 4 channels are found on the selected board, they will be displayed (max 16). As with any fossil or comm driver, Modem Doctor may or may not be able to fully test the hardware. In these modes, Modem Doctor depends on your communication driver (a fossil, the digiboard driver or some INT14 driver TSR) to correctly handle comm ports. Only when Modem Doctor is started without any "switches" will it directly control the hardware. This is indicated by the Int14 interface indicator in the setup section; Õ[ Modem / Uart System Diagnostics ]ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͸ ³ Comm port /IRQ in use [ ] Port = 5 Address = 320 IRQ = 5 ³ ³ Int 14 interface [ ] DigiFossil ³ ³ Uart type [ ] 16450/8250A detected ³ ³ Baud rate selected [ ] 2400 ³ ³ Baud Rate reg test [ ] Not supported with Fossil or INT14 ³ ³ Modem Microprocessor [ ] ³ ³ Modem ID Type [ ] ³ ³ Modem Fax Ability [ ] ³ ³ Modem Memory/Rom [ ] ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ In this case, Modem Doctor shows it is using the DigiFossil. For regular FOSSIL routines, the words FOSSIL or EXTENDED FOSSIL are displayed. During direct mode testing, the words INACTIVE are displayed. Once you are logged into using Digiboard ports, you cannot access normal Dos ports without exiting the program and restarting. All tests described in earlier sections above work with the Digiboard without modification. Page 72 Modem Doctor 6.0 Technical Reference Manual 6.9 Running Modem Doctor under Windows 3.1 ------------------------------------------ Modem Doctor was designed to work directly with system hardware. Unfortunately, Windows seizes control of all hardware in order to allow for the virtualization of comm ports and interrupts. Nonetheless, Modem Doctor can run under Windows if you take the following precautions; 1) Never run Modem Doctor without the /Q switch. Interrupt results under Windows are not predictable or accurate. Crashes to system operation may result. 2) Make sure you have optimized your system.ini to allow a minimum ComxBoostTime of 6. 3) Make sure all your comm ports are configured to NEVER WARN during a device contention. Modem Doctor will occasionally "fight" Windows for control of the comm ports. NEVER WARN can be selected from the control panel "ports" option. 6.91 Running Modem Doctor on Networks --------------------------------------- Modem Doctor is not designed to run on a network. It can run on client machines that are connected to a network. For safety, use the MDR /Q command. Some Network cards use IRQ's assigned to comm ports. IRQ tests in a network environment can cause serious problems to communications. When running on a network, Modem Doctor can only test local comm ports. No TCP/IP or other protocol access is currently supported. Section 7. Benefits of Registration ------------------------------------ Thank you for your registration. The Current Registered Version # of the Modem Doctor is 6.0R. All Registered Users are entitled to free Maintenance updates and these will be reflected by changes in the decimal fraction number..ie 6.01, 6.02. Minor upgrades are indicated by changes in the tenths digit..ie 6.10. Minor upgrades are not free, but cost no more than major upgrades. Page 73 Modem Doctor 6.0 Technical Reference Manual If a new super-duper version comes out (7.X or 8.X), all registered users will be able to update for only $7 (plus shipping,handling and tax where applicable). Currently registered users of versions 2 through 5 can update for $5 (plus shipping, handling and tax where applicable). If you have trouble with the Modem Doctor, or questions, feel free to call or write. When doing either you will need to have the Version Number, your serial number, and in some cases the Module Identification Number. The Version number is displayed when you first start the program along with the serial Number. The Module Identification numbers can be displayed at any time from the main menu after you pass the initial setup mode. Simply type a # sign, and all of the modules that make up the Modem Doctor will display their version numbers on the screen. Right now, all Modules have identical version numbers from program to program, but in the future, there could be custom modules for registered users, so in this case the Module ID could become important. You can reach us with your questions at 410-256-5767 or write to ; Hank Volpe PO Box 43214 Baltimore MD 21236 Thanks again for registering the Modem Doctor. You can always download the latest shareware version and other communication utilities from the Modem Doctor BBS at 410-256-3631 (300 -> 19.2kbps). Also, if you write your questions on the BBS, you will get a faster response than if you had written via the mail. Page 74 Modem Doctor 6.0 Technical Reference Manual Notes - [+] References to USR /Courier/Dual Standard/HST Copyrighted by US Robotics [++] References to AT Instruction Set ,Smartmodem,Hayes Copyrighted by Hayes Inc. References to MNP refer to An error free protocol Copyrighted by Microcom Inc. References to dos, microsoft, copyrighted by IBM or Microsoft References to 8250B or other uarts are copyrighted by a variety of manufacturers including (but not limited to ) Intel, National Semiconductor. Disclaimer - It is not the intent of the author to recommend any brand of modem over another nor to infringe on the copyrights of the manufacturers by mentioning their products. A modem fits a need, and whatever one works for you is the one you should have. As time goes on, more modems will be added to the list of "special enhanced " tests. The modems mentioned are done so only because of the popularity they enjoy and for no other reason. All programming of modems for testing is done with simple character strings, similar to any type of data that can be sent to a modem or a serial port. Any modem, whether AT compatible or not, can be handled by the Modem Doctor with special software drivers. These software drivers will be distributed free of charge as needed for general use. Custom drivers created by Hank Volpe for particular clients however will require a fee for handling and programming time. Page 75 Modem Doctor 6.0 Technical Reference Manual Modem Doctor History Ver 6.0 - Improved PS/2 IRQ test support - PS/2's would halt or have their stack run-away during IRQ tests. The /Q switch from the command line bypasses these tests. However, I've written some routines in assembler to create interrupt stacks that handle this 5.2 problem. - Improved 16550AFN diagnostics - Modem Doctor 6 tests 16550AFN's, however after these tests, the buffers were shut down and not used (since no tests existed that stressed their ability to perform). These registers are now enabled to a trigger level of 14 during all burst mode tests. - Improved FOSSIL tests - FOSSIL routines have been streamlined to increase throughput during the burst mode tests. - Improved Modem Driver Detection - Modem Doctor now holds an exact-match table for supported modems. If no match is found, Modem Doctor "guesses" for the best match. This will make it easier to support future modems. - Adds IRQ support for IRQ's 7-15 - Improves 16550AFN tests. - Tests for FAX modems, indicates Fax Group and Class. - Increase Baud Rate to 115200 in registered version. - Diagnostic Toggle mode for DTR and RTS signals, helpful in finding bad cables or missing signals in cables. - Burst and Signature Rate Tests for Analog loop and Carrier. - Support for DIGIBOARD Comm ports via the Digiboard Driver. - Improve FOSSIL throughput routines - Detects AT, PS-2 and Dual Bus Computers, Supports Dual 8259 PIC chips. Page 76 Modem Doctor 6.0 Technical Reference Manual Ver 5.2 - The /Q switch was added to the command line interface to allow for the user to bypass the IRQ self-tests. Some computer environments may freeze when self-tests of IRQ lines are performed. In this case, running with the /Q switch will bypass these tests. No other changes were made to the program. Ver 5.1 - Program was recompiled to remove Borland C++ optimizations which were found to cause STACK problems running under Digital Research's DR/DOS 6.0. No other changes were made to the program. Ver 5.0 - New tests added to verify IRQ operation, verify proper COMM port/IRQ selection, added NULL tests to Interactive selection. Structure changed for drivers to include handling all modem identification codes. All window routines changed to directly drive displays (vs working through standard C library interfaces), S-register window display added to REGS menu, interfaces added to handle generic INT14 and FOSSIL drivers, bypassing all direct control of hardware while in that mode. Other updates include identification of mouse drivers and re-activation upon exit, ability to handle accurate timing loops on machines with a system speed of 50mhz+, addition of interrupt driven transmit routines. Addition of 5 new uart internal tests. Ver 4.0 - New tests added for dynamic handshaking and static handshaking. New report generator features, new exchange mode. Higher baud rates, cleaner windows that grow to meet commands. Recognition of mouse inputs via a compatible mouse driver. Expansion of internal modem drivers and ability to read external modem drivers. Improved brute-force reading for faster digital loopback tests. Automatic aborting of modem tests when IRQ failures are detected. New advisories for fixed-link rate, IRQ failures, wrong comm port assignments, swapped comm port Page 77 Modem Doctor 6.0 Technical Reference Manual assignments. Addition of custom color selections, pulldown windows that stay when left-right arrow keys are moved. Updating of 16550 AN support for resetting and clearing buffers. Replacement of all internal comm drivers with new dos independent routines. Correction of many (and hopefully all) spelling errors. Ver 3.0 - New tests added for 16450/16550/16550AN Uarts. Improved Control-Abort handling, Regs command now performs a full diagnostic call when activated. Hot-Keys added (Force Micro, Baud Rate Select). Modem Driver software added to program, Status Bar added to program. Support for IRQ 3,4,5,7 added via COM1 through COM8 log-ins. Speed increased to 38.4KB. /S Command line option added for setup of a modem including batch file errorlevel support. Escape key functionality added to Carrier Tests and the loopback tests. Ver 2.2 - Corrects a bug in Ver 2.1 Communication routines that caused some modems to lock-out because they were waiting for two carriage returns to begin. Also it added 4 diagnostic Uart tests Ver 2.1 - This version was a Beta test. A Beta tester accidentally uploaded this to several boards. Please remove all Ver 2.1S software that you may find. Ver 2.0 - This version also was a Beta test with support for COM1-2 and 2400 bps maximum Ver 1.0 - First test version Page 78