OS/2 2.0 Asynchronous Communication Fact Sheet: Difference between revisions

From OS2World.Com Wiki
Jump to navigation Jump to search
No edit summary
 
(3 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{Article
|Author=[[IBM]]
|Date=1992-09
|OS=
|File=N/A
|Source=
}}
''First Edition (September, 1992)''
''First Edition (September, 1992)''


Line 12: Line 19:


==NOTICES==
==NOTICES==
References in this publication to IBM products, programs, or services do not imply that IBM intends to make these available in all countries in which IBM operates. Any reference to an IBM product, program or service is not intended to state or imply that only IBM's product, program, or service may be used. Any functionally equivalent product, program, or service that does not infringe any of IBM's intellectual property rights or other legally protectible rights may be used instead of the IBM product, program, or service. Evaluation and verification of operation in conjunction with other products, programs, or services, except those expressly designated by IBM, are the user's responsibility.  
References in this publication to IBM products, programs, or services do not imply that IBM intends to make these available in all countries in which IBM operates. Any reference to an IBM product, program or service is not intended to state or imply that only IBM's product, program, or service may be used. Any functionally equivalent product, program, or service that does not infringe any of IBM's intellectual property rights or other legally protectible rights may be used instead of the IBM product, program, or service. Evaluation and verification of operation in conjunction with other products, programs, or services, except those expressly designated by IBM, are the user's responsibility.


IBM may have patents or pending patent applications covering subject matter in this document. The furnishing of this document does not give you any license to these patents. You can send license inquiries, in writing, to the IBM Director of Commercial Relations, IBM Corporation, Purchase, NY 10577.
IBM may have patents or pending patent applications covering subject matter in this document. The furnishing of this document does not give you any license to these patents. You can send license inquiries, in writing, to the IBM Director of Commercial Relations, IBM Corporation, Purchase, NY 10577.


