PC/X - MC/X - MODEM/X OS/2 92000043C Software Installation and Operation Manual for DigiCHANNEL PC/X DigiCHANNEL MC/X DigiCHANNEL MODEM/X OS/2 DBI 92000043C DigiBoard, DigiCHANNEL, DigiWARE, DigiCHANNEL PC/X DigiCHANNEL MC/X and DigiCHANNEL MODEM/X are trademarks of DigiBoard. All other brand and product names are the trademarks of their respective holders. DigiBoard Incorporated 1990, 94 All Rights Reserved DigiBoard 6400 Flying Cloud Drive Eden Prairie, MN 55344 (612) 943-9020 Information in this document is subject to change without notice and does not represent a commitment on the part of DigiBoard. DigiBoard provides this document as is, without warranty of any kind, either ex- pressed or implied, including, but not limited to, the particular purpose. Digi- Board may make improvements and/or changes in this manual or in the product(s) and/or the program(s) described in this manual at any time. This product could include technical inaccuracies or typographical errors. Changes are periodically made to the information herein; these changes may be incorporated in new editions of the publication. NOTES Introduction This OS/2 device driver software documentation is for all of the communication boards in the DigiCHANNEL PC/X, MC/X and MODEM/X series. The software is a fully interrupt-driven, Microsoft API call-compatible device driver, and will support up to 32 serial communication channels. Board Differences The DigiCHANNEL PC/4 and PC/8 are nearly identical boards, the PC/4 merely having four fewer channels. The DIP switch and jumper setting procedures are the same for these boards, as is the device driver software installation. The PC/16 has no DIP switches to set, as its addresses are burned into PAL (Programmable Array Logic) chips. The device driver software installation is the same as for the PC/4 and PC/8, with the exception that the Per-Card parameters are required. (The default settings are for the PC/4 or PC/8, and won't work with the PC/16.) The MC/X boards are all configured through the POS Setup utilities. Software Installation To install the OS/2 device driver, simply copy the file DGX.SYS from the OS/2 device driver diskette onto your hard disk. Then use a text editor to add the line DEVICE=DGX.SYS [parameters] to the CONFIG.SYS file. Note that if DGX.SYS is not in the root directory, you will have to give its full pathname. (Example: DEVICE = C:\BIN\DGX.SYS). If you are installing a single four or eight-port board with the default parameters , the parameters portion may be omitted. DigiCHANNEL PC/16 users must enter the line above with Per-Card Parameters as follows: DEVICE=DGX.SYS /P:140 /C:16 /I:IRQ where IRQ is the Interrupt Request line you have selected for the board. Default Device Names With one board in the system, the default names for the devices are COM3, COM4, COM5, COM6, COM7, COM8, COM9, COM10... Default modes for each of the channels follow the MS-OS/2 standards of 1200 Baud, 7 data bits, 1 stop bit, even parity, and RTS control-mode. Command Line Arguments to the Device Driver There are both global as well as per-card arguments that can be specified on the command line. If any arguments are given, the defaults in the data segment of the driver will be ignored. Use a comma ( , ) to separate sets of arguments for each card in your system. For the PC/X each card in your system must be fully described by these arguments. For MicroChannel systems (MC/X) only the below global type arguments apply. Global Arguments The following Global Arguments set parameters for all channels on all boards controlled by the device driver. To change parameters for individual ports, use the utility DMODE.EXE provided on the distribution diskette with the driver. DMODE.EXE is discussed at beginning on of this manual. /n:device_names Sets up the naming algorithm to be used to generate device names. This consists of an optional new stem followed by the starting device number. Without the new stem, the stem name COM will be used. Quotes are mandatory to set a new stem. Without a number, 3 is assumed. Examples: /n:"digi"0 DIGI0, DIGI1, DIGI2 ... /n:4 COM4, COM5, COM6 ... /n:"digi" DIGI3, DIGI4, DIGI5 ... Per-Card Arguments (PC/X cards only) Per-Card arguments MUST be in complete sets identifying the Status Port address and IRQ number. The preceding global arguments may be given without interfering with the default Per- Card settings in the driver file. Each board in your system must be fully described by these Per-Card arguments. Use a comma to separate the board sets from one another. Also note that the channel numbers (COM3, COM4, etc.) will be assigned to the boards in the same order in which the per-card arguments are given. /p:Status Port Address Set the Status Port address. This argument speci- fies the top of the range of I/O Port addresses that will be used by a PC/X or MODEM/X board. This address should correspond to the dip-switch setting for the Status Port. Individual channel port ad- dresses should then begin 40 (hex) bytes below this address, occupying a contiguous block. Example: /p:280 (set Status Port address to 280h) I/O Port for Channel 1 = 240h I/O Port for Channel 2 = 248h I/O Port for Channel 3 = 250h . . . I/O Port for Channel 8 = 278h DigiCHANNEL PC/16 users must specify a Status port address of 140h, as follows: /p:140 /i:IRQ Sets the IRQ line number to one of the legal options for the PC/X or MODEM/X. Example: /i:5 (set card to IRQ 5 decimal) /c:channels Sets the number of channels (either 4, 8 or 16). This is required for four and sixteen-port boards. If omitted, eight ports is assumed. Examples: /c:4 (PC/4 or MODEM/4) /c:16 (PC/16) /u:uart address permits the user to specifiy the starting UART addresses for daisy chained boards (boards joined by daisy chained cables, sharing the same IRQ level, and set to the same status port address). All UART addresses on the PC/8 card must be contiguous starting with the address specified (100 108 110 ...). Only boards of the same type may be daisy-chained together; 8 port cards can only be daisy-chained with other 8 port cards, 4 port cards with 4 port cards and so on. The status port option "/p:" must be specfied before the "/u:" option. Multiple Uart addresses ("/u:") (one for each board configured) must be specified in the same order as their board ID#'s set on the card. Daisy-chained PC/16's must use DOS pals #1 and #2 for boards 0 and 1 and must be specified with /u:100 and /u:188 along with the /c:16 specifer. Examples: 4 PC/8 cards configured as follows: Board ID# 0 : Addresses @ 200h 208h 210h 218h 220h 228h 230h 238h Board ID# 1 : Addresses @ 100h 108h 110h 118h 120h 128h 130h 138h Board ID# 2 : Addresses @ 300h 308h 310h 318h 320h 328h 330h 338h Board ID# 3 : Addresses @ 248h 250h 258h 260h 268h 270h 278h 280h All status ports set to 140h device=dgx.sys /p:140 /u:200 /u:100 /u:300 /u:248 /i:5 2 PC/16 cards Cards must have DOS pals #1 and #2 which configures both card's status ports @ 140h, IRQ 5 and starting port addresses @ 100h and 188h. device=dgx.sys /p:140 /c:16 /u:100 /u:188 /i:5 /b:baud Sets the default baud rate to be used for all ports. If this parameter is not specified, all ports will be set to the OS/2 default of 1200 baud. Baud rates of up to 230,000 are supported. Use the DMODE.EXE command to set baud rates of individual ports. Example: /b:9600 Initializes all ports to 9600 baud. /d:dtype Sets the initial data type (parity, character length and number of stop bits). If this parameter is omitted, the OS/2 default data type of even parity, 7 data bits and 1 stop bit is used. The syntax is [pds], where p is E, O or N; d is 8, 7, 6 or 5; and s is 1 or 2. All three values must be supplied, in the correct order. Example: /d:N81 No parity, 8 data bits, 1 stop bit. /s:sigs_off Forces modem control output signals off on port open. /s:d DTR remains low or off on port open. /s:r RTS remains low or off on port open. /s:dr DTR & RTS remain low or off on port open. /a:a Enable the alternate pin assignment of Data Carrier Detect (DCD) for all ports. This swaps the way the driver interprets the DSR and DCD input pins. When Alt-Pin processing is enabled, transit- ions on DSR are reported by the driver as DCD transitions. This is only of benefit on 8-pin RJ-45 and 6-pin RJ-11 connectors where the physical DCD pin is not available. To use this option, ensure that your cabling physically routes the DCD signal to the DSR pin. /a:q Disables "quick writes". The use of this switch causes the driver to mimmic the COM.SYS write routine, where DosWrite's will not return until the transmit data has left the card or a timeout occurs. The driver defaults to "quick writes" ENABLED to enhance performance by returning as soon as the transmit data is copied to the driver's buffers. Thus an application can perform other functions while the driver is transmitting the data and can also keep the transmit buffers topped off with subsequent DosWrite()'s. for better throughput. Generally, this switch should not be used unless the "quick write" nature of the driver causes difficulties for a particular application. Troubleshooting If, after installation, the device driver software comes up with a problem message, first check that your configuration matches the DIP switch settings on the DigiCHANNEL card. Next, try powering down the system and then bringing it back up. Something that can cause problems is the issue of contention for device names. To help diagnose this, a quick and reliable experiment to try is to temporarily comment out the lines (by placing the word 'rem' at the start of the lines) DEVICE=\OS2\COM.SYS DEVICE=\OS2\VCOM.SYS and reboot your system. If this improves things, then try using the /n: flag above to name the DigiBoard devices something else besides COM. If it still fails, call DigiBoard Technical Support at 612-943-9020. In general, a good way to test the basic functionality of the driver is to hook up a terminal to one of the ports (COM3 for example), set it up for the correct Baud rate, Handshake, and Data type characteristics, and then simply try to re-direct output to it from the command prompt. For example: C:\>dir > com3 If the terminal is set up correctly (the above defaults are typical) you should get the directory listing coming out on it. If there is no output, or if the above command hangs, then you may need some technical support. It is possible that the board is not functioning properly.