Serial and UART Tutorial
Prev |  |

# 4 Configuring the `si` driver

Contributed by Nick Sayer `<nsayer@FreeBSD.org>`. 25 March 1998.

The Specialix SI/XIO and SX multiport cards use the `si` driver. A single machine can have up to 4 host cards. The following host cards are supported:

- ISA SI/XIO host card (2 versions)

- EISA SI/XIO host card

- PCI SI/XIO host card

- ISA SX host card

- PCI SX host card

Although the SX and SI/XIO host cards look markedly different, their functionality are basically the same. The host cards do not use I/O locations, but instead require a 32K chunk of memory. The factory configuration for ISA cards places this at `0xd0000-0xd7fff`. They also require an IRQ. PCI cards will, of course, auto-configure themselves.

You can attach up to 4 external modules to each host card. The external modules contain either 4 or 8 serial ports. They come in the following varieties:

- SI 4 or 8 port modules. Up to 57600 bps on each port supported.

- XIO 8 port modules. Up to 115200 bps on each port supported. One type of XIO module has 7 serial and 1 parallel port.

- SXDC 8 port modules. Up to 921600 bps on each port supported. Like XIO, a module is available with one parallel port as well.

To configure an ISA host card, add the following line to your kernel configuration file, changing the numbers as appropriate:

    device si0 at isa? iomem 0xd0000 irq 11

Valid IRQ numbers are 9, 10, 11, 12 and 15 for SX ISA host cards and 11, 12 and 15 for SI/XIO ISA host cards.

To configure an EISA or PCI host card, use this line:

    device si0

After adding the configuration entry, rebuild and install your new kernel.

> Note: The following step, is not necessary if you are using devfs(5) in FreeBSD 5.`X`.

After rebooting with the new kernel, you need to make the device nodes in `/dev`. The `MAKEDEV` script will take care of this for you. Count how many total ports you have and type:

    # cd /dev
    # ./MAKEDEV ttyAnn cuaAnn

(where `nn` is the number of ports)

If you want login prompts to appear on these ports, you will need to add lines like this to `/etc/ttys`:

    ttyA01  "/usr/libexec/getty std.9600"   vt100   on insecure

Change the terminal type as appropriate. For modems, `dialup` or `unknown` is fine.

Prev | Home |
Configuring the `cy` driver |  |