home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 4 Drivers
/
04-Drivers.zip
/
309k.doc
< prev
next >
Wrap
Text File
|
1994-07-18
|
23KB
|
539 lines
OS/2
Introduction
This OS/2 device driver software documentation is for all of the communication
boards in the DigiBoard PC/X and MC/X series. The software is a fully
interrupt-driven, OS/2 API call compatible device driver, and will support up
to 32 serial communication channels.
Board Differences
The DigiBoard PC/4 and PC/8 boards are nearly identical, 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; 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.)
Hardware Installation
Before proceeding with the software installation instructions for OS/2, you
must first configure your board(s) for the correct I/O port addresses and
interrupt request (IRQ) line(s), and install the board(s) in your computer
system, according to the hardware installation instructions in the Installation
Guide for your board, and the instructions on the following pages.
The device driver allows you to specify I/O address and interrupt parameters
for each board installed; however, for single-board installations, the four
and eight-port boards may be installed with a set of pre-configured addresses
and interrupts, and the driver can be loaded without specifying these para-
meters. The I/O addresses and interrupt parameters must be specified for each
PC/16 board installed.
PC/X Boards
PC/4 and PC/8 Boards
The following page shows the correct DIP switch and jumper settings for the
PC/4 and PC/8 boards in single-board installations (if you have just taken
your board out of the box, it may already be correctly set_in this case, use
the following diagrams to verify the configuration). For configurations other
than the ones given here, refer to the Installation Guide for your board.
Set PC/4 and PC/8 boards up according to the diagrams on the following page.
DS1: Status port set to 140h: Switch 1 2 3 4 5 6 7 8 9 10
on: x - x - x x x x x x
off: - x - x - - - - - -
DIP Switch Settings for I/O Port Addresses
Switch 1 2 3 4 5 6 7 8
DS2: Port 1 set to 100h: on: x - x x x x x x
off: - x - - - - - -
DS3: Port 2 set to 108h: on: x - x x x x - x
off: - x - - - - x -
DS4: Port 3 set to 110h: on: x - x x x - x x
off: - x - - - x - -
DS5: Port 4 set to 118h: on: x - x x x - - x
off: - x - - - x x -
DS6: Port 5 set to 120h: on: x - x x - x x x
off: - x - - x - - -
DS7: Port 6 set to 128h: on: x - x x - x - x
off: - x - - x - x -
DS8: Port 7 set to 130h: on: x - x x - - x x
off: - x - - x x - -
DS9: Port 8 set to 138h: on: x - x x - - - x
off: - x - - x x x -
IRQ Selection for PC/4 & PC/8 Boards.
IRQ |x| | | | | | |x|x|x|x|x|x|x|x| | | | X X | | X X |
3 |x| | | | | | |x|x|x|x|x|x|x|x|x|x| P2 P3
| | | | | | | | | |x|x| Jumper middle 2 pins
J85 J1 --> J10
PC/16 Boards
The Status Port and I/O Port address selections are made in a different manner
for the PC/16 board. Instead of DIP switches, the addresses are programmed
into special integrated circuits called PALs (for Programmable Array Logic).
The PC/16 board has two PAL chips which determine its I/O Port and Status
Port addresses.
The PC/16 must have PAL chips numbered 40000246 (in socket U58) and 4000247
(in socket U46) for the device driver software to work with OS/2. If for
some reason you have different PAL chips, call DigiBoard Customer Service at
(612) 943-9020.
---------------------------------------- __
| |-|
| | |
| Pal Chips | |
| u46 |-|
|______________u58______ __| |
|____________| |
Three jumpers must be installed on the PC/16 board to complete the hardware
configuration. To select IRQ3, place a jumper on J2, as shown below. Other
IRQs may be selected (see the PC/X and MC/X Installation Guide).
IRQ | |x| | | | |
3 | |x| | | | |
|
J2
A jumper must also be installed across pins 2 & 3 (the bottom two pins) of J7.
See the figure below:
| |
|x|
J7 |x|
Finally, be sure that there is a jumper installed on the daisy-chain connector,
P3, located in the upper right-hand corner of the board.
P3 |XX|
Custom Installation
Choosing Your Own Addresses and Interrupts
If you are installing multiple PC/X boards, or if you wish to use address and
interrupt parameters other than the default selections, you can custom-
configure your board(s) with parameters of your choice. See the guidelines
below for setting up your own I/O Port and Status Port addresses.
I/O Port and Status Port Address for 4 and 8-Port Boards
Each PC/X board must have its own unique I/O Port and Status Port addresses, as
well as a unique IRQ selection. Each range of addresses you choose must not be
used by any other device in your computer.
When loading the OS/2 device driver, only the Status Port address is specified.
The driver expects to find the I/O Ports in the 64 bytes (40 hex) preceding the
Status Port (each I/O Port uses eight contiguous bytes). Thus, if the Status
Port address is set to 140h, the I/O Ports must begin at 100h. If the Status
Port is addressed at 2A0h, the I/O Ports must begin at 260h. See the Install-
ation and Reference Manual for your board for details on how to set I/O Port
and Status Port addresses.
Here are some legal address combinations for the four and eight-port PC/X
boards.
Status Serial Port
Port (Channel)
1 2 3 4 5* 6* 7* 8*
140h 100h 108h 110h 118h 120h 128h 130h 138h
188h 148h 150h 158h 160h 168h 170h 178h 180h
250h 210h 218h 220h 228h 230h 238h 240h 248h
2A0h 260h 268h 270h 278h 280h 288h 290h 298h
*8-port boards only
This manual shows the suggested DIP switch and jumper settings for installing
one board. A Status Port address of 140h is chosen, resulting in I/O Port
addresses of 100h, 108h, 110h, 118h, 120h, 128h, 130h and 138h. If you choose
to use these settings, set your DIP switches as shown in the figures. If you
are installing more than one board, you'll have to pick more addresses as de-
scribed above.
When setting the DIP switches on the PC/4 and PC/8 boards, switches 8, 9 and
10 of switch bank DS1 and switch 8 of switch banks DS2_DS9 (DS2_DS5 for the
PC/4) must be set to "ON" to enable the ports.
Choosing an Interrupt
Each PC/X board installed must have its own unique Interrupt Request line
(IRQ), and the IRQ you choose must not be used by any other device in your
computer. The IRQ choices are: 2, 3, 4, 5, 6, and 7. Each board uses a single
IRQ for all of its channels. See the Installation Guide for your board for
information on selecting the IRQ. Note that while the PC/X board can support
two separate IRQ lines on one board, the OS/2 driver supports only one IRQ
per board.
Remember which addresses and interrupts you choose for each board. You will
have to supply this information when loading the device driver.
MC/X Boards
MC/X boards are configured through the POS (Programmable Option Select)
feature of Micro Channel computers. To install and configure your MC/X board,
follow the instructions in the PC/X and MC/X Installation Guide.
1. Boot your system from the IBM Reference Diskette.
2. Make a working copy of the reference diskette by selecting the "Backup the
Reference Diskette" option.
3. Select the "Copy an Option Diskette" option, and follow the instructions on
the screen to copy the ADF (Adapter Description File) files from the
DigiWARE ADF Files diskette to the working copy of the reference diskette
just created.
4. Turn off the computer and install the MC/X board in an available slot in
your computer. Follow the instructions in the MC/X Installation Guide.
5. Boot the system from the working copy of the IBM reference diskette made in
Step 3. Run the Automatic Configuration.
6. Select "View Configuration". You will see something like the following:
View Configuration
Slot 3 - DigiBoard MC/8
UART Address Range . . . . . . . . . . . . . 0xDB80 -> 0xDBC0
Com2 Status . . . . . . . . . . . . . . . . Disabled
Interrupt Select . . . . . . . . . . . . . . INT 5
Make a note of the UART Address Range and the Interrupt Select. This is the
information you will need to set up the OS/2 Driver. Also verify that "Com2
Status" is set to "Disabled". If it is not, you can change it by selecting
the "Set Configuration" menu.
The UART Address Range provides only the address of the first port on the
board, and the address of the status port. The following list provides all
of the addresses needed to configure the OS/2 device driver:
MC/4, MC/8:
0xDB80 * 0xDBC0
DB80h, DB88h, DB90h, DB98h,
DBA0h, DBA8h, DBB0h, DBB8h.
0xDC00 * 0xDC40
DC00h, DC08h, DC10h, DC18h,
DC20h, DC28h, DC30h, DC38h.
0xBB80 * 0xBBC0
BB80h, BB88h, BB90h, BB98h,
BBA0h, BBA8h, BBB0h, BBB8h.
0xBC00 * 0xBC40
BC00h, BC08h, BC10h, BC18h,
BC20h, BC28h, BC30h, BC38h.
0xAB80 * 0xABC0
AB80h, AB88h, AB90h, AB98h,
ABA0h, ABA8h, ABB0h, ABB8h.
0xAC00 * 0xAC40
AC00h, AC08h, AC10h, AC18h,
AC20h, AC28h, AC30h, AC38h.
0xCB80 * 0xCBC0
CB80h, CB88h, CB90h, CB98h,
CBA0h, CBA8h, CBB0h, CBB8h.
If you are installing an MC/4 board, only the first four addresses in each
list are pertinent.
MC/16:
0x3000 * 0x307F
3000h, 3008h, 3010h, 3018h, 3020h, 3028h, 3030h, 3038h,
3040h, 3048h, 3050h, 3058h, 3060h, 3068h, 3070h, 3078h.
0x4000 * 0x407F
4000h, 4008h, 4010h, 4018h, 4020h, 4028h, 4030h, 4038h,
4040h, 4048h, 4050h, 4058h, 4060h, 4068h, 4070h, 4078h.
0x4100 * 0x417F
4100h, 4108h, 4110h, 4118h, 4120h, 4128h, 4130h, 4138h,
4140h, 4148h, 4150h, 4158h, 4160h, 4168h, 4170h, 4178h.
0x4200 * 0x427F
4200h, 4208h, 4210h, 4218h, 4220h, 4228h, 4230h, 4238h,
4240h, 4248h, 4250h, 4258h, 4260h, 4268h, 4270h, 4278h.
0x4300 * 0x437F
4300h, 4308h, 4310h, 4318h, 4320h, 4328h, 4330h, 4338h,
4340h, 4348h, 4350h, 4358h, 4360h, 4368h, 4370h, 4378h.
0x5000 * 0x507F
5000h, 5008h, 5010h, 5018h, 5020h, 5028h, 5030h, 5038h,
5040h, 5048h, 5050h, 5058h, 5060h, 5068h, 5070h, 5078h.
0x6000 * 0x607F
6000h, 6008h, 6010h, 6018h, 6020h, 6028h, 6030h, 6038h,
6040h, 6048h, 6050h, 6058h, 6060h, 6068h, 6070h, 6078h.
0x7000 * 0x707F
7000h, 7008h, 7010h, 7018h, 7020h, 7028h, 7030h, 7038h,
7040h, 7048h, 7050h, 7058h, 7060h, 7068h, 7070h, 7078h.
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. (e.g. 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.
For MC/X boards, address and IRQ information is taken directly from the
computer's POS (Programmable Option Select) registers, so the parameters
portion may be omitted if you wish to use the default device names, baud
rate and data type.
DigiBoard 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 OS/2 standards of 1200 Baud,
7 data bits, 1 stop bit, even parity, and RTS control-mode.
Command Line Arguments
There are both global as well as per-card arguments that can be specified on
the device driver 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. Each card in your system must
be fully described by these arguments.
Global Arguments (PC/X and MC/X Boards)
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 beginning on page 45 of this manual.
/n:device_names
Sets up the naming algorithm to be used to generate device names. This con-
sists 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 ...
/b:baud_rate
OS/2 sets all serial devices to 1200 baud at initialization time. Use this
option to set a different baud rate.
Example:
/b:9600 Set all channels to 9600 baud.
/d:data_type
OS/2 sets all serial devices to even parity, 7 data bits and 1 stop bit at
initialization time. Use this option to override those values. The syntax is
Parity Data Stop (without spaces), where Parity is E, O or N for "Even",
"Odd" or "None"; Data is 8, 7, 6 or 5; and Stop is 1 or 2. All three values
MUST be provided.
Example:
/d:N81 Set all channels to no parity, 8 data bits, 1 stop bit.
Per-Card Arguments (PC/X Boards 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 specifies the top of the range
of I/O Port addresses that will be used by a PC/X board. This address should
correspond to the dip-switch setting for the Status Port. Individual channel
port addresses 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 8 = 278h
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 board.
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)
/c:16 (PC/16)
Command Line Example
This two-card example uses the preceding GLOBAL examples, and sets the two
eight-channel boards to:
Board 1: Status Port=140
IRQ 4
Board 2: Status Port=188
IRQ 3
A command line for the above parameters would read:
device=dgx.sys /n:"digi"0 /b:9600 /d:N81 /p:140 /i:4, /p:188 /i:3
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 board. Next, try powering down the system and then bringing it back
up. If it still fails, call DigiBoard Technical Support.
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.
DMODE I/O Port Configuration Utility
DMODE is DigiBoard's I/O channel configuration utility. DMODE functions like
the OS/2 MODE command, but is more flexible, and provides some added features.
* Supports communications device names other than COM1-COM8 (e.g.
COM9, DIGI2, etc).
* Timeout, handshake modes, etc. can be specified without affecting baud rate,
data type, etc.
* Any single parameter may be changed without causing all others to be reset
to default values.
* Maintains the familiar MODE syntax.
DMODE arguments may be entered in any order, and in many cases may be
abbreviated. For example, a baud rate of 19,200 may be entered simply as "19",
since within the context of the DMODE command, "19" cannot be interpreted as
anything else. Arguments may be separated by spaces or commas, and unspecified
parameters are left unchanged. DMODE returns the settings of all parameters
after any requested changes have been made. If no parameters are given, DMODE
simply returns the current settings.
The syntax of DMODE is: dmode port_name [parameters]
Port names and parameters are not case sensitive, so upper and lower case
letters may be freely mixed without effect on the operation of the DMODE
command. The following parameters are accepted:
Baud rates can be specified with 2 to 5 digit designations, according
to the following table:
Accepted Values Baud Rate
11 110 110
15 150 150
30 300 300
60 600 600
12 120 1200 1200
24 240 2400 2400
48 480 4800 4800
96 960 9600 9600
19 192 1920 19200 19200
Character Length
Characters may be 5, 6, 7 or 8 bits long. Enter the appropriate number in the
DMODE arguments.
Parity Enter the desired parity checking method with a single letter E, O,
N, M or S for Even, Odd, None, Mark or Space.
Stop Bits Enter the desired number of stop bits. Recognized values are 1, 2
and 1.5.
Flags DMODE supports the following flags in the same way as the OS/2
MODE command. Refer to your OS/2 documentation for explanations
of the flags. To set a flag, enter the mnemonic for the flag,
followed by an equals sign (=), and the desired value (ON, OFF,
etc.).
Read Timeout Flag
TO=ON Read timeout in effect
TO=OFF No timeout
XON/XOFF Handshake Flag
XON=ON XON/XOFF handshaking enabled
XON=OFF XON/XOFF handshaking disabled
Input DSR Sensitivity
IDSR=ON Enables Input DSR Sensitivity
IDSR=OFF Disables Input DSR Sensitivity
Output DSR Sensitivity
ODSR=ON Enables Output DSR Sensitivity
ODSR=OFF Disables Output DSR Sensitivity
Output Handshake on CTS
OCTS=ON Enables CTS output flow control
OCTS=OFF Disables CTS output flow control
DTR Signal Control
DTR=ON Sets DTR to "ON" or HIGH
DTR=OFF Sets DTR to "OFF" or LOW
DTR=HS DTR used for output flow control
RTS Signal Control
RTS=ON Sets RTS to "ON" or HIGH
RTS=OFF Sets RTS to "OFF" or LOW
RTS=HS RTS used for output flow control
RTS=TOG Toggles RTS from LOW to HIGH, or from HIGH to LOW
Alt-Pin Processing
ALT=ON Internally "swaps" DSR and DCD signals (see
explanation below)
ALT=OFF DSR and DCD are not swapped
DigiBoard products use 10-pin RJ-45 connectors in order to support
all of the signals normally available on a 9-wire RS-232 connection.
However, many commercially available RJ-45 connectors have only
8 pins. 8-pin RJ-45 plugs will fit in a 10-pin jack, but the first and
last pins (numbers 1 and 10) are not connected. DigiBoard uses
these pins for the modem control signals RI (Ring Indicator, pin 1)
and DCD (Data Carrier Detect, pin 10). While Ring Indicator is
rarely a concern (since most modems have auto-answer capability),
Data Carrier Detect is often monitored to insure that the modem has
established, and is maintaining, a valid connection with a remote
modem.
To facilitate the use of 8-pin RJ-45 connectors in modem
applications, a special DMODE flag, ALT, has been provided. ALT
instructs the device driver to monitor pin 2 for DCD instead of pin
10. The DSR (Data Set Ready) signal, normally on pin 2 is switched
to pin 10. Since most programs don't monitor DSR, this signal can
be safely ignored. See the Installation Guide for your board for cabling
diagrams and pin assignment charts for DB-25 and RJ-45 connectors.
Examples
dmode digi12
Returns the current settings of device digi12. No changes are made.
dmode com5 2
Configures COM5 for 2 stop bits. All other parameters remain unaffected.
dmode com5:19 rts=ON
Configures COM5 for a baud rate of 19,200 and sets RTS to "ON" or HIGH.
dmode com5 8
Configures COM5 for 8 data bits. No other parameters are affected.
dmode comdev83 IDSR=OFF, TO=off e 7 12
Sets COMDEV83 to disable Input DSR Sensitivity, disable input timeout,
select even parity, 7 data bits and a baud rate of 1200.
dmode com5 19 ALT=ON
Sets up COM5 for a baud rate of 19,200, and enables Alt-Pin Processing.
dmode com5 e alt=off
Sets COM5 for even parity checking and disables Alt-Pin processing.