home *** CD-ROM | disk | FTP | other *** search
Text File | 1989-12-06 | 55.5 KB | 1,284 lines |
- ___________________________________________________
-
-
- T H E
-
- M O D E M
-
- D O C T O R
-
-
- Shareware Version 2.1S
- Hank Volpe (c) 1989
- 108 Broadmoor Dr
- Tonawanda NY 14150
-
- ___________________________________________________
-
-
-
- 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 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 4
-
- ** Baud Rates from 300 to 19200 bps
-
- ** Support for Courier HST/Dual Standard/V.32 Modems [+]
-
- ** Auto log-in of COMM Ports to DOS for use by other programs
-
- ** Manual log-in of COMM ports for Non-Standard Hardware
-
- ** On-screen Display of all 8250 and Compatible 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
-
- -- Digital Loopback UART Tests
-
- -- 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
-
- -- Modem Microprocessor Command Channel Diagnostics
-
- -- Support for High Speed Modems
-
-
- ** Interactive Mode with 4K Communications Buffer for;
-
- -- TTY mode Interactive Communications over Serial
-
- Port or Modem while on-line
-
- -- Custom Designed Tests...Help Menu Included
-
- -- On-Line "Hot-key" Viewing of 8250 UART Registers
-
-
-
- The Shareware Version of the Modem Doctor is designed for people who would
- like to try a piece of software before buying it. This "Look-see" version has
- some limits over the Registered Version, however it is does provide the
- following full-functioned Diagnostics;
-
-
- ** Support for COM 1 and COM 2
-
- ** Baud Rates from 300 to 2400 bps
-
- ** Auto log-in of COMM Ports 1 and 2
-
- ** On-screen Display of all 8250 and Compatible UART registers
-
- ** On-screen Display of Modem S-Registers
-
- ** Diagnostic tests of UART and RS-232 Channels including;
-
- -- ALL UART REGISTERS
-
- -- ALL RS-232 Handshaking Signals
-
- -- 8259 Interrupt Controller Mask Registers
-
-
- ** 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
-
- -- Modem Microprocessor Command Channel Diagnostics
-
-
-
- ** Interactive Mode with 4K Communications Buffer for;
-
- -- TTY mode Interactive Communications over Serial
-
- Port or Modem while on-line
-
- -- Custom Designed Tests...Help Menu Included
-
- -- On-Line "Hot-key" Viewing of 8250 UART Registers
-
-
- The Modem Doctor is copyrighted by Hank Volpe. The Shareware Version of this
- program may be distributed on Bulletin Board Systems or in Public Domain
- Libraries as long as a Fee is not charged for its duplication or acquisition.
- Under no conditions can anyone accept payment 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. It is expected
- that if you use it for more than 30 days, that you will register the Modem
- Doctor.
-
- Registration adds many powerful features that make the Modem Doctor an
- excellent RS-232/UART/Modem Diagnostic Tool. Comparable programs cost well
- over $100, while the Modem Doctor Registration Fee is just $19.95 for a
- single copy.
- Group Discount prices for software distributors and Businesses are available.
-
- For Single-user registration, send a check or Money order for $19.95 to
-
- Hank Volpe
- 108 Broadmoor Drive
- Tonawanda NY 14150
-
- You will receive the latest version of the Modem Doctor, plus several other
- useful Modem Utilities. Registered Users also are entitled for updates to
- newer versions (when available) for a small fee to cover shipping and
- handling.
- 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, requires a
- MDA or CGA adaptor and at least 80K of program memory. When MDR is
- started, it will use the last mode that the display adaptor was in
- (unless it was in EGA or VGA mode or a graphics mode). MDA and CGA are
- the two execution modes regardless of what kind of adaptor is in use.
-
- Code has been included to work with hardware-incompatible display
- adaptors as long as they are at least IBM-PC Bios compatible. This is
- operator selectable at runtime.
-
- To start MDR, type MDR from the dos prompt. If you wish to use the
- Bios compatible mode instead of direct display writes, start the
- program using the Bios switch ; MDR /B
-
-
- Section 3. First Time Setup
- ------------------------------
- MDR 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..Shareware Version says "Shareware").
- Press any key to continue.
-
-
- ╔[ Ports ]══╗
- ║ Use COMM 1 ║
- ║ Use COMM 2 ║
- ║ Use COMM 3 ║ * Registered Version Only
- ║ Use COMM 4 ║ * Registered Version Only
- ║ ║
- ╚═════════════╝
-
- 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. The Registered Version allows you to add ports that are not
- "standard" ports, (check the section on Login). Use the arrow keys to find
- your selection, and then press return to select.
-
- ╔[ Baud ]═╗
- ║ 300 BPS ║
- ║ 1200 BPS ║
- ║ 2400 BPS ║
- ║ 4800 BPS ║ * Registered Version Only
- ║ 9600 BPS ║ * Registered Version Only
- ║ 19200 BPS ║ * Registered Version Only
- ╚═══════════╝
-
- A window now opens showing you valid comm port speeds. Select a speed
- from this menu. Please note, don't select a speed faster than your
- modem can handle. The reason for faster speeds is so communication
- links can also be tested. Use the arrow keys and press return to make
- your selection.
-
- ╒[ Select an Option ]══════════════╕
- │ Test Modem / Port 1 to 300 BPS │
- │ Test the UART Hardware Only │
- │ Dont set up modem, return to Menu │
- └────────────────────────────────────┘
-
- At this point you are in the options menu. If you select Test Modem, a
- series of commands and tests will be performed to make sure the modem
- is on line and running. If you select Test UART Hardware, only the
- 8250 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
-
-
-
-
- A. Test Modem/ UART
- ---------------------
-
- Preliminary Diagnostic Checks of Hardware
- -----------------------------------------
-
- Testing Modem Microprocessor
- ----------------------------
- Modem Microprocessor Command Bus Active
- Modem reports a 9600 bps Modem installed
- Modem Microprocessor Accepts Setup Commands
-
-
- Modem Microprocessor ON-LINE
-
- Modem - UART Status appears correct
- Press any key to continue
-
- Above is displayed then normal test results with a modem. First step
- tests the UART to Modem hardware. If any connection errors are
- discovered, they are reported to the screen. Next the modem command
- bus is tested and if its compatible, the modem ID information is
- queried from the Modem Processor. Finally, the modem is setup for
- diagnostics. Note: These setup strings do not overwrite any non-
- volatile storage. If all is ok, 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.
-
- Trying a 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.
-
- 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. After that, it looks to see that an RS-232 loop is active. If
- not, it displays an error message saying that the loop is either
- disconnected or a register in the UART is defective.
-
- 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
- --------------------------
-
- Modem - UART Status appears correct
-
- The first time through these tests, the registers will display for
- diagnostics. Unlike the modem tests, only the UART registers are
- displayed.
-
-
- 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. The Main Menu
- ----------------------------
-
- ┌───────────────────────── The Modem Doctor ────────────────────────────┐
- │Log-in Regs Carrier Loopback Manual Setup End Program │
- └───────────────────────────────────────────────────────────────────────┘
-
- All of the above selections are toggled using the arrow keys and
- selected using the return key. Pressing the down arrow displays a
- brief message about what each function does.
-
-
- Log-in COMM Ports
- ------------------
- The ROM-BIOS only looks for COMM ports 1 and 2. Use this
- section to manually log-in a COMM port that cannot be
- detected by DOS. Entries are also good after you quit
- (NOTE..This feature in Registered Version Only!)
-
-
- UART Register Diagnostics
- -------------------------
- This test section can be used to check the contents
- of an 8250 UART and the 8259 Interrupt Controller mask
- register. White = Active, Gray = Not Active
-
-
- Carrier Mode Tests
- ------------------
- This tests runs a Smartmodem in an test of the Carrier
- Originate and Answer frequencies. A Smartmodem or a modem
- with Manual Carrier selection is required
-
-
-
- Loopback/ UART Tests
- ------------------
- This test is designed to check out a RS-232 COMM port
- for proper operation. No Modem is required for this test
- however this test is not for an Internal Modem, although
- it can be run as a test of the command channel.
- (NOTE..This feature in Registered Version Only!)
-
-
- Manual Interactive Tests
- -------------------------
- This test is designed to check out the command channels
- and user interface to a Smartmodem. You can also use it
- with an RS-232 loop or to send your own commands.
-
-
-
- Setup Diagnostics
- -------------------------
- Use this test section to return to the setup mode to
- change a Port assignment or a Baud Rate to a new value.
- Only Logged-in Comm ports can be accessed.
-
-
- Exit Program
- -------------
- Quit the program, all vectors and interrupt tables
- are restored.
-
-
- 4.1 Login In Comm ports
- -----------------------
- (NOTE..This feature in Registered Version Only!)
-
- When you select this menu, you are offered these choices
- ╔[ Comm Port Login ]═══════════╗
- ║ Let me Auto Detect COMM Ports ║
- ║ You Manually Enter COMM Ports ║
- ║ 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 returns to the main menu.
-
- Port addresses for PC's are standardized in order for Communication
- programs to properly work. The industry standards are
-
- COMM 1 3F8 COMM 2 2F8 COMM 3 3E8 COMM 4 2E8
- IRQ4 IRQ3 IRQ4 IRQ3
-
-
- The Port addresses for Serial Ports is held in a reserved area of PC
- 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 will,
- 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.
-
-
- Option 2 is the only real option available. Please use it with
- caution. The only real 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.
-
- 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
- adaptors, 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
-
-
-
- 4.2 Regs
- -------------
-
- 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.
-
-
-
- ╒[ 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. When you enter the setup mode,
-
- DLB Divisor Latch Used to access the baud rate registers
- Should be 0 for the Modem Doctor
-
- STB Set Break If High, the modem transmits a break
- signal, should be 0 normally.
-
- STP Stick Parity Should be 0 normally
- EPS Even Parity select High = Even Parity..should be 0 normally
- PEN Parity Enable Enable Parity checks, should be 0 normally
- STB Stop Bits Number of stop Bits, should be 0 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.
-
-
-
- ╒[ 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
- Empty 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.
- This 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.
-
-
-
-
- ╒[ 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 to handle this
-
- 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. 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.
-
-
-
- ╒[ 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. Should
- normally 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 as Rung.
-
-
- 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.
-
-
- ╒[ Interrupt ID Register ]══════════╕
- │ ID2 ID1 ITP │
- └───────────────────────────────────┘
- The Interrupt ID Register is used to tell the CPU what kind of
- interrupt occurred.
-
- ID2 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 was received.
-
- 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.
-
-
- ╒[ 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 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 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 an
- 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 an
- Ready Interrupt interrupt whenever Data is ready to
- be read by the CPU. The DR line of the
- Line Status register going to a high
- condition generates this condition. This
- signal should be High for testing
- purposes, since it is the only interrupt
- needed by the Modem Doctor.
-
- ╒[ 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
- IQ6 Floppy Disk Interrupt
- IQ5 Hard Drive interrupt
- 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).
-
-
- 4.3 Carrier Tests
- -----------------
- The Carrier tests are designed to test your modem under actual use
- conditions (minus a telephone line). There are two versions of this
- test, one of which is automatically selected by the Modem Doctor
- depending on the hardware it detects.
-
- Smart Modem Test - If you selected the Test Modem/UART option from the
- setup menu and a Modem with a compatible Microprocessor was detected,
- 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.
-
- 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. If you have an internal, please be patient
- while it sets up.
-
-
- UART or Dumb Modem - This test works the same as the Smart Modem tests
- 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.
-
- Errors - 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 Smart 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 only
- 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. Finally,
- 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.
-
-
- 4.4 Loopback Tests
- -------------------
- (NOTE..This feature in Registered Version Only!)
-
- 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.
-
- Selecting Loopback and pressing return fetches this menu
-
- ╔[ Loopback Tests ]═══════════╗
- ║ Analog Loopback using a PLUG ║
- ║ Digital Loopback 8250 UARTS ║
- ║ Loopback Plug Technical Data ║
- ║ Return To Main Menu ║
- ╚═══════════════════════════════╝
-
- 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.
-
- Digital Loopback tests require that you have an 8250 or 100%
- compatible UART in your system. These UART's have built-in diagnostics.
- If this test does not run, 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.
-
-
- 4.5 Manual
- ----------
- 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-C Clears the screen. This only clears the window of data, and
- leaves all your prompts.
-
- ALT-R This displays the UART registers...handy for real-time
- troubleshooting of RS-232 loops.
-
- 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.5 Setup Mode
- --------------
- This section was covered above. Use this to change the serial port
- under test, the baud rate, and the type of test to be run.
-
-
- 4.6 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
- freeze the program deliberately (locking it up) forcing you to
- warmboot your computer. 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.
-
-
- 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.
-
-
- 5.1 Log In errors
- -----------------
-
- ALL Available COMM ports are in use...Press to Return
- -COM1 through COM4 are logged in and no new ports can be added
-
- COMx Not Found
- -A COMM port (x) was not located at the port address specified.
- This is normal during auto-selection, but not if a manual selection
- was entered. If a manually entered address did not work, check your
- Modem owners manual to make sure you entered it correctly.
-
- WARNING...RESERVED PORT...RETRY ENTRY
- - You entered a port address that is assigned to a critical
- Motherboard or CPU address port. Your entry was an error..check
- your modem owners manual to get the right port.
-
-
- 5.2 Carrier Errors
- ------------------
- WARNING...CARRIER FAILURE...Status Registers Displayed above
-
- followed by;
-
- RLS (Received Line Signal Detect indicates that a carrier has
- not been received by the UART Check modem or connector wiring
-
- This indicates that a "dumb" modem did not signal the UART that it has
- received a carrier (or is generating one).
-
-
- Modem not responding to the Analog originate test
- or;
- Modem not responding to the Analog Answer test
-
- A Smart Modem did not go into the self test mode. The Modem Doctor
- looks for the word "CONNECT" to be returned by the modem. A possible
- reason for a perfectly working modem to generate this is if the wrong
- baud rate was selected for testing. Smart Modems return
- identifications that can be read by the Modem Doctor. If you suspect
- you selected the incorrect baud rate, go to setup and select 300 baud
- and try again. If it doesn't work this time, you might have a problem
- with your modem generating a self test.
-
- Modem Transmit Error
- - The Modem Doctor attempted to send a character to the Modem, but
- the status of the Transmit Holding Register indicated that the character
- was never sent. This will abort a test. Check cable wiring and that
- somehow the modem did not get disconnected from the Serial port or
- inadvertantly turned off.
-
- Modem Queue Failure
- - A character was sent to the modem, but nothing, not even the wrong
- character was sent back to the Computer from the Modem. This test is driven
- by interrupts, however if they fail to happen, a brute-force method is
- tried one time and if that still fails to get a character, then this
- error message is displayed. Check cable wiring and again make sure that
- somehow the modem did not get disconnected from the Serial port or
- inadvertantly turned off.
-
-
-
- CARRIER NOT DETECTED
- - Some Modems in the self-test mode do not raise a carrier (RLS) or send the
- word CONNECT. Instead, the MB (Modem Busy) light blinks on the Modem. One
- case of this is the USR Courier Dual Standard Modem. In this case, the
- self test continues, but the words CARRIER NOT DETECED are displayed in
- the message window instead of CARRIER ON
-
- Modem Analog Test passed without any errors in Originate and Answer
- Modes
- - Normal results of the testing.
-
- "You had a total of x Originate Errors and x Answer Errors
- - An error was detected on character transmission by the Modem
- Doctor. Use the window display to isolate the error if you wish,
- or run the test again, making sure that the phone line is
- disconnected.
-
-
- 5.3 Loopback Errors
- -------------------
- UART not responding using Analog Loopback Plug mode
- - No characters were received over the RS-232 Loop. Make sure you
- are using a proper RS-232 cable and a proper Loopback plug
-
- No Loopback Plug or General Failure of the Hardware
- - None of the handshaking signals (RTS/CTS DTR/DSR) were detected
- (or generated) by the UART. Either you have a bad cable, a bad
- loopback plug or a faulty UART.
-
- Loopback Transmit Error
- - The Modem Doctor attempted to send a character to the UART, but
- the status of the Transmit Holding Register indicated that the character
- was never sent. This will abort a test. If you are performing the
- Analog Loopback test, check cable wiring and that somehow the modem did
- not get disconnected from the Serial port or inadvertantly turned off.
- If you are running a digital loopback test, then this indicates that
- the UART is failing to send characters. If you have an 8250 or compatible
- UART, then this would indicate a problem. If your UART is more or less
- compatible, then this message might get displayed
-
- Loopback Queue Failure
- - A character was sent to the modem, but nothing, not even the wrong
- character was sent back to the Computer from the Looping source. This test
- is driven by interrupts, however if they fail to happen, a brute-force
- method is tried one time and if that still fails to get a character, then
- this error message is displayed. If you are performing the Analog Loopback
- test, check cable wiring and again make sure that somehow the Loopback
- source (Plug or Modem) did not get disconnected from the Serial port or
- inadvertantly turned off.
- If you are running a digital loopback test, then this indicates that
- the UART is failing to loop characters. If you have an 8250 or compatible
- UART, then this would indicate a problem. If your UART is more or less
- compatible, then this message might get displayed
-
-
- Analog Loopback Test passed without any errors
- - Normal result of test
-
- You had a total of x Errors
- - At least one error was detected...this is the normal result if a
- UART does not respond to any test.
-
- UART not responding to the Digital Loopback test
- - No characters were looped internally through the 8250 UART. Suspect
- a non-compatible UART or a failure of the 8250 UART.
-
- UART Registers did not set for Loop back test
- - The UART Modem Control Registers did not program properly. This
- should indicate a hardware failure of the UART under all
- circumstances (including use with a non-compatible UART).
-
- UART Digital Test passed without any errors
- - Normal result of test
-
-
-
- 5.4 Setup Errors
- ----------------
- Modem Microprocessor Did Not Accept Setup Commands
- - Commands were sent to setup the modem for testing, the Modem did
- not acknowledge. Suspect a non-compatible modem or a possible
- hardware failure.
-
- Modem Status Register readings show that there is no status coming
- back from the modem to the UART. If this is an external modem,
- check" that the cable is plugged in.
- - The only condition that the UART will not have any status
- is if an External Modem is off, not connected, or the UART
- has a serious hardware problem.
-
- Line Control register readings show that the word length selected is
- incorrect. WS1 and WS0 should both be on indicating that 8 bit words
- are to be used. The UART is defective or communications to the UART
- are suspect.
-
-
- Line Status Readings Show
- show that the Tx Holding Register THE or the Tx Shift Register TSE is
- not resetting properly. UART is suspect or connections to the UART
- from the computer.
-
- Modem Control register readings show that either DTR,RTS or OT2
- signals are not set properly. DTR and RTS are essential for
- communications. OT2 is essential for interrupts. UART is suspect or
- connections to the UART from the computer
-
- Interrupt ID register readings show that an interrupt is pending when
- none should be. UART is suspect or connections to the UART from the
- computer.
-
- Interrupt Enable register readings show that ERI Enable Receiver ints
- is not set properly. UART is suspect or connections to the UART from
- the computer.
-
-
- 8259 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
-
- 8259 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
-
-
- I cant find a COMM Port
- - If Dos does not Log in Comm 1 or Comm 2 and if no port is
- Auto-Detected, then the Modem Doctor Aborts for there is no
- reason to run the program.
-
- WARNING...This COMM PORT is MODEM STATUS REGISTER IS DEFECTIVE
- - The Modem status register is one of the registers tested during
- auto-login detection. If it doesn't respond properly, the UART
- is probably defective and this message is displayed.
-
-
- Section 6. Special Modes and Information
- ----------------------------------------
-
- Currently, the only High-Speed Modem supported is the USR Courier HST and
- Dual Standard /V.32 Modems. The Modem Doctor recognizes these modems upon
- initial testing and sets up its test parameters a certain way to compensate
- for their Carrier self test limitations.
-
- Because of the trellis-encoded Async/modulation of the USR HST Mode, the
- maximum Carrier test Baud rate is 2400 bps (see the USR Manual for this
- info). To work around this, the Modem Doctor Programs these modems to use a
- fixed DTE/DCE Rate with the &B1 Parameter, allowing communications to and
- from the modem at speeds up to 19200 bps. When working in the V.32 mode
- however, the Carrier test (and all loopback tests ) can be performed at 9600
- since the modulation is symmetrical again. Also when the selected baud rate
- is higher than 2400 bps, the MNP Protocol switch is set to &M0, otherwise if
- there was an error, the Modem would try to correct it instead of passing the
- error on to the Modem Doctor. None of these changes is saved to the non-
- volatile ROM, so you should not experience a problem. However, the V.32 and
- Dual Standard Modems might experience a problem if register S13 is not set to
- 1. This is the default from the factory and insures that the modem will be
- reset when the DTR line is dropped. If you are experiencing a problem, use
- the interactive mode and type S13=001. This change is not permanent.
-
- If you are using a USR Dual Standard Modem, then the Modem Doctor will test
- whatever mode is active via the B switch. If the current Modem setting is
- B0, then the V.32 mode will be tested, if B1 is set, then the HST mode will
- be tested. You can change this setting to whatever you wish by using the
- Interactive mode, type ATZ, then type ATB0 &W or ATB1 &W. This has to be
- written to the firmware in order to stay valid throughout all the testing,
- but the ATZ command before a save will always recall your settings, insuring
- you have only changed the one parameter. Please note, this is included for
- advanced users and is one of the reasons for the interactive mode. It is not
- necessary for you to do this to test your modem unless you wish to.
-
- For more information, see the next section regarding "Quirks".
-
-
-
- The Modem Doctor will not send any special codes to a High-Speed Modem unless
- the baud rate selected is over 2400 bps. There are so many different
- manufacturers extended command sets that its possible the codes for the
- Courier could interfere with codes for other brands of Modems. I hope to
- eventually include tests for other 9600 bps and higher modems, but for now
- only the USR Couriers are supported. The reason I mention this is that as
- registered users, you might try this program out on other modems, and if they
- are not USR Courier compatible, they might not properly test at speeds above
- 2400. I have tested several other brands, and as long as they are running
- what is called the "Compatible" instruction set, the Modem Doctor should run
- fine.
-
-
- 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.
-
- 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. At times, installing a communications package can be very
- tiresome and 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).
-
-
- 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.
-
- 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. If you have one of
- these modems and experience a problem below 4800 bps, the culprit is leaving
- the MNP Protocol (&M4) selected instead of turning it off (&M0). You can
- correct this by going to the Manual Mode, type ATZ, then AT &M0 &W. This
- permanently writes the &M0 setting to the modem. If desired, you can at the
- end of the test turn the &M4 switch back on the same way you turned it off.
- Future versions of the Modem Doctor will include a configuration file, but
- for now, I cannot write this setting to your Modem, because other Modems use
- this &M0 switch to set Sync/Async applications. REMEMBER..this is only for
- USR Modems below 4800 bps. Above 4800 bps (9600/19200) the Modem Doctor will
- take care of this for you, since compatibility is not a problem with other
- brands at these speeds.
-
- 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. With the USR Modems, make sure again that you have
- the &M4 switch set to &M0 for speeds below 4800 bps. Genuine Hayes 2400
- Modems use &T1 through &T8 commands for their 2400 and also have other
- special switches. Again for the sake of compatibility with the widest range
- of modems at speeds below 4800, this cannot be corrected for in this version.
- You can however use the Manual Mode and type AT &T1 to test your modem. In
- fact, you can leave it in that setting, switch to the Analog Loopback test,
- and perform your own custom carrier test.
-
- Considering the vast numbers of "AT" compatible modems in the marketplace,
- these two exceptions are minor and will not affect most users, and this
- information is only included as a special help for those "tekkies" out there.
-
-
- Section 7 Registration Information
- -----------------------------------
-
- The Modem Doctor is copyrighted by Hank Volpe. The Shareware Version of this
- program may be distributed on Bulletin Board Systems or in Public Domain
- Libraries as long as a Fee is not charged for its duplication or acquisition.
- 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. It is expected
- that if you use it for more than 30 days, that you will register the Modem
- Doctor.
-
- Registration adds many powerful features that make the Modem Doctor an
- excellent RS-232/UART/Modem Diagnostic Tool. Comparable programs cost well
- over $100, while the Modem Doctor Registration Fee is just $19.95 for a
- single copy.
- Group Discount prices for software distributors and Businesses are available.
-
- For Single-user registration, send a check or Money order for $19.95 to
-
- Hank Volpe
- 108 Broadmoor Drive
- Tonawanda NY 14150
-
- You will receive the latest version of the Modem Doctor, plus several other
- useful Modem Utilities. Registered Users also are entitled for updates to
- newer versions (when available) for a small fee to cover shipping and
- handling.
-
-
- Notes -
- [+] Copyrighted by US Robotics INC
- [++] Copyrighted by Hayes Inc
- References to Smartmodem Copyrighted by Hayes.
- References to USR/HST/Dual Standard Copyrighted by US Robotics.
- References to MNP refer to An error free protocol Copyrighted by
- Microcom Inc.
- 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.
-