VScom PCI/PRO/Turbo Configuration in FreeBSD
Problem:
VS does not supply drivers to operate the serial ports in FreeBSD. Nevertheless the ports can be used; the existing driver in FreeBSD is enough. It is only necessary to compile the data into the kernel. Below the way to installation is described. There are certain differences between the various series, those are mentioned as alternatives. The information came in from different customers.
Procedure:
Step 1: Resources
- Turbo Series:
-
- Configure the card using the jumpers, to select addresses and the IRQ you intend to use. It is recommended to use a common IRQ for all serial ports.
- Because the Turbo series consists of ISA cards, you must set the IRQ to "Legacy ISA" (or something similar) in your mainboards setup.
- PRO Series:
-
- Configure the card using the program CARDCONF, to select addresses and the IRQ you intend to use. It is sufficient to have a DOS boot disk to start the program. It is recommended to use a common IRQ for all serial ports.
- Because the PRO series consists of ISA cards, you must set the IRQ to "Legacy ISA" (or something similar) in your mainboards setup.
- PCI Series (H, L, I and S):
-
- You can not configure PCI cards, those are configured automatically by the systems BIOS. Place the card into the target system.
- Run the program VSSHOW.COM under DOS, it is sufficient to have a DOS boot disk to start the program. The program is supplied with the card.
- Note the displayed addresses and the IRQ.
- Example for a 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
This configuration is assigned by the BIOS, with the Plug&Play mechanism. It will be the same even after restarting the computer. Changes only appear, if the hardware configuration of the system changes. In this case you must repeat the installation.
Step 2: compile the kernel
Recompile the kernel with following options:
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 0xb01Addresses and IRQ taken from vsshow output, the example above. Please replace with your values.
Step 3: verify
Reload FreeBSD. You will see in dmesg|less something like this:
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)
Step 4: create devices
Create appropriate devices in /dev using MAKEDEV cua4. Then MAKEDEV cua5 and so on. Basically you are finished here.
Caveats:
The serial ports on all VScom cards allow for higher baudrates than a normal port does. The Turbo Series allows for factors 1, 2 and 4, the PRO and PCI series offer the factors 1 and 8. There is no way to configure the driver in FreeBSD to support this. For normal operation it is necessary to set the ports back to compatible speed.