PRINT SELECTION FOR APAR - II06069 92/07/14 APAR= II06069 SER= DD DOC INFO APAR WITH TIPS FOR USING COM PORTS ON AT BUS SYSTEMS ( OS2INFOAPAR OS2OTHER OS/2 2.0 R200 562107701 ) STAT= INTRAN FESN5NFO000-000 CTID= II0000 ISEV= 4 SB92/06/05 RC CL PD SEV= 4 PE= TYPE= I RCOMP= INFOPCLIB PC LIB INFO ITE RREL= R001 FCOMP= PFREL= F TREL= T ACTION= SEC/INT= DUP/ USPTF= PDPTF= DUPS 0 DW92/06/05 RT SC FT RE PT UP LP PV AP EN FL LC92/06/22 RU92/06/05 CUST INST LVL/SU= FAILING MODULE= FAILING LVL/SU= SYSROUTE OF: RET APAR= PS= COMP OPER ENV= SYSRES= SYSIN= SYSOUT= CPU= RE-IPL= OPTYPE= SPECIAL ACTIVITY= REGRESSION= PRE-SCREEN NO.= RSCP= RS000 ERROR DESCRIPTION: . **************************************************************** THESE ARE INFORMATION TIPS FOR COM PORT USAGE ON AT BUS SYSTEMS **************************************************************** . Keywords: com comm communication communications async com1 com2 com3 com4 com1: com2: com3: com4: problem problems hang hangs port ports infoapar info apar os2 com comm LOCAL FIX: CONTENTS: Installation of COM Ports. Trouble Shooting Interrupts on AT bus machines Installation of COM PORTS ========================= The original ISA machine (the IBM PC-AT) allowed for the definition of up to four serial communications ports. However, there has never been any hardware architectural standard that defined the I/O port addresses or Interrupt Request (IRQ) lines associated with communication ports #3 or #4. Over the years a convention was established which places the port addresses for COM3 and COM4 at 03E8 and 02E8 respectively. This is a generally accepted convention and is not a standard. This is done by the filling in the optional parameters on the DEVICE statement for the communications device driver (COM.SYS). Using an editor, extend the DEVICE = statement as indicated below: DEVICE=X: OS2 COM.SYS (n,a,i) (n,a,i) where X = the drive where OS/2 is installed n = the Com port that you are attempting to access a = communications port I/O address (03E8, 02E8 for example) i = IRQ level For example, to specify that COM3 is at address 03E8 on IRQ5 and that COM4 is at address 02E8 on IRQ10 we would use the following statement (assuming that OS/2 is installed on the C: drive): DEVICE=C: OS2 COM.SYS (3,3E8,5) (4,2E8,10) Note that this syntax is actually quite general. If we wanted to set some non-standard parameters for COM1 and COM2 we could have done this as well and all within the same statement. The I/O address and IRQ level should be noted in the documentation that came with your adapter. Either or both might be fixed values or be settable to a range of values via jumpers or switches. In some cases you may find that the values are fixed or that the range of settings available to you is insufficient to avoid the sharing conflict. TROUBLE SHOOTING: ================ SYMPTOM: The COM port is not recognized or does not work at all ---------------------------------------------------------------- A. IF it is an AT, ISA, or EISA machine If trying to use COM 3 or COM 4: A.1. Parameters in DEVICE=C: OS2 COM.SYS in CONFIG.SYS are required A.2. IRQ for COM port in OS/2 must be different for each COM port. DOS does not handle multiple interrupts at the same time but OS/2 does. A.3. IRQ 5 is recommended for COM3. If IRQ 5 is taken, IRQ 9 or 10 is recommended. A.4. Reboot the system A.5. If error message during boot : COM3 not installed because of Interrupt is aleady in use. => Check if there is any IRQ conflict with other device driver or hardware. B. If system (AT bus or MCA) boots without error but any of the com port still not working at all Issue a Mode command to the problem com port => If it indicates com port not installed check IRQ conflicts (see A.5) => Check Mode command parameters to be correct (See MODE_CMD). SYMPTOM: Application appears to hang ------------------------------------- C. When the application is started: C.1. IF an OS/2 application => Ensure your COM port works in standalone DOS. => Using MODE command, turn off IDSR, ODSR, and OCTS (See MODE_CMD) => (See SUGGESTIONS) C.2. Using a DOS application => (Start from Letter A.1 Above and work down) => If still have problem, remove VCOM.SYS. D. After it has been running for some time: D.1 Using an OS/2 application and experiencing a lot of data loss => Lower the baud rate => (See SUGGESTIONS) D.2 Using a DOS application: D.2.1 A BBS communication package. => Set COM_HOLD DOS Setting to ON => If using a FOSSIL Driver, then If X00.SYS Rem VCOM.SYS in config.sys, else If another FOSSIL Driver. Rem VCOM.SYS won't work => If using less than 12MB of memory => See (SUGGESTIONS) D.2.2 A FAX application which uses a COM port. => Known limitation need to operate at < 9600 bps => Use OS/2 application for high speed fax. (Currently FAXPM and BitFax) D.2.3 An application which uses QBASIC or BASIC CTTY => Install COMDD.SYS in C: OS2 MDOS directory D.2.4 Some other ASYNC application. => Check with Chapter 5 of Readme. Example: -CrossTalk for Windows needs that BUFFER=OFF. -Mirror III is similar to CrossTalk. BUFFER can be controlled with MODE command. -LapLink PRO, IDSR, ODSR, and OCTS of all COM ports must be OFF. (See MODE_CMD) -LapLink III, remark out VCOM.SYS. D.2.5 In Auto Answer mode and a call comes in: => Known problem APAR PJ04200. => Remark out VCOM.SYS in Config.sys SYMPTOM: OS/2 does not detect FIFO ----------------------------------- E.1 COM.SYS detects FIFO and utilizes it, however VCOM.SYS only emulate as 16450 or 8250 chip and hides FIFO from DOS app. No performance problem is caused by this. E.2 If BUFFER = N/A (not available) is concerned, MODE is broken. SYMPTOM: The line is dropped randomly or fils to download file --------------------------------------------------------------- F.1 While switching sessions =>change PRIORITY_DISK_IO in config.sys from YES to NO, reboot. Go to F.2 below if problem continues F.2 Without switching sessions. => Increase idle sensitivity to 100 => If problem happenning during noticeable disk activity add additional memory to reduce swapping. => Try increasing DISKCACHE in config.sys (e.g. from 1024 to 2048) SYMPTOM: Slow through-put, poor performance -------------------------------------------- G.1 Using an OS/2 application => (See SUGGESTIONS) => Using MODE command, turn off IDSR, ODSR, and OCTS. (See MODE_CMD) G.2 Using a DOS application => Increase IDLE_SENSITIVITY to 100 => (See SUGGESTIONS) Note: Since interrupt must be simuated in VDM session, the throughput decreases. MODE_CMD: Use MODE from an OS/2 Command line or DOS command line and set IDSR, ODSR, and OCTS equal to OFF. eg: MODE COM3:9600,N,8,1,OCTS=OFF,ODSR=OFF,IDSR=OFF sets COM3 to 9600, no parity, 8 Data Bits, 1 Stop bit, OCTS, ODSR and IDSR to OFF. If OCTS and/or ODSR are set to ON, the com port will not transmit data unless CTS and/or DSR signal lines are enabled. If set to OFF, the com port will transmit regardless of the state of signal lines CTS and/or DSR. If IDSR is set to ON, the com port will discard the incoming data unless DSR signal line is enabled. If set to OFF, the port will receive data regarless of the state of DSR. If any problems transmitting or receiving, set OCTS=OFF, ODSR=OFF, IDSR=OFF to ensure that the hardware connected to the com port is not preventing the port from transmitting or receiving. SUGGESTIONS: => Increase IDLE_SENSITIVITY in DOS Settings => Adjust the disk cache in CONFIG.SYS => Change PRIORITY_DISK_IO from YES to NO in Config.sys => To reduce swapping add more memory