==TRADEMARKS AND SERVICE MARKS==
==TRADEMARKS AND SERVICE MARKS==
Terms denoted by a single asterisk (*) in this publication are trademarks of the IBM Corporation in the United States and/or other countries. These terms include:
Terms denoted by a single asterisk (*) in this publication are trademarks of the IBM Corporation in the United States and/or other countries. These terms include:  
:IBM
:IBM
:Micro Channel  
:Micro Channel
:Operating System/2
:Operating System/2
:OS/2
:OS/2
Line 45: Line 51:
===RECOMMENDATIONS FOR ISA BUS ARCHITECTURE===
===RECOMMENDATIONS FOR ISA BUS ARCHITECTURE===
On an ISA machine there are a total of 15 IRQ levels available. The standard settings, in order of priority, follow:
On an ISA machine there are a total of 15 IRQ levels available. The standard settings, in order of priority, follow:
IRQ# Device Associated
{|
 
!IRQ#||Device Associated
0       System Timer
|-
1       Keyboard
|0||System Timer
2       Secondary Interrupt Controller (see note)
|-
    8   Realtime Clock
|1||Keyboard
    9   --- (see note)
|-
  10   --- free
|2||Secondary Interrupt Controller (see note)
  11   --- free
|-
  12   --- free - reserved for aux dev
|8||Realtime Clock
  13   Math Coprocessor
|-
  14   Hard Disk
|9|| --- (see note)
  15   --- free
|-
3       COM2 (Serial Communications Port #2)
|10|| --- free
4       COM1 (Serial Communications Port #1)
|-
5       LPT2 (Parallel Printer Port #2 - add. 278)
|11|| --- free
6       Diskette
|-
7       LPT1 (Parallel Printer Port #1 - add. 3BC or 378)
|12|| --- free - reserved for aux dev
|-
|13||Math Coprocessor
|-
|14||Hard Disk
|-
|15|| --- free
|-
|3||COM2 (Serial Communications Port #2)
|-
|4||COM1 (Serial Communications Port #1)
|-
|5||LPT2 (Parallel Printer Port #2 - add. 278)
|-
|6||Diskette
|-
|7||LPT1 (Parallel Printer Port #1 - add. 3BC or 378)
|}
(;Note: On the IBM-AT (ISA bus) the IRQ9 pin is identical with the IRQ2 pin on the original IBM-PC. If you have an older, 8-bit adapter whose documentation states that it uses IRQ2, then be aware that this will actually be seen as IRQ9 when plugged into the 16-bit ISA bus.)
(;Note: On the IBM-AT (ISA bus) the IRQ9 pin is identical with the IRQ2 pin on the original IBM-PC. If you have an older, 8-bit adapter whose documentation states that it uses IRQ2, then be aware that this will actually be seen as IRQ9 when plugged into the 16-bit ISA bus.)


OS/2 can detect that an interrupt line is shared and will disallow the simultaneous use. Assume that COM1 and COM3 were sharing IRQ4 (a fairly common real situation). If we tried to use both COM ports at the same time, OS/2 would refuse to allow the second one to start. A well-written OS/2 communications program would see and report the error from OS/2 that the port could not be opened. A DOS application, however, will likely be unprepared to respond to this strange situation, and it may simply hang, waiting for the port that will never open.
OS/2 can detect that an interrupt line is shared and will disallow the simultaneous use. Assume that COM1 and COM3 were sharing IRQ4 (a fairly common real situation). If we tried to use both COM ports at the same time, OS/2 would refuse to allow the second one to start. A well-written OS/2 communications program would see and report the error from OS/2 that the port could not be opened. A DOS application, however, will likely be unprepared to respond to this strange situation, and it may simply hang, waiting for the port that will never open.


To avoid these problems, make sure that all of your hardware adapters have their own unique I/O addresses and IRQ assignments. Unfortunately, on an ISA machine, OS/2 has no way to query the computer to find out what these settings are. Therefore, after checking and setting the adapters according to the instruction manuals, you must also tell OS/2 what you've done by placing explicit information into the CONFIG.SYS file.
To avoid these problems, make sure that all of your hardware adapters have their own unique I/O addresses and IRQ assignments. Unfortunately, on an ISA machine, OS/2 has no way to query the computer to find out what these settings are. Therefore, after checking and setting the adapters according to the instruction manuals, you must also tell OS/2 what you've done by placing explicit information into the CONFIG.SYS file.
Line 84: Line 107:


Printer port addresses and IRQ levels are hard coded in OS/2 as follows:
Printer port addresses and IRQ levels are hard coded in OS/2 as follows:
  3BC or 378     ==> IRQ7 (LPT1)
  3BC or 378   ==> IRQ7 (LPT1)
  278             ==> IRQ5 (LPT2)
  278           ==> IRQ5 (LPT2)
Unlike the COM ports, where the addresses and the interrupts can be specified by parameters to the COM.SYS in the CONFIG.SYS file, the printer port addresses and IRQs shown above are fixed. OS2 assigns LPT1 to the highest printer port address being used. The printer address is specified in the printer adapter board. With OS/2 you can not use both addresses 3BC and 378 as printer port addresses. Both LPTs would be sharing IRQ7. Unlike DOS, OS/2 uses interrupts for printing. The interrupt is triggered by the signal line, ACK, from the printer. If the IRQs are not configured correctly or if the printer cable is missing the ACK line, the printer may work under DOS and have problems under OS/2.
Unlike the COM ports, where the addresses and the interrupts can be specified by parameters to the COM.SYS in the CONFIG.SYS file, the printer port addresses and IRQs shown above are fixed. OS2 assigns LPT1 to the highest printer port address being used. The printer address is specified in the printer adapter board. With OS/2 you can not use both addresses 3BC and 378 as printer port addresses. Both LPTs would be sharing IRQ7. Unlike DOS, OS/2 uses interrupts for printing. The interrupt is triggered by the signal line, ACK, from the printer. If the IRQs are not configured correctly or if the printer cable is missing the ACK line, the printer may work under DOS and have problems under OS/2.


Line 98: Line 121:
==OS/2 2.0 COMMUNICATION DRIVERS==
==OS/2 2.0 COMMUNICATION DRIVERS==
Different sets of communication drivers exist. You can identify which version you are using by the date and time associated with the files. The OS/2 2.0 GA communication drivers will have a date of 3-30-92. The most current drivers will have a date of 8-10-92 or later. The version of the driver determines which parameters may be passed to COM.SYS. The driver names are:
Different sets of communication drivers exist. You can identify which version you are using by the date and time associated with the files. The OS/2 2.0 GA communication drivers will have a date of 3-30-92. The most current drivers will have a date of 8-10-92 or later. The version of the driver determines which parameters may be passed to COM.SYS. The driver names are:
 
;COM.SYS:The COM.SYS driver is the main OS/2 2.0 communications driver. This file is located in the \OS2 directory. COM.SYS processes all passed parameters. COM.SYS should be located towards the end of the CONFIG.SYS after all other serial device drivers (i.e. MOUSE.SYS).
;COM.SYS    
;VCOM.SYS:The VCOM.SYS driver is used in every Virtual Dos Machine (VDM). This file is located in the \OS2\MDOS directory. The purpose of the VCOM.SYS is to virtualize all interfaces to DOS applications. There are no parameters passed. VCOM.SYS should follow COM.SYS in the CONFIG.SYS file.
:The COM.SYS driver is the main OS/2 2.0 communications driver. This file is located in the \OS2 directory. COM.SYS processes all passed parameters. COM.SYS should be located towards the end of the CONFIG.SYS after all other serial device drivers (i.e. MOUSE.SYS).  
;COMM.DRV:The COMM.DRV is used in WIN-OS2 sessions. This file is located in the \OS2\MDOS\WINOS2\SYSTEM directory. There are no parameters passed. COMM.DRV is NOT in the CONFIG.SYS file.
 
;VCOM.SYS
:The VCOM.SYS driver is used in every Virtual Dos Machine (VDM). This file is located in the \OS2\MDOS directory. The purpose of the VCOM.SYS is to virtualize all interfaces to DOS applications. There are no parameters passed. VCOM.SYS should follow COM.SYS in the CONFIG.SYS file.
 
;COMM.DRV
:The COMM.DRV is used in WIN-OS2 sessions. This file is located in the \OS2\MDOS\WINOS2\SYSTEM directory. There are no parameters passed. COMM.DRV is NOT in the CONFIG.SYS file.


===OS/2 2.0 GA DRIVER PARAMETERS===
===OS/2 2.0 GA DRIVER PARAMETERS===
Those customers who have AT BUS machines and wish to use COM3, COM4, or non-standard I/O addresses must modify the config.sys file to include the following parameters for the COM.SYS driver. The parameters for the COM.SYS driver dated *** 3-30-92 *** are:
Those customers who have AT BUS machines and wish to use COM3, COM4, or non-standard I/O addresses must modify the config.sys file to include the following parameters for the COM.SYS driver. The parameters for the COM.SYS driver dated *** 3-30-92 *** are:
  DEVICE=C:\OS2\COM.SYS (n,a,i) [(n,a,i)] . . .
  DEVICE=C:\OS2\COM.SYS (n,a,i) [(n,a,i)] ...
where the last parameter is optional
where the last parameter is optional
  n = the Com port
  n = the Com port
Line 123: Line 140:
===OS/2 2.0 REPLACEMENT DRIVERS===
===OS/2 2.0 REPLACEMENT DRIVERS===
Those customers who have AT BUS machines and wish to use COM3, COM4 or non-standard I/O addresses must modify the config.sys file to include the following parameters for the COM.SYS driver. The parameters for the COM.SYS driver dated *** 8-10-92 or later *** are:
Those customers who have AT BUS machines and wish to use COM3, COM4 or non-standard I/O addresses must modify the config.sys file to include the following parameters for the COM.SYS driver. The parameters for the COM.SYS driver dated *** 8-10-92 or later *** are:
  DEVICE=C:\OS2\COM.SYS (n,xxxx,ii,s) [(n,xxxx,ii,s)] . . .
  DEVICE=C:\OS2\COM.SYS (n,xxxx,ii,s) [(n,xxxx,ii,s)] ...
where the last parameter is optional.
where the last parameter is optional.
      n     : COM port number (usually 3 and 4 but it is possible
::n: COM port number (usually 3 and 4 but it is possible to configure 1 or 2 to a different IRQ or I/O address
                to configure 1 or 2 to a different IRQ or I/O address
::xxxx: COM port address
 
::ii: IRQ level
      xxxx : COM port address
::s: Spurious interrupt handling switch values:
 
:::D or d: to deinstall COM driver if more than 1000 consecutive spurious interrupts occur.
      ii   : IRQ level
:::I or i: to ignore spurious interrupts
 
:::P or p: to post an error if more than 1000 consecutive interrupts occur. Some applications are not prepared for the posted error and may hang.
      s     : Spurious interrupt handling switch
:;NOTE:Some UART chips or malfunctioning modems can create interrupts when no interrupt is expected. These interrupts are known as spurious interrupts.
                values:
                D or d   : to deinstall COM driver if more than
                            1000 consecutive spurious interrupts
                            occur.
 
                I or i   : to ignore spurious interrupts
 
                P or p   : to post an error if more than 1000
                            consecutive interrupts occur. Some
                            applications are not prepared for the
                            posted error and may hang.  
 
:;NOTE
::Some UART chips or malfunctioning modems can create interrupts when no interrupt is expected. These interrupts are known as spurious interrupts.
 


====COM_DIRECT_ACCESS DOS property====
====COM_DIRECT_ACCESS DOS property====
When COM_DIRECT_ACCESS is ON, VCOM.SYS will allow a DOS
When COM_DIRECT_ACCESS is ON, VCOM.SYS will allow a DOS application to access the communication ports directly. This DOS property makes LapLink III, FastLynx, FSDUAT, AS/400 Asynch Router, and MS WORD work in a VDM session.  
application to access the communication ports directly.  
However, since the buffers in COM.SYS cannot be used, characters may be lost and some applications may suffer from the lack of buffering. With most DOS applications, COM_DIRECT_ACCESS should be set to OFF as the default setting.
This DOS property makes LapLink III, FastLynx, FSDUAT,
AS/400 Asynch Router, and MS WORD work in a VDM session.  
However, since the buffers in COM.SYS cannot be used,
characters may be lost and some applications may suffer from
the lack of buffering. With most DOS applications,
COM_DIRECT_ACCESS should be set to OFF as the default
setting.


====COM_SELECT DOS Property====
====COM_SELECT DOS Property====
COM_SELECT allows the DOS session to select only one communication port to be used by the session. The communication ports which are not selected will be hidden from the DOS session. There are some DOS applications which take over every available communication port. This DOS property is effective in preventing those DOS applications from taking over all the communication ports. An example of a DOS application which attempts to control all the communication ports is LapLink Pro. If LapLink Pro and another application which accesses a communication port are executed at the same time, it is necessary to set COM_SELECT. The default setting is ALL.
COM_SELECT allows the DOS session to select only one communication port to be used by the session. The communication ports which are not selected will be hidden from the DOS session. There are some DOS applications which take over every available communication port. This DOS property is effective in preventing those DOS applications from taking over all the communication ports. An example of a DOS application which attempts to control all the communication ports is LapLink Pro. If LapLink Pro and another application which accesses a communication port are executed at the same time, it is necessary to set COM_SELECT. The default setting is ALL.


====COMM.DRV will now support COM3 and COM4 under WINOS2====
====COMM.DRV will now support COM3 and COM4 under WINOS2====
Line 171: Line 166:
a. The enhancements noted in sections 2.2.1, 2.2.2 and 2.2.3.
a. The enhancements noted in sections 2.2.1, 2.2.2 and 2.2.3.


b. There are some ISA asynchronous devices which are not recognized by the GA COM.SYS driver. This has been corrected in the later release of COM.SYS.
b. There are some ISA asynchronous devices which are not recognized by the GA COM.SYS driver. This has been corrected in the later release of COM.SYS.


==OS/2 2.0 COMMUNICATION TROUBLE SHOOTING==
==OS/2 2.0 COMMUNICATION TROUBLE SHOOTING==
Line 179: Line 174:
Most problems with IRQ and I/O address settings occur on AT BUS (ISA) machines as a limitation of the hardware. IRQs are allowed to be shared on a micro channel (MCA) machine provided the adapter is MCA compatible and can be configured with the reference diskette.
Most problems with IRQ and I/O address settings occur on AT BUS (ISA) machines as a limitation of the hardware. IRQs are allowed to be shared on a micro channel (MCA) machine provided the adapter is MCA compatible and can be configured with the reference diskette.


A. Verify that all IRQ levels and I/O addresses are unique
A. Verify that all IRQ levels and I/O addresses are unique for every adapter. The usual problem is that communication adapters (internal modems, FAXes, etc) use COM3 and IRQ4 which is already in use by COM1. You must PHYSICALLY change the IRQ on the adapter to one which is not in use. You need to refer to the documentation which came with the adapter and Section 1.1 of this document.
for every adapter. The usual problem is that
communication adapters (internal modems, FAXes, etc) use
COM3 and IRQ4 which is already in use by COM1. You must
PHYSICALLY change the IRQ on the adapter to one which is
not in use. You need to refer to the documentation which
came with the adapter and Section 1.1 of this document.


B. Verify that you are passing the correct parameters to the
B. Verify that you are passing the correct parameters to the COM.SYS driver in the CONFIG.SYS file. Depending on which driver you have loaded, refer to Section 2.1 or 2.2 of this document.
COM.SYS driver in the CONFIG.SYS file. Depending on
which driver you have loaded, refer to Section 2.1 or 2.2
of this document.


      C. Obtain the latest OS/2 2.0 communication drivers. See
C. Obtain the latest OS/2 2.0 communication drivers. See Section 2.0 to verify which driver you have. You can obtain the new drivers from various bulletin boards.
          Section 2.0 to verify which driver you have. You can
(Call 1-800-547-1283 for information about registering for and accessing the IBM OS/2 BBS, or call 1-800-237-5511 for the OS/2 Support Line.)
          obtain the new drivers from various bulletin boards.
          (Call 1-800-547-1283 for information about registering
          for and accessing the IBM OS/2 BBS, or call
          1-800-237-5511 for the OS/2 Support Line.)


      D. If error message during boot : COMx not installed because
D. If error message during boot : COMx not installed because interrupt already in use, check for an IRQ conflict with other device drivers or hardware.
          interrupt already in use, check for an IRQ conflict with
          other device drivers or hardware.


      E. If system (AT bus or MCA) boots without error but a COM
E. If system (AT bus or MCA) boots without error but a COM port is still not working at all, issue a MODE command (from an OS/2 command prompt) to the problem COM port (i.e. MODE COMx:). If it indicates that the COMx port is not installed, check for IRQ conflicts. (See Section 3.5).
          port is still not working at all, issue a MODE command
          (from an OS/2 command prompt) to the problem COM port
          (i.e. MODE COMx:). If it indicates that the COMx port
          is not installed, check for IRQ conflicts. (See Section
          3.5).


          (If the mouse is on a COM port, the MODE command will
(If the mouse is on a COM port, the MODE command will report a SYS1620, the COM port specified is not installed, since the mouse has taken that COM port.)
          report a SYS1620, the COM port specified is not
          installed, since the mouse has taken that COM port.)


      F. If the MODE command fails, check the CMOS data area to
F. If the MODE command fails, check the CMOS data area to verify that the I/O address is listed. The OS2/DOS utility, DEBUG, will show the I/O addresses listed at location 40:0. The procedure follows:
          verify that the I/O address is listed. The OS2/DOS
          utility, DEBUG, will show the I/O addresses listed at
          location 40:0. The procedure follows:


          1. Start a DOS Full Screen Session (command prompt).
1. Start a DOS Full Screen Session (command prompt).
          2. Enter DEBUG and press the enter key.
          3. At the '-' prompt, enter D 40:0 and press the enter
            key.
          4. You will see 40000000:00000000  followed by pairs of
            hexadecimal numbers.  These numbers are the I/O
            addresses recognized by COM.SYS.  Below is an example
            of COM1 and COM2:


            40000000:00000000  F8 03 F8 02 00 00 00 00-
2. Enter DEBUG and press the enter key.


            This represents 03f8 (COM1) and 02f8 (COM2). If COM3
3. At the '-' prompt, enter D 40:0 and press the enter key.
            was present, it would follow COM2's address.


          5. Enter Q and press the enter key to leave DEBUG.   
4. You will see 40000000:00000000 followed by pairs of hexadecimal numbers. These numbers are the I/O addresses recognized by COM.SYS. Below is an example of COM1 and COM2:
40000000:00000000 F8 03 F8 02 00 00 00 00-
This represents 03f8 (COM1) and 02f8 (COM2). If COM3 was present, it would follow COM2's address.


      G. If the application is a DOS communication program, set
5. Enter Q and press the enter key to leave DEBUG.
          the DOS_SETTINGS to the following:


          COM_HOLD:            ON
G. If the application is a DOS communication program, set the DOS_SETTINGS to the following:
          COM_DIRECT_ACCESS    ON or OFF              (*)
COM_HOLD:            ON
          COM_SELECT          specific COMx          (*)
COM_DIRECT_ACCESS    ON or OFF              (*)
          DOS_DEVICE:          x:\os2\mdos\comdd.sys  (+)
COM_SELECT          specific COMx          (*)
          HW_ROM_TO_RAM:      ON
DOS_DEVICE:          x:\os2\mdos\comdd.sys  (+)
          HW_TIMER:            ON
HW_ROM_TO_RAM:      ON
          IDLE_SECONDS        60
HW_TIMER:            ON
          IDLE_SENSITIVITY    100
IDLE_SECONDS        60
IDLE_SENSITIVITY    100
(*) Requires the latest device drivers. (See Section 2.2).


          (*)   Requires the latest device drivers. (See Section
(+) The DOS_DEVICE (COMDD.SYS) may not be the only one required depending on the application. (For example, Intel's SatisFAXion board requires a device driver loaded into each VDM which will use that adapter). The COMDD.SYS driver is usually required only for older DOS communication applications. Do not use COMDD.SYS for EVERY DOS communication session; use it only if it resolves the problem.
                2.2).


          (+)  The DOS_DEVICE (COMDD.SYS) may not be the only one
H. To provide a higher priority to ALL communication programs, change the following parameters in the CONFIG.SYS file:
                required depending on the application.  (For
PRIORITY_DISK_IO:    NO
                example, Intel's SatisFAXion board requires a
MAXWAIT:              1
                device driver loaded into each VDM which will use
                that adapter). The COMDD.SYS driver is usually
                required only for older DOS communication
                applications.  Do not use COMDD.SYS for EVERY DOS
                communication session; use it only if it resolves
                the problem.
 
      H. To provide a higher priority to ALL communication
          programs, change the following parameters in the
          CONFIG.SYS file:
 
                  PRIORITY_DISK_IO:    NO
                  MAXWAIT:              1
 
      I. Some DOS applications will open ALL of the COM ports.
          Use the COM_SELECT DOS setting for all of the VDM
          communication sessions (See section 2.2.1).


I. Some DOS applications will open ALL of the COM ports. Use the COM_SELECT DOS setting for all of the VDM communication sessions (See section 2.2.1).


===APPLICATION HANGS===
===APPLICATION HANGS===
A. If it is an OS/2 application:
=> Ensure your COM port works in stand alone DOS.
=> Using MODE command, turn off IDSR, ODSR, and OCTS (See Section 3.5)


      A. If it is an OS/2 application:
B. If an OS/2 application is experiencing a lot of data loss:
          => Ensure your COM port works in stand alone DOS.
=> Lower the baud rate
          => Using MODE command, turn off IDSR, ODSR, and OCTS (See
=> Use the latest communication drivers
            Section 3.5)
=> Change settings in the CONFIG.SYS file
 
      B. If an OS/2 application is experiencing a lot of data
          loss:
          => Lower the baud rate
          => Use the latest communication drivers
          => Change settings in the CONFIG.SYS file
 
      C. If it is a DOS or Windows application:
          => Some DOS applications will open ALL of the COM ports.
            Use the COM_SELECT Dos Setting in all of the DOS
            communication sessions (VDMs).
          => Review previous section


C. If it is a DOS or Windows application:
=> Some DOS applications will open ALL of the COM ports.
    Use the COM_SELECT Dos Setting in all of the DOS
    communication sessions (VDMs).
=> Review previous section


===DOS/WINDOWS APPLICATIONS===
===DOS/WINDOWS APPLICATIONS===
A. Using a BBS communication package.
=> WILDCAT BBS: Version 3.0 of this DOS application has been reported to work under OS/2 2.0.
=> Set COM_HOLD DOS_SETTING to ON.
=> If using a FOSSIL Driver (e.g. X00.SYS), place a REM before the VCOM.SYS in the CONFIG.SYS or set
    COM_DIRECT_ACCESS to ON if you have the latest communication drivers.
B. Using a FAX application which uses a COM port.
=> Known limitation need to operate < 9600 bps.
=> Use an OS/2 application for high speed fax (Currently FAXPM, PMFAX and BitFax).
C. An application which uses QBASIC or BASIC CTTY
=> DOS_DEVICE: x:\os2\mdos\comdd.sys.
=> DOW JONES Link software requires this.
D. Some other ASYNC application. Check "Application Considerations" in the README file.
Example:
=> CrossTalk for Windows needs BUFFER=OFF.
=> Mirror III is similar to CrossTalk. BUFFER can be
    controlled with MODE command.
=> LapLink PRO, set IDSR, ODSR, and OCTS of all COM ports
    to OFF. (See Section 3.5.)
=> LapLink III, remark out VCOM.SYS or use
    COM_DIRECT_ACCESS.
=> INTEL SatisFAXion modem will ONLY work in a VDM
    because it requires the SATISFAX.SYS DOS device driver.
=> PMFAX will work with the INTEL SatisFAXion Classic
    card; the earlier version of CASMGR does not work on
    a MCA class machine.


      A. Using a BBS communication package.
E. In Auto Answer mode and a call comes in:
          => WILDCAT BBS:  Version 3.0 of this DOS application has
=> This is a known problem for which the latest
            been reported to work under OS/2 2.0.
    communication drivers provide better support
          => Set COM_HOLD DOS_SETTING to ON.
    (COM_DIRECT_ACCESS)
          => If using a FOSSIL Driver (e.g. X00.SYS), place a REM
            before the VCOM.SYS in the CONFIG.SYS or set
            COM_DIRECT_ACCESS to ON if you have the latest
            communication drivers.
 
      B. Using a FAX application which uses a COM port.
          => Known limitation need to operate < 9600 bps.
          => Use an OS/2 application for high speed fax (Currently
            FAXPM, PMFAX and BitFax).
 
      C. An application which uses QBASIC or BASIC CTTY
          => DOS_DEVICE:  x:\os2\mdos\comdd.sys.
          => DOW JONES Link software requires this.
 
      D. Some other ASYNC application.
          Check "Application Considerations" in the README file.
          Example:
          => CrossTalk for Windows needs BUFFER=OFF.
          => Mirror III is similar to CrossTalk.  BUFFER can be
            controlled with MODE command.
          => LapLink PRO, set IDSR, ODSR, and OCTS of all COM ports
            to OFF.  (See Section 3.5.)
          => LapLink III, remark out VCOM.SYS or use
            COM_DIRECT_ACCESS.
          => INTEL SatisFAXion modem will ONLY work in a VDM
            because it requires the SATISFAX.SYS DOS device
            driver.
          => PMFAX will work with the INTEL SatisFAXion Classic
            card;  the earlier version of CASMGR does not work on
            a MCA class machine.
 
      E. In Auto Answer mode and a call comes in:
          => This is a known problem for which the latest
            communication drivers provide better support
            (COM_DIRECT_ACCESS)


===POOR PERFORMANCE, RELIABILITY===
===POOR PERFORMANCE, RELIABILITY===
A. Using an OS/2 or DOS application
A. Using an OS/2 or DOS application
: => Try increasing/decreasing CACHE to reduce disk activity. Decreasing DISK CACHING may reduce swapping. You must experiment on your machine.
: => Try increasing/decreasing CACHE to reduce disk activity. Decreasing DISK CACHING may reduce swapping. You must experiment on your machine.
: => Review previous sections concerning config.sys changes and DOS_SETTINGS
: => Review previous sections concerning config.sys changes and DOS_SETTINGS
: => Using MODE command, turn off IDSR, ODSR, and OCTS. (See Section 3.5.)
: => Using MODE command, turn off IDSR, ODSR, and OCTS. (See Section 3.5.)
: => In the config.sys file, set:
: => In the config.sys file, set:
            PRIORITY_DISK_IO: NO
      PRIORITY_DISK_IO: NO
            MAXWAIT: 1
      MAXWAIT: 1


B. OS/2 2.0 is a multi-tasking/processing operating system.  
B. OS/2 2.0 is a multi-tasking/processing operating system.  
: => Slower microprocessors (i.e. 386/16mhz) are not going to have enough cycles to support communications above 9600 BAUD.
: => Slower microprocessors (i.e. 386/16mhz) are not going to have enough cycles to support communications above 9600 BAUD.


C. Even on faster machines there may be problems with supporting high speed communications. Some internal modems have been known to induce spurious interrupts which take away from the total number of interrupts that can be processed. Much depends on the quality of the hardware and the ability of the software to work with advanced communication processors such as the 16550AFN.
C. Even on faster machines there may be problems with supporting high speed communications. Some internal modems have been known to induce spurious interrupts which take away from the total number of interrupts that can be processed. Much depends on the quality of the hardware and the ability of the software to work with advanced communication processors such as the 16550AFN.


===USING THE MODE COMMAND===
===USING THE MODE COMMAND===
Line 360: Line 294:


The original (GA) MODE command is broke; it shows the BUFFER=N/A even though a 16550AFN buffered UART communication processor is present. The new MODE command which is shipped with the latest communication drivers corrects this problem.
The original (GA) MODE command is broke; it shows the BUFFER=N/A even though a 16550AFN buffered UART communication processor is present. The new MODE command which is shipped with the latest communication drivers corrects this problem.
[[Category:IBM Publication]]

Latest revision as of 18:32, 17 September 2023

Article Info
Author IBM
Date 1992-09
OS Version
Companion File N/A
Source

First Edition (September, 1992)

The following paragraph does not apply to the United Kingdom or any country where such provisions are inconsistent with local law:

INTERNATIONAL BUSINESS MACHINES CORPORATION PROVIDES THIS PUBLICATION "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Some states do not allow disclaimer of express or implied warranties in certain transactions, therefore, this statement may not apply to you.

This publication could include technical inaccuracies or typographical errors. Changes are periodically made to the information herein; these changes will be incorporated in new editions of the publication. IBM may make improvements and/or changes in the product(s) and/or the program(s) described in this publication at any time.

It is possible that this publication may contain reference to, or information about, IBM products (machines and programs), programming, or services that are not announced in your country. Such references or information must not be construed to mean that IBM intends to announce such IBM products, programming, or services in your country.

Requests for technical information about IBM products should be made to your IBM Authorized Dealer or your IBM Marketing Representative.

NOTICES

References in this publication to IBM products, programs, or services do not imply that IBM intends to make these available in all countries in which IBM operates. Any reference to an IBM product, program or service is not intended to state or imply that only IBM's product, program, or service may be used. Any functionally equivalent product, program, or service that does not infringe any of IBM's intellectual property rights or other legally protectible rights may be used instead of the IBM product, program, or service. Evaluation and verification of operation in conjunction with other products, programs, or services, except those expressly designated by IBM, are the user's responsibility.

IBM may have patents or pending patent applications covering subject matter in this document. The furnishing of this document does not give you any license to these patents. You can send license inquiries, in writing, to the IBM Director of Commercial Relations, IBM Corporation, Purchase, NY 10577.

TRADEMARKS AND SERVICE MARKS

Terms denoted by a single asterisk (*) in this publication are trademarks of the IBM Corporation in the United States and/or other countries. These terms include:

IBM
Micro Channel
Operating System/2
OS/2
PS/2
WIN-OS/2
Workplace Shell
XGA

Terms denoted by a double asterisk (**) in this publication are trademarks of other companies. Other trademarks appearing in this publication are owned by their respective companies.

Microsoft, MS Bookshelf, MS Excel, MS Flight Simulator, MS Money, and Windows are trademarks of Microsoft Corporation.

IBM DISCLAIMS ALL WARRANTIES, WHETHER EXPRESSED OR IMPLIED, INCLUDING WITHOUT LIMITATION, WARRANTIES OF FITNESS AND MERCHANTABILITY WITH RESPECT TO THE INFORMATION IN THIS DOCUMENT. BY FURNISHING THIS DOCUMENT, IBM GRANTS NO LICENSES TO ANY RELATED PATENTS OR COPYRIGHTS.

Copyright IBM Corporation, 1992, all rights reserved.

AT BUS ARCHITECTURE OVERVIEW

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.

If multiple hardware adapters of any kind (not just communications) are using the same I/O address, then the effect on your computer will be totally unpredictable.

OS/2 2.0 is an interrupt driven operating system and requires unique I/O addresses and Interrupt Request lines (IRQs) for each adapter in the system on an ISA computer system. ISA systems have what are called "edge triggered" interrupts in contrast to Micro Channel (MCA) and EISA which use "level sensitive" interrupts. Edge triggered interrupts can only be sensed for a very short period of time. If a second interrupt arrives from another adapter while the first interrupt is still being processed, then the second interrupt will be lost. Also, if two adapters are sharing the same PHYSICAL IRQ, then the processor does not know which adapter (and therefore which OS/2 session) should get the Interrupt Request (IRQ). In a single tasking operating system such as DOS, the sharing of interrupts is not a problem as only one application is in use at a time. OS/2, however, presents a different set of problems. If we have two, three, or four serial communications adapters, the probability is now pretty high that we might try to use two or more of them at the same time. If some of them have previously been set up using shared interrupts, then the stage is set for mysterious things to happen that probably didn't happen under DOS.

RECOMMENDATIONS FOR ISA BUS ARCHITECTURE

On an ISA machine there are a total of 15 IRQ levels available. The standard settings, in order of priority, follow:

IRQ# Device Associated
0 System Timer
1 Keyboard
2 Secondary Interrupt Controller (see note)
8 Realtime Clock
9 --- (see note)
10 --- free
11 --- free
12 --- free - reserved for aux dev
13 Math Coprocessor
14 Hard Disk
15 --- free
3 COM2 (Serial Communications Port #2)
4 COM1 (Serial Communications Port #1)
5 LPT2 (Parallel Printer Port #2 - add. 278)
6 Diskette
7 LPT1 (Parallel Printer Port #1 - add. 3BC or 378)

(;Note: On the IBM-AT (ISA bus) the IRQ9 pin is identical with the IRQ2 pin on the original IBM-PC. If you have an older, 8-bit adapter whose documentation states that it uses IRQ2, then be aware that this will actually be seen as IRQ9 when plugged into the 16-bit ISA bus.)

OS/2 can detect that an interrupt line is shared and will disallow the simultaneous use. Assume that COM1 and COM3 were sharing IRQ4 (a fairly common real situation). If we tried to use both COM ports at the same time, OS/2 would refuse to allow the second one to start. A well-written OS/2 communications program would see and report the error from OS/2 that the port could not be opened. A DOS application, however, will likely be unprepared to respond to this strange situation, and it may simply hang, waiting for the port that will never open.

To avoid these problems, make sure that all of your hardware adapters have their own unique I/O addresses and IRQ assignments. Unfortunately, on an ISA machine, OS/2 has no way to query the computer to find out what these settings are. Therefore, after checking and setting the adapters according to the instruction manuals, you must also tell OS/2 what you've done by placing explicit information into the CONFIG.SYS file.

TO SUMMARIZE

Even though there is some flexibility for printer and COM port assignments, try to stick to the standard assignment as shown in the IRQ table above.

The I/O addresses and IRQs are determined by the HARDWARE. The parameters passed to COM.SYS do NOT set the hardware; these parameters are a reflection of the physical hardware settings.

Available interrupts, in order of priority, are: IRQ10, IRQ11, IRQ12, IRQ15, IRQ3 (if not used for COM2), and IRQ5 (if not used for LPT2).

Physical addresses and interrupts can be indicated in OS2 to the communication drivers. Usual default settings follow:

COM1 - 3F8 - IRQ 4 (OS/2 & industry default)
COM2 - 2F8 - IRQ 3 (OS/2 & industry default)
COM3 - 3E8 - (industry practice)
COM4 - 2E8 - (industry practice)

There is no OS/2 default setting for COM3 and COM4. It must be specified by the device=x:\OS2\COM.SYS statement in the config.sys file.

Printer port addresses and IRQ levels are hard coded in OS/2 as follows:

3BC or 378    ==> IRQ7 (LPT1)
278           ==> IRQ5 (LPT2)

Unlike the COM ports, where the addresses and the interrupts can be specified by parameters to the COM.SYS in the CONFIG.SYS file, the printer port addresses and IRQs shown above are fixed. OS2 assigns LPT1 to the highest printer port address being used. The printer address is specified in the printer adapter board. With OS/2 you can not use both addresses 3BC and 378 as printer port addresses. Both LPTs would be sharing IRQ7. Unlike DOS, OS/2 uses interrupts for printing. The interrupt is triggered by the signal line, ACK, from the printer. If the IRQs are not configured correctly or if the printer cable is missing the ACK line, the printer may work under DOS and have problems under OS/2.

An example of address and interrupt assignments follows:

COM1 - 3F8,IRQ4
COM2 - 2F8,IRQ3
COM3 - 3E8,IRQ5 (IRQ5 not being used by lpt2)
COM4 - 2E8,IRQ10
LPT1 - 378,IRQ7

If interrupt devices are occasionally losing data, try moving to a higher priority unused interrupt.

OS/2 2.0 COMMUNICATION DRIVERS

Different sets of communication drivers exist. You can identify which version you are using by the date and time associated with the files. The OS/2 2.0 GA communication drivers will have a date of 3-30-92. The most current drivers will have a date of 8-10-92 or later. The version of the driver determines which parameters may be passed to COM.SYS. The driver names are:

COM.SYS
The COM.SYS driver is the main OS/2 2.0 communications driver. This file is located in the \OS2 directory. COM.SYS processes all passed parameters. COM.SYS should be located towards the end of the CONFIG.SYS after all other serial device drivers (i.e. MOUSE.SYS).
VCOM.SYS
The VCOM.SYS driver is used in every Virtual Dos Machine (VDM). This file is located in the \OS2\MDOS directory. The purpose of the VCOM.SYS is to virtualize all interfaces to DOS applications. There are no parameters passed. VCOM.SYS should follow COM.SYS in the CONFIG.SYS file.
COMM.DRV
The COMM.DRV is used in WIN-OS2 sessions. This file is located in the \OS2\MDOS\WINOS2\SYSTEM directory. There are no parameters passed. COMM.DRV is NOT in the CONFIG.SYS file.

OS/2 2.0 GA DRIVER PARAMETERS

Those customers who have AT BUS machines and wish to use COM3, COM4, or non-standard I/O addresses must modify the config.sys file to include the following parameters for the COM.SYS driver. The parameters for the COM.SYS driver dated *** 3-30-92 *** are:

DEVICE=C:\OS2\COM.SYS (n,a,i) [(n,a,i)] ...

where the last parameter is optional

n = the Com port
a = COM port I/O address (e.g. 03E8, 02E8)
i = IRQ level

For example, to specify that COM3 is at address 03E8 on IRQ5 and that COM4 is at address 02E8 on IRQ10, 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. Non-standard parameters for COM1 and COM2 are set the same way.

The I/O address and IRQ level should be noted in the documentation that came with the adapter. Either or both might be fixed values or adjustable 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.

OS/2 2.0 REPLACEMENT DRIVERS

Those customers who have AT BUS machines and wish to use COM3, COM4 or non-standard I/O addresses must modify the config.sys file to include the following parameters for the COM.SYS driver. The parameters for the COM.SYS driver dated *** 8-10-92 or later *** are:

DEVICE=C:\OS2\COM.SYS (n,xxxx,ii,s) [(n,xxxx,ii,s)] ...

where the last parameter is optional.

n: COM port number (usually 3 and 4 but it is possible to configure 1 or 2 to a different IRQ or I/O address
xxxx: COM port address
ii: IRQ level
s: Spurious interrupt handling switch values:
D or d: to deinstall COM driver if more than 1000 consecutive spurious interrupts occur.
I or i: to ignore spurious interrupts
P or p: to post an error if more than 1000 consecutive interrupts occur. Some applications are not prepared for the posted error and may hang.
NOTE
Some UART chips or malfunctioning modems can create interrupts when no interrupt is expected. These interrupts are known as spurious interrupts.

COM_DIRECT_ACCESS DOS property

When COM_DIRECT_ACCESS is ON, VCOM.SYS will allow a DOS application to access the communication ports directly. This DOS property makes LapLink III, FastLynx, FSDUAT, AS/400 Asynch Router, and MS WORD work in a VDM session. However, since the buffers in COM.SYS cannot be used, characters may be lost and some applications may suffer from the lack of buffering. With most DOS applications, COM_DIRECT_ACCESS should be set to OFF as the default setting.

COM_SELECT DOS Property

COM_SELECT allows the DOS session to select only one communication port to be used by the session. The communication ports which are not selected will be hidden from the DOS session. There are some DOS applications which take over every available communication port. This DOS property is effective in preventing those DOS applications from taking over all the communication ports. An example of a DOS application which attempts to control all the communication ports is LapLink Pro. If LapLink Pro and another application which accesses a communication port are executed at the same time, it is necessary to set COM_SELECT. The default setting is ALL.

COMM.DRV will now support COM3 and COM4 under WINOS2

The WINOS2 driver, COMM.DEV, will now support COM3 and COM4. This support was not provided under the General Availability (GA) release of OS/2 2.0.

OS/2 2.0 COMMUNICATION DRIVER DIFFERENCES

The major differences between the GA release of the OS/2 2.0 communication device drivers and the later release of the communication device drivers are:

a. The enhancements noted in sections 2.2.1, 2.2.2 and 2.2.3.

b. There are some ISA asynchronous devices which are not recognized by the GA COM.SYS driver. This has been corrected in the later release of COM.SYS.

OS/2 2.0 COMMUNICATION TROUBLE SHOOTING

This section will give some insight into trouble shooting communication problems with OS/2 2.0. Past experience shown that most problems will be resolved by one or more of the solutions listed below.

PORT IS NOT RECOGNIZED OR DOES NOT WORK

Most problems with IRQ and I/O address settings occur on AT BUS (ISA) machines as a limitation of the hardware. IRQs are allowed to be shared on a micro channel (MCA) machine provided the adapter is MCA compatible and can be configured with the reference diskette.

A. Verify that all IRQ levels and I/O addresses are unique for every adapter. The usual problem is that communication adapters (internal modems, FAXes, etc) use COM3 and IRQ4 which is already in use by COM1. You must PHYSICALLY change the IRQ on the adapter to one which is not in use. You need to refer to the documentation which came with the adapter and Section 1.1 of this document.

B. Verify that you are passing the correct parameters to the COM.SYS driver in the CONFIG.SYS file. Depending on which driver you have loaded, refer to Section 2.1 or 2.2 of this document.

C. Obtain the latest OS/2 2.0 communication drivers. See Section 2.0 to verify which driver you have. You can obtain the new drivers from various bulletin boards. (Call 1-800-547-1283 for information about registering for and accessing the IBM OS/2 BBS, or call 1-800-237-5511 for the OS/2 Support Line.)

D. If error message during boot : COMx not installed because interrupt already in use, check for an IRQ conflict with other device drivers or hardware.

E. If system (AT bus or MCA) boots without error but a COM port is still not working at all, issue a MODE command (from an OS/2 command prompt) to the problem COM port (i.e. MODE COMx:). If it indicates that the COMx port is not installed, check for IRQ conflicts. (See Section 3.5).

(If the mouse is on a COM port, the MODE command will report a SYS1620, the COM port specified is not installed, since the mouse has taken that COM port.)

F. If the MODE command fails, check the CMOS data area to verify that the I/O address is listed. The OS2/DOS utility, DEBUG, will show the I/O addresses listed at location 40:0. The procedure follows:

1. Start a DOS Full Screen Session (command prompt).

2. Enter DEBUG and press the enter key.

3. At the '-' prompt, enter D 40:0 and press the enter key.

4. You will see 40000000:00000000 followed by pairs of hexadecimal numbers. These numbers are the I/O addresses recognized by COM.SYS. Below is an example of COM1 and COM2:

40000000:00000000  F8 03 F8 02 00 00 00 00-

This represents 03f8 (COM1) and 02f8 (COM2). If COM3 was present, it would follow COM2's address.

5. Enter Q and press the enter key to leave DEBUG.

G. If the application is a DOS communication program, set the DOS_SETTINGS to the following:

COM_HOLD:            ON
COM_DIRECT_ACCESS    ON or OFF              (*)
COM_SELECT           specific COMx          (*)
DOS_DEVICE:          x:\os2\mdos\comdd.sys  (+)
HW_ROM_TO_RAM:       ON
HW_TIMER:            ON
IDLE_SECONDS         60
IDLE_SENSITIVITY    100

(*) Requires the latest device drivers. (See Section 2.2).

(+) The DOS_DEVICE (COMDD.SYS) may not be the only one required depending on the application. (For example, Intel's SatisFAXion board requires a device driver loaded into each VDM which will use that adapter). The COMDD.SYS driver is usually required only for older DOS communication applications. Do not use COMDD.SYS for EVERY DOS communication session; use it only if it resolves the problem.

H. To provide a higher priority to ALL communication programs, change the following parameters in the CONFIG.SYS file:

PRIORITY_DISK_IO:    NO
MAXWAIT:              1

I. Some DOS applications will open ALL of the COM ports. Use the COM_SELECT DOS setting for all of the VDM communication sessions (See section 2.2.1).

APPLICATION HANGS

A. If it is an OS/2 application:

=> Ensure your COM port works in stand alone DOS.
=> Using MODE command, turn off IDSR, ODSR, and OCTS (See Section 3.5)

B. If an OS/2 application is experiencing a lot of data loss:

=> Lower the baud rate
=> Use the latest communication drivers
=> Change settings in the CONFIG.SYS file

C. If it is a DOS or Windows application:

=> Some DOS applications will open ALL of the COM ports. 
   Use the COM_SELECT Dos Setting in all of the DOS 
   communication sessions (VDMs).
=> Review previous section

DOS/WINDOWS APPLICATIONS

A. Using a BBS communication package.

=> WILDCAT BBS: Version 3.0 of this DOS application has been reported to work under OS/2 2.0.
=> Set COM_HOLD DOS_SETTING to ON.
=> If using a FOSSIL Driver (e.g. X00.SYS), place a REM before the VCOM.SYS in the CONFIG.SYS or set
   COM_DIRECT_ACCESS to ON if you have the latest communication drivers.

B. Using a FAX application which uses a COM port.

=> Known limitation need to operate < 9600 bps.
=> Use an OS/2 application for high speed fax (Currently FAXPM, PMFAX and BitFax).

C. An application which uses QBASIC or BASIC CTTY

=> DOS_DEVICE: x:\os2\mdos\comdd.sys.
=> DOW JONES Link software requires this.

D. Some other ASYNC application. Check "Application Considerations" in the README file. Example:

=> CrossTalk for Windows needs BUFFER=OFF.
=> Mirror III is similar to CrossTalk. BUFFER can be
   controlled with MODE command.
=> LapLink PRO, set IDSR, ODSR, and OCTS of all COM ports
   to OFF. (See Section 3.5.)
=> LapLink III, remark out VCOM.SYS or use
   COM_DIRECT_ACCESS.
=> INTEL SatisFAXion modem will ONLY work in a VDM
   because it requires the SATISFAX.SYS DOS device driver.
=> PMFAX will work with the INTEL SatisFAXion Classic
   card; the earlier version of CASMGR does not work on
   a MCA class machine.

E. In Auto Answer mode and a call comes in:

=> This is a known problem for which the latest
   communication drivers provide better support
   (COM_DIRECT_ACCESS)

POOR PERFORMANCE, RELIABILITY

A. Using an OS/2 or DOS application

=> Try increasing/decreasing CACHE to reduce disk activity. Decreasing DISK CACHING may reduce swapping. You must experiment on your machine.
=> Review previous sections concerning config.sys changes and DOS_SETTINGS
=> Using MODE command, turn off IDSR, ODSR, and OCTS. (See Section 3.5.)
=> In the config.sys file, set:
      PRIORITY_DISK_IO: NO
      MAXWAIT: 1

B. OS/2 2.0 is a multi-tasking/processing operating system.

=> Slower microprocessors (i.e. 386/16mhz) are not going to have enough cycles to support communications above 9600 BAUD.

C. Even on faster machines there may be problems with supporting high speed communications. Some internal modems have been known to induce spurious interrupts which take away from the total number of interrupts that can be processed. Much depends on the quality of the hardware and the ability of the software to work with advanced communication processors such as the 16550AFN.

USING THE MODE COMMAND

Use MODE from an OS/2 Command line or DOS command line and set IDSR, ODSR, and OCTS equal to OFF. For example:

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 regardless 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.

The original (GA) MODE command is broke; it shows the BUFFER=N/A even though a 16550AFN buffered UART communication processor is present. The new MODE command which is shipped with the latest communication drivers corrects this problem.