Drivers Microgate


Multiport serial cards install in slots in a PC on the ISA or PCIbus. They are also called '... adapters' or '... boards'. Each suchcard provides you with many serial ports. Today they are commonlyused for the control of external devices (including automation forboth industry and the home). They can connect to computer servers forthe purpose of monitoring/controlling the server from a remotelocation. They were once mainly used for connecting up many dumbterminals and/or modems to serial ports. Today, use of dumb terminalshas declined, and several modems (or digital modems) can now be builtinto an internal card. So multiport serial cards are not assignificant as they once were.

OptoGait is a system for the Gait Analysis that brings a proven philosophy of assessment to injury prevention and rehabilitation. 8/27/2019 Update for OptoGait software due to Logitech Webcam C920 issue. New software version 1.2.15 fixes an issue with Logitech Webcams C920 more. We offer scripts for popular brands like Microgate, Daktronics, Gill, and more. We also offer several scripts to interface with ResulTV data display software. Don’t see your brand of scoreboard on the list? Don’t worry, contact our technical support team to discuss additional drivers and scripts. Real-time control systems for telescopes and adaptive optics. PROFESSIONAL TIMING. Professional timing systems.

Each multiport card has a number of external connecters (DB-25 orRJ45) so that one may connect up a number of devices (modems,terminals, etc.). Each such physical device would then be connectedto its own serial port. Since the space on the external-facing partof the card is limited there is often not enough room for all theserial port connectors. To solve this problem, the connectors may beon the ends of cables which come out (externally) from the card(octopus cable). Or they may be on an external box (possibly rackmountable) which is connected by a cable to a multiport card.

Dumb multiport cards are not too much different than ordinary serialports. They are interrupt driven and the CPU of the computer doesmost all the work servicing them. They usually have a system ofsharing a single interrupt for all the ports. This doesn't decreasethe load on the CPU since the single interrupt will be sent to the CPUeach time any one port needs servicing. Such devices usually requirespecial drivers that you must either compile into the kernel or use asa module.

Smart boards may use ordinary UARTs but handle most interrupts fromthe UARTs internally within the board. This frees the CPU from theburden of handling all these interrupts. The board may save up bytesin its large internal FIFOs and transfer perhaps 1k bytes at a time tothe serial buffer in main memory. It may use the full bus width of 32bits for making data transfers to main memory (instead of transferringonly 8-bit bytes like dumb serial cards do). Not all 'smart' boardsare equally efficient. Many boards today are Plug-and-Play.


For a multiport board to work, a special driver for it must be used.This driver may either be built into the kernel source code orsupplied as a module. For the 2.6 kernels on, most drivers aresupplied both ways: as a module or it can be built into the kernel.Take care not to both build support into the kernel and force themodule to load for a certain serial card. For older kernels, therewere often no modules for dumb serial multiport boards so support wasbuilt into the kernel.

Build (compile) support into the kernel?

A pre-compiled kernel may not have a driver for your multiport cardbuilt in. So then you must either compile the kernel yourself andbuild in the right driver, or insure that the module is available andloads. Of course if the driver doesn't come both ways (as acompile-time option and as a module) you have no such choice.

If you want to see what has already been compiled into an existingworking kernel, go the the /boot directory (or wherever the compiledkernel(s) reside) and look in the config... file.

In the 2.6 kernel there are many options to select from in theconfiguration file for compiling. Adding support for certainmultiport cards is listed under the headings 'Character devices' or'Serial drivers'. Old multiport cards had support as part of theserial driver and are found under 'Serial Drivers'. More advancedcards have their own driver found under 'Character devices'

For compiling kernel 2.6 you should select 'CONFIG_SERIAL_8250_EXTENDED'. (orjust 'CONFIG_SERIAL_EXTENDED' for 2.4). Then you will be asked morequestions about your serial ports with more options to select. If theresulting configuration is not quite right, then you may need to editthe kernel configuration file manually.

Using module support

