VScom PCI/PRO/Turbo Konfiguration in FreeBSD
Problem:
VS liefert keine Treiber zum Betrieb der seriellen Schnittstellen in FreeBSD. Trotzdem können die Schnittstellen genutzt werden; der vorhandene Treiber in FreeBSD ist ausreichend. Notwendig ist das Kompilieren der Daten in den Kernel.
Im Folgenden wird die Vorgehensweise beschrieben. Wo es Unterschiede bezüglich der verschiedenen Serien gibt, werden diese getrennt erwähnt. Die Angaben wurden von mehreren Kunden erstellt und mitgeteilt.
Vorgehensweise:
Schritt 1: Ressourcen
- Turbo Serie:
-
- Konfigurieren Sie die Karte mittels der Jumper auf die Adressen und den IRQ, den Sie benutzen wollen. Es empfiehlt sich, für alle Schnittstellen einen gemeinsamen IRQ zu nutzen.
- Da es sich hier um eine ISA-Karte handelt, müssen Sie den IRQ im Setup des Mainboards auf "Legacy ISA" oder Vergleichbares einstellen.
- PRO Serie:
-
- Konfigurieren Sie die Karte mittels des DOS Programms CARDCONF auf die Adressen und den IRQ, den Sie benutzen wollen. Zum Start des Programms reicht eine Bootdiskette aus. Es empfiehlt sich, für alle Schnittstellen einen gemeinsamen IRQ zu nutzen.
- Da es sich hier um eine ISA-Karte handelt, müssen Sie den IRQ im Setup des Mainboards auf "Legacy ISA" oder Vergleichbares einstellen.
- PCI Serie (H, L und S):
-
- PCI Karten lassen sich nicht konfigurieren, sie werden automatisch vom BIOS konfiguriert. Bauen Sie die Karte in den Zielrechner ein.
- Starten Sie das Programm VSSHOW.COM unter DOS. Eine Bootdiskette reicht aus. Das Programm wird mitgeliefert.
- Notieren Sie die angezeigten Adressen und den IRQ.
- Beispiel für eine VScom 800H PCI
VSshow utility V 1.41 (C) VScom. Scanning upto 256 buses VS PCI 400H found at bus 0, device nr. 20 func. 0 IRQ = 7 Speed: x8 (HIGH) Com port 1: 0x2020 Com port 2: 0x2028 Com port 3: 0x2030 Com port 4: 0x2038 VS PCI 400HF1 found at bus 0, device nr. 20 func. 1 IRQ = 7 Speed: x8 (HIGH) Com port 1: 0x2060 Com port 2: 0x2068 Com port 3: 0x2070 Com port 4: 0x2078
Diese Konfiguration hat der Rechner automatisch vergeben. Sie wird auch nach einem Neustart erhalten bleiben. Veränderungen gibt es erst, wenn sich die Ausstattung des Rechners ändert. In diesem Fall muß die Installation erneut vorgenommen werden.
Schritt 2: Kernel kompilieren
Kompilieren Sie den Kernel neu, mit folgenden Optionen:
options COM_MULTIPORT device sio4 at isa? port 0x2020 flags 0xb01 irq 7 device sio5 at isa? port 0x2028 flags 0xb01 device sio6 at isa? port 0x2030 flags 0xb01 device sio7 at isa? port 0x2038 flags 0xb01 device sio8 at isa? port 0x2060 flags 0xb01 device sio9 at isa? port 0x2068 flags 0xb01 device sio10 at isa? port 0x2070 flags 0xb01 device sio11 at isa? port 0x2078 flags 0xb01Adressen und IRQ aus obigem Beispiel, hier müssen natürlich Ihre Daten eingesetzt werden.
Schritt 3: Überprüfen
Laden Sie FreeBSD neu. Sie sehen in dmesg|less etwas wie Dieses:
sio4 at port 0x2020-0x2027 irq 11 flags 0xb01 on isa0 sio4: type 16550A (multiport) sio5 at port 0x2028-0x202f flags 0xb01 on isa0 sio5: type 16550A (multiport) sio6 at port 0x2030-0x2037 flags 0xb01 on isa0 sio6: type 16550A (multiport) sio7 at port 0x2038-0x203f flags 0xb01 on isa0 sio7: type 16550A (multiport) sio8 at port 0x2060-0x2067 flags 0xb01 on isa0 sio8: type 16550A (multiport) sio9 at port 0x2068-0x206f flags 0xb01 on isa0 sio9: type 16550A (multiport) sio10 at port 0x2070-0x2077 flags 0xb01 on isa0 sio10: type 16550A (multiport) sio11 at port 0x2078-0x207f flags 0xb01 on isa0 sio11: type 16550A (multiport master)
Schritt 4: Devices erstellen
Erzeugen Sie passende Devices in /dev mittels MAKEDEV cua4. Dann MAKEDEV cua5 und so weiter. Prinzipiell sind Sie hier bereits fertig.
Stolperfalle:
Die Schnittstellen auf den VScom Karten erlauben höhere Geschwindigkeiten, als sie ein normaler Port bietet. Die Turbo Serie erlaubt die Faktoren 1, 2 und 4, die PRO und PCI Serien erlauben die Faktoren 1 und 8. Der Treiber in FreeBSD läßt sich darauf nicht konfigurieren. Für einen normalen Betrieb ist es daher notwendig, die Schnittstellen auf kompatible Geschwindigkeit zurückzustellen.