Contents:
Programming
The interface provided by Stallion Technologies
serial ports is almost a complete implementation of the OS/2 ASYNC Driver
specification. A few exceptions occur in the Category 1 ASYNC IOCTLs.
These won't affect the average serial port application.
Function: Description
43: Extended Set Bit
Rate
Ignores 'Fraction' parameter. The 'Fraction'
value represents the fraction of the bit rate to set. It is used for
setting a very precise bit rate. In most cases, this field is set to
zero.
44: Transmit Byte Immediate
Byte is not sent ahead of characters already
in the driver buffers. This is generally used to manually send XON and
XOFF characters. Byte is flushed due to a TX flush request.
Normally the Byte should not considered a part
of the normal transmit Queue, and is not flushed do to a flush request.
47: Behave as if XOFF
Received
Ignored. This function should behave
as if XOFF was received.
53: Set DCB Parameters
DSR output handshaking is ignored
Flags1, Bit 4 set enables output handshaking using DSR.
DCD output handshaking is ignored. Flags1, Bit
5 set enables output handshaking using DCD.
DSR input sensitivity is ignored. Flags1, Bit
5 set enables input sensitivity using DSR. Input is ignored when DSR
is low.
Automatic Receive Flow Control is always set
to Full Duplex. Flags 2, Bit 5 clear set Normal Control, which
stops the transmitter if the receiver has asked for a XOFF to be sent.
This allows for machines that use Unix IXANY like flow control.
RTS Control Mode, Toggling on transmit is ignored.
Flags2, Bits 6-7, set to '1 1' enables RTS to toggle high when sending
data, and low when idle.
64: Query COM Status
Status - Tx Waiting for CTS not reported. Bit
0, set to 1 when Tx is flow control by CTS being LOW.
Status - Tx Waiting for DSR not reported. Bit
1, set to 1 when Tx is flow control by DSR being LOW.
Status - Tx Waiting for DCD not reported. Bit
2, set to 1 when Tx is flow control by DCD being LOW.
Status - Tx Waiting because XOFF received not
reported. Bit 3, set to 1 when Tx is flow control by XOFF char being
received.
Status - Tx Waiting because XOFF transmitted
not reported. Bit 3, set to 1 when Rx is flow controlled by issuing
XOFF char and rx flow control mode is set to 'Normal'.
Status - Character waiting to transmit immediately
not reported.
Status - Receive waiting for DSR not reported
65: Query Transmit Data
Status
Status - Character Waiting to be tx'ed immediately
not reported. Bit 3, set to 1 while waiting to send character immediately.
Status - Waiting to automatically tx an XON
not reported. Bit 4, set to 1 while waiting to send XON automatically.
Status - Waiting to automatically tx an XOFF
not reported. Bit 5, set to 1 while waiting to send XOFF automatically.
The CONFIG.SYS Entry
DEVICE=<path>EASY.SYS
[/b {Type=<type> | Slot=<slot> | PCI=<brd number>},
[<config item> [, <config item> ...]]] [/b ...]
Items within '[]'s are optional.
At least one of the '|' seperated items within
'{}'s must selected.
/b : starts configuration of each adapter (maximum
of four adapters)
Note:
EasyConnection specific items are
listed in purple text.
<config item> is one of:
- T[ype] = <type>
- S[lot] = <slot>
- PC[i] = <board number>
- P[ort] = <port>
- O[port] = <oport>
- R[am] = <ram>
- I[rq] = <irq>
- F[irst] = <first>
- TX[buf] = <txbufsize>
- RX[buf] = <rxbufsize>
- PC[i]
- MAPR[ts]
- MAPC[ts]
Where:
Type=<type> is easyio. Type of board
in ISA/EISA machine. No default.
Port=<port>: <hex number> eg 2A0
Primary I/O Port address of board. Used by all adapters. Defaults
to factory setting.
Irq=<irq> : <dec number> eg 15
Interrupt request number of adapter. Used by EasyIO Adapters.
Default is 15.
Oport=<port>: <hex
number> eg 280 Secondary I/O
Port address of board. Used by EC 8/32 adapters. Default is 280,
if anothr EC 8/32 has been previously defined, it defaults to share
the same address.
The following options are not normally required:
First=<first> : <dec number>
eg 99 Number component of name of first port of the adapter. Thus
F=99 would produce COM99, COM100, .... Used by all adapters.
Default for first adapter identified is the number of native ports +
1. Default for following boards is the next contiguous number after
the previously identified adapter.
TXbuf=<txbufsize> : <dec number>
eg 128 Size of transmit buffers Used by all adapters. Default
is adapter specific. Note: all EasyIO adapters must use the one common
size.
RXbuf=<rxbufsize> : <dec number>
eg 1024 Size of receive buffers Used by all adapters. Default
is adapter specific. Note: all EasyIO's must use the one size.
Slot=<slot>: <dec
number> eg 2 To change
default attributes of adapters automatically detected by EISA or MCA
BIOS's, the slot can be specified and attributes changed. The
only other attributes that can be chaned in conjuction with 'Slot' are
'First','TXbuf', 'RXbuf', 'MAPRts' and 'MAPCts'. This has no default.
PCi=<board number>: <dec number>
eg 2 To change default attributes of adapters automatically
detected by PCI BIOS's, the board number can be specified and attributes
changed. The only other attributes that can be changed in conjunction
with 'PCi' are 'First','TXbuf', 'RXbuf', 'MAPRts', and 'MAPCts'.This
has no default.
MAPRts Enables the mapping
of RTS to DTR.The driver will report the value of DTR to be the same
as RTS. Used by all adapters. Default is to disable this.
MAPCts Enables the mapping of CTS
to DCD.The driver will report the value of DCD to be the same as CTS.
Used by all adapters. Default is to disable this.
Example:
EasyIO 8M. The user needs all the ports
to MAP RTS to DTR and MAP CTS to DCD for modem applications.
DEVICE=C:\OS2\EASY.SYS
/b type=EasyIO,port=2a0,irq=15,mapcts,maprts
Requirements and Limitations
1.
DOS and Windows applications cannot directly access the
Stallion COM ports as a Virtual COM driver is not supplied.
2. The Application
Server can not use a Stallion COM port to connect a mouse as a Mouse
COM driver is not supplied.
3.
Some Stallion Ports do not provide DSR input MODEM signal,
and in these cases, always report it as asserted.
4. DSR and DCD
flow control are not supported in this release.
Citrix WinView
Introduction
This document describes how to install the Stallion OS/2 Drivers in
the Citrix WinView server.
Installation
When the installation prompts you to select the type of multi-port adapter
installed in your WinView server computer, select the 'No multi-port
adapter installed.'
You are required to manually install the Stallion
driver after the application server installation.
Manual Installation
1. Log into the application server
as a System Administrator.
2. Start an OS/2 Command Prompt.
3. Insert the Stallion Driver diskette
into Drive A
4. Run the command
C:\OS2\INSTALL\RSPDDI
This will copy the Stallion device drivers from the Diskette and place
them into the directory C:\OS2 on the application server.The following
files are copied
A:\OS2\EASY.SYS -> C:\OS2\EASY.SYS
A:\OS2\EMODE.EXE -> C:\OS2\EMODE.EXE
A:\OS2\EDIAG.EXE -> C:\OS2\EDIAG.EXE
A:\OS2\ETEST.EXE -> C:\OS2\ETEST.EXE
In addition C:\CONFIG.SYS will have an entry placed into it for the
Stallion Driver. DEVICE=C:\OS2\EASY.SYS
5. If your application server computer
uses an ISA bus then you will need to use the system editor to modify
the entry in CONFIG.SYS for each Stallion Multiport Adapter installed.
The following example uses the Factory supplied settings.
EasyIO Port=2A0, Irq=15:
DEVICE=C:\OS2\EASY.SYS /btype=easyio
6. The system should be shutdown,
Stallion Multiport Adapters inserted and restarted.The Stallion COM
ports will now be available to the application server, and will be
named consecutively after the last built-in asynch COM ports.
Requirements & Limitations
1. DOS and Windows applications cannot
directly access the Stallion COM ports as Stallion does not provide
a Virtual COM driver.
2. The Application Server cannot
use a Stallion COM port to connect a mouse as Stallion does not provide
a Mouse COM driver.
3. Some Stallin Ports do ont provide
DSR input MODEM signal, and in these cases, always report it as asserted.
4. DSR and DCD flow control are not
supported in this release.
Description of
Initialization Errors
Error 0001:
board Type not supported. Driver Internal Error, report
to Stallion support.
Error 0002:
GSI BRD_CONFIG failed [%d]! Invalid Configuration
settings were passed to the driver. Internal error number
'%d'.
Error 0003: Board
not found. Using the Configuration settings provided on the command
line the driver was unable to initialise and locate the board.
Error 0004:
No panels found! No panels are connected to the EasyConnection
board.
Error 0004:
No adapter cables found! No adapter cables are connected
to the Easy Connection board.
Error 0005: Maximum
of %d adapter cables per board has been exceeded. Too many adapter cables
are connected to the Easy Connection board. At most '%d' adapter
cables are allowed per board.
Error 0006: No
ports found! No Functioning ports were located.
Error 0007: Too
many ports (%d) on adapter cable %d Driver Internal Error, report
toStallion support.
Error 0008: Unable
to Download board, error %d! Driver was unable to program the EC 8/64
processor. Possible hardware failure.Error number '%d'.
Error 0009: Adapter
signature not found. Driver was unable to locate the EC 8/64 Adapter
RAM signature. Possible hardware failure, or RAM address incorrect.
Error 0010: GSI
BRD_SEEK to %lx failed.
Error 0011: GSI
board write fail %d != %d
Error 0012: GSI
BRD_SEEK to %lx failed.
Error 0013: GSI
board read fail, %d != %d Driver was unable to program the EC
8/64 processor. Possible hardware failure.
Error 0014: Too
many boards, Maximum = %u
Error 0015: Too
many boards, Maximum = %u The Driver only supports a maximum of
'%u' Stallion boards.
Error 0016:
MCA get identity failed %d
Error 0017: MCA
abioscall(GET_LID_...) failed %d
Error 0018: MCA
abioscall(READ_POS) failed %d Driver was unable to access MCA
EBIOS to automatically locate Stallion boards.Internal error number
'%d'.
Error 0019: Unable
to set timer for polling.
Error 0020: Unable
to register interrupt IRQ=%d
Error 0021:
Unable to register stack usage IRQ=%d Driver was unable
to gain an OS/2 resource it requires. It is possible they have all been
consumed. For IRQ's it is possible that another device has claimed it
first.
Error 0022: '%S'
too big for '%S'
Error 0023: '%S=%S'
contains invalid character '%c'
Error 0024: '%S'
too big for '%S'
Error 0025: '%S'
too big for '%S'
Error 0026: '%S=%S'
contains invalid character '%c'
Error 0027: '%S'
too big for '%S' Invalid number '%S' has been provided for a configuration
item '%S'
Error 0028: Invalid
board type '%S=%S' Invalid board type name '%s' was used.Valid
board types are EC8-64, EC8-32, EasyIO.
Error 0029: Parameter
syntax error '%S=%S'
Error 0030: Invalid
parameter '%S=%S'
Error 0031: Parameter
'%S' must%s have a value. A syntax error has been detected.The
particular parameter '%S'has an invalid argrment '%S'.
Error 0032:
Either 'Type' or 'Slot' must be specified. For each /b, either
a Type= or Slot= must be provided.
Error 0033:
Slot cannot be used with Type, Port, Ram, OPort or Irq.
You cannot override the EISA or MCA configured settings for Type, Port,
Ram, OPort or Irq.
Error 0034: 'First'
value of %u is to large Maximum value is 1000
Error 0035: 'TXbuf'
value of %u out of range
Error 0036: 'RXbuf'
value of %u out of range. The buffer override value '%u' is out
of range. Maximum value is 4096, minimum value is 32
Error 0037: 'Slot'
value of %u out of range. Maximum value is 16.
Error 0038:
Board not found in 'Slot=%u'. A Stallion board was
not found in the Slot that is being updated.
Error 0039: Invalid
parameters specified for 'Type=%s'. A configuration item specified
was not needed for the board type specified. For example, Ram=d0000
is not valid for Type=easyio as it does not have and on-board RAM.
Error 0040: 'Mem=%lx'
invalid for 'Type=%s'
Error 0041:
'Port=%x' invalid for 'Type=%s'
Error 0042: 'Port=%x'
for 'Type=%s' clashes
Error 0043: Default
'Port' clashes for 'Type=%s'
Error 0044: 'OPort=%x'
invalid for 'Type=%s'
Error
0045:
'Irq=%u' invalid for 'Type=%s'
Error 0046: 'Irq=%u'
for 'Type=%s' clashes
Error 0047: Default
'Irq' clashes. Either the configuration item value is not legal for
the board type or was not specified, and the default value has already
been taken by another adapter and thus clashes. For example: /btype=EC8-64,Ram=ff000000
would fail with error ''Ram=ff000000' invalid for 'Type=ec8-64''.
This is because EC8-64's can not place their Ram at that location. The
example:/Btype=easyio,port=2a0 /Btype=easyio,port=2b0 Would fail with
error 'Default Irq clashes'.This is because the two EasyIO boards would
be assigned the default interrupt of 15, and EasyIO's are unable to
share interrupts in ISA machines. Refer to the Hardware Technical Reference
for valid settings.
Error 0048: Too
many boards, Maximum = %u The Driver only supports a maximum of
'%u' Stallion boards in one machine.
Error 0049:
Unable to locate '%s' in arguments. The Driver may have been
renamed from '%s'.
Error 0050:
Syntax error '%S'
Error 0051:
Invalid argument '/%c'. The driver was unable to locate
a valid /b in the line or there was some incorrect characters before
the /b
Error 0052:
Unable to allocate memory. The driver was unable to allocate
memory from OS/2. Possibly it has all been consumed.
Warning 0053:
First port clash, corrected. The First port specified
is less than the last boards end port the driver will automatically
increase it to just above the last board's end port.
Error 0054:
Unable to AllocGDTSelector, %d. Driver was unable to gain
an OS/2 resource it requires. Possibly they have all been consumed.
Error 0055: Parameter
'%S' repeated. The configuration item was specified twice for
the same board. Remove one of them.
Error 0056: Unable
to read PCI first port
Error 0057:
Unable to read PCI second port
Error 0058:
Unable to read PCI interrupt. The driver was unable to read
the PCI adapter settings.Either the machine's PCI BIOS is incompatable
with the driver or the board is faulty.
Error 0059: PCI
board %u not found. The board specified by Pci=board number could
not be found.
Error 0060: 'PCI'
can not be used with Type, Port, Ram, Oport, Irq or Slot. PCI settings
are automatically detected, so these parameters are not required.