The CTS Serial Port Utilities (TM) User Guide (c) Copyright 1993-1996 Computer Telecommunication Systems, Inc. All Rights Reserved. No part of this User Guide may be reproduced, transmitted, transcribed, stored in a retrieval system, or translated into any language (natural or computer), in any form or by any means, without the prior written permission of Computer Telecommunication Systems, Inc. See the accompanying files OEM.DOC, VENDOR.DOC, LICENSE.DOC, and SYSOP.DOC for specific information pertaining to distribution of this shareware version of the User Guide. Information in this User Guide is subject to change without notice and does not represent a commitment on the part of Computer Telecommunication Systems, Inc. Computer Telecommunication Systems, Inc. may make improvements and/or changes in the User Guide and/or in Serial Port Utilities at any time. Trademarks and Copyrights IBM(R) and PS/2(R) are registered trademarks of International Business Machines Corporation. Hayes(R) is a registered trademark, and ESP(TM) is a trademark of Hayes Microcomputer Products, Inc. Practical Peripherals(R) is a registered trademark of Practical Peripherals, Inc. The CTS Serial Port Utilities(TM), IRQInfo(TM), IOInfo(TM), SwapIRQ(TM), and AT Command Test(TM) are trademarks of Computer Telecommunication Systems, Inc. T/Port(TM) and Telcor(TM) are trademarks of Telcor Systems Corporation. Other names listed in this User Guide are the proprietary trademarks of their respective companies. Computer Telecommunication Systems, Inc. 3847 Foxwood Road, Suite 1000 Duluth, Georgia 30136-6100 USA 1-800-380-2666 (Orders) 1-770-263-8623 (Voice) CompuServe: 76662,2315 1-770-263-0124 (FAX) Internet:support@comminfo.com ii TABLE OF CONTENTS Registration Options . . . . . . . . . . . . . . . . . . . . vii Corporate . . . . . . . . . . . . . . . . . . . . . . . vii Personal . . . . . . . . . . . . . . . . . . . . . . . . vii Personal PLUS . . . . . . . . . . . . . . . . . . . . . vii Professional . . . . . . . . . . . . . . . . . . . . . viii Professional PLUS . . . . . . . . . . . . . . . . . . . ix Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . xiv 1.0 Introducing The CTS Serial Port Utilities . . . . . . . . 1 PORTINFO . . . . . . . . . . . . . . . . . . . . . . . . 2 PORTMASTER . . . . . . . . . . . . . . . . . . . . . . . 3 BIOS_FIX . . . . . . . . . . . . . . . . . . . . . . . . 3 BUFFER . . . . . . . . . . . . . . . . . . . . . . . . . 4 COM_BPS . . . . . . . . . . . . . . . . . . . . . . . . 4 COM_FMT . . . . . . . . . . . . . . . . . . . . . . . . 4 DOS_COM . . . . . . . . . . . . . . . . . . . . . . . . 4 DOS_SWAP . . . . . . . . . . . . . . . . . . . . . . . . 4 DTR . . . . . . . . . . . . . . . . . . . . . . . . . . 4 FIND_COM . . . . . . . . . . . . . . . . . . . . . . . . 5 HANGUP . . . . . . . . . . . . . . . . . . . . . . . . . 5 IRQ . . . . . . . . . . . . . . . . . . . . . . . . . . 5 RESETCOM . . . . . . . . . . . . . . . . . . . . . . . . 5 RESETMOD . . . . . . . . . . . . . . . . . . . . . . . . 5 RTS . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2.0 Short Instructions . . . . . . . . . . . . . . . . . . . 6 Installation . . . . . . . . . . . . . . . . . . . . . . 6 Quick-Start . . . . . . . . . . . . . . . . . . . . . . 6 3.0 The Command Line . . . . . . . . . . . . . . . . . . . . 7 Serial Port Number Switches . . . . . . . . . . . . . . 8 On / Off Switches . . . . . . . . . . . . . . . . . . . 8 Parameter Switches . . . . . . . . . . . . . . . . . . . 8 Option Switches . . . . . . . . . . . . . . . . . . . . 9 Default Values . . . . . . . . . . . . . . . . . . . . . 9 4.0 Defining Non-Standard Serial Ports . . . . . . . . . . . 10 5.0 Testing The System With PortInfo . . . . . . . . . . . . 11 Test All Serial Ports - /0 . . . . . . . . . . . . . . . 12 Test One Serial Port - /n, n<>0 . . . . . . . . . . . . 12 BIOS Update - /B . . . . . . . . . . . . . . . . . . . . 13 Quick Test - /Q . . . . . . . . . . . . . . . . . . . . 13 Log File - /L, /LA, /LP . . . . . . . . . . . . . . . . 14 Force a Mouse Reset on PortInfo Exit - /MR . . . . . . . 14 Short (or Summary) Report - /S . . . . . . . . . . . . . 14 Skip the IRQ Scan - /NoScan . . . . . . . . . . . . . . 14 Search for ESP port - /ESP . . . . . . . . . . . . . . . 15 iii Advanced PortInfo Options . . . . . . . . . . . . . . . 15 /Batch . . . . . . . . . . . . . . . . . . . . . . 15 /LT . . . . . . . . . . . . . . . . . . . . . . . . 15 /Modem . . . . . . . . . . . . . . . . . . . . . . 15 /ModemID . . . . . . . . . . . . . . . . . . . . . 15 /NoModem . . . . . . . . . . . . . . . . . . . . . 15 /NoMouse . . . . . . . . . . . . . . . . . . . . . 16 /NoWin . . . . . . . . . . . . . . . . . . . . . . 16 /Plug . . . . . . . . . . . . . . . . . . . . . . . 16 /Win . . . . . . . . . . . . . . . . . . . . 16 PORTINFO.CFG File . . . . . . . . . . . . . . . . . 16 Network Considerations . . . . . . . . . . . . . . . . . 16 The PortInfo Summary Screen . . . . . . . . . . . . . . 18 Port Configuration . . . . . . . . . . . . . . . . 19 Port Address . . . . . . . . . . . . . . . . . 19 Interrupt (IRQ) . . . . . . . . . . . . . . . 19 IRQ (Out2) Enabled . . . . . . . . . . . . . . 19 BIOS Detects As . . . . . . . . . . . . . . . 20 Device Detected . . . . . . . . . . . . . . . 20 FAX Service Class . . . . . . . . . . . . . . 20 Type of Port . . . . . . . . . . . . . . . . . 21 Buffer - Trigger . . . . . . . . . . . . . . . 22 Port Settings . . . . . . . . . . . . . . . . . . . 23 Speed (BPS) . . . . . . . . . . . . . . . . . 23 Speed Multiplier . . . . . . . . . . . . . . . 24 Bits / Character . . . . . . . . . . . . . . . 24 Parity . . . . . . . . . . . . . . . . . . . . 24 Stop Bits . . . . . . . . . . . . . . . . . . 24 Hardware Signals . . . . . . . . . . . . . . . . . 25 Clear to Send . . . . . . . . . . . . . . . . 25 Data Set Ready . . . . . . . . . . . . . . . . 26 Ring Indicator . . . . . . . . . . . . . . . . 26 Data Carrier Detect . . . . . . . . . . . . . 26 Data Terminal Ready . . . . . . . . . . . . . 27 Request to Send . . . . . . . . . . . . . . . 27 6.0 The Other Utilities . . . . . . . . . . . . . . . . . . . 28 BIOS_FIX . . . . . . . . . . . . . . . . . . . . . . . . 28 BUFFER . . . . . . . . . . . . . . . . . . . . . . . . . 28 COM_BPS . . . . . . . . . . . . . . . . . . . . . . . . 29 COM_FMT . . . . . . . . . . . . . . . . . . . . . . . . 29 DOS_COM . . . . . . . . . . . . . . . . . . . . . . . . 29 DOS_SWAP . . . . . . . . . . . . . . . . . . . . . . . . 30 DTR . . . . . . . . . . . . . . . . . . . . . . . . . . 30 Find_COM . . . . . . . . . . . . . . . . . . . . . . . . 30 HANGUP . . . . . . . . . . . . . . . . . . . . . . . . . 33 IRQ . . . . . . . . . . . . . . . . . . . . . . . . . . 33 RESETCOM . . . . . . . . . . . . . . . . . . . . . . . . 34 RESETMOD . . . . . . . . . . . . . . . . . . . . . . . . 34 RTS . . . . . . . . . . . . . . . . . . . . . . . . . . 34 7.0 PortInfo FAILURE and WARNING Messages . . . . . . . . . . 35 iv Port Failures . . . . . . . . . . . . . . . . . . . . . 35 Message PI-1000 . . . . . . . . . . . . . . . . . . 35 Interrupt Conflicts . . . . . . . . . . . . . . . . . . 35 Message PI-2010 . . . . . . . . . . . . . . . . . . 36 Message PI-2020 . . . . . . . . . . . . . . . . . . 36 Message PI-2100 . . . . . . . . . . . . . . . . . . 36 Message PI-2110 . . . . . . . . . . . . . . . . . . 37 You have multiple ports at the same address . 37 You have another device using the same interrupt . . . . . . . . . . . . . . . . 38 The system will not let you share this interrupt . . . . . . . . . . . . . . . . 38 Message PI-2200 . . . . . . . . . . . . . . . . . . 38 Message PI-2300 . . . . . . . . . . . . . . . . . . 39 Message PI-2400 . . . . . . . . . . . . . . . . . . 39 Message PI-2500 . . . . . . . . . . . . . . . . . . 40 Port Conflicts . . . . . . . . . . . . . . . . . . . . . 40 Message PI-3000 . . . . . . . . . . . . . . . . . . 41 Message PI-3100 . . . . . . . . . . . . . . . . . . 41 Message PI-3200 . . . . . . . . . . . . . . . . . . 41 Message PI-3500 . . . . . . . . . . . . . . . . . . 42 Mouse Conflicts . . . . . . . . . . . . . . . . . . . . 42 Message PI-4000 . . . . . . . . . . . . . . . . . . 42 DOS Port Assignments . . . . . . . . . . . . . . . . . . 43 Message PI-5000-5040 . . . . . . . . . . . . . . . 43 Message PI-5050 . . . . . . . . . . . . . . . . . . 43 Other CTS Software Detected . . . . . . . . . . . . . . 44 Message PI-6000 . . . . . . . . . . . . . . . . . . 44 Windows Communication Setup . . . . . . . . . . . . . . 44 Message PI-7000 . . . . . . . . . . . . . . . . . . 44 Message PI-7050 . . . . . . . . . . . . . . . . . . 44 Message PI-7100 . . . . . . . . . . . . . . . . . . 45 Message PI-7200 . . . . . . . . . . . . . . . . . . 45 Message PI-7300 . . . . . . . . . . . . . . . . . . 45 Message PI-7500 . . . . . . . . . . . . . . . . . . 45 Serial Card Variations . . . . . . . . . . . . . . . . . 45 Message PI-8000 . . . . . . . . . . . . . . . . . . 45 8.0 Customer Support Policy . . . . . . . . . . . . . . . . . 47 9.0 About Computer Telecommunication Systems . . . . . . . . 48 OEM and Custom Programming Services . . . . . . . . . . 48 Serial Port and Modem Installation Software . . . . 48 Custom "Pre-communication" testing . . . . . . . . 48 IRQInfo . . . . . . . . . . . . . . . . . . . . . . . . 48 SwapIRQ . . . . . . . . . . . . . . . . . . . . . . . . 49 PortFix . . . . . . . . . . . . . . . . . . . . . . . . 49 AT Command Test . . . . . . . . . . . . . . . . . . . . 49 AT Command Test for EIA-602 . . . . . . . . . . . . . . 49 CTS IOInfo . . . . . . . . . . . . . . . . . . . . . . . 50 Appendix A: BONUS utilities MouseOFF and MouseON . . . . . . 51 v Appendix B: Introduction To Serial Ports . . . . . . . . . . 53 What is a serial port? . . . . . . . . . . . . . . . . . 53 Serial Port Addresses for PC/XT/AT and Compatible Computers . . . . . . . . . . . . . . . . . . . . . 54 Serial Port Addresses for MicroChannel Architecture Computers . . . . . . . . . . . . . . . . . . . . . 54 Interrupts (IRQs) . . . . . . . . . . . . . . . . . . . 55 Why are the DOS serial port assignments sometimes different from one application to another? . . . . 57 Appendix C: Types of Serial Ports . . . . . . . . . . . . . . 58 The 8250 and 8250B . . . . . . . . . . . . . . . . . . . 58 The 8250A . . . . . . . . . . . . . . . . . . . . . . . 59 The 16450 . . . . . . . . . . . . . . . . . . . . . . . 59 The 16550 . . . . . . . . . . . . . . . . . . . . . . . 59 The 16550A . . . . . . . . . . . . . . . . . . . . . . . 59 The 16552 . . . . . . . . . . . . . . . . . . . . . . . 60 The StarTech 16650 UART . . . . . . . . . . . . . . . . 60 Texas Instruments 16750 UART . . . . . . . . . . . . . . 60 The T/Port . . . . . . . . . . . . . . . . . . . . . . . 60 Emulated 16450 UARTs . . . . . . . . . . . . . . . . . . 60 Hayes ESP-I and ESP-II . . . . . . . . . . . . . . . . . 61 Practical Peripherals HSSP . . . . . . . . . . . . . . . 61 Appendix D: Sharing Interrupts (IRQs) . . . . . . . . . . . . 62 Appendix E: Using IRQ 2 and IRQ 9 . . . . . . . . . . . . . . 64 Appendix F: Avoiding or Reducing Overrun Errors . . . . . . . 65 What is an Overrun Error? . . . . . . . . . . . . . . . 65 Why Overrun Errors Occur . . . . . . . . . . . . . . . . 65 Eliminating Overrun Errors . . . . . . . . . . . . . . . 67 Additional Questions about Overrun Errors . . . . . . . 68 Appendix G: The EIA-232 Interface . . . . . . . . . . . . . . 69 EIA-232 Signalling Standards . . . . . . . . . . . . . . 70 EIA-232 Signal Lines Used in Normal Modem Communications . . . . . . . . . . . . . . . . . . 70 Signal Ground (GND) . . . . . . . . . . . . . . . . 70 Transmitted Data (TXD) . . . . . . . . . . . . . . 70 Receive Data (RXD) . . . . . . . . . . . . . . . . 70 Request To Send (RTS) . . . . . . . . . . . . . . . 71 Clear to Send (CTS) . . . . . . . . . . . . . . . . 71 Data Set Ready (DSR) . . . . . . . . . . . . . . . 71 Data Terminal Ready (DTR) . . . . . . . . . . . . . 71 Ring Indicator (RI) . . . . . . . . . . . . . . . . 71 Carrier Detect (CD) . . . . . . . . . . . . . . . . 71 Table of Modem Signals . . . . . . . . . . . . . . . . . 72 CTS Tech Note 1: Serial Port and Modem Installation Guide . . 73 CTS Tech Note 2: Trouble-Shooting Serial Ports . . . . . . . 79 vii Registration Options ==================== Several different registration options are available: ** Corporate ** --------------- Multi-Copy and OEM license agreements are available for any or all of the utilities included in the CTS Serial Port Utilities. Please see OEM.DOC or contact CTS, Inc. for details. ** Personal ** -------------- This is the most economical registration for a single user. If you need to use (or used) the SPU to diagnose a problem with your personal computer, then this is the license for you. By registering, you obtain personalized support to assist you with trouble-shooting your computer. Details are provided in the User Guide section titled "Customer Support Policy". As part of this license, you also receive: * Additional features in PortInfo includes the Windows Setup Verification test that makes sure that Windows is setup correctly. PortInfo suggests specific changes if any are required. * BIOS_FIX includes the Windows Setup Verification test. * 30 minutes of personal assistance with your serial port problems. * The most current version of the CTS Serial Port Utilities. * A FREE CompuServe IntroPak which gets you online with CompuServe without the regular signup fee plus a $15 usage credit. * Announcements about updates. * Special savings on other products from CTS. Details are listed just before the order form! The license provided with this option allows the registered user to use the SPU on any computer personally owned or used exclusively by the registered user. ** Personal PLUS ** ------------------- This registration option provides all of the benefits above plus: * A new step-by-step guide to installing a modem. This informative document will help you make the right decisions about organizing your serial ports and IRQs when you are installing or upgrading your modem. * The serial port troubleshooting guide. This helpful document will help you resolve the most common types of serial ports problems. viii * A printed copy of the attractive 86 page, 8.5 x 11" User Guide, including 30 pages of introductory and reference information not included in the electronic manual. This additional information includes serial port basics, types of serial ports, when and why you need a 16550A UART, how and when you can share interrupts between serial ports, details of the RS-232 interface, cable wiring, and how IRQ 2 and IRQ 9 are used. * 60 minutes of personal assistance with your serial port problems. * The MouseOn and MouseOff utilities. The "mouse utilities" allow a mouse and a modem to share the same interrupt when running under DOS. The license provided with this option allows the registered user to use the SPU on any computer personally owned or used exclusively by the registered user. ** Professional ** ------------------ This license is for consultants and corporate support specialists who routinely deal with a multiple computers. Treat the SPU like your screwdriver - that is, as long as it is in your possession and not "left" (installed) at any other machine, you are in compliance with the license. Only one individual is authorized to call for support. This license option provides all of the benefits described above, plus: * A number of new "advanced options" are available in the PortInfo utility designed specifically for the technical user. These include the ability to create fully automated batch files to operate PortInfo, a configuration file which allows operation without command line switches, and the ability to force or suppress different tests. See the "Advanced PortInfo" section for more details. * The bonus utility "FindCOM" which locates any serial port installed in the computer system. This utility does a "safe search" of the I/O address area to find any 8250 compatible serial port at *any* address. A very handy utility for those "unknown" machines. * 90 minutes of technical support (one authorized caller per license) * Allows use of the SPU on multiple computers AS LONG AS the SPU is ONLY used on ONE COMPUTER AT A TIME. Site licenses are available for situations where multiple installed copies are required. ix ** Professional PLUS ** ----------------------- Includes everything in the Professional License, PLUS: * A "toolkit copy" of the CTS SwapIRQ(tm) utility. SwapIRQ is our $29.95 (retail) DOS utility that lets DOS applications use any IRQ supported by a serial port or modem. A very handy utility for those situations where an IRQ conflict could be resolved *if* a software application could just use a different IRQ. Now it can! SwapIRQ is a TSR which uses 784 bytes of memory and redirects hardware-generated IRQs to the IRQ the software uses. SwapIRQ runs in DOS, or in a DOS box under Windows and OS/2. Note: each installed copy of SwapIRQ requires an additional license. Multicopy discounts and site licenses are available if required. Contact CTS for details. * A "toolkit copy" of the CTS PortFix utility ($14.95). PortFix is another little DOS TSR utility (only 704 bytes!) which eliminates lockups caused by some faulty UARTs shipped with PCI computers during late 1993 and 1994. These faulty UARTs have also been used in some addin cards...if you are experiencing occasional lockups, particularly on the "second use" of the port, then this utility is worth a shot! ** Special Discounts ** ======================= You may take advantage of these special prices for our other products listed below ONLY when you order the CTS Serial Port Utilities. IRQInfo PRO (tm) ---------------- The professional version of IRQInfo includes support for even more hardware devices that use IRQs and includes an integrated TSR module that watches computer while you use it to determine if any of the unused IRQs have a "hidden device" using them. IRQInfo PRO includes a full color animated display as devices are detected, and continually "learns" about your system as long as the TSR module is loaded. NOTE: TSR module uses only 512 bytes. Price: $35 IRQInfo (tm) ------------ This is our Interrupt Mapping utility. IRQInfo detects nearly all common devices and accurately displays their IRQs. IRQInfo includes tests for serial and parallel ports, sound cards, scanners, the mouse, hard and floppy disk drives, network cards, SCSI devices...just about everything that uses an IRQ. Due to the type of testing performed by IRQInfo, this utility runs in DOS only. Price: $24 x CTS IOInfo (tm) --------------- IOInfo performs a detailed test of the I/O space in the computer and displays a descriptive chart showing what addresses are used and available. Runs in a DOS box in Windows, Windows 95 or OS/2 to provide information about devices available in each environment and combines all of the environment reports together in a single report. Price: $24 SwapIRQ ------- This utility is described in the Professional PLUS version. Normally $32.95 (including shipping) but you can order it now for only $20. PortFix ------- This utility is described in the Professional PLUS version. Normally $14.95 (including shipping) but you can order it now for only $10. NEW Product Bundles! ==================== Personal Pack ------------- Includes the Personal PLUS License of the CTS Serial Port Utilities, IRQInfo PRO and IOInfo - this saves you a few dollars if you want all three of the CTS "INFO" products. Price: $79.00 ProPack ------- Includes the Professional License of the CTS Serial Port Utilities, IRQInfo PRO and IOInfo - this saves you a few dollars if you want all three of the CTS "INFO" products. Price: $109.00 ProPack PLUS ------------ This is everything! It includes the Professional License of the CTS Serial Port Utilities, IRQInfo PRO, IOInfo, SwapIRQ and PortFix. Separate prices on these products total $144 - save and order the ProPack PLUS! Price: $129.00 The CTS Software Utilities Order Form Name: ________________________________ Telephone: ___________________ Company: ________________________________ E-mail ID: _________________ Address: _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ QTY Description Price Subtotal === =========== ====== ======== The CTS Serial Port Utilities (CTSSPU) ___ Personal (PER) License . . . . . . . . $20.00 ________ ___ Personal (PER) PLUS License . . . . . 35.00 ________ ___ Professional (PRO) License . . . . . . 59.00 ________ ___ Professional (PRO) PLUS License . . . 79.00 ________ ___ IRQInfo (DOS only). . . . . . . . . . . . . . 24.00 ________ ___ IRQInfo PRO (DOS / Win 3.x) . . . . . . . . . 35.00 ________ ___ IOInfo . . . . . . . . . . . . . . . . . . . 24.00 ________ ___ SwapIRQ . . . . . . . . . . . . . . . . . . . 20.00 ________ ___ PortFix . . . . . . . . . . . . . . . . . . . 10.00 ________ ___ Personal Pack: (CTSSPU Personal PLUS + IRQInfo PRO + IOInfo . . . . . . 79.00 ________ ___ ProPack: (CTSSPU PRO + IRQInfo PRO + IOINFO). . . 109.00 ________ ___ ProPackPlus: (ProPack + SwapIRQ and PortFix). . . . . 129.00 ________ ======== Sub-Total $________ Sales Tax: State of Georgia residents add 5% $________ Shipping and Handling: ALL Orders shipped to the US, Canada & Mexico. . 4.00 Orders shipped outside North America that include CTSSPU Personal PLUS, PRO or PRO PLUS). . . . 10.00 All Other International Orders . . . . . . . . . 4.00 $________ TOTAL (US dollars, please) $________ PAYMENT METHOD: Check __ Money Order __ EuroCheq __ Discover __ Visa __ MasterCard __ Am. Express __ Purchase Order ($50 min) __ ======================================================================== CREDIT CARD INFORMATION Name as it appears on the card: _________________________________ Card No. ________ ________ ________ ________ Expires ___/___ Cardholder signature: ___________________________________________ Please send to, FAX, Email or call: +--------------------------------------------------------------------+ | Computer Telecommunication Systems, Inc. | | 3847 Foxwood Road, Suite 1000 | | Duluth, Georgia 30136-6100 USA | +--------------------------------+-----------------------------------+ | Telephone | Electronic Mail | | --------- | --------------- | | Orders: 1-800-380-2666 | Internet:sales@comminfo.com | | Voice: 1-770-263-8623 | or http://www.comminfo.com | | FAX: 1-770-263-0124 | CompuServe: 76662,2315 | +--------------------------------+-----------------------------------+ Federal TaxID: 58-1880693. Prices are subject to change without notice. How to Pay for your order ========================= We accept Visa, MasterCard, American Express and Discover credit cards, personal and business checks from US banks, money orders and we can ship 2nd day AIR COD in the US (please add $10 for COD & increased shipping charges, and be sure to write "COD" on the order form.) We accept EuroCheqs, American Express and International Postal money orders for our international customers. Use our Online order system for fastest service! Credit card customers with a secure Web browser can order through our World Wide Web page at "http://www.comminfo.com" 24 hours a day. Orders are processed the next business day. We also accept purchase orders from established customers, Fortune 1000 corporations, accredited schools and US government agencies. Please note that there is a $5 service fee on purchase orders for less than $50. xiii DISCLAIMER OF WARRANTY USERS OF THIS SOFTWARE MUST ACCEPT THIS DISCLAIMER OF WARRANTY: THIS SOFTWARE IS SUPPLIED AS IS. COMPUTER TELECOMMUNICATION SYSTEMS DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, WITH RESPECT TO THE SOFTWARE AND THE ACCOMPANYING WRITTEN MATERIALS. NO LIABILITY FOR CONSEQUENTIAL DAMAGES. IN NO EVENT SHALL COMPUTER TELECOMMUNICATION SYSTEMS OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS, BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR OTHER PECUNIARY LOSS) ARISING OUT OF THE USE OF OR INABILITY TO USE THIS COMPUTER TELECOMMUNICATION SYSTEMS PRODUCT, EVEN IF COMPUTER TELECOMMUNICATION SYSTEMS HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. BECAUSE SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES, THE ABOVE LIMITATION MAY NOT APPLY TO YOU. xiv Association Of Shareware Professionals Member ============================================= _______ ____|__ | (R) --| | |------------------- | ____|__ | Association of | | |_| Shareware |__| o | Professionals -----| | |--------------------- |___|___| MEMBER This program is produced by a member of the Association of Shareware Professionals (ASP). ASP wants to make sure that the shareware principle works for you. If you are unable to resolve a shareware-related problem with an ASP member by contacting the member directly, ASP may be able to help. The ASP Ombudsman can help you resolve a dispute or problem with an ASP member, but does not provide technical support for members' products. Please write to the ASP Ombudsman at 545 Grover Road, Muskegon, MI 49442-9427 USA, FAX 616-788-2765 or send a CompuServe message via CompuServe Mail to ASP Ombudsman 70007,3536. Acknowledgments I wish to express my very special thanks to David Bittner, Ted DeCastro, Wayne Fulton, Dan Landiss, Earle Robinson and Tom Wason who made this application possible through their dedicated beta testing. The CTS Serial Port Utilities would not have the same features or reliability as they do without the many hours of testing invested by these individuals. In addition, there were individuals too numerous to list who tested at least one version of the SPU and reported back suggestions or verified that known problems were fixed. To each of you, my thanks! 1 1.0 Introducing The CTS Serial Port Utilities Serial ports (also known as comm ports) are painless when they work, and a pain in the neck when they don't. They have plenty of options and limitations. They need a unique address, an inactive IRQ, and software which is properly configured to use it. No wonder nearly everyone gets confused by serial ports. The CTS Serial Port Utilities (SPU) is a collection of DOS software utilities that provide you with control over the serial ports in your computer. Most serial port problems can be resolved by using these utilities. Each of the utilities support all standard and any user-defined serial ports. User-defined ports are defined in the command line or in the system environment variables. Today the SPU is widely regarded by consultants and computer professionals as the premier serial port diagnostic package. In addition to accurately identifying the types of serial ports and the actual IRQs used, there are many things that PortInfo (the diagnostic program in the SPU) can do that nothing else will. PortInfo can detect many types of conflicts that are not readily apparent. In addition to mouse/modem conflicts, PortInfo detects video card conflicts, multiple ports installed at the same address and can even detect when a "disabled port" is not completely disabled. PortInfo detects several types of "enhanced" serial ports, including Telcors' T/Port , the Hayes ESP cards (both types), and the Practical Peripherals HSSP. PortInfo even identifies some internal modems that have "emulated UARTs". PortInfo also detects the new 16650 and 16750 UARTs (a type of serial port) and detects which ports have modems connected. We continue to update the modem detection - it now identifies the Rockwell RPI modems (these modems require special drivers) and to return additional information about the modem (Professional and Customer Support versions). The biggest addition in this version of the SPU is the addition of the CTS PortMaster program. PortMaster provides a simple user interface to the most commonly used features included in the SPU and includes integrated help. If you do not like command line options, then run PortMaster. It will start up PortInfo, ResetCom, ResetModem or HangUp for you and also does most of the actions provided by the other utilities in the SPU. NOTE: The command line options will always be available in the SPU. Please see the HISTORY.TXT file for details about what changes are new in the SPU. 2 1.1 PORTINFO PortInfo is a comprehensive utility which tests the computer system to determine everything possible about your serial ports, including interrupt and address conflicts. PortInfo provides you with FAILURE and WARNING messages about actual and possible conflicts. PortInfo provides details on the following: * Multiple serial ports at the same address (eg, 2 Com1 ports) * Interrupt conflicts between a bus mouse and a serial port * Shared and conflicting IRQs * Serial Ports using "clock multipliers" for higher data rates * The local loopback test accurately identifies failed serial ports * Conflicts between COM4 and 8514/A compatible monitors * Unusual default serial port setups (BIOS and DOS port assignments) * Serial ports that cannot generate interrupts * Helps to determine when interrupts can be shared * Identifies which port(s) have active modems, and may determine if the modem is internal or external. * FAXmodems are identified, with the FAX classes the modem reports supporting included on the summary report. * PortInfo can also set the system BIOS to match the actual ports installed. Other information provided: * Actual IRQ used by each port and the current IRQ status * DOS port assignments (com1-com4, mouse) * Port (UART) Identification (8250, 8250A/16450, 16550, 16550A, 16650, 16750, the T/Port, Hayes ESP (both types), the Practical Peripherals HSSP, and some "emulated UARTs" * FIFO status: If it exists, on / off, else 'None' * If the FIFO is ON, the current FIFO receiver trigger level is displayed. * All programmable port parameters: speed, format, parity, current RTS and DTR settings * Current status of modem lines: Ring Indicator, Carrier Detect, Clear to Send, Data Set Ready, with indication of when the lines are tied together (looped back). 3 Other features: * Ports are COMPLETELY restored to their original settings * Supports standard serial ports 1-4 on PC/AT, 1-8 on PS/2 * Supports up to 8 user definable (port address and IRQ) serial ports * Displays detailed messages about conflicts with reference numbers to assist looking up the detailed assistance in the section titled "PortInfo FAILURE and WARNING Messages". 1.2 PORTMASTER PortMaster is the "control panel" for the SPU. When you run PortMaster, you have a interactive full-screen program that allows you to select operations that you want to do with your serial ports. Portmaster uses the other SPU utilities to actually do the operation or to run the test - and it even shows you the command line options used to do the operation. This makes PortMaster a good way to try out different operations to resolve port problems. When you've got an operation that fixes a problem, then just use the command line and place it in a batch file to automate the operation each time you need it. You can run PortMaster by using a mouse or the keyboard. The Tab and Enter keys are best for keyboard use. The Tab key will move among the possible options on a screen, and the Enter key will select the current option. There are also several "shortcut keys" available. If you see a highlighted character on the screen, pressing the Alt key and the character will activate that option. Using the mouse is even easier - just click on the option you want! There are instructions and Help available throughout PortMaster to make it as easy as possible to use. 1.3 BIOS_FIX The BIOS in many computer systems will not accurately detect the serial (Com) ports in the computer. Many will never detect Com3 or Com4, a few will fail to detect one or more ports after a control-alt-del, and nearly all will inaccurately install the ports if they are not installed in sequence (for example, Com4 will be assigned to Com3 if no real Com3 exists). This can cause any number of problems in DOS and/or Windows operation. BIOS_FIX can be run from the AUTOEXEC.BAT file to ensure that the serial ports are always installed and initialized properly. 4 NOTE: BIOS_FIX (and the PortInfo /B command) do not write to or make any changes to the computer system BIOS. These utilities update a data table in RAM (memory) that is created by the BIOS for use by the operating system. Registered versions of BIOS_FIX also test the Windows SYSTEM.INI file to make sure that the port addresses and IRQs are properly set for Windows operations. Any changes that are required are displayed on the screen. 1.4 BUFFER Buffer controls the FIFO buffers in a 16550A or compatible UART. You can turn the buffers on and off, and set the receiver trigger level. See the section titled "Testing Your Software with PortInfo...Buffer-Trigger" for more information on UART FIFO receiver trigger levels. 1.5 COM_BPS COM_BPS sets a port data rate (in bits per second, or BPS) to any standard value supported by the serial port. This utility is normally used as a replacement for the DOS set mode command. 1.6 COM_FMT COM_FMT sets a port character format to any standard value supported by the serial port. This utility is normally used with COM_BPS as a replacement for the DOS mode command. 1.7 DOS_COM Use DOS_COM to insert a serial port in the list of ports used by DOS. 1.8 DOS_SWAP Use DOS_SWAP to exchange two serial ports in the port list used by DOS. 1.9 DTR DTR controls of the Data Terminal Ready (DTR) line of any serial port. 5 1.10 FIND_COM FIND_COM performs an intelligent search of the system I/O address space to locate serial ports that are not at standard addresses. FIND_COM also includes a capability to install any located ports into the BIOS data area. NOTE: FIND_COM is provided with all Professional License options. 1.11 HANGUP HANGUP provides a simple utility to assist in forcing the modem to hangup a connection by using different hangup techniques until the modem responds. 1.12 IRQ IRQ enables and disables the interrupt enable gate for any serial port. 1.13 RESETCOM RESETCOM resets a port to a "power-up" configuration: Port interrupts are disabled, data rate is set to 2400 bps, character format to eight data bits, no parity, one stop bit. If the port is a 16550A family device, then the buffers (FIFOs) are disabled. This utility will often restore a port that doesn't work after running an ill-behaved application. 1.14 RESETMOD RESETMOD provides a simple utility to assist in forcing the modem to respond to commands. If you have ever had to reboot a computer to get a modem to response, then RESETMOD may be able to help! 1.15 RTS RTS controls the Request to Send (RTS) line of any serial port. 6 2.0 Short Instructions 2.1 Installation Installation of the CTS Serial Port Utilities is easy. Just create a subdirectory to hold all of the utilities, and then copy the distribution diskette to the directory. Please refer to your DOS User Guide if you need assistance with creating a sub-directory. 2.2 Quick-Start Each of the utilities provides a short help screen when you enter the program name followed immediately by the return key. This help screen includes a brief description of what each utility does and the valid command line switches used to control it. For example, if you wanted to see the help screen for PortInfo, enter: PortInfo After reading the help screen, you might decide to do the basic system test with the command: PortInfo /0 NOTE: This only works for standard serial port addresses. Refer to the section on "Defining Non-Standard Serial Ports" for information on how to test serial ports located at any address. Some internal modems occasionally require the computer to have a hard reset before running PortInfo to obtain correct results. If you observe a problem where PortInfo does not detect an internal modem or the IRQ used by the modem, then try using the ResetMod(em) utility before PortInfo. If it still does not work, then either turn the computer off and back on to perform a hard reset, or, if the computer has a RESET button, press it. Then try running PortInfo again. NOTE: a soft reset (pressing Control-Alt-Delete) is not sufficient to reset these modems to a state where PortInfo can recognize them. You must do a "hard reset" as described above. 7 3.0 The Command Line The different programs in the SPU are controlled by "command switches" that are entered on the command line when starting the program. Each command switch is preceded by a slash character "/". These "switches" control the SPU software the way a hardware switch controls the options on a board. Of course, you can also use the PortMaster utility for most operations. PortMaster creates the correct command line for you based on selections you make from the menus. The standard command line format is: Program_Name /switch1 /switch2 ... For each of the utilities, you can enter either the program name by itself or with a "/? command line switch" to display a brief description of the utility and the switches used to control it. For example, both of the following commands will display the help screen for PortInfo: PortInfo /? or PortInfo where means you should press the Enter or Return key. There are some general rules for the command line switches: 1. You may enter the command line switches in any order UNLESS a fixed sequence is defined for a particular utility. 2. You can enter the command line switches as uppercase or lowercase letters. 3. You may optionally leave one space between different values in a single command line switch. To demonstrate, the following commands all do the same thing (it sets the data rate to 9600 bps for COM1): COM_BPS /1 /S9600 com_BPS /s 9600 /1 com_bps /1 /S 9600 com_bps /1/s9600 CoM_BpS/1/s9600 Choose a format to use that is comfortable for you. You will receive a format error message if you enter a string the utility doesn't understand. 8 There are four formats of switches in addition to the help switch: 3.1 Serial Port Number Switches Each of the utilities can work on a defined serial port specified as a number, or on all serial ports that are standard or defined for the CTS Serial Port Utilities (see the next chapter for instructions on how to define a non- standard port.) The command line switch for port assignments is simply a "/" (the switch command) followed by the port number. For example, to run PortInfo on serial port one, you would enter: PortInfo /1 Specifying serial port "zero" will cause the utility to operate on all of the serial ports. For example, to run PortInfo on all standard and user-defined serial ports, you would enter the command: PortInfo /0 3.2 On / Off Switches Some utilities control a serial port function that is turned on or off. For example, to turn "On" the DTR line for serial port 2, you enter: DTR /on /2 -OR- DTR /ON /2 -OR- DTR /2 /On Remember, they all do the same thing! To turn a function off, you use the "/Off" switch rather than "/On". 3.3 Parameter Switches There are a number of these switches which you use to enter a value. One example was shown above when we set the port data rate to 9600 bps with the "/Sspeed" parameter switch. Parameter switches are also used to define a non-standard serial port, to set port formats, receive trigger levels for a 16550A fifo, and to define a particular interrupt (IRQ) to use. Check the help screen for each utility to see which parameter switches are used. 9 3.4 Option Switches These are a number of option switches used in PortInfo to control how it operates. The switch "/Q" instructs PortInfo to do a Quick test, and "/L" causes a Log file named "PORTINFO.LOG" to be created containing an copy of all messages displayed to the screen. The "/X" switch allows you to eXclude IRQs ("/XIi") and port addresses ("/XAaaa" or "/XAaaa-bbb") from the PortInfo test. See the Section "Testing The System With PortInfo" for details. 3.5 Default Values A number of the command switches have default values. All of the programs will default to all ports (/0) if you any other command. For example, "COM_BPS /S2400" is the same as "COM_BPS /0 /S2400". Commands with On/Off toggles always default to "On" - that is "DTR /0" is the same as "DTR /0 /On" or "DTR /On". NOTE: you must specify one of the two commands to avoid getting the help screen. Check the help screen for each of the utilities to determine what defaults are available. 10 4.0 Defining Non-Standard Serial Ports The CTS Serial Port Utilities will work with any serial port on any interrupt (IRQ). However, if there are serial ports other than the standard COM1-COM4, then you have to tell the SPU where the ports are (that is, what address the port is installed on.) You have two different ways to do this: 1. you can run each of the utilities using the serial port address switch "/Aaaa", where "aaa" is the first address location (the "base address") used by the serial port 2. you can define a system environment variable for each non- standard serial port that will make the ports available to the SPU via port numbers. The CTS SPU recognizes an environment variable with the following format: CTSCOMn= /Aaaa where: "n" is the serial port number you are assigning to the Com port "aaa" is the first address location (the "base address") for the serial port NOTE: Make sure there is NO space between the com port number and the "=" You define an environment variable with the DOS "SET" command, which you can enter at the DOS command line or place into a batch file (such as the AUTOEXEC.BAT file.) The DOS manual provides documentation on the SET command. Examples: 1. Define a port at base address 1E0 (hexadecimal) as COM5: CTSCOM5= /A1E0 2. Define a port at base address 2E0 as COM6: CTSCOM6= /a 2E0 Using these two examples, you may now access the two non-standard serial ports as COM5 and COM6 in all utilities of the SPU. These serial ports will also be used by any utility that is used with the "/0" (all ports) command line. NOTE: The CTSCOMn environment variables may be used by other CTS applications. 11 5.0 Testing The System With PortInfo The first thing to do after installing the Serial Port Utilities is to run PortInfo to do a full system test. If there is a mouse, make sure that the mouse driver is loaded. PortInfo will discover many common problems with the serial ports, including: * multiple ports installed at the same address * ports whose UARTs have failed * interrupt conflicts with other devices * conflicts between the mouse and serial ports * identifies which serial ports are sharing an interrupt * identifies serial ports which are not able to generate an interrupt * possible problems with the DOS definitions for the serial ports * Identifies some displays which conflict with the standard COM4 serial port PortInfo can also be used to update the system BIOS data area to accurately reflect the system serial ports. PortInfo (and all of the utilities) will run from DOS, or from a DOS session within Windows or OS/2. However, the conflict testing is very limited under Windows and OS/2, so it is recommended that PortInfo be used for diagnosing problems primarily in the DOS environment. The summary screen provides information about the type of UART used in the serial port and the current settings for the port. You want to pay particular attention to the FAILURE and WARNING messages that appear the first time you run PortInfo. All messages and the summary screen can be captured to a "log file" for later use or reference. PortInfo reports a FAILURE message when there is a problem detected with the system that will prevent correct operation. Failures are typically reported for conflicts between a serial port and another serial port or device. At times, a failure will be reported by PortInfo when the port seems to work - this generally happens because PortInfo tests the port at high speeds (which "forces" many problems to appear), while the port is only used at low speeds. You may get away with using such a port until you try to move to higher speed operation. A WARNING message is reported by PortInfo when there is no immediate problem that you have to fix, but there is a situation that could lead to a problem if you are not careful. For example, if there are two different serial ports using the same interrupt, a WARNING will be reported. If you are careful, you can often share the IRQ between the ports - BUT the potential for a problem exists. 12 Both warning and failure messages have a message number. Save the message number(s) for reference to the section titled "PortInfo FAILURE and WARNING Messages". You will find each message explained in more detail with a description of the most common solutions for the problem. We've occasionally observed situations with internal modems that require the computer to have a hard reset before running PortInfo to obtain correct results. If you observe a problem where PortInfo does not detect an internal modem or the IRQ used by the modem, then either turn the computer off and back on to perform a hard reset, or, if the computer has a RESET button, press it. Then try running PortInfo again. Also try using the "ResetMod" utility. ResetModem will perform the most complete reset of the modem that is possible without turning the power off. NOTE: a soft reset (control-alt-delete) is not sufficient to reset these modems to a state where PortInfo can recognize them. You must do a "hard reset" as described above. 5.1 Test All Serial Ports - /0 To start PortInfo to do a complete test of all ports, enter the following command: C:> PortInfo /0 This tells PortInfo to do a full test of all standard serial ports (remember, /0 is the command for all ports), and all non-standard serial ports you have defined using the CTSCOMn environment variables for the CTS Serial port Utilities. NOTE: If you have a non-standard serial port installed, it will not be tested unless you have defined a CTSCOMn environment variable. 5.2 Test One Serial Port - /n, n<>0 You can also have PortInfo test only a single serial port. You can tell PortInfo to test a single serial port in two different ways. One way is to specify the serial port number you want to test. For example, the following command will test COM2: C:> PortInfo /2 13 You can also test a serial port by specifying the serial port address. This is the only way you can test a non- standard serial port without a CTSCOMn environment variable. For example, to test the port at address 01E0 (hex), you enter: C:> PortInfo /A 1E0 5.3 BIOS Update - /B PortInfo will update the BIOS data area to accurately include all serial ports in the computer system. Windows and many DOS applications often fail if the BIOS data area is not accurate. If you receive any "PI-5000" series error messages, run PortInfo with the /B option. Combining "/B" with "/S" (discussed below) offers an easy alternative to the DOS_COM utility for AUTOEXEC.BAT file use and performs the same action as BIOS_Fix. 5.4 Quick Test - /Q You may tell PortInfo to do a "quick test" if you are in a hurry to just check out a port setting. The quick test skips most of the conflict tests, so it will generally not detect port conflicts. You can specify the quick test for both a single port test and the complete system test. To specify the quick test, add a "/Q" (for Quick) to the command line as shown below: Example 1: Do a quick test on all ports: C:> PortInfo /0 /Q Example 2: Do a quick test on COM3: C:> PortInfo /3 /Q 14 5.5 Log File - /L, /LA, /LP PortInfo can create a copy of all messages and the summary screen on the disk that you can use to refer to when installing new equipment in the computer. When you use the "/L" command line switch, PortInfo creates a file named "PORTINFO.LOG" in the default directory. This file contains all information that is displayed on the screen while PortInfo runs. Use the command "/LA" to Append to an existing log file (/LA will create a new log file if there is not a PortInfo.LOG file available to append too.) The command "/LP" will "create" the log file on the system printer (LPT1). Example: Do a full system test, and save the results in the "PORTINFO.LOG" file: C:> PortInfo /0 /L 5.6 Force a Mouse Reset on PortInfo Exit - /MR On occasion, a serial port mouse driver will need to be reset after running PortInfo. If the mouse stops working after running PortInfo, use the '/MR' command to have PortInfo reset the mouse just before stopping. 5.7 Short (or Summary) Report - /S PortInfo now includes a "short report" capability which does a quick system test to simply identify the current serial ports by Com Port number, IRQ (interrupt) used, the port type and the current BIOS setting. Combining this option with the "/B" command provides a fast way to automatically set the comm port assignments and verify they match what you think is installed. Example: Do a quick system test, update the BIOS area, and display the short report: C:> PortInfo /S /B NOTE: the "/0" is not required here, as this the default setting. 5.8 Skip the IRQ Scan - /NoScan The "/NoScan" command bypasses the "Active Interrupt Scan" normally done at the start of PortInfo. The active interrupt scan is used by PortInfo to detect certain devices, including network cards, that may be affected by PortInfo. If there is a network card installed in the system being tested, it is suggested that you do NOT use this option. 15 5.9 Search for ESP port - /ESP The "/ESP" command will instruct PortInfo to search the computer for a Hayes ESP-compatible serial port. 5.10 Advanced PortInfo Options The following PortInfo options are available in the different registered versions as indicated. Those indicated as "Professional" are designed to allow fast checking of a number of computer via different batch file options. /Batch (Professional) The "/Batch" command causes PortInfo to automatically accept any options presented, and to continue running without user intervention. Use of the /Batch option is normally done with the "/LA" option, allowing the creation of batch files that can perform a number of different operations while allowing the user to review the test results with a text viewer. /LT (All) The "/LT" command will cause PortInfo to do a "long test" to search for a hard to find conflict. The long test takes about 2 hours / port (this may be best run overnight!) PortInfo will report any conflicts that are detected as well as any "spurious" interrupts. Spurious interrupts may be caused by a number of sources (including PCMCIA devices); however, if several occur when testing one particular port, then this may indicate a second port located at the same address. /Modem (Professional) The "/Modem" command forces PortInfo to do the modem detection test. This option bypasses the prompt requesting permission from the user to continue and reminding the user to turn on their modems. /ModemID (All) The "/ModemID" command will tell PortInfo to display and log the results of the modem identification commands (ATI0 - ATI7). /NoModem (Professional) The "/NoModem" causes PortInfo to skip the modem test completely. 16 /NoMouse (Professional) The "/NoMouse" command causes PortInfo to skip the mouse test. In systems where no mouse is installed, this may save a few seconds of run time. /NoWin (All) The "/NoWin" command will force PortInfo to not look for or verify the Windows setup. /Plug (All) The "/Plug" command will cause PortInfo to also look for a loopback condition on the transmit and receive lines of each serial port where no other device is detected. This option can be used with a loopback plug to identify which physical connector on the back of the computer belongs to which port. /Win (All) To avoid a lengthy search of the hard disk, PortInfo will normally look for the Windows SYSTEM.INI file in the "C:\Windows" directory. If Windows is installed in a different directory or disk drive, then specify the complete path for PortInfo on the command line here. For example, to verify the SYSTEM.INI file in "D:\win311", run "PortInfo /Win d:\win311". PORTINFO.CFG File The PORTINFO.CFG file is used to store a set of commands that you want PortInfo to execute each time. You create a text file called PORTINFO.CFG containing a list of PortInfo commands just as they would be entered on the command line. Then, instead of entering the commands each time you run PortInfo, you can simply enter the command "PortInfo". 5.11 Network Considerations Early versions of PortInfo (1.x) would occasionally cause users to lose their network connections. It is believed that these problems have been eliminated with version 2.0. However, if you should have a problem, please contact CTS to let us know, and then review the following technique for avoiding the problem. 17 While searching for serial port and interrupt (IRQ) conflicts, PortInfo performs a very intensive test of the computer system interrupts. One result of this testing is that it is possible to lose the network connection after running PortInfo. You can restore the network connection by just logging out and back in, or you can avoid the problem entirely if you know what IRQ the network card is using. PortInfo includes the ability to exclude any IRQ or port address from the test. By ensuring that the network card IRQ is excluded, you will avoid interference with the network. If the network card is installed at an address that conflicts with a normal serial port address, you should also exclude the address from the test. To exclude one or more IRQs from being tested, you can use the "/XIi" command line switch. The "/XIi" switch causes PortInfo to eXclude Irq "i" from being tested. Example: Exclude IRQ 5 (used by the network card) from a full system test: C:> PortInfo /0 /Xi5 NOTE: you can exclude multiple IRQs by using multiple "/XIi" commands Example: Exclude a network card at address 2E8 using IRQ 5 from a full system test: C:> PortInfo /0 /Xi5 /XA2E8 This example demonstrates the use of the eXclude Address switch "/XAaaa". This switch will prevent PortInfo from testing a port residing in the address block including address "aaa". NOTE: an "address block" is defined for this discussion as eight consecutive addresses starting with an address ending in "0" or "8". The example above excludes testing of the eight addresses located at 2E8-2EF. 18 5.12 The PortInfo Summary Screen PortInfo completes operation by displaying a summary of all information it gathered while testing. The following is a sample display for a system with four or less serial ports (eight columns are displayed for more serial ports.) Each item on the display is discussed in the following sections. PortInfo Summary Screen Serial 1 Serial 2 Serial 3 Serial 4 Port Address (Hex) 3F8 2F8 3E8 N/A Interrupt (IRQ) 4 3 10 IRQ (Out2) Enabled No Yes No BIOS Detects As Com1 Com2 Com3 N/A Device Detected ExtFAXModem Mouse FAXModem Display FAX Service Class 0,1,2.0 0,1 Type of Port 16650 16450 16550A Buffer - Trigger None None On-8 Port Speed (BPS) 38400 1200 2400 Speed Multiplier x4 x1 x1 Bits / Character 8 7 8 Parity None None None Stop Bits 1 1 1 Clear to Send On Off Off Data Set Ready On Off Off Ring Indicator Off Off Off Data Carrier Detect On Off Off Data Terminal Ready Off On Off Request to Send Off On Off 19 5.12.1 Port Configuration 5.12.1.1 Port Address This line shows the "base port address" in hexadecimal for each serial port detected. The "base port address" is the first address used by the serial port. Serial ports normally use eight address locations, so the term "base port address" is used to refer to the first address used. In the example displayed above, the COM1 base port address is 03F8 (hex). The serial port actually uses eight consecutive addresses starting at 03F8 and ending at 03FF (hex). 5.12.1.2 Interrupt (IRQ) The Interrupt (IRQ) line of the display shows the actual hardware interrupt used by the serial port. This value is determined by testing the serial port. If a ? is displayed in this field, then there is a possible conflict with this port that will cause a problem if you try to use the port. If a ??? is displayed, then PortInfo was not able to get the port to generate any interrupts. 5.12.1.3 IRQ (Out2) Enabled This line shows the current status of the OUT2 line for the serial port. The OUT2 line is a UART control line used by some communication software to enable the IRQ. A serial port cannot generate interrupts when this line is disabled, OR when another serial port that uses the same IRQ line is enabled. If you have two serial ports sharing an IRQ with an "Enabled" status, or if you have a problem using one port when the other shows an "Enabled" status, then you need to disable the OUT2 line on the inactive port. You can do this with two different utilities provided in the SPU. "ResetCom" will restore a serial port to it's original power-up status, and "IRQ" provides you with direct control of the IRQ (Out2) line. These utilities are described below. 20 5.12.1.4 BIOS Detects As This line shows how the BIOS instructed DOS to use this port. This field will contain the DOS default port assignments as detected by the system BIOS at boot-up time. If the letters "N/A" are displayed, then the port is Not Available for use by commands like the DOS Mode command. The port assignment can be changed with the DOS_COM and DOS_SWAP utilities provided with PortInfo. If PortInfo detected a problem with the port assignments, then a < will appear beside the assignment. The easiest way to fix this problem is to install the BIOS_FIX (included) in your AUTOEXEC.BAT file. 5.12.1.5 Device Detected This line displays the type of device detected on the serial port - this includes a serial mouse, modems of several types, and "LoopBack" for the Registered License options when the "/Plug" command is used. Modems are identified as precisely as possible: "Modem" when a modem is detected, but no other information is available, "IntModem" when the modem is identified as an Internal Modem without FAX capability, "ExtModem" for an external without FAX, "FAXModem" for a modem with FAX capability, but not identified as internal or external, "IntFAXModem" or "ExtFAXModem" for internal and external FAXmodems, respectively. 5.12.1.6 FAX Service Class The FAX Service Class, or "FAX class" will display the reported FAX classes the modem reports supporting. This information can be used to make sure that the FAX software is compatible with the FAX class(es) supported by the modem. As of late 1994, there are three distinct "FAX classes": Class 1, Class 2, and Class 2.0. Class 0, which means standard data transfer mode (data and file transfer) is normally reported as being available as well If you are having problems using the FAX modem, be sure that you are using software designed for the FAX classes supported by the modem. 21 5.12.1.7 Type of Port The Type of Port line describes the type of UART detected by PortInfo. If no UART was detected for the port, the letters "N/A" will be displayed. Also notice that the word "Display" appears on the COM4 port. There are some display cards, including the Diamond Stealth, the ATI Ultra Graphics, and others which emulate IBM 8514/A displays that use the address space normally reserved for COM4. PortInfo detects the presence of many of these displays and identifies the port as such. PortInfo reports Hayes ESP compatible ports as ESP-I or ESP-II (depending on the ESP version). These ports are functionally equivalent to a 16550A in non- enhanced mode. The ESP port detection must be enabled by using the /ESP command line option with PortInfo. Two new UARTs are detected by PortInfo beginning with version 3.0. The StarTech 16650 is an "enhanced 16550A" that includes 32 byte buffers, automatic flow control and a higher data rate. Unfortunately, this UART is not fully compatible with the 16550A, so it should be used with caution. This part is reported as "ST-650". The second new UART is the 16750 from Texas Instruments. This UART provides a 64 byte buffer and automatic flow control and is fully compatible with the 16550A. This part is identified by PortInfo as the "TI-750". NOTE: that there are two types of UARTs which software cannot tell apart: the 8250A and the 16450. PortInfo chooses to display this UART type as a "16450" since the 16450 is the most common UART used today. Other diagnostic software may identify the UART as an 8250A (or even an 8250, which is incorrect). 22 5.12.1.8 Buffer - Trigger One of the unique features of PortInfo is it's ability to sense not only the status of the FIFO buffer on a 16550A, but also to detect what receiver trigger level is being used. This line will display "None" for those UARTs that do not have buffers, Off for 16550A compatible UARTs whose buffers are not enabled, and On-#, where # will be 1, 4, 8, or 14 to show that the FIFO buffer receiver trigger is set to (for 16550A modes; the StarTech 16650 and TI 16750 will report different trigger levels if they are enabled in the enhanced mode.) The receiver trigger level for a 16550A UART determines when it will issue an interrupt request. If the trigger is set to 14, the UART will issue the interrupt after 14 of the 16 spots in the buffer are filled. This reduces the number of interrupts generated by the UART, but only leaves three character times for the PC to service the interrupt before data is lost. Reducing the trigger level to 8 increases the number of interrupts (1 interrupt for every 8 characters received), but greatly reduces the possibility of data loss since the PC has 9 character periods before an overrun will occur. If you experience data loss at high speed in a communication program, try exiting to DOS while connected and run PortInfo on the port. If the Buffer - Trigger shows "Off", then the software may not support the 16550A UART. You can try enabling the buffer with the trigger set to one (1) with the "Buffer" utility and then exit to your communication software. This change may cause the communication software to lock up. If it does, your only recourse is to contact the software manufacturer for an update, or change to another communications application. If PortInfo displays "On-14", try using the "Buffer" utility to reset the trigger level to eight (8). This should reduce or eliminate the overrun problem. Making this change should not adversely affect the communications software, but may eliminate the overrun problems. 23 5.12.2 Port Settings The following port settings are normally controlled by the communication software. 5.12.2.1 Port Speed (BPS) This line shows the current port data rate (NOT the data rate of a connected modem) in bits per second (BPS). normally control this value in the communication program, but you can change this value with the DOS Mode command, or with the COM_BPS utility provided with PortInfo. The advantage of the COM_BPS utility is that it allows setting data rates up to 115,200 bps, and supports ports not recognized by DOS. NOTE: to convert to characters per second, you normally divide the BPS value by 10. That is, a serial port sending characters at 19,200 bps is sending 1,920 characters (or bytes) per second. 24 5.12.2.2 Speed Multiplier Several new ports and cards now support a "fast clock" mode that allows the port to run at a higher data rate. This is normally done by using a UART clock that is 2, 4 or 8 times faster than the normal data rate. This allows the serial port to operate at data rates above 115,200 bps (for use with ISDN Terminal Adapters, for example) while still being compatible with standard PC software. Note, however, that most software (particularly DOS applications) will not be aware of the faster data rate. This could cause a problem with modem operation as it is possible to inadvertently use a port data rate that the modem does not support. For example, if a port used a "x2" clock and the software was set to 38,400 bps, the actual date rate presented to the modem is 38,400 x 2 = 76,800 bps. Very few modems will respond to this data rate. Cards of this type should have a special driver provided for use on your operating system. 5.12.2.3 Bits / Character The bits per character line displays the number of data bits used for each character. Allowable values are 5, 6, 7, and 8. You can control the bits per character with the COM_FMT utility provided with PortInfo. This setting is normally controlled by the communications software, but is provided here for control of non-standard ports not supported by the DOS Mode command. 5.12.2.4 Parity The Parity line shows the current parity bit setting for the port. The possible values are None, Even, Odd, Mark, and Space. You can control the port format with the COM_FMT utility provided with PortInfo. 5.12.2.5 Stop Bits This line shows the number of stop bits sent with each character. Valid values for the number of stop bits are 1, 1.5, and 2. You can control the number of stop bits with the COM_FMT utility provided with PortInfo. 25 5.12.3 Hardware Signals The serial port hardware signals are used by different modems and devices in different ways. The RTS line is often used for hardware flow control, or it may be used to provide power to a portable modem. It's also possible for a cable, connector, or a serial port board to provide a means of looping back, or connecting lines to each other. If you see a hardware line listed as "On - DTR" or "Off - RTS", then this means that the line indicated is in the state shown, and it *may* be connected to the line indicated. These results can be affected by the devices connected to the serial port. You can disconnect the device and cables to determine where the loopback condition occurs. Common uses for each line are discussed below. 5.12.3.1 Clear to Send The Clear To Send (CTS) line is commonly used by modems and other devices for "hardware flow control". Flow control is used to prevent data from being sent faster than it can be processed. The CTS line is input only - it is controlled by the device attached to the serial port. The modem can use the CTS line to start and stop the flow of data sent by the computer when your software supports hardware flow control. The CTS line is normally "Off" when the serial port has nothing connected to it, or if it is connected to a device like a serial mouse or a scanner. When the serial port is connected to a Hayes compatible modem, and the modem is turned on, CTS should be "On" at all times except when the modem is connected to a remote system, and the modem has signalled the software to stop sending information. If you detect that CTS is not "On" for the modem when there is no connection, then you may have one of the following conditions: 1) The cable between the serial port and the modem does not contain the CTS line. This means you will NOT be able to use hardware flow control with the modem; 2) The modem is not a true Hayes-compatible modem; 3) The modem is not operating correctly; or 4) The serial port is not working correctly. 26 5.12.3.2 Data Set Ready The Data Set Ready (DSR) is a line which historically is used by modems (data sets) to signal when they are connected to a remote modem and ready to send data. This line is input only - it is controlled by the device attached to the serial port. Most modems today allow you to configure how this line is used. The default for Hayes and compatible modems is to turn this line "On" when the modem is powered on. On some modems, you can also configure this line to be "Off" at all times except when connected with a remote modem. 5.12.3.3 Ring Indicator The ring indicator line is normally used by modems to signal that a ring was detected on the phone line. This line is input only - it is controlled by the device attached to the serial port. PortInfo will normally detect this line as "Off" with a modem unless you manage to get a ringing signal at the exact moment PortInfo checks the status of the line. 5.12.3.4 Data Carrier Detect The Data Carrier Detect (DCD) line is normally used by a modem to signal that the modem is connected to a remote modem and ready to exchange information. This line is input only - it is controlled by the device attached to the serial port. Many modems can be configured so that DCD is "On" all of the time with a command (the &C command is used by Hayes and true compatible modems) or with a switch on the modem. 27 5.12.3.5 Data Terminal Ready The Data Terminal Ready (DTR) line is a line output by the serial port to the connected device. Historically, the DTR line was used by old "dumb terminals" to signal the modem that they were ready to receive data. The DTR line typically has two different uses today with modems. Most common is to use the DTR line to end a connection. The modem can look for a signal from the communication software to force a hangup. In some cases, this will also hang up the modem. The second use for this line is to provide power to the "line powered" portable modems introduced over the last couple of years. Some portable modems have no power supply or batteries, and actually use the telephone line, the DTR line, and the RTS line (see below) to supply their power. If you have one of these modems, then make sure that DTR is high if you try to use the modem. Most communication software does this automatically, but some utilities that send modem commands from the DOS prompt may not. You can use the "DTR" utility that comes with PortInfo to control the DTR line. 5.12.3.6 Request to Send The Request to Send (RTS) line is another line output by the serial port to the connected device. This line typically is used for hardware (RTS/CTS) flow control. When this line is "On", the serial port is requesting that the modem send data. A second use for this line is to provide additional power to the "line powered" modems as discussed in the paragraph above. You can use the "RTS" utility provided with PortInfo to control the RTS line. 28 6.0 The Other Utilities There are a number of additional utilities provided with PortInfo. These utilities are very specific in nature, and are provided to give you a standard user interface and source of support. You can also use these utilities to test the PortInfo utility. 6.1 BIOS_FIX BIOS_FIX updates the BIOS data area to accurately install each of the serial ports detected in the computer, resets and initializes the port to the default DOS values. Install BIOS_FIX in the AUTOEXEC.BAT file so it is run each time the computer is restarted - this will ensure that the serial ports are always ready for communications. If you have registered the SPU, then BIOS_FIX can also check the Windows SYSTEM.INI file each time the computer is rebooted. This will make sure that nothing has changed in the system setup that may cause a problem in Windows. 6.2 BUFFER BUFFER controls the internal buffer in a 16550A or compatible serial port. You can use this utility to turn the FIFO buffer "On" with any of the four ( 1, 4, 8, and 14) valid receiver trigger levels, or to turn the buffer off. In general, application software which can support a 16550A UART will control the buffer correctly. The primary use of this utility is to: 1) turn off a 16550A buffer which was not turned off by an application; and 2) to provide a way to adjust the buffer setting for a software application which has the trigger level set too high. If you have old software which does not support a 16550A, and you are experiencing an occasional overrun error (this often appears as a retry during a file transfer with an "error-free" connection), then you can try turning the buffer on with different trigger levels. This is an experimental process, and it may not work. In fact, it's possible the communication software will "lock up" if you do this. From the DOS prompt, type "BUFFER" or "BUFFER /?" to display the command line options and examples. NOTE: If no trigger level is specified on the command line, BUFFER will set the receiver trigger level to 14. 29 6.3 COM_BPS COM_BPS sets a serial port data rate (in bits per second, or BPS) to any of the common standard values supported by the serial port. You can use this to replace the MODE command provided with DOS on ports that DOS does not detect. The following data rates are supported by COM_BPS: 110, 300, 600, 1200, 2400, 4800, 7200, 9600, 14400, 19200, 38400, 57600, and 115200 bits per second (bps). From the DOS prompt, type "COM_BPS" or "COM_BPS /?" to display the command line options and examples. NOTE: most communication applications control this parameter directly. 6.4 COM_FMT COM_FMT sets the character format on a serial port to the specified value. You can use this to replace the MODE command provided with DOS on ports that DOS does not detect. The following chart shows the three character "format" value used on the command line and the associated description: Format Description 8N1 Eight data, No parity, 1 stop bit 8N2 Eight data, No parity, 2 stop bits 7E1 Seven data, Even parity, 1 stop bit 7E2 Seven data, Even parity, 2 stop bits 7O1 Seven data, Odd parity, 1 stop bit 7O2 Seven data, Odd parity, 2 stop bits 7M1 Seven data, Mark parity, 1 stop bit 7M2 Seven data, Mark parity, 2 stop bits 7S1 Seven data, Space parity, 1 stop bit 7S2 Seven data, Space parity, 2 stop bits From the DOS prompt, type "COM_FMT" or "COM_FMT /?" to display the command line options and examples. NOTE: most communication applications control this parameter directly. 6.5 DOS_COM The BIOS of the computer system creates a list of detected serial ports when it boots. Unfortunately, many computers will only detect the standard serial ports COM1 and COM2. Some computers will look for the conventional COM3 and COM4 ports as well. You can use the PortInfo summary screen line "DOS uses port as" to determine whether the BIOS has detected the serial port. 30 DOS will only use ports that are detected in the BIOS list of serial ports. For example, DOS must know a COM3 port exists if you want to redirect LPT1 to COM3, where you have a serial printer. If PortInfo shows "DOS uses port as N/A", then you need to help it out and add COM3 to the list of DOS ports. You use DOS_COM to do this. From the DOS prompt, type "DOS_COM /?" to display the command line options and examples. NOTE: Also see the BIOS_FIX and DOS_SWAP utilities for alternative ways of changing the BIOS port assignments. 6.6 DOS_SWAP DOS_SWAP exchanges two port addresses in the list of serial ports used by DOS. From the DOS prompt, type "DOS_SWAP" or "DOS_SWAP /?" to display the command line options and examples. You can use the PortInfo summary screen line "DOS uses port as" to determine whether how the BIOS has assigned the serial ports it detected. 6.7 DTR DTR controls the Data Terminal Ready line for the port specified. You can raise (turn "On") or lower (turn "Off") the DTR line with this utility. See the discussion on the DTR line in the section dealing with the PortInfo summary screen for applications of this utility. From the DOS prompt, type "DTR" or "DTR /?" to display the command line options and examples. 6.8 Find_COM NOTE: Find_COM is a bonus utility provided with the Professional Licenses only. Find_COM is a utility which will locate, display, and optionally install the serial ports into the BIOS data area. Ports are installed into the BIOS first using the standard Com1/Com2 addresses, then using the conventional Com3/Com4 address, and finally in ascending address sequence until a total of 4 serial ports are installed. Many communication applications use the BIOS data area to identify which serial ports are available for use. 31 Find_COM carefully searches through the computer system I/O address space, performing a passive test to determine if a serial port exists at a particular address block. If the passive test determines that a serial port may be installed, then a more detailed test is performed. Certain areas of the system I/O space are not tested by FIND_COM under any circumstances. The following address areas are permanently excluded: Port Addresses Excluded: 0000 - 0107 PS/2 POS registers 0170 - 0177 Secondary Fixed Disk Controller 01F0 - 01F7 Primary Disk Controller 0320 - 032F Original Fixed disk controller 03B0 - 03DF Video 0370 - 0377 Secondary Floppy Disk Controller 03F0 - 03F7 Primary Floppy Disk Controller If you know that equipment is installed using a particular I/O address space, then you can avoid testing those address spaces with the "/XAaaa-bbb" address switch as described below. Command Line format: FIND_COM [/Options] Options: no parameter: default search /B loads serial ports located by COM_FIND into the BIOS data area. The standard Com1-Com4 addresses are loaded first, then ports are loaded in ascending address sequence (up to 4 total ports installed). /XAaaa or /XAaaa-bbb excludes the I/O address block at "aaa" or the range of address blocks including addresses aaa-bbb from testing. This is used to avoid testing a particular I/O address that may conflict with a board in the system. NOTE: Multiple address blocks can be excluded from testing (see example 5) /? Displays the help screen 32 Examples: 1. FIND_COM Find_COM will search all allowed address locations for serial ports and display the results to the terminal screen. No ports are installed into the BIOS data area. 2. FIND_COM /B The /B switch enables the BIOS port installation. Find_COM will search all allowed address locations for serial ports and display the results to the terminal screen. Located serial ports are installed into the system BIOS in the following sequence (as found) until a total of four ports are installed: 3F8, 2F8, 3E8, 2E8, and then in ascending address sequence starting from address 108. 3. FIND_COM /XA300 The /XA switch tells FIND_COM to exclude the 8-byte address block containing the following address. 8-byte address blocks start with addresses ending in "0" or "8", so the following are all equivalent: /XA300, /XA301, /XA302.... /XA307 Find_COM will search all allowed address locations for serial ports and display the results to the terminal screen. The address block from 300-307 is not tested. No ports are installed into the BIOS data area. 4. FIND_COM /XA302-320 /B The /XA switch in this example tells FIND_COM to exclude the address block from 300-327 from the search. NOTE: the address "302" falls in the 300-307 address block, and the address 320 falls in the 320-327 address block. Therefore, the address range from 300 - 327 is excluded from the search. Find_COM will search all allowed address locations for serial ports and display the results to the terminal screen. The address block from 300-327 is not tested. The detected serial ports are installed in the BIOS as described in example 2. 33 5. FIND_COM /XA300 /XA360-36F /B This example shows use of multiple block exclusion. FIND_COM does not test the addresses 300-307 or 360-36F. All other allowed addresses are searched, and located ports are installed in the BIOS data area as described in example 2. 6.9 HANGUP HANGUP performs a series of actions to help force the modem to disconnect from the phone line. Some communication software will not cause the modem to hang up the phone line if the modem configuration is not correct. HANGUP bypasses the modem configuration problem by trying a number of different techniques. From the DOS prompt, type "HANGUP" or "HANGUP /?" to display the command line options and examples. 6.10 IRQ IRQ controls the interrupt request line (Out2) from the serial port specified. Generally, a serial port should have IRQs disabled (IRQ Status "Off" on the PortInfo screen) at all times except when the serial port is actually being used. The major exception to this rule is when a serial mouse is attached to the serial port. The mouse driver will enable the interrupt and keep it enabled at all times. If you want to try sharing an interrupt between a mouse and a modem, you can in some cases manage this with IRQ. For example, if you have a mouse on COM1 and a modem on COM3, both using IRQ 4, you can run IRQ to disable interrupts on COM1. Then run your communication program. When you are finished with the communication program, you can (but normally you don't have to) run IRQ to re-enable the COM1 interrupt. NOTE: this will NOT work reliably with a communication application that is "mouse aware". If you need to share an interrupt with a mouse-aware application, then you need to use a utility similar to the CTS "MouseOff" and "MouseOn" utilities. From the DOS prompt, type "IRQ" or "IRQ /?" to display the command line options and examples. 34 6.11 RESETCOM RESETCOM resets a serial port to the DOS default condition. Interrupts are disabled, the port is set to 2400 bits / second with a character format of 8 data bits, no parity, and 1 stop bit, and the Request to Send (RTS) and Data Terminal Ready (DTR) lines are set low. If the port is a 16550A or compatible, the buffers (FIFOs) are also disabled. There are a few communication applications which do not properly restore a serial port after completion. ResetCOM can be used to completely reset the serial port to a well- defined state. From the DOS prompt, type "RESETCOM" or "RESETCOM /?" to display the command line options and examples. 6.12 RESETMOD RESETMOD performs a series of actions to help avoid having to power-cycle the modem - which is particularly useful if you have an internal modem that requires rebooting the system. RESETMOD (short for ResetModem) performs a full reset of the serial port, and goes farther by then issuing a sequence of modem commands in an attempt to re-establish control over the modem. From the DOS prompt, type "RESETMOD" or "RESETMOD /?" to display the command line options and examples. 6.13 RTS RTS controls the Request to Send line for the port specified. You can raise (turn "On") or lower (turn "Off") the RTS line with this utility. See the discussion on the RTS line in the section dealing with the PortInfo summary screen for applications of this utility. From the DOS prompt, type "RTS" or "RTS /?" to display the command line options and examples. 35 7.0 PortInfo FAILURE and WARNING Messages The different types of failures and conflicts detected by PortInfo are separated into different categories. Each FAILURE and WARNING message can be referenced by number to the list below. Steps you can take to correct each of the problems are described. The general rule is to pay the most attention to the first FAILURE message that displays. Once a FAILURE has been detected, it should be corrected before looking at other problems that may be reported. 7.1 Port Failures 7.1.1 Message PI-1000 Symptoms: The serial port UART has failed the "local loopback" test. This test performs a check of the UART to verify it is performing basic functions. This port is not. Solution: This error normally indicates that the UART is faulty and needs to be replaced - however, it can also occasionally indicate an address conflict between two ports. To verify that the serial port UART is faulty, remove the port from the system and run PortInfo again. If PortInfo still shows a serial port a t the same address, then the problem is an address conflict. If no port appears at that address any longer, however, then the serial port or modem needs replacing. 7.2 Interrupt Conflicts An interrupt conflict message indicates that one or more of the serial ports is not always generating interrupts. This can cause a number of "interesting" problems that sometimes appear and disappear for no apparent reason. Finding the cause of the problem requires both a tool like PortInfo to identify that the problem exists, and patience on your part in taking a systematic approach to fixing the problem. Please follow the directions carefully. 36 7.2.1 Message PI-2010 Symptoms: You may have regular or sporadic lockups using either of the ports at this address. Solution: As the message indicates, PortInfo is detecting two separate interrupts when testing a single serial port address. The typical cause of this is two different serial ports at the same address (eg, two separate UARTs defined as COM1). To fix this problem, it is necessary disable, remove, or reassign one of the serial ports to another address location. 7.2.2 Message PI-2020 Symptoms: You will likely get a system lockup, a high rate of CRC errors (file transfer retries) if using a modem, a very jerky motion on a serial mouse, or a combination of these symptoms if you do not resolve this problem. Solution: If the software allows use of another port or IRQ, then you can change the port settings to avoid this IRQ. A second approach is to temporarily remove or disable the serial port, and then to run a GOOD "interrupt snooper" utility like our IRQInfo to determine which other device is using the IRQ. Then you can decide which one of the two devices will actually use the IRQ. 7.2.3 Message PI-2100 Symptoms: You have a serial port that works sometimes, but not all of the time. You may have any or all of the symptoms listed for any message in the PI-2000 to PI- 2999 range. Solution: The usual causes for this error message are multiple serial ports at the same address, or another device using the interrupt. Use the solutions described for PI-2001 and PI-2002. 37 7.2.4 Message PI-2110 Symptoms: Most applications will lock up when trying to use this port. There are three common causes for this message. Troubleshooting this problem requires a careful and methodical approach. The basic idea is to reduce the system to a state where the conflict is no longer observed, and then add boards back in one at a time to determine which board is involved with the conflict. Often (but not always) the board you have most recently added to the system is the culprit. Diagnosing and repairing this problem often involves opening the computer system and removing / installing boards. Be sure to follow the instructions provided with the computer system when adding and removing boards. PortInfo is most useful at diagnosing problems if you run it after installing each board. By making sure that the system is ok after each board is added, you can then quickly identify which board is causing the problem. 7.2.4.1 You have multiple ports at the same address This is a common problem with many computers. There is often a forgotten or unknown serial port installed in the computer, and adding another port at the same address location can cause all sorts of interesting problems. The best way to approach this problem is to remove all of the add-in boards that have serial ports from the system. This includes internal modems as well. Then run PortInfo to verify that the system is no longer displaying this error message. If the error still exists, then it is likely due to one of the other problems discussed here. If the problem did go away, then add each of the boards back into the computer one at a time to determine which board causes the problem. After you have identified which board causes the problem, you should change the serial port address (or Com# setting) to a selection which not used on the system. 38 7.2.4.2 You have another device using the same interrupt Many different devices compete for interrupts with the serial ports, including other serial ports (including internal modems), bus mice, network cards, sound cards, and so on to name several. While well-behaved serial ports and software will allow serial ports to share an IRQ, you generally cannot share an IRQ between a serial port and another device. Bus mice often use IRQs 2,3,4,5, or 12, and sound cards commonly use IRQs 5 and 7. Try removing these cards from the system and then run PortInfo again to see if the problem still appears. If the problem still exists, then leave the boards out and continue diagnosing the problem following the steps in (1). When you have the system to the point where the error is no longer reported, then begin adding the boards back to the system one at a time, running PortInfo after you've added each board to determine which board is involved in the conflict. 7.2.4.3 The system will not let you share this interrupt There are some computer system motherboards which simply will not let any other device generate interrupts for IRQs used on the motherboard. For example, if you have a serial port on one of these motherboards set to use Com1 / IRQ 4, no other device will be able to use IRQ 4. Your only solution, if you need to share these interrupts to make everything fit, is to disable the serial ports on the motherboard, and purchase an add-in serial port card. 7.2.5 Message PI-2200 This is an informational message regarding the Telcor Systems T/Port card. A newer ROM exists for the T/Port. If you are experiencing problems with the T/Port, then you should contact Telcor Systems Inc. for more information. NOTE: PortInfo is not able to test the IRQ used by the T/Port when this message is displayed. 39 7.2.6 Message PI-2300 Symptoms: If you use well-behaved software, and if the hardware allows sharing interrupts, then everything will be fine. If not, then you can have problems ranging from serial ports which work intermittently to complete system lockups. Solution: Make sure the hardware will allow the interrupt to be shared among multiple devices, and that the software will make the IRQ inactive on the board it uses after it has completed use. You may not use two devices at the same time on the same interrupt. 7.2.7 Message PI-2400 Symptoms: You can use your mouse or your modem, but not both! Solution: The mouse and modem are sharing the same interrupt (IRQ). The mouse must be on an IRQ by itself to work correctly. The normal solution is to move the modem to a different (preferably unused) IRQ. If you do not have a GOOD interrupt identification utility, we suggest our IRQInfo product (available at a discount to all SPU customers). 40 7.2.8 Message PI-2500 Symptoms: This message is displayed only during a '/LT' (long test). This indicates that something in the computer may be generating "noise" on one or more of the IRQ lines. This report is provided primarily for the more experienced "techie" who is having problems running down an intermittent failure. Solution: In some cases, this is due to a port addressing conflict (eg, two Com1 ports) that is not detectable by other means. Other causes may be a poor serial card design, a noisy power supply or other problem with the system. They have also been reported for PCMCIA modems that are working acceptably. If the spurious interrupts are reported for all ports, and the ports appear to be working without problems, then ignore this message. If the report only appears for one of the serial ports, then there may be a definable problem with this port. Try to test for a possible address conflict by disabling or removing the known Com port and retest with PortInfo. If the port is still present, then there was a conflict. If the problem goes away, but there is no other port present, then the report may be indicative of a pending failure in the board. 7.3 Port Conflicts Port conflicts normally indicate that there are two serial ports located at the same address. This is commonly done when installing new serial cards or modems into an older machine without knowing for certain what equipment is already installed. 41 7.3.1 Message PI-3000 Symptoms: System lockup or failure of a communication application to successfully use a modem. Solution: You most likely have a conflict between a serial port and another device, possibly another serial port, at the same address location. You may also have a serial port that is jumpered to use two IRQs at the same time. Remove or disable the port which fails the test, and run PortInfo again. If another port is reported at the same address, then you have a conflict between two serial ports. If no other serial port is detected at that address, then you probably have a conflict with another device. Common conflicts involve local area network cards. Be sure to verify that your serial card is jumpered correctly. 7.3.2 Message PI-3100 Symptoms: The system may lock up, or the display may show meaningless characters ("garbage"). Solution: You cannot use a serial port at the normal COM4 address location if this message appears. The display adaptor on the video card is installed at the address normally used for Com4. 7.3.3 Message PI-3200 Symptoms: The system may lock up, or the display may show meaningless characters ("garbage"). Solution: There is a serial port installed at Com4 that is being interfered with by the video card. Video display cards that emulate an 8514/A display use the same address as the normal Com4 port (02E8h). The port at this address must be removed or reassigned to another "non-standard" address. 42 7.3.4 Message PI-3500 Symptoms: This is a message displayed when a "ComxBase=" statement exists in the Windows SYSTEM.INI file that references a serial port that is at a "non- standard" address and was not defined for PortInfo or BIOS_FIX. Solution: Add a "CTSCOMn=/A" environment variable as described by the message to the AUTOEXEC.BAT file prior to the BIOS_FIX utility. 7.4 Mouse Conflicts PortInfo looks for conflicts between the mouse and the serial ports. Most conflicts are detected by the interrupt conflict tests. However, PortInfo also checks for possible future conflicts. 7.4.1 Message PI-4000 This is a WARNING message that the bus mouse is using one of the IRQs normally used by the Com1 or Com2 serial ports. If you are not using this port for any connections, then you will not have any problems. If you do use Com1 and Com2 for your communications and they are using the standard IRQs (Com1 / IRQ 4, Com2 / IRQ 3), then you need to change the IRQ used by the serial port or the bus mouse to resolve the conflict. 43 7.5 DOS Port Assignments The DOS port assignments are determined by a data table that is created by the computer system BIOS when the system is powered up or reset. The BIOS detects the ports installed in the computer and places them in a data area for use by DOS and application software. Unfortunately, different BIOS implementations work differently, so there are often inconsistencies in how the serial ports are used. Many systems will only look for two comm ports, and no system looks for more than four. The BIOS also doesn't follow conventions in assigning a port at a particular address to the proper Com port number. To further confuse the issue, many applications do not use this data area because of the inconsistencies and address the ports directly by address. This leads to the situation where two different applications use the same device through "different" ports. Windows operation is also affected by the port assignments. The assignment by the BIOS is the first priority that Windows uses. So, if the BIOS is not installing the ports properly, then Windows may have communication problems. The best general rule is to always install ports in sequential order...that is, do not skip a port number. The first port should use the normal Com1 address, the second Com2, and so on. With the release of Version 3, PortInfo will now display a single message suggesting use of BIOS_FIX if any of the ports are not recognized by the BIOS or are being identified out of sequence. 7.5.1 Message PI-5000-5040 Obsolete - Removed from Version 3+ 7.5.2 Message PI-5050 Symptom: The BIOS is not detecting one or more of the serial ports properly. See the discussion above for affects this can have on computer operation. Solution: Use the BIOS_FIX utility in the AUTOEXEC.BAT file to ensure that the serial ports are properly installed in the bios and initialized. 44 7.6 Other CTS Software Detected The CTS Utility SwapIRQ can affect the reporting of IRQs used by some diagnostic software. PortInfo is "aware" of SwapIRQ and notifies you that it is still active. 7.6.1 Message PI-6000 Symptoms: Just an informational message to let you know that SwapIRQ was detected and temporarily disabled by PortInfo. The PortInfo reports will not be affected by the presence of SwapIRQ. Solution: You should disable SwapIRQ when the application has finished with it by using the "/D" command line switch. 7.7 Windows Communication Setup The registered versions of PortInfo and BIOS_FIX include a test of the Windows communication setup parameters. Normally, PortInfo is used to test the system and correct any identified problems. BIOS_FIX can then be installed in the AUTOEXEC.BAT file to "monitor" the system. BIOS_FIX detects the port addresses and IRQs used by the ports and then compares them to the way Windows will use the ports. If the hardware or software configuration changes, then BIOS_FIX will detect the change and alert you the next time the computer is re-booted. 7.7.1 Message PI-7000 Symptoms: Just an informational message to let you know that PortInfo did not check the SYSTEM.INI file when only a single serial port was tested. Solution: Run "PortInfo /0" to test all ports. 7.7.2 Message PI-7050 Symptoms: Another informational message to alert you that PortInfo did not check the SYSTEM.INI file because one or more serial ports are not generating interrupts. Solution: Resolve the hardware problem with the serial port interrupt as described in other PortInfo messages. 45 7.7.3 Message PI-7100 Symptoms: Yet another informational message to let you know that PortInfo did not check the SYSTEM.INI file. This message will appear when PortInfo cannot locate the SYSTEM.INI file. Solution: PortInfo looks (by default) in the directory "C:\Windows" for the SYSTEM.INI file. If it is not located in that directory, then you must specify the drive and directory with the "/Win " command as described elsewhere in the User Guide and on the PortInfo help screen. 7.7.4 Message PI-7200 Symptoms: PortInfo has detected that changes are needed in the SYSTEM.INI file. Solution: Make the listed changes to the SYSTEM.INI file using a standard editor. 7.7.5 Message PI-7300 Symptoms: The port assignments made by the BIOS are inaccurate. Solution: Use the SPU utility BIOS_FIX in the AUTOEXEC.BAT file. 7.7.6 Message PI-7500 Symptoms: An RPI Modem does not connect at high speed. Solution: RPI modems require a special software driver for high-speed communications. Be sure to follow the manufacturer directions to load the driver. For current information, log on to our World Wide Web page at http://www.comminfo.com and read the RPI Modem discussion. 7.8 Serial Card Variations Some new serial cards support higher data rates without notifying the software. This can cause problems for DOS applications that set the port to a specific data rate for a reason. 7.8.1 Message PI-8000 46 Symptoms: DOS applications fail to communicate with a modem and PortInfo reports a speed multiplier of x2, x4 or x8. Solution: The card is multiplying the data rate by the speed shown. If your DOS applications are not working correctly, reduce the port speed used by the application by the factor shown. For example, if the port was set to 38,400 bps and the port multiplier is x2, try using 38,400 / 2 = 19,200 bps. 47 8.0 Customer Support Policy Customer support is provided via telephone, FAX, and electronic mail. We provide from 30 to 90 minutes of support (depending on the license you obtained) for any registered user within the following guidelines: 1. We are in the office and happy to assist with problems during our normal business hours of 8-12am and 2-6pm (US east coast time). We always answer the phone whenever we are in (other hours). If you are unable to catch us "live", please leave a detailed message, and we will reply via phone, FAX, electronic mail (E-mail), or regular mail. 2. Messages sent to us on CompuServe E-mail or via the Internet will usually receive a reply within 24 hours. 3. We will be happy to assist with SPU installation problems before you register. However, we cannot provide detailed technical assistance until we've actually received your registration. We can register you over the phone via credit card if you need immediate assistance. Please be prepared to answer the following questions before you call for assistance: * The version number of your CTS Serial Port Utilities. You can view this information in the program title by starting any of the utilities. * The brand name and model number of your computer. * What equipment you have in your computer. A good diagnostic program such as our IRQInfo program can be very helpful in determining what other equipment is installed. * The version of DOS you are using (type "VER" at the DOS prompt). * A complete description of the problem. * Can you duplicate the series of steps that results in the problem? * Did an error message appear? What did it say? You may contact CTS via voice phone at 770-263-8623 during normal business hours (Eastern Time Zone), or 24 hours / day via FAX at 770-263-0124, on the Internet at support@comminfo.com and on CompuServe at 76662,2315. 48 9.0 About Computer Telecommunication Systems Computer Telecommunication Systems, Inc. was formed in 1990 to provide new communication software products, custom programming services, and consulting on personal computer asynchronous communications. Please visit our World Wide Web page at http://www.comminfo.com for the latest information. We currently offer (as of August, 1996) the following products and services: 9.1 OEM and Custom Programming Services Do you need a special version of PortInfo as a customer support tool? How about a fully customized modem or serial port installation program? We've done it before, and we're happy to do it again! Serial Port and Modem Installation Software: a multipass installation program that "pre-tests" a user system, determines port and IRQ availability, suggests likely changes to the user setup, and then provides the user with a proper switch settings. After the user installation is complete, the installation is tested to verify that all is well. Tell us about your hardware configuration and user interface requirements! Custom "Pre-communication" testing: Have a sensitive communication application that your customers manage to break easily? A PortInfo "pre-test" can verify that the ports are set properly, interrupts are not being shared, and that the modem is powered up and ready to connect. Transparent to the user, but a great aid in reducing your customer support calls by catching the problems before they happen. Please call us to discuss your special communications software requirements. 9.2 IRQInfo and IRQInfo PRO IRQInfo is our new general-system test utility that identifies what interrupts (IRQs) are being used by what. Unlike most other applications of this type, IRQInfo actually tests the system to detect which IRQs are being used (many similar applications make "assumptions" about what IRQs are being used by the serial and printer ports, disk drives, etc.) IRQInfo actually tells you when it isn't certain about an IRQ - for example, it may not be possible to always detect which IRQ the printer uses - so we make sure that you know we detected the port, but not the IRQ - and then we tell you what IRQ that port would normally use. 49 IRQInfo successfully detects interrupts used by sound cards, SCSI controllers, hard and floppy disk drives, serial and parallel ports, all standard system equipment, scanners, network cards...just about everything. We think it is the best tool available for identifying used and "free" IRQs. IRQInfo PRO adds several new device tests to improve device detection, and includes a TSR module to detect devices that cannot be detected via other means. IRQInfo PRO is also a "smart application", in that it learns more about the system from one run to the next. 9.3 SwapIRQ A small utility that allows software to use IRQs that are not supported directly by the software. For example, a communication application that supports COM3 on IRQ 4 can now use COM3 on any IRQ. Or, a game that requires a sound card on IRQ 7 can now use a sound card that generates interrupts on IRQ 5. Contact CTS for more information. 9.4 PortFix A small DOS TSR utility that prevents serial port lockups with DOS software using a faulty serial port chip shipped with many PCI-bus machines and some add-in cards in late 1993 and early 1994. 9.5 AT Command Test AT Command Test (ATCT) is a software application that performs a comprehensive test of the AT command set of any modem claiming to be "Hayes Compatible". ATCT tests most of the standard modem commands, all result codes, and many other characteristics. ATCT provides three different reports of command set compatibility with nine different Hayes modem product lines. 9.6 AT Command Test for EIA-602 AT Command Test for EIA-602 (ATCT'602) is a software application that performs a comprehensive test of the AT command set of any modem claiming to be compliant with the ANSI/EIA/TIA-602 command set standard. ATCT'602 tests all of the standard modem commands and result codes, and many other characteristics. 50 ATCT and ATCT'602 are being used today by modem manufacturers as a design aid, as a qualification tool for purchasing modems by major corporations, and as a diagnostic tool for testing modems returned to corporate support services prior to obtaining warranty service. Please contact CTS for more information. 9.7 CTS IOInfo IOInfo does a careful scan of the computer I/O space to detect which port addresses are used and available. IOInfo runs from DOS and from a DOS box to detect port addresses in all environments. Results from all reports are merged into a single report. 9.8 New Products We are constantly developing new software products that you may be interested in, including several that have been suggested by our customers. Be sure to check with us at 1- 800-380-2666 if you have questions about any new products we may have (or that you would like to have!) 51 The appendices provide background and tutorial information about serial ports, IRQs, installing new modems and troubleshooting common serial port problems. They are provided in the printed User Guide.