═══ 1. Notices ═══ First Edition (September, 1992), Revised: 2.0 (June, 1993) 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. 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 protected 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. ═══ 1.1. 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, 1993, all rights reserved. ═══ 2. INDUSTRY STANDARD (AT BUS) ARCHITECTURE OVERVIEW ═══ The original Industry Standard Architecture (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 serial 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.x 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. ═══ 2.1. ISA BUS ARCHITECTURE ═══ On an ISA machine there are a total of 15 IRQ levels available. These interrupts are determined by the two INTEL 8259a (or compatible) Programmable Interrupt Controllers (PIC). Each PIC is capable of handling 8 Interrupt ReQuest lines (IRQ) but IRQ2 of the first pic is cascaded (or linked) to IRQ9 of the second PIC. Any adapter which is physically configured (or "jumpered") to IRQ2 will recognized by OS/2 as IRQ9. This is defined by the hardware and not the OS/2 operating system. 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 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. ═══ 2.2. ISA, OS/2 AND PARALLEL PORTS ═══ The printer port addresses and IRQ levels are hard coded in OS/2 as follows: ┌───────────────┬───────────────┬──────────────┐ │PORT │I/O ADDRESS │IRQ │ ├───────────────┼───────────────┼──────────────┤ │LPT1 │3BC or 378 │IRQ7 │ ├───────────────┼───────────────┼──────────────┤ │LPT2 │278 │IRQ5 │ └───────────────┴───────────────┴──────────────┘ 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. OS/2 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 parallel ports (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. ═══ 2.3. ISA AND OS/2 SUMMARY: ═══ 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 change the hardware; these parameters are a reflection of the physical hardware settings. Available interrupts, in order of priority, are: IRQ9, 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 OS/2 to the communication drivers. Usual default settings follow: o COM1 - 03f8 - IRQ 4 (OS/2 & industry default) o COM2 - 02F8 - IRQ 3 (OS/2 & industry default) o COM3 - 03E8 - (industry practice) o COM4 - 02E8 - (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 (where x: is the installed drive) in the config.sys file. An example of address and interrupt assignments follows: o COM1 - 03F8,IRQ4 o COM2 - 02F8,IRQ3 o COM3 - 03E8,IRQ5 (IRQ5 not being used by LPT2) o COM4 - 02E8,IRQ10 (would require a 16 bit adapter) o LPT1 - 378,IRQ7 If interrupt devices are occasionally losing data, try moving to a higher priority unused interrupt. ═══ 2.4. NOTES ON MICROCHANNEL ARCHITECTURE MACHINES ═══ OS/2 2.x requires no extra configuration for Microchannel Architecture (MCA) computers. MCA computers have the ability to share interrupts although for best performance, you should try to limit the number of devices sharing IRQ4 and IRQ3 which are used for COM1, COM2 and COM3. On a MCA machine, COM1 is defined as IRQ4, I/O address 3f8, COM2 is defined as IRQ3, I/O address 2f8, COM3 is defined as IRQ3, I/O address 3220 and COM4 is defined as IRQ3, I/O address 3228. ═══ 3. OS/2 2.x COMMUNICATION DRIVERS ═══ There have been many enhancements to the serial communication drivers in OS/2 2.x. These enhancements have been made based on testing and customer feedback. With the introduction of OS/2 2.1 and any later Service Pack (CSD), there are three major versions of the serial communication drivers available: OS/2 2.0, OS/2 2.0 + SP (XR06055) and OS/2 2.1. The OS/2 2.1 drivers cannot be used with OS/2 2.0 and system level XR06055. The major differences between the various drivers are the DOS Settings available, the command line parameters to the COM.SYS driver and performance enhancements. A description of the OS/2 2.x serial communication drivers follows: ┌─────────┬────────────────────────────────────────────────────────┐ │COM.SYS │The COM.SYS driver is the main OS/2 2.x 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) and Virtual Machine Boot (VMB). This file is │ │ │located in the \OS2\MDOS directory. The purpose of the │ │ │VCOM.SYS is to virtualize all serial interfaces to DOS │ │ │applications. There are no parameters passed. VCOM.SYS│ │ │should always 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. │ └─────────┴────────────────────────────────────────────────────────┘ ═══ 3.1. OS/2 2.0 GA (XR02000) DRIVER PARAMETERS ═══ These settings are for those customers who are at SYSLEVEL XR02000 and have ISA 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. 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. ═══ 3.1.1. OS/2 2.O (XR02000) DOS SETTINGS ═══ The following DOS Settings are available at OS/2 2.0 (XR02000) level of Code: o COM_HOLD ═══ 3.2. OS/2 2.0 SERVICE PACK (XR06055) DRIVERS ═══ Those customers who have ISA 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. You may also wish to use the new parameter for spurious interrupts on MCA or ISA machines. You will have to specify each COM port with it's IRQ and I/O address. 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 remove the COM driver if more than 1000 consecutive spurious interrupts occur. (DEFAULT) I or i to ignore spurious interrupts. Note: Some UART chips or malfunctioning modems can create interrupts when no interrupt is expected. These interrupts are known as spurious interrupts. ═══ 3.2.1. SERVICE PACK (XR06055) DOS SETTINGS ═══ The following DOS Settings are available at Service Pack (XR06055) level of Code: o COM_DIRECT_ACCESS o COM_HOLD o COM_SELECT ═══ 3.3. OS/2 2.1 (XR02010) AND OS/2 2.0 SP/2 ═══ (XR09999) The OS/2 2.1 (XR02010) serial device drivers are installed exactly like the OS/2 2.0 Service Pack (XR06055) drivers. See (OS/2 2.0 SERVICE PACK (XR06055) DRIVERS) ═══ 3.3.1. OS/2 2.1 (XR02010) DOS SETTINGS ═══ The following DOS Settings are available for OS/2 2.1 (XR02010) and OS/2 2.x (XR09999) level of Code: o COM_DIRECT_ACCESS o COM_HOLD o COM_RECEIVE_BUFFER_FLUSH o COM_SELECT ═══ 3.4. DOS SETTING DESCRIPTIONS ═══ The follow sections describe the various DOS Settings which can be set by the user. Please refer to the appropriate section for the system level of OS/2 you are executing to see which DOS settings apply. ═══ 3.4.1. 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. ═══ 3.4.2. COM_HOLD DOS Property ═══ The COM_HOLD Dos Property is used to keep a serial port open until the Virtual Dos Machine (VDM) Session is terminated. This setting is used for DOS applications which open the serial port and then spawn another application which expects the serial port to be opened. The disadvantage of using this setting is that even if the DOS application closes the serial port, OS/2 will keep the serial port open and will not allow any other session to access that serial port until the VDM session terminates ═══ 3.4.3. COM_RECEIVE_BUFFER_FLUSH DOS Property ═══ There are four options for this DOS Setting: NONE (default), RECEIVE DATA INTERRUPT ENABLED, SWITCH TO FOREGROUND and ALL. The purpose of this option is to provide more flexibility for configuring DOS applications. Some DOS applications are timing sensitive and will not always read every character from the UART. Some applications may have delays built in knowing that the data in the UART will be overwritten in a set period of time. Since the timing of the VDM does not match exactly to native DOS, this type of application will not run correctly under OS/2. The DOS Settings are described in the following sections. ═══ 3.4.3.1. NONE SETTING ═══ When the "NONE" Property is set, no data will be flushed from the receive buffer (of the OS/2 communication driver). This is the default action. ═══ 3.4.3.2. RECEIVE DATA INTERRUPT ENABLED SETTING ═══ When the "RECEIVE DATA INTERRUPT ENABLED" Property is set, any data in the received data buffer for this DOS session will be discarded whenever the DOS program enables the received data interrupt. This option is for DOS programs which require data to be discarded while the received data interrupt is disabled. ═══ 3.4.3.3. SWITCH TO FOREGROUND SETTING ═══ When the "SWITCH TO FOREGROUND" Property is set, any data in the received data buffer for this DOS session will be discarded whenever the DOS program is brought to the foreground (from a background state). Background processes do not receive as high a priority as foreground processes. Some DOS applications which are timing sensitive cannot process the data (which may have accumulated in the received buffer) if the data is bunched up. This feature was added for CAD application using a digitizing tablet. If there was a great amount of puck activity while the application was in the background, the application would occasionally hang when brought to the foreground. This option corrected the problem by flushing the accumulated data and allowing the application to start fresh in the foreground. ═══ 3.4.3.4. ALL SETTING ═══ When the "ALL" Property is set, both the "RECEIVE DATA INTERRUPT ENABLED" and the "SWITCH TO FOREGROUND" options are enabled. ═══ 3.4.4. 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. ═══ 3.5. 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: 1. The parameters which are passed to the COM.SYS device driver. 2. The enhanced DOS Settings which provide more flexibility in running DOS programs. 3. There have been various defects corrected. These are noted in a later section. ═══ 4. OS/2 2.x 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. ═══ 4.1. BOOT TIME ERRORS ═══ This section will describe what action to take should the COM.SYS or VCOM.SYS give an error message at OS/2 initialization (or boot) time. ═══ 4.1.1. PS/2 (MICROCHANNEL ARCHITECTURE) COMPUTERS ═══ 1. If the COM.SYS driver issues a warning at boot time on a PS/2 or other MCA class computer, reboot the computer using the reference diskette and check that the port has been properly configured. 2. If have the PROTECTONLY flag in the CONFIG.SYS file set to YES and you are at System level XR06055 or previous, you will need to get the next CSD level or OS/2 2.1. ═══ 4.1.2. INDUSTRY STANDARD ARCHITECTURE (ISA) COMPUTERS ═══ 1. 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. (See ISA BUS ARCHITECTURE). 2. Verify that you are passing the correct parameters to the COM.SYS driver in the CONFIG.SYS file. Some PCM machines need to have all the serial ports (i.e COM1, COM2) defined to COM.SYS in the CONFIG.SYS. If you are using a serial mouse, do not specify the communication port of the mouse. (See COMMON ISA AND MCA SITUATIONS). 3. There were problems at System Level XR02000 with recognizing some serial adapters. This has been resolved at System Level XR06055 or higher. 4. If error message during boot: COM PORT not installed because interrupt already in use, check for an IRQ conflict with other device drivers or hardware. 5. 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. (See DETERMINING I/O ADDRESSES FOR ISA COMPUTERS) ═══ 4.1.3. COMMON ISA AND MCA SITUATIONS ═══ 1. If using LAN SERVER with the UPS monitoring option and having problems at boot with COM.SYS or VMOUSE.SYS, move the OS2UPS.SYS driver to before the POINTDD.SYS statement in the CONFIG.SYS file. 2. 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 COM1:). If it indicates that the COM port is not installed, check for IRQ conflicts. (See ISA BUS ARCHITECTURE). Note: 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. 3. You must also check to see that there is a port available to install. For instance, if there is only one serial port and a serial mouse is installed, then the COM.SYS will issue a SYS1208 error indicating that there are no available ports. In this instance you should remark (REM) the COM.SYS and VCOM.SYS statements in the CONFIG.SYS file. ═══ 4.2. APPLICATION DOES NOT RECOGNIZE THE SERIAL PORT ═══ This section will describe what to do if an application cannot recognize a serial port. If you had errors at boot time, please refer to BOOT TIME ERRORS ═══ 4.2.1. OS/2 (PROTECT MODE) APPLICATIONS ═══ If the application cannot access the serial port, issue a MODE command against the serial port in question. If the MODE command works, contact the vendor of the OS/2 application. ═══ 4.2.2. DOS (REAL MODE) APPLICATIONS ═══ 1. If the application cannot access the serial port, try setting (for the VDM session) the DOS Setting COM_DIRECT_ACCESS to ON. You have to close the VDM session before making changes to the DOS Settings. 2. Any application which uses QBASIC or BASIC CTTY will need to have the DOS_DEVICE DOS setting set to: c:\os2\mdos\comdd.sys. If OS/2 is not installed on C:, then substitute the appropriate drive letter. 3. See MISCELLANEOUS ERRORS ═══ 4.2.3. MISCELLANEOUS ISSUES COMMON TO OS/2 AND DOS ═══ 1. Verify that the application is configured for the correct IRQ and I/O Address. Remember that the I/O address for COM3 and COM4 on MCA computers is different than ISA computers. (See NOTES ON MICROCHANNEL ARCHITECTURE MACHINES) 2. Issue a MODE command against the serial port in question. If the MODE command indicates that the port is not installed, verify the IRQ and I/O address of the serial port. You should also check to see that parameters passed to COM.SYS match the physical configuration of the serial port. 3. If the modem is external to the computer, try to copy the config.sys file to the COM port to which the external modem is attached. You should be able to observe the various indicator lights turning on or flashing. If there is no change in the state of these lights, the external modem may be connected to the wrong port, the port may not be at the correct I/O address or IRQ level or the port may be broken. 4. You can use the ECHO command to send modem commands to a modem. This is useful to see if the modem will go "off hook" and get a dial tone. You open up an OS/2 window or full screen session and enter the following: ECHO ATDT > COMx: Where COMx:is COM1:, COM2: or the COM port you are using. You should hear the telephone dial tone. ═══ 4.3. OS/2 SYSTEM ERRORS ═══ This section will describe various OS/2 generated errors and give a brief description of what these errors indicate. ═══ 4.3.1. TRAPS ═══ o If the OS/2 operating system traps when opening a DOS or WIN-OS2 session, verify that you have the correct COM.SYS / VCOM.SYS drivers installed. These drivers are a matched set and cannot be mixed between releases. The OS/2 2.1 and later service pack drivers are not designed to work on system levels XR02000 and XR06055. o You should also verify any parameters you have giving to the COM.SYS device driver (in the CONFIG.SYS file). On some ISA machines, the device driver may have problems if incorrect IRQ and I/O addresses are given. ═══ 4.3.2. SYS3175 AND SYS3176 ═══ o If the application is an OS/2 application, contact the vendor of the application. o If the application is a DOS application, look at the Stack Segment and Extended Stack Pointer (SS:ESP) value in the register dump. If the ESP is very low (or close to zero), the application has run out of stack space. The same logic applies to the Base Pointer (BP) register. This usually happens to applications which have Interrupt Service Routines (ISRs) that are subject to time constraints. The delivery (timing) of interrupts to the VDM session is different than under native DOS. This is a result of tasking (or CPU sharing) abilities of OS/2. Under DOS, the interrupts generated by the UART (of the serial port) are delivered in "real" time. Under OS/2, the interrupts are delivered at "task" time which is the time allocated by the system scheduler. Since the COM.SYS/ VCOM.SYS device drivers can accumulate interrupts, the delivery of the interrupts can be faster under OS/2 than under native DOS. If an application expects to have a consistent delay between interrupts, the application may overwrite it's allocated stack due to excessive recursion into the ISR. ═══ 4.3.3. SYS0099 AND SYS1798 ═══ o OS/2 will only permit one application or session to access a serial port. Should an application attempt to access a serial port which is in use, this message will appear. Many DOS applications (such as Personal Information Managers) open the serial ports for automatic phone dialing. You can use the COM_SELECT DOS setting to "hide" the serial port from the offending application. o Some DOS applications will open ALL of the COM ports. Use the COM_SELECT Dos Setting in all of the DOS communication sessions (VDMs). o Most DOS applications are designed to run on a single task system (DOS). Even though OS/2 allows multiple DOS applications to execute simultaneously, OS/2 is not able to manage file and device sharing for these applications. A well written application would only open a device (such as a serial port) when the device is required. Unfortunately, many DOS applications open the device as part of the initialization sequence for the application. This leads to device contention under OS/2. ═══ 4.3.4. MISCELLANEOUS ERRORS ═══ o If you get "out of memory errors", SYS3175 or SYS3176 errors when opening a VDM or WIN-OS2 session, verify any parameters you have giving to the COM.SYS device driver (in the CONFIG.SYS file). On some ISA machines, the device driver may have problems if incorrect IRQ and I/O addresses are given. o There is a situation where a VDM will either not start or COM4: is not recognized; This occurs when COM1, COM2 and COM4 are defined (i.e. no COM3). The procedure to correct this error is to define COM4 as COM3 to the COM.SYS serial communication driver. COM.SYS looks at the parameters passed to see what LOGICAL NAME (i.e. COM3) is assigned to a particular I/O address and IRQ combination. Even though the serial adapter (i.e. modem) appears to be COM4, in reality, all the adapter cares about is the I/O address and IRQ. An example of how to correct the above situation: DEVICE=x:\OS2\COM.SYS (3,2E8,5) Where "3" is the logical name given to the adapter (i.e. COM3), "2e8" is the physical address of the adapter (which is usually for COM4) and "5" is the physical IRQ of the Adapter. Note: This problem only occurs at system level XR02000 and XR06055. OS/2 will now behave identical to DOS in the way the serial ports are identified. ═══ 4.4. PERFORMANCE ISSUES ═══ There are a few settings you can set to improve the performance of serial communication applications. Some of these settings will affect overall OS/2 system performance. By favoring one type of application (i.e. serial communications), you may adversely affect other applications in the system. While OS/2 is an efficient, multitasking operating system, current technology specifies one CPU which can execute only one machine instruction at a given time. ═══ 4.4.1. OS/2 PERFORMANCE ISSUES ═══ OS/2 applications have the ability to be multithreaded, use shared memory and can designate the priority to be processed at. Should you be having performance problems with an OS/2 application, contact the vendor of the application. ═══ 4.4.2. DOS PERFORMANCE ISSUES ═══ If the application is a DOS communication program, set the DOS_SETTINGS to the following: ┌────────────────────────────────────────┬────────────────────┐ │DOS Setting │Value │ ├────────────────────────────────────────┼────────────────────┤ │COM_HOLD │ON │ ├────────────────────────────────────────┼────────────────────┤ │COM_RECEIVE_BUFFER_FLUSH (XR02010) │(See values listed) │ ├────────────────────────────────────────┼────────────────────┤ │COM_DIRECT_ACCESS (XR06055) │ON or OFF │ ├────────────────────────────────────────┼────────────────────┤ │COM_SELECT (XR06055) │specific COMx │ ├────────────────────────────────────────┼────────────────────┤ │DOS_DEVICE (COMMDD.SYS ) │\os2\mdos\comdd.sys │ ├────────────────────────────────────────┼────────────────────┤ │HW_ROM_TO_RAM │ON │ ├────────────────────────────────────────┼────────────────────┤ │HW_TIMER │ON │ ├────────────────────────────────────────┼────────────────────┤ │IDLE_SECONDS │60 │ ├────────────────────────────────────────┼────────────────────┤ │IDLE_SENSITIVITY │100 │ └────────────────────────────────────────┴────────────────────┘ ═══ 4.4.2.1. DOS BASED FAX APPLICATIONS ═══ There are no DOS based fax applications which are known to work reliably under OS/2 2.x. There have been some success with CLASS 1 fax software on a high powered 486 processor platform. There has also been some success using the Intel Satisfaxtion 400 internal modem. If sending and receiving faxes is an integral part of the system, an OS/2 fax application (such as FAXPM, FaxWorks/2 and BitFax/2) should be considered. ═══ 4.4.3. GENERAL PERFORMANCE ISSUES ═══ o Try reducing the IDLE_SENSITIVITY DOS Settings for other DOS applications. Some DOS applications continually poll the keyboard which can reduce the number of available interrupts at a given time. o Try increasing/decreasing CACHE to reduce disk activity. Decreasing DISK CACHING may reduce swapping. You must experiment on your machine. o Use the Lazy Write (/LW) option on the IFS, CACHE or DISKCACHE option in the CONFIG.SYS. o In the config.sys file, set: - PRIORITY_DISK_IO: NO - MAXWAIT: 1 o 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. o 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 UART. ═══ 4.5. ISA INTERRUPT REQUEST LEVELS AND I/O ADDRESSES ═══ The Industry Standard Architecture (ISA) computers use EDGE triggered interrupts (versus LEVEL triggered interrupts used in Microchannel Architecture (MCA) computers). OS/2 2.x only supports interrupt sharing on MCA computers. The reason that interrupt sharing is not supported on ISA computers is performance. Every adapter in an ISA computer must have a unique IRQ which is PHYSICALLY defined by hardware jumpers or logically defined by software supplied by the vendor of the adapter. The adapter and not OS/2 determines the IRQ settings. The same can be said for I/O addresses. ═══ 4.5.1. DETERMINING IRQS FOR ISA COMPUTERS ═══ On an ISA computer, the only reliable way to verify the IRQ settings for every adapter is to manually inventory each adapter. You usually do not have to worry about the parallel ports, the disk drives or the Math Coprocessor (if one is installed). There are some utilities available for DOS which may be able to indicate if you have an IRQ conflict. ═══ 4.5.2. DETERMINING I/O ADDRESSES FOR ISA COMPUTERS ═══ There is a technique available for determining which Input/Output (I/O) addresses are in use by the serial communication adapters which are identified by COMx. For other types of adapters, you will have to manually inventory each adapter. You usually do not have to worry about the parallel ports, the disk drives or the Math Coprocessor if one is installed. The technique to determine which I/O addresses are in use is detailed below: 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 0040:0000 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: 0040:0000 F8 03 F8 02 00 00 00 00-BC 34.... This represents 03f8 (COM1) and 02f8 (COM2). If COM3 was present, it would follow COM2's address. Note: If the above procedure shows "E8 02" in COM3's address position, there is NOT a serial communication adapter defined as COM3 and there is a serial communication adapter defined as COM4, see MISCELLANEOUS ERRORS 5. Enter Q and press the enter key to leave DEBUG. ═══ 4.6. MISCELLANEOUS ISSUES ═══ There may be later OS/2 2.x communication drivers. These drivers are usually classed as BETA and are supported through a mail in / FAX feedback form. Should a beta driver be released, the driver will be available from the IBM OS/2 Bulletin Board Service or on CompuServ Information Service. (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.) ═══ 5. APPLICATION SPECIFIC PROBLEMS ═══ This section will highlight known problems with various applications. Many of these applications are listed in the OS/2 README file. ═══ 5.1. GENERAL PROBLEMS ═══ o If an application hangs, first check that the entire system has not hung. You can do this by using the CTRL-ESC sequence which should give you a window list. Sometimes this can take up to one minute if an application is hung. OS/2 will then prompt you to terminate the hung application. o If the CTRL-ESC sequence works, terminate (close) application from the window list and then issue a MODE command from the command line. If the MODE command is successful, then there may be a problem with the application. If the application is an OS/2 application, you will need to contact the vendor of the application. If the application is a DOS application, experiment with some of the DOS Settings especially the COM_DIRECT_ACCESS property. o Another thing to check when serial communication applications hang is the status of the port. Use the MODE command to turn off XON, IDSR, ODSR and OCTS. o If an application is experiencing a lot of data loss, you can lower the baud rate, upgrade to the latest release of OS/2 or change the settings in the CONFIG.SYS file (See GENERAL PERFORMANCE ISSUES). You can also try setting OCTS=ON and RTS=HS using the MODE command. If the application is an OS/2 application, contact the vendor of the application. o If a DOS application is not able to "auto answer" a modem, try the COM_DIRECT_ACCESS DOS Setting. ═══ 5.2. SPECIFIC APPLICATIONS ═══ This section will detail known problems about specific applications and will offer suggestions to correct the situation. ═══ 5.2.1. AUTOCAD 12.0 WITH A DIGITIZING TABLET ═══ AutoCad 12.0 will now see a digitizing tablet. This feature was added at System Level XR09999 and OS/2 2.1. There are some restrictions: o The application appears to be very sensitive to the timing of the interrupt delivery. The application will only work on a 486/33mhz processor or better. o You need to set the COM_RECEIVE_BUFFER_FLUSH DOS Setting to SWITCH_TO_FOREGROUND. ═══ 5.2.2. Compuserv Information Manager (CIM) (Dos Version) ═══ CIM will only work under OS/2 2.1 and System Level XR09999if IRQ2 (IRQ9) must be used. Otherwise the application should work on standard IRQ/IO Address. ═══ 5.2.3. CrossTalk for Windows ═══ Use the MODE command to set BUFFER=OFF. ═══ 5.2.4. DOW JONES LINK ═══ This application requires the COMDD.SYS device driver. (DOS (REAL MODE) APPLICATIONS) ═══ 5.2.5. FAXWORKS/2 (PMFAX) ═══ o There was a problem with OS/2 disabling the serial port when using FAXWORKS/2. The Softnet BBS service has a private fix for OS/2 2.0. The problem has been resolved at System Level XR09999. The problem may also appear on PS/2 (MCA class) machines in OS/2 2.1. The Softnet BBS will be provided a fix when available. o This application will work with the INTEL SatisFAXion fax modems under OS/2 2.x. Please contact Softnet for further information. o FAXWORKS/2 requires a parameter passed to the FMD.SYS file to be able to share IRQ's on a MCA class machine. The statement should look like: - DEVICE=x:\PMFAX\FMD.SYS -S Note: The "S" MUST BE upper case! o If using an IBM Internal 2400/9600 fax/modem, you need to get 1.30b of FAXWORKS/2. ═══ 5.2.6. FT TERM 2.1 ═══ FT Terminal (version 2.1) would not dial out correctly on some machines. This problem was not reproducible at System Level XR06055 or higher system levels of OS/2 2.x ═══ 5.2.7. GOLDEN COMPASS FOR OS/2 ═══ There have been performance problems reported against Golden Compass for OS/2 especially if a Virtual Dos Machine (VDM) is opened while Golden Compass is connected to CompuServ. The developer of the application is aware of the problems and can be contacted via CompuServ (GO OS2AVEND and enter section #2). ═══ 5.2.8. INTEL SatisFAXion 400 Internal ═══ There has been some success with the Intel Satisfaxtion 400i fax/modem. Previous versions of this modem have not worked reliably with the INTEL supplied software. FAXWORKS for OS/2, however, does provide support for most of the Intel Satisfaxtion 400 modems. Please contact Softnet for further information. See Also INTEL SATISFAXTION 400 (internal) FAX/Modem ═══ 5.2.9. LapLink III, Laplink PRO ═══ If you are at system level XR02000, remark out VCOM.SYS otherwise use the COM_DIRECT_ACCESS DOS Setting. You must also use the MODE command to set IDSR, ODSR and OCTS of all the COM ports to OFF unless you use the COM_SELECT DOS Setting ═══ 5.2.10. MAXIMUS/2 ═══ You must use the MODE command to set OCTS=ON to keep Maximus/2 from overflowing the modem with data. ═══ 5.2.11. Mirror III ═══ This application is similar to CrossTalk. Use the MODE command to set the BUFFER=OFF. ═══ 5.2.12. OS/2 DATABASE APPLET ═══ The OS/2 Database Applet requires that the user customize the dialing and the hangup strings. Below is an example of each which works with 100% Hayes compatible modems: DIALING STRING AT&F&D3L0DT HANGUP STRING ATH0Z ═══ 5.2.13. PC/ANYWHERE's AWSEND ═══ PC Anywhere and other similar applications try to get back to a DOS command which is not possible when the application is specified in the PATH and FILE NAME of the ICON. There is a simple test to see if the following fix will work. 1. Make a copy of the application object (icon). 2. Using the copy of the object, click with the right hand Mouse button and select the settings menu option. Replace the PATH and FILE NAME with a '*'. This is identical to the DOS FULL SCREEN object (icon). 3. Click on the copy of the object to start it. You should be at a DOS command prompt. Enter the name of the application and test the failing portion. If the application works, then substitute the following for the PATH and FILE NAME: x:\OS2\MDOS\COMMAND.COM Where 'x' is the OS/2 drive letter. Substitute the following for PARAMETERS: 4. /p /k x:\path\file.exe 5. Where x:\path\file.exe is your application. ═══ 5.2.14. PCBOARD ═══ PCBOARD requires COM_HOLD=ON with system level XR02000 release but requires COM_HOLD=OFF with XR06055 release. ═══ 5.2.15. PM TERMINAL (OS/2 APPLET) ═══ There have been changes to the PM Terminal applet which is supplied with OS/2 2.x. These changes are available in OS/2 2.1 or from the Softronics Bulletin Board Service which is listed in the PM Terminal dialing directory. Some of the changes made were the ability to download from a system which was using seven (7) data bits such as CompuServ Information Service (CIS). This can also be accomplished by using an eight (8) bit communication session and a seven (7) bit terminal (video) operating mode. This is all configured in the PM Terminal applet. There has been some confusion about the ACDI interface. In general, all modem connections should be defined as STANDARD. You should not used ACDI unless you know that you are connecting to an ACDI network interface. If you need to use ACDI, you will have to remove the REM statement in front of the SASYNCD*.SYS statement which is located in the CONFIG.SYS file BUT ONLY IF you have not installed the asynchronous features of Communication Manager. If you see the device drivers ASYNCDDB.SYS or ASYNCDDC.SYS loaded in the CONFIG.SYS file, then the asynchronous features of Communication Manager have been installed. SFT0049 is an error message received when there is a fault with ACDI support in PM Terminal. Check to see that you do not have the Communication Manager and the PM Terminal ACDI drivers loaded together in the CONFIG.SYS file. See Also: ACDI COMMUNICATIONS UNDER OS/2 2.X. CUSTOMIZING THE PM TERMINAL APPLET. ═══ 5.2.16. TERMINAL EMULATOR/2 (TE/2) ═══ TE/2 was getting intermittent traps (TRAP000d or TRAP000e) at System Level XR02000. This has been resolved at System Level XR06055 or OS/2 2.1. ═══ 5.2.17. TimeSet 5.3 ═══ In order to use TimeSet 5.3, you must be at System Level XR09999 or OS/2 2.1. The following DOS Settings must be configured: ┌──────────────────────────────────────────────────┬──────┐ │COM_DIRECT_ACCESS │ON │ ├──────────────────────────────────────────────────┼──────┤ │COM_HOLD │ON │ ├──────────────────────────────────────────────────┼──────┤ │HW_ROM_TO_RAM │ON │ ├──────────────────────────────────────────────────┼──────┤ │HW_TIMER │ON │ ├──────────────────────────────────────────────────┼──────┤ │IDLE_SECONDS │60 │ ├──────────────────────────────────────────────────┼──────┤ │IDLE_SENSITIVITY │100 │ └──────────────────────────────────────────────────┴──────┘ ═══ 5.2.18. TRI-BBS 4.02 ═══ TRI-BBS version 4.02 works much better under OS/2 2.1 or OS/2 XR09999. ═══ 5.2.19. WILDCAT BBS 3.0 ═══ Version 3.0 of this DOS application has been reported to work under OS/2 2.0. ═══ 5.2.20. X00.SYS (FOSSIL Driver) ═══ If you are at System Level XR02000 you need to place a REM before the VCOM.SYS in the CONFIG.SYS. If you have system level XR06055 or OS/2 2.1 you can set the DOS Setting, COM_DIRECT_ACCESS, to ON. The author of the X00.SYS fossil driver has an OS/2 version available. ═══ 6. USING THE MODE COMMAND ═══ This section will give a summary of how to use the MODE command. More information about the MODE command can be obtained from the OS/2 Command Reference. ═══ 6.1. MODE COMMAND SUMMARY ═══ 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. If an application appears to experience data loss, you can try setting OCTS=ON and RTS=HS. This will force the COM.SYS to hardware handshake with the port. You can also use XON=ON if the application and devices support software handshaking. The MODE command at System Level XR02000 is broke; it shows the BUFFER=N/A even though a 16550AFN buffered UART communication processor is present. This problem was corrected at System Level XR06055. ═══ 7. ACDI COMMUNICATIONS UNDER OS/2 2.X ═══ This section will give a brief summary of using ACDI communications under OS/2. You can get more information from the COMMUNICATIONS MANAGER CONFIGURATION GUIDE (IBM publication number S04G-1002-00) ═══ 7.1. ACDI COMMUNICATIONS SUMMARY ═══ The COMMUNICATIONS MANAGER CONFIGURATION GUIDE (IBM publication number S04G-1002-00) describes ACDI as an IBM supplied interface that incorporates high level functionality (link establishment, disconnect, etc.), and a low level device driver that can be called from application programs. Communication Manager supplies two device drivers, asyncddb.sys and asyncddc.sys, that are used to provide serial communication capabilities to applications that support ACDI API calls. Communication Manager also supplies an asynchronous Terminal Emulator that utilizes ACDI API calls. These drivers work independent of com.sys that is supplied as part of the OS/2 base system, in that, ACDI API calls invoke the asyncddc.sys driver which communicates with the serial port hardware, and non- ACDI API calls invoke the com.sys driver which then communicates with the serial port hardware. At the termination of a given session the current driver relinquishes control of the serial port hardware. PM Terminal, supplied to IBM by Softronics, also provides a facility to use the ACDI API's available from the Communications Manager supplied device drivers (asyncdd*.sys). In the event that Communications Manager is not loaded, and one wishes to use the ACDI function in PM Terminal, Softronics has included a device driver, sasyncdb.sys, that uses the ACDI API calls, and is capable of communicating with the serial port hardware. If using Communication Manager on a system with com port hardware that is DMA capable, and asynchronous support was selected at installation, APAR JR06199 is applicable. The fix requires a modified version of asyncddc.sys. ═══ 8. CUSTOMIZING THE PM TERMINAL APPLET ═══ This section will describe how to customize PM Terminal for your modem. This section will also describe how to configure PM Terminal for downloading files from seven data bit connections such as CompuServ Information Services (CIS). The PM Terminal is designed to be an object oriented system. The session you select from the main menu is composed of Terminal, System Environment, Connection Path, Modem, Telephone Network and File Transfer objects. A session has one of each object. The most difficult part of configuring PM Terminal is the definition of the Modem and Video objects. Once the low level objects (i.e Modem) are created, a session profile is easily customized by selecting the various object modules from a list. This document will give a step by step procedure for creating a standard 14.4kb Hayes compatible modem session. You can use this procedure for any baud rate. ═══ 8.1. PM TERMINAL CUSTOM MODEM CONFIGURATION ═══ This procedure will define a high speed connection and demonstrate how to configure a session to the IBM National BBS. 1. Double Click on the PM Terminal ICON 2. Click once with the Left Mouse Button (LMB) on the Session Menu. 3. Click once with the LMB on the Setup Profiles menu option. 4. Click once with the LMB on the CONNECTION button. 5. Click once with the LMB on the ADD button. 6. Click once with the LMB on the OK button to accept Standard COM. 7. Place a comment which describes this Connection Object. For example, MY MODEM 19.2k,n,8,1 (19.2k BAUD, no parity, 8 bits, one stop bit). 8. Click with the LMB on the COM port to be used. 9. Click with the LMB on the SETUP button. 10. Click with the LMB on the ADD button. 11. Click with the LMB on the OK button to accept Standard Com. 12. Click with the LMB on the List Box button (arrow) to display choices. 13. Click with the LMB on the Auto-Dial selection to highlight it. 14. Click with the LMB on the OK button to accept this entry. 15. Click with the LMB on the List Box button (arrow) to display choices. 16. Click with the LMB on the Hayes Smart Modem 2400 (for this example otherwise pick a modem which is similar to your modem). The Hayes Smart Modem 2400 is a good base choice for defining custom sessions. 17. Click with the LMB on the OK button to accept this entry. 18. Place a comment which describes this MODEM object (i.e. Hayes Compatible 2400). 19. Click with the LMB on the Device Initialization String. 20. Click on the CHANGE Button. 21. Delete the "&T5" from the Initialization String. 22. Click with the LMB on the OK Button to accept this entry. 23. Click with the LMB on the SAVE AS button. 24. Enter a name to save this MODEM object (i.e. MY MODEM). 25. Click with the LMB on the SAVE button to save this MODEM object. 26. Click with the LMB on the CLOSE button to return to previous menu. 27. Click with the LMB on the Communication Parameters. 28. Click with the LMB on the CHANGE button. 29. Click with the LMB on the List Box button (arrow) to display choices. 30. Click with the LMB on the 19200 (to select the correct baud rate for this example). 31. Click with the LMB on the OK button to accept this entry. 32. Click with the LMB on the Flow Control entry. 33. Click with the LMB on the CHANGE Button. 34. Click with the LMB on the CTS option. 35. Click with the LMB on the RTS option. 36. Click with the LMB on the OK button to accept this entry. 37. Click with the LMB on the SAVE AS button to save this CONNECTION object. 38. Enter a name to save this CONNECTION object (i.e. COM - Standard). 39. Click with the LMB on the CLOSE button to return to previous menu. 40. An option step would be to setup a file transfer and telephone network profile. 41. Click with the LMB on the CLOSE button to return to previous menu. 42. Click with the LMB on the SESSION menu. 43. Click with the LMB on the ADD menu option. 44. Enter a Comment for the session (i.e IBM BBS Service in Atlanta) 45. Click with the LMB on the List Box button (arrow) of the Terminal Emulation profile selection. 46. Scroll down to the IBM ANSI terminal option and click once with the LMB to highlight the option. 47. Click with the LMB on the List Box button (arrow) of the Connection Path profile selection. 48. Scroll down to the option and click once with the LMB to COM - Standard to highlight the option. This is the name of the CONNECTION object you just created in step 38. 49. Click with the LMB on the ADD button. 50. Enter the complete phone number of where you want to dial. 51. Recommend that you select "Display this dialog box at connect time". 52. Click with the LMB on the SAVE AS button. 53. Enter a Session Name (i.e. IBM BBS 19.2k) 54. Click with the LMB on the SAVE button. You can use your modem object and connection object in other session profiles. After the creation of the Session Profiles, you may need to close PM TERMINAL and restart it. ═══ 8.2. PM TERMINAL CIS SESSION ═══ There is a problem downloading files from any communication session which is not a default of eight data bits, one stop bit and no parity (8N1). CompuServ Information Service (CIS) is an example of such a session. This is the work around for the problem: 1. First we need to create a special Terminal Profile for CIS. We will name this CIS Terminal. 2. Using the Left Mouse Button (LMB), select the Session menu bar. 3. Select Setup Profiles from the menu choices with the LMB. 4. Select TERMINAL with the LMB. 5. Select ADD with the LMB. 6. Click with the LMB on the List Box button (arrow) to display choices. 7. Select IBM ANSI from the choices listed by clicking once with the LMB. 8. Select the OK button using the LMB. 9. Select the OPERATING MODE choice by clicking once with the LMB. 10. Select the CHANGE button using the LMB. 11. Select "7 Bit Operating Mode" using the LMB. 12. Select the OK button using the LMB. 13. Select the SAVE AS button using the LMB. 14. Enter the name CIS TERMINAL for the name. 15. Select the SAVE button using the LMB. 16. Select the CLOSE Button using the LMB. 17. Select the CLOSE button using the LMB. 18. Either select the CIS session which is supplied with PM Terminal or use one you created using the steps defined above in step one. If you are using a custom session, remember that the communication session MUST BE defined for eight data bits, one stop bit and no parity (8N1). For this example, we will use the predefined CIS Session. 19. Select the CIS session by clicking once with the LMB. 20. Using the Left Mouse Button (LMB), select the Session menu bar. 21. Select the CHANGE menu option using the LMB. 22. Under the TERMINAL EMULATION PROFILE, click with the LMB on the List Box button (arrow) to display choices. 23. Select CIS TERMINAL from the select displayed using the LMB. 24. Under the CONNECTION PROFILE, click with the LMB on the List Box button (arrow) to display choices. 25. Select a Connection Profile which uses 8 data bits, one stop bit and no parity. This could be the custom one you created in the previous section (i.e. COM - Standard). 26. Select the OK button using the LMB. 27. Select the SAVE button using the LMB. ═══ 9. INTEL SATISFAXTION 400 (internal) FAX/Modem ═══ This section will describe how to configure the INTEL SatisfaxTion 400 (internal) modem under OS/2 2.0 and OS/2 2.1. Some of this will apply to the external version as well. ═══ 9.1. INTEL SATISFAXTION HARDWARE DESCRIPTION ═══ The Intel SatisFaxtion Model 400 FAX/Modem differs from typical ISA internal FAX/Modems in that it does not have a physical UART on board, instead, an onboard micro-controller emulates the UART function using software. More detailed information can be found on the INTEL Support Bulletin Board at (503) 645 - 6275. RELATED INFORMATION: SMRTUART.TXT HINT12.TXT ═══ 9.2. SMRTUART.TXT file from the INTEL BBS ═══ The following section is taken from an information file that is available on the Intel Support BBS at (503) 645-6275 (filename=SMRTUART.TXT). IBM provides this information with no warranty or support implied for any listed products. By providing this information, IBM is not implicitly or explicitly endorsing any products which may be mentioned nor does IBM necessarily agree with any statements made in the SMRTUART.TXT document. ═══ 9.2.1. SATISFAXTION 400 SMART UART OVERVIEW ═══ Both the SatisFaxtion 200 & 400 fax modems have a large gate array device which in addition to other functions, provides special circuitry that appears to the PC processor as a standard 16450 compatible serial port. In reality, it's just a facade that looks just like a serial port. Instead of shifting the character bits serially in from and out to a modem on the far end of an RS-232 cable, the characters stay intact as bytes. These characters are transferred directly between the PC processor and the SatisFaxtion 200 and 400 80C186-16 on- board processor through the silicon. The special circuitry inside the device gives the 80C186-16 complete visibility and control of the 16450 facade internal workings. The 80C186-16 knows what the PC processor is doing on the other side of this facade, and more importantly, has direct control over what the PC processor sees. On the SatisFaxtion 400, since the on-board 80C186-16 knows whether or not the PC processor has taken the last character that it deposited into the 16450 interface, it will NEVER try to put another character in until the previous one is read -- no data is spilled. Think of it as a really smart faucet that shuts off the water if you don't replace the cup in time. This is true no matter how fast the data is being moved or how busy the PC processor is. The on-board 80C186-16 will wait indefinitely until the PC processor has taken the last character before trying to give it a new one. This protection against data loss enables you to set your communication application baud rate (DTE rate) as high as you like with no fear of losing data. ═══ 9.3. HINT12.TXT file from the INTEL BBS ═══ The following sections are from a file on the INTEL BBS which answers questions about using the INTEL FAX/Modem products under the OS/2 environment. IBM provides this information with no warranty or support implied for any listed products. By providing this information, IBM is not implicitly or explicitly endorsing any products which may be mentioned nor does IBM necessarily agree with any statements made in the HINT12.TXT document. ═══ 9.3.1. INTEL SATISFAXTION 400 AND OS/2 2.x ═══ ALL OF OUR SATISFAXTION MODEMS CAN BE OPERATED AS A DATA MODEM UNDER OS/2 WITHOUT A PROBLEM. The one thing to be aware is that the SatisFAXtion Modem/200 and 400 boards require their device driver to be loaded in a DOS session, then the modem can be used normally from DOS, Windows or OS/2 applications. This can easily be set up as a batch load process. SatisFAXtion Modem/100 and /400e modems do not require any additional drivers to be used as data modems under OS/2. For FAXING, our SatisFAXtion drivers can be loaded and run from a DOS session under OS/2, but this does not provide faxing directly from OS/2 applications. However, our testing to date indicates that the SatisFAXtion Modem/100 & 400e do not fax reliably from a DOS session under OS/2; these products will require a third party OS/2 fax driver for Class 1 devices (such as that available from SofNet) to be used for faxing under OS/2. We do NOT provide an OS/2 DLL with any of our products for faxing within OS/2's native environment. Customers looking for such a driver can contact SofNet at (404) 984-8088. Note: When running DOS apps in the background, neither FAX nor MODEM programs work reliably under OS/2. For best results always run DOS communication applications in the foreground. ═══ 9.3.2. WHY DON'T YOU PROVIDE COMPLETE OS/2 SUPPORT IN THE BOX? ═══ WHY DON'T YOU PROVIDE COMPLETE OS/2 SUPPORT IN THE BOX? Because we prioritize our development projects and feature enhancements based on customer interest and demand. While OS/2 support is certainly climbing up the list, to date our customers have put greater emphasis on other requests. ═══ 9.3.3. DON'T OTHER FAXMODEM VENDORS PROVIDE OS/2 SUPPORT? ═══ DON'T OTHER FAXMODEM VENDORS PROVIDE OS/2 SUPPORT? We don't know of any desktop faxmodems today that are including software for faxing from OS/2. To date such support is only available for desktop faxmodems as an add-in third party product from a company such as SofNet. ═══ 9.4. INSTALLING THE INTEL SATISFAXTION 400 SOFTWARE UNDER OS/2 ═══ The following sections will describe how to install the INTEL supplied software under OS/2. There are some differences between OS/2 2.0 and OS/2 2.1. Please refer to the appropriate section. ═══ 9.4.1. PREREQUISITES FOR INSTALLING THE INTEL SUPPLIED SOFTWARE ═══ 1. Intel makes available software updates on their BBS (503 645-6275). At the time of this writting, an update for the model 400 SatisFaxtion was available (filename=29.EXE, 481,455 bytes, 5/18/93). This file is self-extracting and contains updates to several component files required for the procedures outlined in the following sections. 2. Unlike most FAX/Modem adapters, the Intel SatisFaxtion 400 (internal ISA) FAX/Modem adapter requires the use of two different base address/IRQ combinations. One combination is required for the modem portion, while the second is needed for the FAX function. The installation software supplied with the unit will set the FAX side of the adapter to a default base address of 0350h and set the physical Interrupt Request Level to IRQ10. For most OS/2 installations this will be satisfactory. Should you require different settings, please consult the INTEL documentation for further information. You will need to know the I/O address and IRQ later in the installation process so keep a record of what is configured. 3. The installation software may set the modem side of the adapter to "off", or to a combination already in use. A utility supplied with the adapter (SETUP.EXE) will allow you to change the values for the modem side. If your system has an existing COM1 and COM2 port, we suggest that you choose the the COM3 option with the IRQ5 value if you do not have a 2nd physical parallel port (LPT2) installed. In the case where you do have two parallel ports (LPT1 & LPT2), and two serial ports (COM1 & COM2), you MUST disable either the second parallel port (LPT2) or one of the existing serial ports to install this adapter card. You may then use the IRQ made available for the modem side of the SatisFaxtion 400. ═══ 9.4.2. INSTALLATION OF BASIC INTEL SOFTWARE UNDER OS/2 2.0 AND 2.1 ═══ This section will give some advice on installing the BASIC Intel Software under OS/2 2.0 and OS/2 2.1. The installation is basically the same as under native DOS but there are a few extra steps involved. 1. Before starting the installation process, make a copy of your AUTOEXEC.BAT and the CONFIG.SYS files: COPY AUTOEXEC.BAT *.OS2 COPY CONFIG.SYS *.OS2 2. Open a DOS session (VDM) and follow the Intel supplied instructions for copying the SatisFaxtion software. Since you have made a copy of the OS/2 AUTOEXEC.BAT and CONFIG.SYS files, you should allow the installation utility to update these files. When you are prompted to remove the diskette and reboot the machine, do the following: a. Use the CTRL-ESC key to display the window list. b. Press the DELete key and select YES to terminate the VDM Session. 3. Open a VDM and change to the drive and directory where the Intel software was intalled. 4. Copy any Intel update files (see the proceeding section) into this directory (and in the case of 29.EXE, type 29 at the command prompt - as the file is un-archived answer yes to overwrite existing files). 5. Once this is completed, you may have to execute the advanced setup option of the Intel supplied utility (SETUP.EXE) to set the base address/IRQ for the modem side of the adapter. Please refer to the INTEL documentation and the next section for further information. At this point, your AUTOEXEC.BAT file will contain statements added by the installation utility. These are TSR programs needed to run the FAX side of the adapter. To prevent these programs from being loaded into each DOS session (VDM) you will need to copy the old files back. Before you copy the old files, you must do the following: COPY AUTOEXEC.BAT FAX400.BAT COPY CONFIG.SYS CONFIG.400 COPY AUTOEXEC.OS2 *.BAT COPY CONFIG.OS2 *.SYS You need to note the IOADDR value in the CONFIG.400 as you will require this for configuration of VDMs which will require FAX access. ═══ 9.4.2.1. RUNNING THE INTEL SATISFAXTION 400 SETUP.EXE PROGRAM UNDER OS/2 ═══ This section will give a brief overview for running the SETUP.EXE program. This example should work for most computers which ONLY HAVE ONE (1) PARALLEL port and TWO (2) SERIAL ports. Should you have a different hardware configuration, please consult the INTEL documentation. 1. Open a DOS session (DOS command prompt), change to the drive and directory where the Intel SatisFaxtion software was installed. 2. Type SETUP . After the SETUP screen appears press enter. At the red screen type "C" to continue. Note: you can ignore the message which states that SETUP.EXE is unable to access the SATISFAXTION driver. 3. At the "Options Menu" select the entry labeled "Advanced Setup". 4. At the "Advanced Setup" menu select the "Set-up Hardware" entry. 5. At the "Set-up Hardware" menu select the "Modem I/O, Interrupt" entry. 6. Choose one of the 7 entries (the 5th entry being the recommended COM3/IRQ5 combination for systems that have two serial ports - COM1 and COM2) and press enter. 7. When you have returned to the "Set-up Harware" menu press F10 to update the adapter card EEPROM. 8. The "ESC" key will bring you back to the "Options" menu where you should select "Exit setup". You will be prompted with "Are you sure?" to which you should reply yes. 9. The next screen will ask if you wish for your AUTOEXEC.BAT and CONFIG.SYS files to be updated. Select "Quit" (without update). Note: If you update the AUTOEXEC.BAT OR CONFIG.SYS files, the procedures outlined in this document will not work correctly. We recommend that you always keep a working copy of the CONFIG.SYS and AUTOEXEC.BAT files in a safe place. 10. The SETUP.EXE utility then replys with "Press any key to reboot". When you are prompted to reboot the machine, do the following: a. Use the CTRL-ESC key to display the window list. b. Press the DELete key and select YES to terminate the VDM (SETUP.EXE) Session. 11. You should now be back at your desktop. ═══ 9.4.3. SETTING UP THE MODEM OPERATION OF THE INTEL SATISFAXTION 400 ═══ Once the software has been installed, and the modem port configured, it is necessary to load a device driver that Intel supplies before accessing the modem. This device driver, SATISFAX.SYS, is a DOS based driver that initializes the adapter card and must not be loaded in the OS/2 CONFIG.SYS file. The SATISFAX.SYS device driver must be loaded into every Virtual Dos Machine (VDM) session which needs access to the INTEL Satisfaxtion 400. The following procedure will create a program object that will load the device driver from the startup folder each time OS/2 is started. You can also use this object as a template for all VDM sessions which will require access to the INTEL Satisfaxtion 400. 1. Open the Startup folder. 2. Drag a "Program Template" into the startup folder. 3. Enter a "*" in the "Path and File Name" field. 4. Enter "/C EXIT" in the "Parameters" field. 5. Enter "X:\FAX" in the "Working Directory" field. Note: X: is the drive letter you specified during the software installation. 6. Turn to the "Settings" page. 7. Click on the "DOS Window" radio button. 8. Click on the "DOS Settings" button. 9. Enter "X:\FAX\SATISFAX.SYS IOADDR=0350" in the DOS_DEVICE field. Note: X: is the drive letter you specified during the software installation. Warning: Make sure that the IOADDR value is what is loaded in the CONFIG.400 file which you previously saved. 10. Click on "Save" 11. Select the "General" page. 12. Give the object a meaningful name (ie. "Modem Initialization"). 13. Close the Settings Window. After performing these steps, shutdown OS/2 and then reboot to continue. After rebooting the modem should be available to application programs. For OS/2 commuications applications it is only necessary to specify the port (COM3 if the above suggestions were followed). For DOS based communications programs, specify the port/IRQ combination using the facility provided by the application. Refer to the application manual and ISA AND OS/2 SUMMARY: ═══ 9.4.4. SETTING UP THE FAX OPERATION OF THE INTEL SATISFAXTION 400 ═══ Operation of the FAX side of the adapter requires a FAX application program such as Intel's FaxAbility (Windows based) or FAXWORKS (OS/2 based). FAXWORKS supplies an OS/2 based device driver that will operate with the SatisFaxtion 400. FaxAbility require the Intel supplied TSR's be loaded into the DOS session that FaxAbility is being run from. This is accomplished differently for OS/2 V2.1 and OS/2 V2.0. ═══ 9.4.4.1. INSTALLING THE FAXABILITY SOFTWARE UNDER OS/2 2.X ═══ The installation of the Intel FaxAbility software under OS/2 is identical no matter which version of OS/2 you are running. The setting up of the ICONS, however, is somewhat different. We shall provide a method we know to work reliable but this is not the only way for the software to be installed. Each user will have to customize the DOS batch files for the unique environment. You need to initialize the Intel Satisfaxtion modem before loading WIN-OS2. The following procedure is to be followed: 1. Open the startup folder and make a COPY of the "Modem Initialization" object you previously created. You may place the copy on the desktop or any folder of your choosing. 2. Open the Settings Notebook of this new object and erase the PARAMETERS and WORKING DIRECTORY fields. 3. Select the SESSION tab and choose DOS FULL SCREEN. Note: You must use a DOS FULL SCREEN session for this procedure otherwise the results will be unpredictable. 4. Select the GENERAL tab and name this new object "FaxAbility". We will now refer to the object as the FaxAbility Icon. 5. Close the settings notebook. 6. Double Click on the (new) FaxAbility Icon which should bring you to a full screen DOS command prompt. 7. Run the FAX400.BAT batch file which you previously created. 8. Enter WINOS2 and press the enter key. 9. You should now be at the WIN-OS2 desktop. At this point you need to follow the Intel Supplied instructions for installing the FaxAbility application. The installation will procedure just as it would under native MS Windows 3.x. After the installation of the software is complete, you will need to refer to the appropriate section (depending on the version of OS/2 2.x) for creating an ICON on the OS/2 desktop. ═══ 9.4.4.2. CREATING A FAXABILITY ICON UNDER OS/2 2.0 ═══ There is a special procedure to load TSRs with Windows based programs under OS/2 2.0. This procedure is not required under OS/2 2.1. This section will explain how to create an ICON on the desktop. This is only an example and you might have to change things such as drive letters and paths. This example could be used for other DOS and WINDOWs applications which require access to the Intel Satisfaxtion modem. 1. You will need to make a copy of the FAX400.BAT file which you previously created. Copy this file to a file named: WFAX400.BAT. Example copy FAX400.BAT WFAX400.BAT 2. Use the System Editor (E.EXE) to edit the WFAX400.BAT file. You have two options: a. You can just start a WIN-OS2 full screen session or b. You can start the Intel FaxAbility program "seamlessly" The following figures will give you an example of what your WFAX400.BAT should look like. The PATH setting may be different depending on where you have loaded the software. ECHO. PROMPT $i$p$g REM SET DELDIR=C:\DELETE,512;D:\DELETE,512; PATH C:\OS2;C:\OS2\MDOS;C:\OS2\MDOS\WINOS2;C:\;D:\FAX; d:\util LOADHIGH APPEND C:\OS2;C:\OS2\SYSTEM LOADHIGH DOSKEY FINDFILE=DIR /A /S /B $* D:\FAX\CASMGR.EXE D:\FAX\CASMGR.CFG D:\FAX\FAXPOP.EXE winos2.com d:\faxablty\manager.exe exit WFAX400.BAT set for Seamless execution of FaxAbility ECHO. PROMPT $i$p$g REM SET DELDIR=C:\DELETE,512;D:\DELETE,512; PATH C:\OS2;C:\OS2\MDOS;C:\OS2\MDOS\WINOS2;C:\;D:\FAX; d:\util LOADHIGH APPEND C:\OS2;C:\OS2\SYSTEM LOADHIGH DOSKEY FINDFILE=DIR /A /S /B $* D:\FAX\CASMGR.EXE D:\FAX\CASMGR.CFG D:\FAX\FAXPOP.EXE winos2.com exit WFAX400.BAT set for WIN-OS2 session To setup the FaxAbility Icon (which you previously created), you need to modify the object's Settings: 1. Open the settings notebook and enter the following fields: o PATH & FILENAME: d:\faxablty\manager.exe o PARAMETERS: o WORKING DIRECTORY: d:\faxablty 2. Select the SESSION tab and select WIN-OS2 Full Screen from the options presented. 3. Click on the WIN-OS2 (DOS) Settings button to configure the session. 4. Select the DOS_DEVICE option from the list and make sure that the SATISFAX.SYS device driver is loaded. 5. Select the DOS_SHELL option and set the shell command to the following: C:\OS2\MDOS\COMMAND.COM C:\OS2\MDOS /K WFAX400.BAT 6. You may also need to set some of the other settings for better performance. (DOS PERFORMANCE ISSUES) 7. Select SAVE to save the settings. Close the object. You should now be able to double click on the FaxAbility Icon and start the program. ═══ 9.4.4.3. CREATING A FAXABILITY ICON UNDER OS/2 2.1 ═══ To setup the FaxAbility Icon (which you previously created), you need to modify the object's Settings: 1. Open the settings notebook and enter the following fields: o PATH & FILENAME: d:\faxablty\manager.exe o PARAMETERS: o WORKING DIRECTORY: d:\faxablty 2. Select the SESSION tab and select WIN-OS2 Full Screen from the options presented. 3. Click on the WIN-OS2 (DOS) Settings button to configure the session. 4. Select the DOS_DEVICE option from the list and make sure that the SATISFAX.SYS device driver is loaded. 5. Select the DOS_AUTOEXEC option and set the AUTOEXEC command to the DOS batch file you created during installation: C:\FAX400.BAT 6. You may also need to set some of the other settings for better performance. (DOS PERFORMANCE ISSUES) 7. Select SAVE to save the settings. Close the object. You should now be able to double click on the FaxAbility Icon and start the program. ═══ 9.4.5. FAXWORKS, INTEL SATISFAXTION AND OS/2 ═══ This section gives some comments from a Fernwood (BBS) SatisFaxtion 400 user. While there is no official endorsement for any products listed, we have provided this information for users who may be using these products. ═══ 9.4.5.1. Comments from a Fernwood BBS SatisFaxtion 400 User ═══ The best fax modem for OS/2 users is, probably, the Intel Satisfaxtion 400, a 14.4KB fax and data modem with co-processor on board. Co-processed faxing is ideal for a multi-tasking environment. The problem is that Intel rather emphatically says that it does not support OS/2 and gives little help to callers trying to use their modems under OS/2. So let me outline a couple of points I've learned playing with the modem, OS/2 and several fax, communications and BBS packages. The only place where Intel's lack of support for OS/2 has much impact is in the configuration process. The modem works perfectly well with all the OS/2 packages I've tried it with. Normal DOS installation creates two files, Download.400 and Loader.400, which are downloaded to the modem and work perfectly well under OS/2. The only tricky part is the DOS "SetUp" program in the supplied diskettes. This program scopes out your system and assigns I/O addresses and COM ports for fax and data respectively. You can run Setup under OS/2 DOS on some machines without difficulty. Type "Setup noreboot" at the DOS prompt. If Setup has trouble configuring the modem under OS/2 DOS, which happens, you can use Boot Manager or Dual Boot to boot up real DOS and configured the modem that way. My notebook, however, runs only OS/2 HPFS and Setup, run under OS/2 DOS, could not find a com port for the data modem. It insisted on turning the modem off. I tried configuring the modem under real DOS on a much different machine and forcing the values I thought might work on my notebook. The data modem would not function when I installed it with those settings on my notebook. (Intel's tech support had told me that the results of my unsuccessful attempts to find correct com port settings for the data modem meant that it would not run under OS/2 on that notebook system.) But if I have learned anything about OS/2, it is that you should never give up. There is almost always another way to do anything. So I tried the following: I created a 3 1/2 inch DOS boot disk and copied the files from Intel's first 5 1/4 installation diskette onto it. I booted DOS from the floopy and ran Setup from the A: drive. Since I use HPFS, the system did not know about the C: drive and I could not perform some functions that required a C:\ drive directory. But Setup did work perfectly in assigning addresses and ports. I also used Advanced Setup to configure answering mode, etc. Just stay out of any line that prompts for a hard drive directory. You will have to reboot to get out again. When I had finished configuring the modem, Setup wrote the settings to the modem's non-volatile RAM. I then aborted Setup and rebooted OS/2. The modem worked! Once you have configured the modem itself, you just get copies of the two *.400 files supplied (in a *.zip file) on the installation diskette and put them in you FaxWorks directory. You will need to start up FaxWorks in receive mode each time you reboot your system in order to download these files to the modem. One of the great things about the Satisfaxtion 400 is that it will allow you to run both fax and data from the same line without juggling the software. In other words, you can fire up your communications software and access the data modem while FaxWorks is still running in receive mode. (Obviously, you can't fax and modem at the same time.) Intel documentation describes a setting of the modem, when it is the sole owner of a phone line, which allows it to answer the phone, listen for a fax, then send out data modem mating signals for a few seconds and then switch back to fax mode again. In theory, this allows it to answer incoming autodial fax calls, manual dial fax calls and autodial modem calls in the appropriate modes. I tried this with the OS/2 version of the Maximus BBS. The modem was set up to answer on one ring and to own the phone line. FaxWorks was set up to receive on the first ring. Maximus was in the default mode: S0=0 and the BBS software ready to send ATA after one RING. That does not work. S0 must be set to a number greater than 0 or the modem will not attempt to recognize incoming data calls. So I set S0=1 in the initialization string the BBS sends out to the modem and set the BBS to the alternative mode where it responds to the modems autoanswer feature. This half worked. All fax calls were answered as faxes. But modem calls were answered as data calls only until the first fax call came in. After the first fax call, the modem treated all calls as fax calls, until I manually reinitialized the modem by killing and restarted Maximus. Obviously, FaxWorks was reinitializing the modem and setting S0 back to 0, the factory default. So I changed the Initialization string in Maximus by adding "&W&Y" to the end of the string. "&W" stores the configuration in the first of two places in the modem's memory. I figured that FaxWorks probably issued an "ATZ". To be on the safe side, I also added "&Y" which instructs the modem to use the programmed settings at startup. This worked! Here is what happens. The modem picks up at the first ring and listens for a fax tone. If it hears one it tells FaxWorks to pick up. If it does not here a tone, it answers as a modem and tries to handshake. If it succeeds, it tells Maximus to pick up. If it cannot handshake, it sends out fax tones and tried to connect as a fax again. I have each software package configured to turn on the modem's speaker until a connection is established. Each is set at a different volume so I can hear what is going on. If the call is a fax call, the speaker becomes active at the volume set in FaxWorks only after the modem hands the call to FaxWorks. It acts, in other words, just as if FaxWorlks had picked up the call itself. If the call is a modem call, the speaker becomes active at the volume set in Maximus, but only after the modem hands the call to Maximus. I now have my office's EMail & File Transfer BBS and main fax all coming in on the same phone line to my desktop computer running OS/2. This integrates Email and file transfer with fax communications. I can also use my own BBS to retrieve faxes on the road. I intend to install the multi-line version of FaxWorks when it becomes available and run a two line fax and two node Maximus BBS from the same two phone lines and modems. ═══ 10. ISA WORK SHEETS ═══ This section will provide you with ISA Work Sheets to assist you in configuring your system. Should you have any questions about adapter addresses or IRQs, you can take this sheet to the place where you purchased your system and they should be able to assist you in filling it out. The easiest way to print this out is to select the sheet you wish to print and select the COPY to file (under the SERVICES menu). This will copy the section you are in to a file named TEXT.TMP in the current working directory. You can then print this file in text mode. You can also just print from HELP. ═══ 10.1. HARDWARE CONFIGURATION WORK SHEET ═══ *********************************************************************** ** Hardware Configuration Work Sheet ** *********************************************************************** OS/2 Version: _________ CSD Level: ________________________________ Manufacturer: Make,Model,Speed: _____________________________________ BIOS: Make,Date RAM: Cache: _________________________________________ HD1 / HD2: Make,Size,Type: __________________________________________ Partition Info: _____________________________________________________ Floppy Drv: A: ______ B: ______ Tape Drv: _______________________ Video: Make,Chipset,Res,VRAM: _______________________________________ Mouse: Make,Type,Buttons,Emulation: _________________________________ Printer: Make,Model,Emulation: ______________________________________ All Peripherals,Cards,Co-Processor: _________________________________ ______________________________________________________________________ *********************************************************************** ** PHYSICAL (HARDWARE) IRQ SETTINGS ** *********************************************************************** IRQ Settings -The default/common settings are shown. Please indicate the ACTUAL IRQ settings for your hardware: IRQ1: Keyboard__ IRQ2: ____________ IRQ3: __________ IRQ4: ___________ IRQ5: __________ IRQ6: Drv A_______ IRQ7: LPT1______ IRQ8: Clock______ IRQ9: __________ IRQ10: ___________ IRQ11: _________ IRQ12: __________ IRQ13: Math Coprocessor____________ IRQ14: Harddisk_ IRQ15: __________ ======================================================================= ═══ 10.2. OS/2 ERROR MESSAGE & ENVIRONMENT DETAILS ═══ *********************************************************************** ** ERROR MESSAGE AND ENVIRONMENT DETAILS ** *********************************************************************** Error Message/Number, if any: __________________________________________ Where does the error occur: VDM _ OS/2 _ WinOS2 _ On Boot Up _ Config.sys: Is VCOM.SYS: Enabled _ Disabled _ Priority_Disk_IO = ____ Type: Modem _ Fax _ Peripheral (not mouse, e.g. scanner) _____________ COM Port involved: COM1 _ COM2 _ COM3 _ COM4 _ Adapter Name: _________ *********************************************************************** ** MODE COMMAND SETTINGS ** *********************************************************************** Mode COMx parameter settings: BAUD = ____ PARITY = ____ DATABITS = __ STOPBITS = _ TO = ____ XON = ____ IDSR = ___ ODSR = ____ OCTS = ____ DTR = ____ RTS = ____ BUFFER = ____ *********************************************************************** ** DOS_SETTINGS FOR FAILING SESSION ** *********************************************************************** DOS SETTINGS: COM_HOLD = ___ IDLE_SENSITIVITY = ____ % COM_DIRECT_ACCESS = ____ COM_SELECT = ________ COM_RECEIVE_BUFFER_FLUSH = _______________________________________ *********************************************************************** ** CONFIG.SYS SETTINGS ** *********************************************************************** COM.SYS Parms (p#, Addr, IRQ, SI): (_ , ___ , __ , _ ) (_ , ___ , __ , _) PRIORITY_DISK_IO = ______ MAXWAIT = ___________ ═══ 10.3. TRAP & SYS31xx ERRORS ═══ ****************************************************************** ** Full Trap Form (System Halted) ** ****************************************************************** TRAP ____ ERRCD= ____ ERACC= ____ ERLIM= ________ EAX= ________ EBX= ________ ECX= ________ EDX= ________ ESI= ________ EDI= ________ EBP= ________ FLG= ________ CS:EIP= ____ : ________ CSACC= ____ CSLIM= ________ SS:ESP= ____ : ________ SSACC= ____ SSLIM= ________ DS= ____ DSACC= ____ DSLIM= ________ CR0= ________ ES= ____ ESACC= ____ ESLIM= ________ CR2= ________ FS= ____ FSACC= ____ FSLIM= ________ GS= ____ GSACC= ____ GSLIM= ________ THE SYSTEM DETECTED AN INTERNAL PROCESSING ERROR AT LOCATION ## ____ : ________ - ____ : ________ _____ , ____ ________ *** OS/2 VERSION 2 *** INTERNAL REVISION _ . ___ DATE: __/__/__ ***TRAP INFORMATION*** Please indicate the failure mode: OS/2: _ DOS: _ WIN_OS/2: _ ****************************************************************** ** SYS3175 and SYS3176 Error Form ** ****************************************************************** Please give complete message. You may submit a Print Screen in lieu of this form. _______________________________________________________________________ _______________________________________________________________________ ______________________________________________________________________ P1= ________ P2= ________ P3= ________ P4= ________ EAX= ________ EBX= ________ ECX= ________ EDX= ________ ESI= ________ EDI= ________ DS= ____ DSACC= ____ DSLIM= ________ ES= ____ ESACC= ____ ESLIM= ________ FS= ____ FSACC= ____ FSLIM= ________ GS= ____ GSACC= ____ GSLIM= ________ CS:EIP= ____ : ________ CSACC= ____ CSLIM= ________ SS:ESP= ____ : ________ SSACC= ____ SSLIM= ________ EBP= ________ FLG= ________ ═══ ═══ Requires System Level XR06055 or OS/2 2.1. ═══ ═══ Requires OS/2 2.1 or XR09999 ═══ ═══ 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. ═══ ═══ Use the OS/2 SYSLEVEL command to determine which level of the operating system is executing. The Base Operating System Level is located on the SYSLEVEL.OS2 line. A current CSD level of XR02000 indicates that this is OS/2 2.0 General availability (GA) which was released in April, 1992. ═══ ═══ Use the OS/2 SYSLEVEL command to determine which level of the operating system is executing. The Base Operating System Level is located on the SYSLEVEL.OS2 line. A current CSD level of XR06055 indicates that this is OS/2 2.0 General availability (GA) plus the Service Pack which was released in October, 1992. ═══ ═══ Use the OS/2 SYSLEVEL command to determine which level of the operating system is executing. The Base Operating System Level is located on the SYSLEVEL.OS2 line. A current CSD level of XR02010 indicates that this is OS/2 2.1 General availability (GA) which was released in June, 1993. ═══ ═══ Use the OS/2 SYSLEVEL command to determine which level of the operating system is executing. The Base Operating System Level is located on the SYSLEVEL.OS2 line. A current CSD level of XR09999 indicates that this is a future release for OS/2 2.x due MMMM, YYYY.