|
MAIN
SUPPORT
FAQs
VScom und
andere BS
Erstellt: 23. Dezember 1998
Letzte Änderung: 25. September 2001
VScom PCI Konfiguration
Installation in andere Betriebssysteme als Windows
Problem:
VS kann nicht zu jedem Betriebssystem auf der Welt Treiber liefern. Insbesondere
Schnittstellenkarten der Serie VScom PCI gestalten die Konfiguration des
Systems schwierig. Dies wird dadurch verursacht, daß der PCI-Bus
ein Plug&Play System ist. Bei jedem Start des Rechners werden die Ressourcen
dynamisch vergeben. Es ist nicht möglich, eine spezielle Konfiguration
auf der Karte zu speichern.
Für den Betrieb der VScom PCI Serie gibt es aber trotzdem
Möglichkeiten. Diese beruhen alle auf der Nutzung unserer Programme
VSEMUIO, VSPCIDOS, und VSSHOW. Dies sind alles DOS-Programme.
- VSEMUIO kann unter DOS Hardware emulieren.
- VSPCIDOS zeigt die aktuellen Ressourcen an, und bindet Schnittstellen in das BIOS
ein. Zusätzlich können auf manchen Karten die Adressen der
Schnittstellen verändert werden.
- VSSHOW zeigt die aktuellen Ressourcen aller Karten.
Die genauen Parameter der jeweiligen Programme werden im
Anhang beschrieben.
Lösung:
- DOS:
Für DOS gibt es eine getrennte Anleitung.
Dort ist es möglich, die gewünschte Konfiguration zu emulieren.
Außerdem kann bei manchen Karten mittels VSPCIDOS die Konfiguration verändert werden.
Diese Karten sind: VScom (010, 020, 200, 210, 100L, 110L, 200L, 210L) PCI.
Ein Beispiel mit einer VScom 210L PCI:
VSPCIDOS compatch=0x3E8,0x2E8 lptpatch=0x3BC
Dieses Kommando verlegt die erste serielle Schnittstelle nach 0x3E8, die
zweite nach 0x2E8, und den parallelen Port nach 0x3BC. Zusätzlich werden
diese drei Schnittstellen in das BIOS eingetragen, als 3. und 4. serielle
und als 2. parallele Schnittstelle. Dadurch sind COM3, COM4 und LPT2 für
DOS verfügbar.
Karten mit 4 oder 8 Ports, sowie die H-Serie lassen sich aus technischen
Gründen nicht sinnvoll umkonfigurieren. Allerdings werden die Schnittstellen
trotzdem von VSPCIDOS zur Verfügung gestellt, soweit noch möglich.
-
DOS-basierte Systeme:
Darunter verstehen wir hier Systeme, die beim Startvorgang mindestens ein
rudimentäres DOS booten und dabei DOS-Programme ausführen können. Beispiele
sind natürlich Windows-Systeme bis 3.11, und Novell Netware.
Hier kann es möglich sein, die gewünschte Konfiguration wie unter DOS zu
emulieren. Die Schnittstellen (16C550A) liegen dann auf bekannten Adressen
und können von den eigenen Treibern des Betriebssystems (bzw. Alternativen
aus der Shareware) bedient werden.
Alternativ ist es wie unter DOS möglich, bei bestimmten Karten die Konfiguration
zu ändern. Dadurch brauchen die Treiber nicht speziell konfigurierbar zu sein.
-
Systeme, die DOS-Programmen den Zugriff gestatten:
Hier kann es in der Startphase möglich sein, eine Änderung der bestehenden
Konfiguration vorzunehmen. Wieder können feste Adressen im Treiber eingetragen
sein.
-
Andere Systeme:
Hier kann selbstverständlich keine Emulation stattfinden. VSSHOW ist aber
trotzdem essentieller Bestandteil der Konfiguration.
Die Ressourcen werden zwar dynamisch an ISA-PnP und PCI Karten vergeben. Solange sich
aber an der Ausstattung (und Konfiguration) des Rechners nichts ändert, erhalten die
PCI-Karten immer wieder die gleichen Ressourcen. Es ist jetzt nötig, genau diese zu
ermitteln. Diese Werte werden dann an die Treiber des Systems übergeben, um die
Schnittstellen zu steuern.
-
Zuerst wird der Rechner in der endgültigen Ausstattung und Konfiguration
von einer geliehenen DOS-Diskette gebootet. Das ist nötig, da VSSHOW
nur unter DOS zuverlässig arbeiten kann.
-
Dann wird VSSHOW von dieser Diskette gestartet. Das Programm findet jetzt
die VScom PCI-Karte und gibt deren aktuelle Konfiguration aus. Diese Werte
müssen notiert werden. ACHTUNG: alle Schnittstellen einer Karte benutzen
zwangsläufig den gleichen IRQ!
-
Der Rechner wird erneut gestartet, diesmal direkt in das Zielsystem.
Hier werden die Treiber so konfiguriert, daß mehr Schnittstellen
bedient werden können. ACHTUNG: Dieser Prozeß ist von System
zu System verschieden. Deshalb können wir nur generelle Hinweise geben.
Beispiele:
-
Windows (f. WG) 3.11:
Dieses System gehört zur Kategorie 2). Die Konfiguration geschieht
also in der AUTOEXEC. Leider unterstützt der normale Treiber nur vier
serielle Schnittstellen und kein IRQ-Sharing. VS bietet einen speziellen
Treiber für
acht Ports, der auch IRQ-Sharing ermöglicht. Näheres in den ausführlichen
Beispielen.
-
Novell Netware (Server):
Dieses System startet aus DOS heraus, eine Emulation von Hardware ist aber
nicht möglich. Es gehört zu 2). Die mitgelieferten Treiber unterstützen
mehr Schnittstellen, allerdings nicht mit gemeinsamen Interrupts. Es kann
also pro Karte nur eine Schnittstelle genutzt werden. Die Adresse der
Schnittstelle kann mit VSPCIDOS konfiguriert werde.
-
Unix (z.B. SCO):
Gehört zu Kategorie 4). Empfohlen wird hier der Treiber der Hostess-Karten,
dieser gehört meist zum Lieferumfang, s.u.
-
OS/2:
Gehört u.W. zu Kategorie 3). Allerdings kann die Änderung der Adressen nicht
rechtzeitig genug erfolgen, um erfolgreich neu zu konfigurieren. Immerhin
ist die aktuelle Konfiguration unter OS/2 lesbar, mittels VSSHOW.
Der OS/2 eigene Treiber arbeitet nur mit vier Schnittstellen und
ohne IRQ-Sharing. Es ist eine Alternative aus der
Shareware bekannt, der Treiber heißt SIO.SYS. Zu beziehen nicht über
VS. Näheres in einer gesonderten Anleitung.
DOS:
Wenn der PC eingeschaltet wird, werden alle PCI- und ISA-PnP-Karten konfiguriert.
Soweit möglich werden Ressourcen zugeteilt. Insbesondere die Karten
der VScom xxx PCI Serie werden komplett konfiguriert. Dabei werden aber
nicht die Standardadressen für serielle und parallele Schnittstellen
vergeben. Diese sind ja gerade für alte Hardware reserviert. In der
Folge findet das BIOS beim Systemtest nur die Schnittstellen, die auf dem
Mainboard vorliegen. Die notwendigen Änderungen im
System nimmt ein Programm von VS vor: VSPCIDOS.
Annahme: Im Rechner sind bis jetzt nur die Schnittstellen auf
dem Mainboard vorhanden. Eine VScom 210 PCI soll zusätzlich als COM3,
COM4 und LPT2 installiert werden. Die Grafikkarte ist von Cirrus Logic,
es gibt also keine Probleme mit der Adresse 02E8h. Die seriellen Schnittstellen
sollen mit kompatibler Geschwindigkeit laufen, also max. 115200bps.
Dann ist nur ein Eintrag in der Autoexec.bat nötig:
C:\VSPCIDOS compatch=0x3E8,0x2E8 lptpatch=0x3BC
Dieser Eintrag findet die Schnittstellen, und ändert die aktuellen
Adressen. Dabei wird auch gleich die Geschwindigkeit auf "niedrig" gesetzt.
Außerdem holt er das nach, was das BIOS nicht leisten konnte.
Besonders die Konfiguration von LPT2 ist notwendig, damit
über DOS und BIOS gedruckt werden kann. DOS und BIOS kümmern
sich nicht um IRQ's. VSPCIDOS zeigt an, welcher vergeben wurde. Dieser
läßt sich leider nicht verändern, außerdem haben
alle Schnittstellen den gleichen erhalten. Terminalprogramme müssen
auf den korrekten Wert konfiguriert werden.
Hier ist es besonders wichtig, nicht 0x278 als Adresse für den
parallen Port zu verwenden. Dadurch würde nämlich ISA-Plug&Play komplett
unmöglich gemacht.
Windows (für Workgroups) 3.1x:
Annahme 1: die VScom 210 PCI aus dem DOS Beispiel soll auch unter
Win 3.11 genutzt werden.
Die Autoexec.bat muß geändert werden wie oben beschrieben. Das
bietet bessere Unterstützung für DOS-Programme, die unter Windows laufen sollen.
Die parallele Schnittstelle bereits kann von Druckern genutzt werden. Die
seriellen Schnittstellen müssen noch in der System-Steuerung konfiguriert werden
(unter "Anschlüsse"). Hier muß der korrekte IRQ und die richtige Adresse
eingetragen werden, statt der Standardwerte.
Leider ist der Treiber von Win 3.11 nicht in der Lage, mehrere
Schnittstellen mit IRQ-Sharing zu betreiben. Die Schnittstellen arbeiten
zwar korrekt, können aber nicht gleichzeitig genutzt werden. VS bietet einen
Treiber
für Win 3.11, der dieses leistet.
Annahme 2: Statt der VScom 210 PCI soll eine VScom 400H PCI verwendet
werden. Für schnelle Übertragungen sollen höhere Übertragungsraten
als 115200bps möglich sein. Zusätzlich besitzt der Rechner noch
ein internes Modem auf der Adresse 03E8 (als COM3) mit IRQ 5. Dieses ist schon
vom BIOS als dritte serielle Schnittstelle identifiziert worden.
Diese Konfiguration ist nicht einfach zu konfigurieren. Eine
Änderung der Adressen ist bei einer 400H nicht vorgesehen. Im Endeffekt ist das
jetzt ein System der Kategorie 3). Deshalb muß einmalig VSSHOW aufgerufen werden.
Dieses liefert die Adressen und den IRQ der vier Schnittstellen.
Der gleiche Treiber wie eben muß installiert werden. Er erlaubt
bis zu 8 Schnittstellen unter Win 3.11, sowie das IRQ-Sharing der seriellen
Ports. Das interne Modem ist schon bekannt als COM3, die neuen Schnittstellen
können als COM4 bis COM7 (oder COM5 bis COM8) installiert werden.
Da sie schneller getaktet sind, muß die Applikation dieses berücksichtigen.
Wenn eine Applikation eine bestimmte Geschwindigkeit anfordert, wird immer
der 8-fache Wert eingestellt. Der Bediener bzw. der Programmierer muß
dieses berücksichtigen. Der Treiber ist nicht darauf vorbereitet.
Unix:
Annahme: eine VScom x00 PCI soll genutzt werden. Es ist unter Unix
nicht möglich, in der Startphase ein DOS-Programm ablaufen zu lassen.
Damit kann die Karte nicht auf gewünschte Adressen konfiguriert werden.
Es müssen die Ressourcen verwendet werden, die das BIOS zugeteilt hat.
Zuerst einmal wird die Karte in den Rechner eingebaut. Dann leiht
man sich eine bootfähige Diskette für MS-/PC-/DR-/Novell-/Caldera-
oder ein ähnliches DOS. Nach dem Start mit dieser Diskette wird einmalig
VSSHOW aufgerufen. Dieses Programm zeigt dann die aktuelle
Konfiguration an. Diese Konfiguration ist bei jedem Start gleich, bis die
Hardware-Konfiguration des Rechners geändert wird. Beispiel:
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
|
Diese Angaben sind nur Auszüge. Bei der VScom 200L PCI hat jeder
UART seinen eigenen Adressbereich. Bei der VScom 800H PCI liegen alle
Schnittstellen direkt hintereinander in zwei Gruppen, ab den Adressen
06200h und 06400h. Bei der VScom 800 PCI liegen alle 8 Schnittstellen in
einem Block, ab der Adresse 06000h.
Diese Informationen müssen notiert werden.
Es fehlt noch die Installation in das Unix. Für die 4- und
8-Port Karten wird am besten der Hostess-Treiber eingesetzt. Dieser benötigt
zwei Angaben, Base Address und IRQ. In der Anleitung
für OS/2 steht, wie bei bestimmten Karten die Geschwindigkeit von
Hoch (14 MHz) auf Standard (1.8 MHz) reduziert werden kann.
Aufrufparameter der Hilfsprogramme
VSSHOW Aufruf:
VSSHOW wird ohne
Parameter aufgerufen. Es listet dabei alle installierten PCI-Karten VScom.
Zusätzlich werden IRQ und Adressen aller Schnittstellen detailliert angegeben.
VSPCIDOS Aufruf:
VSPCIDOS kann mit
und ohne Parameter aufgerufen werden. Ohne Parameter bindet es gefundene
Schnittstellen ins BIOS (und damit auch ins DOS) ein. Die Parameter können
dieses Prozeß beeinflussen. Zusätzlich zeigt es alle Adressen und IRQs an.
VSPCIDOS <options>
Die <options> sind:
- usecom=n[,n]
- Liste von COM-Nummern, die installiert werden sollen. Vorgabe sind
alle freien Nummern. Mögliche Werte sind 1, 2, 3 und 4.
- uselpt=n[,n]
- Liste von LPT-Nummern, die installiert werden sollen. Vorgabe sind
alle freien Nummer. Mögliche Werte sind 1, 2, und 3.
- nocom=n[,n]
- Liste von COM-Nummern, die nicht genutzt werden dürfen
- nolpt=n[,n]
- Liste von LPT-Nummern, die nicht genutzt werden dürfen
- compatch=<adr1>[,<adr2>]...
- Liste von Adressen, auf die die seriellen Schnittstellen gesetzt
werden sollen. Dieses bedingt eine Neukonfiguration der PCI-Bridge.
Die Benutzung erfolgt auf eigenes Risiko.
- lptpatch=<adr1>[,<adr2>]...
- Liste von Adressen, auf die die parallelen Schnittstellen gesetzt
werden sollen. Dieses bedingt eine Neukonfiguration der PCI-Bridge.
Die Benutzung erfolgt auf eigenes Risiko.
VSEMUIO Aufruf:
VSEMUIO
wird vor einem darauf basierenden Programm gestartet. Am besten bereits
in der AUTOEXEC.BAT Startdatei.
Anforderung: EMM386 muss geladen sein.
Folgende Karten werden unterstützt:
VScom 010,010H,010L, 020,020L, 100H,100L, 110H,110L, 200,200H,200L,
210,210H,210L, 400,400H,400L, 800,800H,800L PCI.
VSEMUIO benötigt eine Konfigurationsdatei, die die von VSSHOW ermittelten
Parameter enthält.
VSEMUIO vsemuio.cfg
vsemuio.cfg kann auch weggelassen oder durch eine Datei mit anderem Namen
ersetzt werden.
Das Programm reagiert sehr empfindlich auf die Syntax. Jede Zeile beschreibt
genau einen Port. Leerzeilen sind nicht möglich.
Konfigurationszeile eines seriellen Ports:
S,<real io>,<virtual io>,<virq>,<clock>,<com nummer>
|
|
- real io
- ist die tatsächliche I/O-Adresse des Ports auf der Vscom Karte.
- virtual io
- auf welcher Adresse soll der Port virtualisiert werden.
- virq
- welcher IRQ soll für diesen Port virtuell verwendet werden.
- clock
- entspricht dem Faktor um den der Port schneller ist verglichen
mit einem Standardport. Hier sind ganze Zahlen zulässig, sinnvoll
sind allerdings nur die Werte 1, 2, 4 und 8.
- com nummer
- Nummer der COM- Schnittstelle, unter der der virtualisierte
Port dem BIOS bekannt gemacht werden soll.
|
Beispiel für COM3 und COM4:
S,D400,03f8,4,8,1
S,D408,02f8,3,8,2
|
Parallele Ports:
P,<real io>,<virtual io>,<lpt nummer>
|
|
- <real io>
- ist die tatsächliche IO- Adresse des Ports auf der Vscom Karte.
- <virtual io>
- wie soll sie virtualisiert werden.
- <lpt nummer>
- Nummer der LPT- Schnittstelle, unter der der virtualisierte
Port dem System bekannt gemacht werden soll.
|
Beispiel für LPT 2:
P,DC00,0278,2
|
Anmerkungen:
Die Lauffähigkeit der Applikation in dieser Umgebung ist nicht gewährleistet.
|