|
MAIN
SUPPORT
FAQs
PCI and other Operating Systems
Created: December 9, 1999
Last modified: September 25, 2001
Installation in other Operating Systems than Windows'95/NT
Problem:
VS is not able to construct drivers for every Operating System in the world. Namely
interface cards from VScom PCI series make the configuration of the system difficult. This
is because the PCI-Bus is a Plug&Play system. On every start of the computer
resources are assigned in a dynamic manner. It is impossible to save a special
configuration on the board.
Nevertheless there are possibilities to operate the VScom PCI series. All of them
rely on usage of our programs VSEMUIO, VSPCIDOS and VSSHOW. All of these are DOS programs.
- VSEMUIO emulates Hardware under DOS.
- VSPCIDOS displays the actual resources, and integrates the ports into the BIOS.
Additionally on certain boards the addresses of the ports may be changed.
- VSSHOW displays the actual resources of all boards.
The exact parameters of these programs are described in the
addendum
in full details.
Solution:
- DOS:
There is some extra instruction for DOS.
Here it is possible to emulate the required Configuration.
Additionally on some boards it is possible to change the configuration with
VSPCIDOS. These boards are VScom (010, 020, 200, 210, 100L, 110L, 200L, 210L) PCI.
An Example with a VScom 210L PCI:
VSPCIDOS compatch=0x3E8,0x2E8 lptpatch=0x3BC
This command relocates the first serial port to 0x3E8, the second to 0x2E8,
and the parallel port to 0x3BC. Furthermore these ports are integrated into
the BIOS, as 3rd and 4th serial and as 2nd parallel port. Hereby COM3, COM4
and LPT2 are available for DOS.
Boards with 4 or 8 ports, and those from the H-series can not be reconfigured
in a meaningful fashion for technical reasons. Nevertheless the ports are made
available by VSPCIDOS, as much as possible.
- DOS-based Operating Systems:
Hereby we understand systems, which in their startup process at least boot a
rudimentary DOS and can run DOS-programs thereby. Examples are Windows-Systems
up to 3.11, but also Novell Netware.
Here it is possible to emulate the desired configuration
These are ideal, since in the AUTOEXEC.BAT or the respective PCI_INST can be started
with parameters, to force a certain configuration. The interfaces (16C550A) are
located at known addresses and are operated be the systems own drivers (or
alternatives from shareware).
- Systems, allowing DOS-programs access:
In the startup phase it is possible with a DOS program to change the actual
configuration. Again fixed addresses may be placed into the driver.
- Other Systems:
Of course in these systems an emulation is not possible. Also a configuration
is not an option. Nevertheless VSSHOW is an essential part of the configuration.
The BIOS assigns resources dynamic to ISA-PnP and to PCI cards. But as long as the
equipment (and configuration) of the computer remains unchanged, the PCI cards receive
the same resources again and again.
Now it is necessary to get exactly this information. These values are given to the
drivers of the system, to control the ports.
- First the computer is booted in the final equipment and configuration,
by a borrowed DOS-Disc. This is necessary, because only in DOS the program
VSSHOW can operate reliable.
- Next VSSHOW is started from this disc. Now the program detects the
VScom PCI board and displays the actual configuration. Please note
these values. ATTENTION: all ports utilize the same IRQ, this is a must!
- The computer is started again, now direct into the target Operating System.
In this environment the drivers are configured to support more ports. ATTENTION: this
process differs from system to system. Therefore we only can give general hints.
Examples:
- Windows (f. WG) 3.11:
This system belongs to category 2). The configuration is done in the AUTOEXEC.
Unfortunately the standard driver only supports 4 ports, and no IRQ-sharing.
VS offers a special
driver, supporting 8 ports and also IRQ-sharing. More details in the
explicit examples below.
- Novell Netware (Server):
This systems starts from DOS, but emulation of hardware is not possible.
It belongs also to 2). The built-in drivers support more ports, but not
with shared interrupts. It is only possible to use one port per board.
The address of the port may be configured with VSPCIDOS.
- Unix (e.g. SCO):
Belongs to category 3). VS recommends to use the driver of the Hostess-cards, this is
available in the normal software, see below.
- OS/2:
As far as we know this belongs to 3). But changing of addresses can not happen
early enough to reconfigure successful. But fortunately the actual configuration
is readable in OS/2, using VSSHOW. The built-in driver only supports 4 ports
without IRQ-sharing. There is an alternative from the shareware scene,
named SIO.SYS. VS does not deliver this driver. More information in separate
instructions.
DOS:
When the computer is switched on, all PCI- and ISA-PnP-cards become configured.
As far as possible resources are assigned. Especially the cards of
VScom xxx PCI series become configured completely. Hereby the standard
addresses for serial and parallel ports are not assigned. These are
reserved for old legacy hardware. As a consequence the BIOS at system start only finds
those interfaces available on the mainboard.
The necessary changes at the card an in the system are done by a program from VS:
VSPCIDOS.
Assumption: In the computer the only interfaces are those on the mainboard.
A VScom 210 PCI is intended to operate as additional COM3, COM4 and LPT2. The
VGA card is from Cirrus Logic,
thus there are no problems involved with the address 02E8h. The serial ports shall operate
with compatible speed, i.e. max. 115200bps.
Then only one entry is necessary in the AUTOEXEC.BAT:
C:\VSPCIDOS compatch=0x3E8,0x2E8 lptpatch=0x278
This entry configures the ports to be on the intended addresses, and it
fulfils what the BIOS could not do at system start. Especially the configuration
of LPT2 is necessary, to enable DOS and BIOS for printing. DOS and BIOS do not
care about IRQ's. The program VSPCIDOS displays the actual IRQ, assigned by
the system. Unfortunately this can not be changed, and all interfaces received
the same IRQ. Terminal programs must be configured to the correct value.
Windows (for Workgroups) 3.1x:
Assumption 1:
The VScom 210 PCI from the DOS example above is intended to be used in Win 3.11.
The AUTOEXEC.BAT must be changed as described above. Now the configuration of
the hardware is known. The parallel interface can immediately be used by printers.
The serial ports must be configured in the control panel (in "ports"). The correct IRQ
must be inserted, instead of the standard values.
Unfortunately the driver of Win 3.11 is not able to support multiple
interfaces with IRQ-Sharing. The ports operate the correct way, but they
can not be used simultaneously. VS offers a driver for Win 3.11, which allows
this feature: in Internet at
http://www.VisionSystems.de
Assumption 2: Instead of the VScom 210 PCI a VScom 400 PCI shall be used. For
faster data transmissions a higher baud rate than 115200bps shall be possible.
Additionally the computer already has an internal modem at address 03E8h (as COM3) with
IRQ 5. This is already detected by the BIOS as third serial port.
This configuration is not easy to build. Changing of addresses is not
available with the H-series. In effect now this is a system belonging to
category 3). So one must call VSSHOW once. This displays the addresses and
the IRQ of all four ports.
There is no sense to name the first port as COM4. The serial ports can only
be used in Windows, DOS programs must not use them.
The same driver as above is to be installed. It allows up to 8 ports in
Win 3.11, as well as IRQ-Sharing at the serial ports. The internal modem
is already known as COM3, the new interfaces can be installed as COM4 to COM7
(or COM5 to COM8 if preferred). Because these operate at a higher clock the
application must be aware of this. When an application requests a certain speed,
always the 8 times higher value will be used (9600 instead 1200). The user or
the programmer must obey this situation. The driver is not prepared to handle
this, and it can not be changed.
Unix:
Assumption:
a VScom x00 PCI is to be used. In Unix it is not possible, to run DOS-programs
in the start sequence. At least these programs will not have hardware access.
Thus the card can not be configured to certain addresses. The BIOS assigns
resources, and these must be used.
First the card is inserted in the computer. Next one borrows a bootable
floppy disc with MS-/PC-/DR-/Novell-/Caldera- or a similar DOS. After booting
the computer from this disc VSSHOW is started.
This is a one-time operation. The program then displays the actual configuration. This
configuration is the same on every boot, as long as the hardware configuration of the
computer remains unchanged. Example:
VScom 800 PCI
|
VS PCI 800 found at bus 0, device nr. 17 func 0
IRQ = 9
Speed: HIGH
Com port 1: 0x6000
Com port 2: 0x6008
Com port 3: 0x6010
Com port 4: 0x6018
Com port 5: 0x6020
Com port 6: 0x6028
Com port 7: 0x6030
Com port 8: 0x6038
|
VScom 800H PCI
|
VS PCI 400H found at bus 0, device nr. 19 func 0
IRQ = 9
Speed: HIGH
Com port 1: 0x6200
Com port 2: 0x6208
Com port 3: 0x6210
Com port 4: 0x6218
VS PCI 400HF1 found at bus 0, device nr. 19 func 1
IRQ = 9
Speed: HIGH
Com port 1: 0x6400
Com port 2: 0x6408
Com port 3: 0x6410
Com port 4: 0x6418
|
VScom 200L PCI
|
VS PCI 200L found at bus 0, device nr. 20 func 0
IRQ = 9
Speed: HIGH
Com port 1: 0x6700
Com port 2: 0x6800
|
These informations are only excerpts. With the
VScom 200 PCI each UART has its own address range. In opposite at the
VScom 800 PCI all ports are located sequentially, starting from
address 06000h. These informations must be written down.
Remaining is the installation into the Unix. To use the 4- and 8-port
boards it is best to use the Hostess-driver. This driver needs two informations,
base address and IRQ. There is an instruction for
OS/2, with informations how to change the speed from High (14 MHz) to standard
(1.8 MHz), as the new power-on default. This is an option on certain boards.
Calling parameters of the utilities
Run VSSHOW:
VSSHOW is called
without parameters. It displays all installed PCI boards from VScom. Also
IRQ and addresses of each port are displayed.
Run VSPCIDOS:
VSPCIDOS may be
started with or without parameters. Without parameters it integrates detected
ports into the BIOS (and into the DOS this way). Parameters may be used to
control this process. Additionally all addresses and IRQs are displayed.
VSPCIDOS <options>
The <options> are:
- usecom=n[,n]
- List of COM-numbers to be installed. Default is all available numbers.
Possible values are 1, 2, 3 and 4.
- uselpt=n[,n]
- List of LPT-numbers to be installed. Default is all available numbers.
Possible values are 1, 2, and 3.
- nocom=n[,n]
- List of COM-numbers to be ignored
- nolpt=n[,n]
- List of LPT-numbers to be ignored
- compatch=<adr1>[,<adr2>]...
- List of addresses, where the serial ports shall be configured to.
This requires a new configuration of the PCI-bridge.
Use on your own risk.
- lptpatch=<adr1>[,<adr2>]...
- List of addresses, where the parallel ports shall be configured to.
This requires a new configuration of the PCI-bridge.
Use on your own risk.
Run VSEMUIO:
VSEMUIO
must be started before a program based on the configuration. It is best
to do this in the AUTOEXEC.BAT startup file. Requires:
EMM386 to be loaded in CONFIG.SYS.
These boards are supported:
VScom 010,010H,010L, 020,020L, 100H,100L, 110H,110L, 200,200H,200L,
210,210H,210L, 400,400H,400L, 800,800H,800L PCI.
VSEMUIO requires a configuration file, holding the values detected by VSSHOW.
VSEMUIO vsemuio.cfg
vsemuio.cfg may be omitted or replaced by a file with another name.
The program is very sensitive to the syntax. Each line in the configuration
file describes the parameters of one port. Empty lines are not allowed.
Configuration line of a serial port:
S,<real io>,<virtual io>,<virq>,<clock>,<com number>
|
|
- real io
- is the actual I/O-address of the port on the VScom board.
- virtual io
- on which address is the port to be virtualised.
- virq
- which IRQ shall be virtually used by this port.
- clock
- is equivalent to the factor the port is faster compared with a
standard port. Integer numbers are allowed here, however only
the values 1, 2, 4 und 8 bring up a useful
configuration.
- com number
- number of the COM- port, as which the virtualised port has to
be integrated into the BIOS.
|
Example for COM3 and COM4:
S,D400,03f8,4,8,1
S,D408,02f8,3,8,2
|
Parallel Ports:
P,<real io>,<virtual io>,<lpt number>
|
|
- <real io>
- is the actual I/O-address of the port on the VScom board.
- <virtual io>
- on which address is the port to be virtualised.
- <lpt number>
- number of the LPT- port, as which the virtualised port has to
be integrated into the BIOS.
|
Example for LPT 2:
P,DC00,0278,2
|
Remarks:
It is not guaranteed the application will operate in this virtual environment.
|