A pre-compiled kernel may come with a pre-compiled module for theboard so that you don't need to recompile the kernel. This modulemust be loaded in order to use it and if there is installationsoftware for the driver, it should also set up Linux to load themodule (probably at boottime). Some of the modules to load atboottime are listed in /etc/modules or /etc/modules.confAlso certain parameters may need to be passedto the driver via entries in these files or via lilo's 'append'command or via grub's 'kernel' command. For kernel 2.6 (and 2.4) the(unloaded) modules should be found in /lib/modules/.../kernel/drivers/char.

Getting info on multiport boards

The board's manufacturer should have info on their website.Unfortunately, info for old boards is sometimes not there but might befound somewhere else on the Internet (including discussion groups).You might also want to look at the kernel documentation in/usr/share/doc/linux-doc... (formerly kernel-doc in pre 2.6 kernels).For configuring the kernel or modules prior to compiling and search for 'serial', etc. There are also kerneldocumentation files for certain boards including computone, hayes-esp,moxa-smartio, riscom8, specialix, stallion, and sx (specialix).

The serial ports your multiport board uses depends on what kind ofboard you have. Some have their own device names like /dev/ttyE27(Stallion) or /dev/ttyD2 (Digiboard), etc. For various other brands,see see devices.txt in the kernel documentation. Some use thestandard names like /dev/ttyS14 and may be found in configurationfiles that used as arguments to setserial. Such files may beincluded in a setserial or serial package.

An installation script may do this for you. But if not, here'ssome examples of how to create a device name in the /dev directory.If you use udev, MAKEDEV will not create devices in the devicedirectory since this directory is only in memory and will be lost whenyou turn off the computer. Instead it will create the device indev/.static/dev directory.

For the names and numbers of other types of serial ports otherthan ttyS.. See devices.txt in the kernel documentation. Either usethe mknod command, or the MAKEDEV script. Typing 'manmakedev' may show instructions on using it.

Using the MAKEDEV script, you would first become the superuser(root) and type (for example) either:

Drivers microgate 64

Or if the above doesn't work cd to /dev before giving the abovecommand>. Substitute whatever your port is for ttyS17.

Using mknod is a more complicated option since you need to knowthe major and minor device numbers. These numbers are in the'devices' file in the kernel documentation. For ttyS serial ports theminor number is: 64 + port number (=81 for the example below). Notethe 'major' number is always 4 for ttyS devices (and 5 for theobsolete cua devices). So, if you wanted to create a device forttyS17 using mknod, you would type:

In olden days, PCs came with a serial card installed. Later on,the serial function was put on the hard-drive interface card. In the1990s and early 2000s one or two serial ports were usually built intothe motherboard (on-board). Most of them (as of 2002) use a 16550 butsome use 16650 (32-byte FIFOs). But one may still buy the individualPC serial cards if they need more serial ports. They can be used toconnect external serial devices (modems, serial mice, etc...). Only atiny percentage of retail computer stores carry such cards. But onecan purchase them on the Internet. Before getting one for the PCIbus, make sure Linux supports it.

Here's a list of a few popular brands:

Drivers Microgate Drivers

  • Byte Runner (may order directly, shows prices)
  • SIIG
  • Dolphin

Note: due to address conflicts, you may not be able to use /dev/ttyS3with a IBM8514 video card (and some others) simultaneously. See Avoiding IO Address Conflicts with Certain Video Boards

They are also called 'serial adapters'. Each port has its ownaddress. They often have a special method of sharing interrupts whichrequires that you compile support for them into the kernel.

