Hardware manual
like dumb serial cards do). Not all "smart" boards are equally efficient. Many boards today are Plug-and-Play.
5.3 Getting/Enabling a Driver
Introduction
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 or supplied as a module. For the 2.6 kernels on, most drivers are supplied 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 the
module to load for a certain serial card. For older kernels, there were often no modules for dumb serial
multiport boards so support was built into the kernel.
Build (compile) support into the kernel?
A pre-compiled kernel may not have a driver for your multiport card built in. So then you must either compile
the kernel yourself and build in the right driver, or insure that the module is available and loads. Of course if
the driver doesn't come both ways (as a compile-time option and as a module) you have no such choice.
If you want to see what has already been compiled into an existing working kernel, go the the /boot directory
(or wherever the compiled kernel(s) reside) and look in the config... file.
In the 2.6 kernel there are many options to select from in the configuration file for compiling. Adding support
for certain multiport cards is listed under the headings "Character devices" or "Serial drivers". Old multiport
cards had support as part of the serial driver and are found under "Serial Drivers". More advanced cards have
their own driver found under "Character devices"
For compiling kernel 2.6 you should select "CONFIG_SERIAL_8250_EXTENDED". (or just
"CONFIG_SERIAL_EXTENDED" for 2.4). Then you will be asked more questions about your serial ports
with more options to select. If the resulting configuration is not quite right, then you may need to edit the
kernel configuration file manually.
Using module support
A pre-compiled kernel may come with a pre-compiled module for the board so that you don't need to
recompile the kernel. This module must be loaded in order to use it and if there is installation software for the
driver, it should also set up Linux to load the module (probably at boottime). Some of the modules to load at
boottime are listed in /etc/modules or /etc/modules.conf Also certain parameters may need to be passed to 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 be found 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 see: Configure.help and search for "serial",
etc. There are also kernel documentation files for certain boards including computone, hayes-esp,
moxa-smartio, riscom8, specialix, stallion, and sx (specialix).
Serial HOWTO
5.2 Dumb vs. Smart Cards 20