The CTS Serial Port Utilities (TM) User Guide Computer Telecommunication Systems, Inc Copyright 1993-1994, Computer Telecommunication Systems, Inc. (c) Copyright 1993-1994 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 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), SwapIRQ(TM), and AT Command Test(TM) are trademarks of Computer Telecommunication Systems, Inc. MSD is an application distributed by Microsoft Corporation 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-404-263-8623 (Voice) CompuServe: 76662,2315 1-404-263-0124 (fax) Internet:76662.2315@compuserve.com ii Copyright 1993-1994, Computer Telecommunication Systems, Inc. TABLE OF CONTENTS Registration Options . . . . . . . . . . . . . . . . . . . . vii Personal . . . . . . . . . . . . . . . . . . . . . . . . vii Personal PLUS . . . . . . . . . . . . . . . . . . . . . vii Professional . . . . . . . . . . . . . . . . . . . . . viii Professional PLUS . . . . . . . . . . . . . . . . . . viii Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . xii 1.0 Introducing The CTS Serial Port Utilities . . . . . . . . 1 PORTINFO . . . . . . . . . . . . . . . . . . . . . . . . 2 BUFFER . . . . . . . . . . . . . . . . . . . . . . . . . 3 COM_BPS . . . . . . . . . . . . . . . . . . . . . . . . 3 COM_FMT . . . . . . . . . . . . . . . . . . . . . . . . 4 DOS_COM . . . . . . . . . . . . . . . . . . . . . . . . 4 DOS_SWAP . . . . . . . . . . . . . . . . . . . . . . . . 4 DTR . . . . . . . . . . . . . . . . . . . . . . . . . . 4 FIND_COM . . . . . . . . . . . . . . . . . . . . . . . . 4 HANGUP . . . . . . . . . . . . . . . . . . . . . . . . . 4 IRQ . . . . . . . . . . . . . . . . . . . . . . . . . . 5 RESETCOM . . . . . . . . . . . . . . . . . . . . . . . . 5 RESETMOD . . . . . . . . . . . . . . . . . . . . . . . . 5 RTS . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2.0 Short Instructions . . . . . . . . . . . . . . . . . . . 7 Installation . . . . . . . . . . . . . . . . . . . . . . 7 Quick-Start . . . . . . . . . . . . . . . . . . . . . . 7 3.0 The Command Line . . . . . . . . . . . . . . . . . . . . 9 Serial Port Number Switches . . . . . . . . . . . . . . 10 On / Off Switches . . . . . . . . . . . . . . . . . . . 11 Parameter Switches . . . . . . . . . . . . . . . . . . . 11 Option Switches . . . . . . . . . . . . . . . . . . . . 11 Default Values . . . . . . . . . . . . . . . . . . . . . 12 4.0 Defining Non-Standard Serial Ports . . . . . . . . . . . 13 5.0 Testing The System With PortInfo . . . . . . . . . . . . 15 Test All Serial Ports - /0 . . . . . . . . . . . . . . . 17 Test One Serial Port - /n, n<>0 . . . . . . . . . . . . 17 BIOS Update - /B . . . . . . . . . . . . . . . . . . . . 17 Quick Test - /Q . . . . . . . . . . . . . . . . . . . . 18 Log File - /L, /LA, /LP . . . . . . . . . . . . . . . . 18 Short (or Summary) Report - /S . . . . . . . . . . . . . 19 Advanced PortInfo Options . . . . . . . . . . . . . . . 19 /Batch . . . . . . . . . . . . . . . . . . . . . . 19 /Modem . . . . . . . . . . . . . . . . . . . . . . 19 /NoModem . . . . . . . . . . . . . . . . . . . . . 20 /NoMouse . . . . . . . . . . . . . . . . . . . . . 20 /NoScan . . . . . . . . . . . . . . . . . . . . . . 20 iii Copyright 1993-1994, Computer Telecommunication Systems, Inc. /Plug . . . . . . . . . . . . . . . . . . . . . . . 20 PORTINFO.CFG File . . . . . . . . . . . . . . . . . 20 Network Considerations . . . . . . . . . . . . . . . . . 20 The PortInfo Summary Screen . . . . . . . . . . . . . . 22 Port Configuration . . . . . . . . . . . . . . . . 23 Port Address . . . . . . . . . . . . . . . . . 23 Interrupt (IRQ) . . . . . . . . . . . . . . . 23 IRQ (Out2) Enabled . . . . . . . . . . . . . . 23 DOS uses port as . . . . . . . . . . . . . . . 24 Device Detected . . . . . . . . . . . . . . . 24 FAX Service Class . . . . . . . . . . . . . . 25 Type of Port . . . . . . . . . . . . . . . . . 25 Buffer - Trigger . . . . . . . . . . . . . . . 26 Port Settings . . . . . . . . . . . . . . . . . . . 27 Speed (BPS) . . . . . . . . . . . . . . . . . 27 Bits / Character . . . . . . . . . . . . . . . 27 Parity . . . . . . . . . . . . . . . . . . . . 27 Stop Bits . . . . . . . . . . . . . . . . . . 28 Hardware Signals . . . . . . . . . . . . . . . . . 28 Clear to Send . . . . . . . . . . . . . . . . 28 Data Set Ready . . . . . . . . . . . . . . . . 29 Ring Indicator . . . . . . . . . . . . . . . . 29 Data Carrier Detect . . . . . . . . . . . . . 30 Data Terminal Ready . . . . . . . . . . . . . 30 Request to Send . . . . . . . . . . . . . . . 31 6.0 The Other Utilities . . . . . . . . . . . . . . . . . . . 33 BUFFER . . . . . . . . . . . . . . . . . . . . . . . . . 33 COM_FMT . . . . . . . . . . . . . . . . . . . . . . . . 34 COM_BPS . . . . . . . . . . . . . . . . . . . . . . . . 34 DOS_COM . . . . . . . . . . . . . . . . . . . . . . . . 35 DOS_SWAP . . . . . . . . . . . . . . . . . . . . . . . . 35 DTR . . . . . . . . . . . . . . . . . . . . . . . . . . 35 Find_COM . . . . . . . . . . . . . . . . . . . . . . . . 36 HANGUP . . . . . . . . . . . . . . . . . . . . . . . . . 38 IRQ . . . . . . . . . . . . . . . . . . . . . . . . . . 39 RESETCOM . . . . . . . . . . . . . . . . . . . . . . . . 40 RESETMOD . . . . . . . . . . . . . . . . . . . . . . . . 40 RTS . . . . . . . . . . . . . . . . . . . . . . . . . . 40 7.0 PortInfo FAILURE and WARNING Messages . . . . . . . . . . 41 Port Failures . . . . . . . . . . . . . . . . . . . . . 41 Message PI-1000 . . . . . . . . . . . . . . . . . . 41 Interrupt Conflicts . . . . . . . . . . . . . . . . . . 41 Message PI-2010 . . . . . . . . . . . . . . . . . . 42 Message PI-2020 . . . . . . . . . . . . . . . . . . 42 Message PI-2100 . . . . . . . . . . . . . . . . . . 42 Message PI-2110 . . . . . . . . . . . . . . . . . . 43 You have multiple ports at the same address . 44 You have another device using the same interrupt . . . . . . . . . . . . . . . . 45 iv Copyright 1993-1994, Computer Telecommunication Systems, Inc. The system will not let you share this interrupt . . . . . . . . . . . . . . . . 45 Message PI-2200 . . . . . . . . . . . . . . . . . . 46 Message PI-2300 . . . . . . . . . . . . . . . . . . 46 Port Conflicts . . . . . . . . . . . . . . . . . . . . . 46 Message PI-3000 . . . . . . . . . . . . . . . . . . 47 Message PI-3100 . . . . . . . . . . . . . . . . . . 47 Mouse Conflicts . . . . . . . . . . . . . . . . . . . . 47 Message PI-4000 . . . . . . . . . . . . . . . . . . 48 DOS Port Assignments . . . . . . . . . . . . . . . . . . 48 Message PI-5000 . . . . . . . . . . . . . . . . . . 49 Message PI-5010 . . . . . . . . . . . . . . . . . . 49 Message PI-5020 . . . . . . . . . . . . . . . . . . 50 Message PI-5030 . . . . . . . . . . . . . . . . . . 50 Message PI-5040 . . . . . . . . . . . . . . . . . . 50 Other CTS Software Detected . . . . . . . . . . . . . . 50 Message PI-6000 . . . . . . . . . . . . . . . . . . 51 8.0 Customer Support Policy . . . . . . . . . . . . . . . . . 53 9.0 About Computer Telecommunication Systems . . . . . . . . 55 Custom Programming Services . . . . . . . . . . . . . . 55 Serial Port and Modem Installation Software . . . . 55 Custom "Pre-communication" testing . . . . . . . . 55 IRQInfo . . . . . . . . . . . . . . . . . . . . . . . . 55 SwapIRQ . . . . . . . . . . . . . . . . . . . . . . . . 56 PortFix . . . . . . . . . . . . . . . . . . . . . . . . 56 AT Command Test . . . . . . . . . . . . . . . . . . . . 56 AT Command Test for EIA-602 . . . . . . . . . . . . . . 56 New Products . . . . . . . . . . . . . . . . . . . . . . 57 Appendix A: BONUS utilities MouseOFF and MouseON . . . . . . 59 Appendix B: Introduction To Serial Ports . . . . . . . . . . 61 What is a serial port? . . . . . . . . . . . . . . . . . 61 Serial Port Addresses for PC/XT/AT and Compatible Computers . . . . . . . . . . . . . . . . . . . . . 62 Serial Port Addresses for MicroChannel Architecture Computers . . . . . . . . . . . . . . . . . . . . . 63 Interrupts (IRQs) . . . . . . . . . . . . . . . . . . . 64 Why are the DOS serial port assignments sometimes different from one application to another? . . . . 67 Appendix C: Types of Serial Ports . . . . . . . . . . . . . . 69 The 8250 and 8250B . . . . . . . . . . . . . . . . . . . 69 The 8250A . . . . . . . . . . . . . . . . . . . . . . . 70 The 16450 . . . . . . . . . . . . . . . . . . . . . . . 70 The 16550 . . . . . . . . . . . . . . . . . . . . . . . 70 The 16550A . . . . . . . . . . . . . . . . . . . . . . . 71 The 16552 . . . . . . . . . . . . . . . . . . . . . . . 71 The T/Port . . . . . . . . . . . . . . . . . . . . . . . 71 Emulated 16450 UARTs . . . . . . . . . . . . . . . . . . 71 v Copyright 1993-1994, Computer Telecommunication Systems, Inc. Hayes ESP-I and ESP-II . . . . . . . . . . . . . . . . . 72 Practical Peripherals HSSP . . . . . . . . . . . . . . . 72 Appendix D: Sharing Interrupts (IRQs) . . . . . . . . . . . . 73 Appendix E: Using IRQ 2 and IRQ 9 . . . . . . . . . . . . . . 77 Appendix F: Avoiding or Reducing Overrun Errors . . . . . . . 79 What is an Overrun Error? . . . . . . . . . . . . . . . 79 Why Overrun Errors Occur . . . . . . . . . . . . . . . . 79 Eliminating Overrun Errors . . . . . . . . . . . . . . . 81 Additional Questions about Overrun Errors . . . . . . . 82 Appendix G: The EIA-232 Interface . . . . . . . . . . . . . . 83 EIA-232 Signalling Standards . . . . . . . . . . . . . . 84 EIA-232 Signal Lines Used in Normal Modem Communications . . . . . . . . . . . . . . . . . . 84 Signal Ground (GND) . . . . . . . . . . . . . . . . 85 Transmitted Data (TXD) . . . . . . . . . . . . . . 85 Receive Data (RXD) . . . . . . . . . . . . . . . . 85 Request To Send (RTS) . . . . . . . . . . . . . . . 85 Clear to Send (CTS) . . . . . . . . . . . . . . . . 85 Data Set Ready (DSR) . . . . . . . . . . . . . . . 85 Data Terminal Ready (DTR) . . . . . . . . . . . . . 86 Ring Indicator (RI) . . . . . . . . . . . . . . . . 86 Carrier Detect (CD) . . . . . . . . . . . . . . . . 86 Table of Modem Signals . . . . . . . . . . . . . . . . . 87 CTS Tech Note 1: Serial Port and Modem Installation Guide . . 89 CTS Tech Note 2: Trouble-Shooting Serial Ports . . . . . . . 97 vi Copyright 1993-1994, Computer Telecommunication Systems, Inc. Registration Options ==================== Four different registration options are available: ** 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: * 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 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. * Two NEW bonus utilities: ResetModem and HangUp. These two utilities are designed to address two of the most common problems with modems today. ResetModem will perform a modem reset that is as complete as is possible without turning your modem power off - a big plus if you have an internal modem. HangUp does just what it says -it will force a modem to disconnect from the line. * 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 vii Copyright 1993-1994, Computer Telecommunication Systems, Inc. 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 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. ** 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! viii Copyright 1993-1994, Computer Telecommunication Systems, Inc. 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(tm) ----------- This is our brand new DOS Interrupt Mapping utility. Having a strange conflict? Need to find a free IRQ? Then this is the utility for you. 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 is currently DOS only. Available: November, 1994 Pricing: Normal price is $39 (including shipping), but it is available for only $24 when ordered with any SPU license. 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. The CTS Modem Utilities(tm) --------------------------- A new collection of modem diagnostic and testing utilities will be released in early 1995. Please contact CTS for details and pricing. ix Copyright 1993-1994, Computer Telecommunication Systems, Inc. How to Pay for your order ========================= We now 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. 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. You may also order on CompuServe through the SWREG area - but be aware that your handling charges are much higher when using SWREG. x The CTS Serial Port Utilities Order Form Name: ____________________________ Telephone: _____________________ Company: ________________________________ E-mail ID: ____________________ Address: __________________________________________________________________ __________________________________________________________________ ___ Check here for a 5.25" diskette (a 3.5" is normally provided) QTY Description Price Subtotal === =========== ===== ======== ___ CTSSPU Personal License $20 ________ ___ CTSSPU Personal PLUS License 35 ________ ___ CTSSPU Professional License 59 ________ ___ CTSSPU Professional PLUS License 79 ________ Other Products (special prices valid only with CTSSPU order): ___ IRQInfo - reg $39.00 - save $15.00 $24 ________ ___ SwapIRQ - reg $32.95 - save $12.95 20 ________ ___ PortFix - reg $14.95 - save $4.95 10 ________ ___ The CTS Modem Utilities (available in 1995 - call or write for details) ======== Sub-Total $________ Sales Tax: Georgia residents add 5% $________ Shipping/Handling: USA/Canada/Mexico $ 4.00 International ("Personal License" ONLY) 4.00 International (all others, Surface) 6.00 International (all others, AIR) 10.00 $________ TOTAL (US dollars, please) $________ PAYMENT METHOD: Check __ Money Order __ EuroCheq __ Discover __ Visa __ American Express __ MasterCard __ Purchase Order ($50 min) __ ======================================================================== CREDIT CARD INFORMATION Name as it appears on the card: _________________________________ Card No. ________ ________ ________ ________ Expires ___/___ Cardholder signature: ___________________________________________ Please send, FAX, Email or call: +-------------------------------------------------------------------+ | Computer Telecommunication Systems, Inc. | | 3847 Foxwood Road, Suite 1000 | | Duluth, Georgia 30136-6100 USA | +------------------------------+------------------------------------+ | Telephone | Electronic Mail | | --------- | --------------- | | Voice orders: 1-800-380-2666 | CompuServe: 76662,2315 | | HelpLine: 1-404-263-8623 | Internet:76662.2315@compuserve.com | | FAX: 1-404-263-0124 | | +------------------------------+------------------------------------+ NOTE: Fed. TaxID: 58-1880693. Prices are subject to change without notice. Copyright 1993-1994, Computer Telecommunication Systems, Inc. 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. Acknowledgments I wish to express my very special thanks to David Bittner, 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. Also, my thanks to Ray Gwinn, for providing technical assistance with his SIO serial port drivers for OS/2. By all accounts, these drivers are superior to the standard drivers provided with OS/2. Be sure to look for them (they are available as shareware. The file name is SIOxxx.ZIP, where xxx is the version number...currently SIO132). If you use SIO, please be sure to register with Ray. 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! xii Copyright 1993-1994, Computer Telecommunication Systems, Inc. 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. Why "Oh, NO! NOT ANOTHER?" serial port utility? Well, several good reasons come to mind. The first is that there were a lot of things still not done by other utilities. Can you name one which detects multiple serial ports installed at the same address (other than the SPU?) Or one that tells you when the monitor will cause problems if COM4 is used? Want to know what the current receiver trigger level is in the 16550A serial port? Better use the SPU program PortInfo to find out! Nothing else out there today will tell you! The SPU even 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". Also new in this version is the ability to identify which ports have active modems, and sometimes we can even identify the modem as internal or external. FAX modems are also identified, with the fax class(es) supported listed. More reasons? We spent a lot of time reviewing the utilities that were out before SPU, and didn't find one that was both good and full-featured. There were a few that were very good for limited applications, but didn't properly test IRQ assignments, or were limited in the serial ports they supported, or....well, you get the idea. It just seemed like it was time for a common set of utilities that tied everything together. 1 Copyright 1993-1994, Computer Telecommunication Systems, Inc. So the CTS Serial Port Utilities came into being. The utilities all share a common command line interface, and they all use a common set of environment variables you can set to define non- standard serial ports. The SPU contains the following programs: 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 interrupts (2 serial ports, or a serial port and a serial mouse sharing an IRQ) * The local loopback test accurately identifies failed serial ports that have failed * 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. 2 Copyright 1993-1994, Computer Telecommunication Systems, Inc. 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, 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). 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 BUFFER Buffer allows you to control 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.3 COM_BPS COM_BPS allows you to set 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. 3 Copyright 1993-1994, Computer Telecommunication Systems, Inc. 1.4 COM_FMT COM_FMT allows you to set 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.5 DOS_COM You use DOS_COM to insert a serial port in the list of ports used by DOS. 1.6 DOS_SWAP You use DOS_SWAP to exchange two serial ports in the port list used by DOS. 1.7 DTR DTR gives you command line control of the Data Terminal Ready (DTR) line of any serial port. 1.8 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 both Professional License options. 1.9 HANGUP HANGUP provides a simple utility to assist in forcing the modem to hangup a connection by using a automatically using different hangup techniques until the modem responds. NOTE: HANGUP is provided with the Personal PLUS and both Professional License options. 4 Copyright 1993-1994, Computer Telecommunication Systems, Inc. 1.10 IRQ IRQ allows you to enable and disable the interrupts from any serial port. 1.11 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.12 RESETMOD NOTE: RESETMOD is provided with the Personal PLUS and both Professional License options. 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.13 RTS RTS gives you command line control of the Request to Send (RTS) line of any serial port. 5 Copyright 1993-1994, Computer Telecommunication Systems, Inc. 6 Copyright 1993-1994, Computer Telecommunication Systems, Inc. 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 following documentation for information on how to test serial ports located at any address. We've occasionally observed situations with some 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. Registered users with Personal PLUS license or higher can try using the bonus modem reset utility "ResetMod" - it will perform as complete a reset as can be done to the modem short of turning the power off. 7 Copyright 1993-1994, Computer Telecommunication Systems, Inc. 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. 8 Copyright 1993-1994, Computer Telecommunication Systems, Inc. 3.0 The Command Line The Serial Port Utilities are controlled by "command line switches" that you enter on the command line. Command line switches are program options that you place on the command line. Each option is preceded by a slash character "/". These "switches" control the SPU software the way a hardware switch controls the options on a board. 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. 9 Copyright 1993-1994, Computer Telecommunication Systems, Inc. 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. 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 of 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 (a non-existent port) 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 10 Copyright 1993-1994, Computer Telecommunication Systems, Inc. 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. 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. 11 Copyright 1993-1994, Computer Telecommunication Systems, Inc. 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. 12 Copyright 1993-1994, Computer Telecommunication Systems, Inc. 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 13 Copyright 1993-1994, Computer Telecommunication Systems, Inc. 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 are not used by any other applications except SwapIRQ, another CTS product which allows DOS software to use any IRQ. 14 Copyright 1993-1994, Computer Telecommunication Systems, Inc. 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. 15 Copyright 1993-1994, Computer Telecommunication Systems, Inc. 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. 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, if you have the Personal PLUS or any Professional version, 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. 16 Copyright 1993-1994, Computer Telecommunication Systems, Inc. 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 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. 17 Copyright 1993-1994, Computer Telecommunication Systems, Inc. 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 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 18 Copyright 1993-1994, Computer Telecommunication Systems, Inc. 5.6 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.7 Advanced PortInfo Options There are a number of PortInfo options that have been added specifically for users who deal with a large number of computers. The options discussed in this section are available only in the Professional License options, with the exception of "/PLUG", which is available with all Registered Licenses. /Batch 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. /Modem 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. 19 Copyright 1993-1994, Computer Telecommunication Systems, Inc. /NoModem The "/NoModem" causes PortInfo to skip the modem test completely. /NoMouse The "/NoMouse" command causes PortInfo to skip the mouse test. In systems where no mouse is installed, this may save a few seconds of runtime. /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. /Plug 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. 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.8 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. 20 Copyright 1993-1994, Computer Telecommunication Systems, Inc. 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. 21 Copyright 1993-1994, Computer Telecommunication Systems, Inc. 5.9 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 DOS uses port as Com1 Com2 Com3 N/A Device Detected ExtFAXModem Mouse FAXModem Display FAX Service Class 0,1,2.0 0,1 Type of Port T/Port 16450 16550A Buffer - Trigger None None On-8 Speed 19200 1200 2400 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 22 Copyright 1993-1994, Computer Telecommunication Systems, Inc. 5.9.1 Port Configuration 5.9.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.9.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 NOTE 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. 5.9.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 23 Copyright 1993-1994, Computer Telecommunication Systems, Inc. with direct control of the IRQ (Out2) line. These utilities are described below. 5.9.1.4 DOS uses port as This line will show how DOS expects 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. You can change the port assignments detected by the BIOS with the DOS_COM and DOS_SWAP utilities provided with PortInfo, or with the PortInfo "/B" command. 5.9.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. 24 Copyright 1993-1994, Computer Telecommunication Systems, Inc. 5.9.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. 5.9.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 - these ports are functionally equivalent to a 16550A in non-enhanced mode. 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). 25 Copyright 1993-1994, Computer Telecommunication Systems, Inc. 5.9.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. 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. 26 Copyright 1993-1994, Computer Telecommunication Systems, Inc. 5.9.2 Port Settings The following port settings are normally controlled by the communication software. 5.9.2.1 Speed (BPS) This line shows the current port data rate in bits per second (BPS). You 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. 5.9.2.2 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.9.2.3 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. 27 Copyright 1993-1994, Computer Telecommunication Systems, Inc. 5.9.2.4 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. 5.9.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.9.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 28 Copyright 1993-1994, Computer Telecommunication Systems, Inc. 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. 5.9.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.9.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. 29 Copyright 1993-1994, Computer Telecommunication Systems, Inc. 5.9.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. 5.9.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. 30 Copyright 1993-1994, Computer Telecommunication Systems, Inc. 5.9.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. 31 Copyright 1993-1994, Computer Telecommunication Systems, Inc. 32 Copyright 1993-1994, Computer Telecommunication Systems, Inc. 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 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. 33 Copyright 1993-1994, Computer Telecommunication Systems, Inc. 6.2 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 and will change whatever you set with this utility. 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 and will change whatever you set with this utility. 34 Copyright 1993-1994, Computer Telecommunication Systems, Inc. 6.4 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. 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" or "DOS_COM /?" to display the command line options and examples. 6.5 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.6 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. 35 Copyright 1993-1994, Computer Telecommunication Systems, Inc. 6.7 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. 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 36 Copyright 1993-1994, Computer Telecommunication Systems, Inc. /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 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. 37 Copyright 1993-1994, Computer Telecommunication Systems, Inc. 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. 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.8 HANGUP NOTE: HANGUP is a bonus utility provided with the Personal PLUS and both Professional Licenses. 38 Copyright 1993-1994, Computer Telecommunication Systems, Inc. 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.9 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. 39 Copyright 1993-1994, Computer Telecommunication Systems, Inc. 6.10 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.11 RESETMOD NOTE: RESETMOD is a bonus utility provided with the Personal PLUS and both Professional Licenses. 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.12 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. 40 Copyright 1993-1994, Computer Telecommunication Systems, Inc. 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 at the same address, then the problem is an address conflict - 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. 41 Copyright 1993-1994, Computer Telecommunication Systems, Inc. 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 general system diagnostic utility like Microsoft's MSD to determine which other device is using the IRQ. Then you can decide which one of the two 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. 42 Copyright 1993-1994, Computer Telecommunication Systems, Inc. 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. 43 Copyright 1993-1994, Computer Telecommunication Systems, Inc. 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. 44 Copyright 1993-1994, Computer Telecommunication Systems, Inc. 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. CTS offers several options, so be sure to give us a call. 45 Copyright 1993-1994, Computer Telecommunication Systems, Inc. 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. 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.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. 46 Copyright 1993-1994, Computer Telecommunication Systems, Inc. 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.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. 47 Copyright 1993-1994, Computer Telecommunication Systems, Inc. 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. 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. The best general rule is to always install ports in sequential order...that is, do not skip a port number. Make the first port Com1, the second Com2, and so on. PortInfo attempts to make sense of what is in the data area so you can adjust, or at least understand what is going on. To get rid of all of these messages, run "PortInfo /B" to update the BIOS data area with the actual ports detected by PortInfo. 48 Copyright 1993-1994, Computer Telecommunication Systems, Inc. 7.5.1 Message PI-5000 Symptom: You've assigned the port speed with the DOS "MODE" command, but it is changed by a DOS MODE command to another port. Solution: You've apparently run a utility to swap or install additional serial ports into the BIOS data area. It is usually best to restore the ports to their normal locations after you use the application which required the exchange. See the discussion on the DOS_SWAP or DOS_COM utilities provided with the SPU will do this. 7.5.2 Message PI-5010 Symptom: PortInfo does not detect a serial port that the system detected. This can be caused by the improper use of the DOS_COM (or similar) utility, or you may have a non-standard serial port the PortInfo cannot detect (at the time this manual was written, PortInfo successfully detects all known ports). Solution: Make sure that you do not have a utility that is "installing" a non-existent port into the BIOS data area. 49 Copyright 1993-1994, Computer Telecommunication Systems, Inc. 7.5.3 Message PI-5020 Symptom: You have a device that is accessed through a serial port in one application, but has to be accessed through a different serial port (or cannot be accessed) in another application. Solution: The problem is that the serial port indicated is not in the correct location in the BIOS data table. Causes for this include improper use of port reassignment or installation utilities like DOS_SWAP and DOS_COM, or you do not have the serial ports installed in sequential order. You can fix the problem by making sure that the ports are installed in sequential orders, starting with Com1, and then avoiding the use of the port installation/reassignment software. 7.5.4 Message PI-5030 Symptom: You've just installed a new serial port, and one or more applications cannot detect it. Solution: If the application uses the BIOS data area, then you will need to install the serial port using the DOS_COM or similar utility. Many BIOS implementations do not detect Com3 and Com4 serial ports, so this is a common problem. 7.5.5 Message PI-5040 Symptom: You have a serial port installed that is not detected one or more of the applications. Solution: See the solution for PI-5030. 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. 50 Copyright 1993-1994, Computer Telecommunication Systems, Inc. 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. 51 Copyright 1993-1994, Computer Telecommunication Systems, Inc. 52 Copyright 1993-1994, Computer Telecommunication Systems, Inc. 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 general purpose diagnostic program such as Microsoft's MSD can be 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? 53 Copyright 1993-1994, Computer Telecommunication Systems, Inc. You may contact CTS via voice phone at 404-263-8623 during normal business hours (Eastern Time Zone), or 24 hours / day via FAX at 404-263-0124 and on CompuServe at 76662,2315 (Internet address: 76662.2315@compuserve.com). 54 Copyright 1993-1994, Computer Telecommunication Systems, Inc. 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. We currently offer (as of November, 1994) the following products and services: 9.1 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 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, 55 Copyright 1993-1994, Computer Telecommunication Systems, Inc. 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. 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. 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 56 Copyright 1993-1994, Computer Telecommunication Systems, Inc. the standard modem commands and result codes, and many other characteristics. 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 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!) In 1995, we will be introducing a collection of modem utilities. The "Modem Utilities" will include a comprehensive modem test package plus supporting utilities to address some of the "stickier" problems that occur. Now is the time to let us know what you'd like to see in this package! 57 Copyright 1993-1994, Computer Telecommunication Systems, Inc. 58 Copyright 1993-1994, Computer Telecommunication Systems, Inc. The appendices provide background and tutorial information for the CTS Serial Port Utilities. They have been removed from the shareware version to reduce file size, but are provided in the printed User Guide. 59 Copyright 1993-1994, Computer Telecommunication Systems, Inc. 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.