* => The file that ran setserial in Debian shows some details ofconfiguring
# => See note below for this board

  • AST FourPort and clones (4 ports) * #
  • Accent Async-4 (4 ports) *
  • Arnet Multiport-8 (8 ports)
  • Bell Technologies HUB6 (6 ports)
  • Boca BB-1004 (4 ports), BB-1008 (8 ports), BB-2016 (16 ports;See the Boca mini-howto revised in 2001) * #
  • Boca IOAT66 or? ATIO66 (6 ports, Linux doesn't support its IRQsharing ?? Uses odd-ball 10-cond RJ45-like connectors)
  • Boca 2by4 (4 serial ports, 2 parallel ports)
  • Byte Runner
  • Computone ValuePort V4-ISA (AST FourPort compatible) *
  • Digi PC/8 (8 ports) #
  • Dolphin
  • Globetek
  • GTEK BBS-550 (8 ports; See the mini-howto)
  • Hayes ESP (after kernel 2.1.15)
  • HUB-6 See Bell Technologies.
  • Longshine LCS-8880, Longshine LCS-8880+ (AST FourPort compatible) *
  • Moxa C104, Moxa C104+ (AST FourPort compatible) *
  • NI-SERIAL by National Instruments
  • NetBus (2 ports) using patch from
  • PC-COMM (4 ports)
  • Sealevel SystemsCOMM-2 (2 ports), COMM-4 (4 ports) and COMM-8 (8 ports)
  • SIIG I/O Expander 2S IO1812 (4 ports) #
  • STB-4COM (4 ports)
  • Twincom ACI/550
  • Usenet Serial Board II (4 ports) *
  • VScom (uses same driver as ByteRunner)
Drivers microgate golf clubs

In general, Linux will support any serial board which uses a 8250,16450, 16550, 16550A, 16650, 16650V2, 16654, 16750, 16850, 16950, and16954. UART. See the latest man page for 'setserial' for a morecomplete list.


AST Fourport: You might need to specify skip_test in rc.serial.


BB-1004 and BB-1008 do not support DCD and RI lines, and thus are notusable for dialin modems. They will work fine for all other purposes.

Digi PC/8 Interrupt Status Register is at 0x140.

SIIG IO1812 manual for the listing for COM5-COM8 iswrong. They should be COM5=0x250, COM6=0x258, COM7=0x260, andCOM8=0x268.

Make sure that a Linux-compatible driver is available and read theinformation that comes with it. These boards use special devices (inthe /dev directory), and not the standard ttyS ones. This informationvaries depending on your hardware. If you have updated info whichshould be shown here please email it to me.

Names of Linux driver modules are *.ko (*.o prior to kernel 2.6) butthese may not work for all models shown. See Modules (mostly for smart boards) The needed module may havebeen supplied with your Linux distribution. Also, parameters (such asthe io and irq often need to be given to the module so you need tofind instructions on this (possibly in the source code tree).

Drivers Microgate Lbp

There are many different brands, each of which often offers manydifferent cards. No attempt is currently being made to list all thecards here (and many listed are obsolete and have bad internet linksto them which need to be fixed). But all major brands and websitesshould be shown here so it something is missing let me know. Go tothe webpage shown for more information. These websites often alsohave info (ads) on related hardware such as modem pools, remote accessservers (RASs), and terminal servers. Where there is no webpage, thecards are likely obsolete. If you would like to put together a betterlist, let me know.

  • Chase Research, now Perle Systems Ltd (UK based, ISA/PCI cards)
    driver status: included in kernel 2.4+ for PCI only; otherwise supported byPerle
    driver and manual location:
  • Comtrol RocketPort (36MHz ASIC; 4, 8, 16, 32, up to 128 ports)
    driver status: supported by Comtrol. rocket.o
    driver location:
  • Computone IntelliPort II (ISA, PCI and EISA busses up to 64ports)
    driver location: old patch at
    mailing list: mailto:[email protected] with'subscribe linux-computone' in body
    note: Old ATvantage and Intelliport cards are not supported by Computone
  • Connecttech
    driver location:
  • Cyclades
    Cyclom-Y (Cirrus Logic CD1400 UARTs; 8 - 32 ports),
    Cyclom-Z (MIPS R3000; 8 - 64 ports)
    driver status: supported by Cyclades
    driver location: and included in Linuxkernel since version 1.1.75: cyclades.o
  • Decision PCCOM (2-8 ports; ISA and PCI; aka PC COM)
    contact: mailto:[email protected]
    driver location: (dead link)
    driver status: Support in serial driver 5.03. For an earlier driver,there exists a patch for kernel 2.2.16 at and for kernels 2.2.14-2.2.17at
  • Digi PC/Xi (12.5MHz 80186; 4, 8, or 16 ports),
    PC/Xe (12.5/16MHz 80186; 2, 4, or 8 ports),
    PC/Xr (16MHz IDT3041; 4 or 8 ports),
    PC/Xem (20MHz IDT3051; 8 - 64 ports)
    driver status: supported by Digi
    driver location: andincluded in Linux kernel since version 2.0. epca.o
  • Digi COM/Xi (10MHz 80188; 4 or 8 ports)
    contact: Simon Park, [email protected]
    driver status: ?
    note: Simon is often away from email for months at a time due tohis job. Mark Hatle, mailto:[email protected] graciously volunteered to make the driver available if you needit. Mark is not maintaining or supporting the driver.
  • Equinox SuperSerial Technology (30MHz ASIC; 2 - 128 ports)
    driver status: supported by Equinox
    driver location:
  • Globetek
    driver location:
  • GTEK Cyclone (16C654 UARTs; 6, 16 and 32 ports),
    SmartCard (24MHz Dallas DS80C320; 8 ports),
    BlackBoard-8A (16C654 UARTs; 8 ports),
    PCSS (15/24MHz 8032; 8 ports)
    driver status: supported by GTEK
    driver location:
  • Hayes ESP (COM-bic; 1 - 8 ports)
    driver status: Supported by Linux kernel (1998) since v. 2.1.15.esp.o. Setserial 2.15+ supports. Also supported by author
    driver location:
  • Intelligent Serial Interface by Multi-Tech Systems
    PCI: 4 or 8 port. ISA 8 port. DTE speed 460.8k. Discontinued
  • Maxpeed SS (Toshiba; 4, 8 and 16 ports)
    driver status: supported by Maxpeed
    driver location:
  • Microgate SyncLink ISA and PCI high speed multiprotocolserial. Intended for synchronous HDLC.
    website: http://ww/
    driver status: supported by Microgate: synclink.o
  • Moxa C218 (12MHz 80286; 8 ports),
    Moxa C320 (40MHz TMS320; 8 - 32 ports)
    driver status: supported by Moxa
    driver locations: '>> from Taiwan at where ... is the same asabove)
  • SDL RISCom/8 (Cirrus Logic CD180; 8 ports)
    driver status: supported by SDL
    driver location:
  • Specialix SX (25MHz T225; 8? - 32 ports),
    SIO/XIO (20 MHz Zilog Z280; 4 - 32 ports)
    webpage: Old link is broken. Out of business?
    driver status: Was supported by Specialix
    driver location:
    old driver location:
  • Stallion EasyIO-4 (4 ports), EasyIO-8 (8 ports), and
    EasyConnection (8 - 32 ports) - each withCirrus Logic CD1400 UARTs,
    Stallion (8MHz 80186 CPU; 8 or 16 ports),
    Brumby (10/12 MHz 80186 CPU; 4, 8 or 16 ports),
    ONboard (16MHz 80186 CPU; 4, 8, 12, 16 or 32 ports),
    EasyConnection 8/64 (25MHz 80186 CPU; 8 - 64 ports)
    contact: [email protected] or
    driver status: supported by Stallion
    driver location: andincluded in linux kernel since 1.3.27. Moved: it's now at ?.
  • System Basewebsite:

Drivers Microgate Golf Clubs

A review of Comtrol, Cyclades, Digi, and Stallion products wasprinted in the June 1995 issue of the Linux Journal. The articleis available at Review: Intelligent Multiport Serial Boards Besides thelisting of various brands of multiports found above in this HOWTOthere is Gary's Encyclopedia - Serial Cards. It's not as complete, but may havesome different links.

The following brands that formerly made boards for with Linuxsupport don't mention any Linux support as of 1 Jan. 2000. Let meknow if this changes.

Drivers Microgate Xerox