SUNIX Multi I/O Driver Support for Linux
Release V1.05, 28 February 2005
OVERVIEW
========
The Linux kernel contains some limited support for SUNIX multi I/O PCI cards.
However, there are many card models that are not correctly supported.
This package contains patches to the Linux kernel sources for both 2.4.x
and 2.6.x series kernels. The patch modifies the serial and parallel driver
provided by the kernel and will add an additional kernel module which handles
card detection.
After applying the patch all SUNIX multi I/O PCI cards should be supported
correctly. For detailed instructions on how to install the patch, see below.
CARD MODELS
===========
The patch supports the following SUNIX multi I/O PCI card models:
8139
8159
8169
4008A
4018A
4018C
4027A
4037A
4037D
4056A
4056D
4066A
4066R
4079A
4079D
4079R
4089A
4096A
KERNEL VERSIONS
===============
There is a separate patch for 2.4.x and 2.6.x kernel versions.
For installation instructions, see below.
The 2.4.x patch has been tested with the Linux kernel source version 2.4.20
and 2.4.27. However, it should work with other versions as well.
The 2.6.x patch has been tested with the Linux kernel source version 2.6.8.1.
However, it should work with other versions as well.
INSTALLATION
============
In order to apply the patch the Linux kernel sources need to be installed
and the kernel needs to be compiled. Refer to the documentation that came
with your Linux distribution for information on how to do that.
Normally, the kernel sources will be installed under /usr/src/linux.
Often, this directoy is a symbolic link that points to the location
where the sources reside.
When the kernel sources are installed and you are able to successfully
build a kernel then follow the installation instructions given below
to apply the patch.
Kernel 2.4.x
------------
1. Copy the patch file sunix_multi_io_patch_2.4.x.diff to /usr/src.
2. Change to the directory /usr/src/linux.
3. To apply the patch issue the following command:
patch -p1 < ../sunix_multi_io_patch_2.4.x.diff
Warnings produced by patch can be ignored.
4. To configure the kernel run the following command:
make menuconfig
Alternatively, you can use the command recommended by your
Linux distribution, e.g. make xconfig
5. In the kernel configuration menus make sure that the options
parport, parport_pc and serial are selected.
These options can be found at the following locations:
Parallel port support ->
parport
Parallel port support ->
PC-style hardware ->
parport_pc
Character devices ->
Standard/generic (8250/16550 and compatible UARTs) serial support ->
serial
If one of these options is selected to compile as a module
then the Sunix Multi I/O PCI card support has also to be compiled
as a module. See the next step for details.
6. Now the following new kernel config option is available:
Character devices ->
Standard/generic (8250/16550 and compatible UARTs) serial support ->
Sunix Multi I/O PCI Card support
Enable the option "Sunix Multi I/O PCI Card support". If one of the
options parport, parport_pc or serial in the previous step was selected
to compile as a module then this option has also to be compiled
as a module.
7. Build and install the kernel. Refer to the documentation of your
Linux distribution for more information on the required steps.
8. When the new kernel is running, the SUNIX driver will be automatically
loaded and initialized if compiled as a static driver. If the SUNIX
driver was compiled as a module then it needs to be loaded with the
following command:
modprobe snx_multi_io
You can decide to add this command to an init script.
Now the SUNIX multi I/O PCI card driver should work and the serial and
parallel ports of your card are available to the system.
Kernel 2.6.x
------------
1. Copy the patch file sunix_multi_io_patch_2.6.x.diff to /usr/src.
2. Change to the directory /usr/src/linux.
3. To apply the patch issue the following command:
patch -p1 < ../sunix_multi_io_patch_2.6.x.diff
Warnings produced by patch can be ignored.
4. To configure the kernel run the following command:
make menuconfig
Alternatively, you can use the command recommended by your
Linux distribution, e.g. make xconfig
5. In the kernel configuration menus make sure that the options
parport, parport_pc and serial are selected.
These options can be found at the following locations:
Device Drivers ->
Parallel port support ->
parport
Device Drivers ->
Parallel port support ->
PC-style hardware ->
parport_pc
Device Drivers ->
Character devices ->
Serial drivers ->
8250/16550 and compatible serial support ->
serial
If one of these options is selected to compile as a module
then the Sunix Multi I/O PCI card support has also to be compiled
as a module. See the next step for details.
6. Now the following new kernel config option is available:
Device Drivers ->
Character devices ->
Serial drivers ->
Sunix Multi I/O PCI Card support
Enable the option "Sunix Multi I/O PCI Card support". If one of the
options parport, parport_pc or serial in the previous step was selected
to compile as a module then this option has also to be compiled
as a module.
7. Check the following kernel configuration parameter:
Device Drivers ->
Character devices ->
Serial drivers ->
8250/16550 and compatible serial support ->
Maximum number of non-legacy 8250/16550 serial ports
Make sure that this parameter is set to the number of external serial
ports available on PCI cards + 4. For example, if you use an 4066A
card (8 serial ports) then this paramater needs to be set to 12.
If you use two such cards then the parameter needs to be set to 20.
8. Build and install the kernel. Refer to the documentation of your
Linux distribution for more information on the required steps.
9. When the new kernel is running, the SUNIX driver will be automatically
loaded and initialized if compiled as a static driver. If the SUNIX
driver was compiled as a module then it needs to be loaded with the
following command:
modprobe snx_multi_io
You can decide to add this command to an init script.
Now the SUNIX multi I/O PCI card driver should work and the serial and
parallel ports of your card are available to the system.
Device Files
------------
After you installed your Linux system there will be a default set of
device files in /dev. For each serial port you plan to use there
needs to be a device file named /dev/ttySN, where N is an integer number
usually starting at zero. Issue the following command to list the
existing serial device files:
# ls -al /dev/ttyS*
Note that usually the first 4 device files (/dev/ttyS0../dev/ttyS3) will
be assigned to on-board serial ports (COM1..COM4). External serial
ports, which include the SUNIX ports, will be assigned to /dev/ttyS4 and
higher numbers. If there are not enough /dev/ttySN device files available
by default, you have to create further device files manually.
For example, if you use an 4066A card (8 serial ports) then you have
to ensure that /dev/ttyS4 to /dev/ttyS11 do exist in your system.
How to create additional device files?
You should first try to use the MAKEDEV script. This script is usually
located in /dev/MAKEDEV but might also have a copy (or a symbolic link)
in /sbin/MAKEDEV. The command is used as follows:
# /dev/MAKEDEV -v ttyS8
Repeat this command for any device file you need to create.
Note: On some Linux distributions it may be necessary to use the
mknod command to create device files. Consult your Linux documentation
for information on how to do that. Using MAKEDEV is the preferred way.
After you created additional device files you should set the correct
ownership and access mode on these files. Issue an
# ls -al /dev/ttyS0
command to see the mode set on the first device file.
Use the chown and chmod commands to set the same rights on the newly
created files, for example:
# chown root:root /dev/ttyS8
# chmod 555 /dev/ttyS8
Repeat these commands for any device file you created.
Download Driver Pack
After your driver has been downloaded, follow these simple steps to install it.
Expand the archive file (if the download file is in zip or rar format).
If the expanded file has an .exe extension, double click it and follow the installation instructions.
Otherwise, open Device Manager by right-clicking the Start menu and selecting Device Manager.
Find the device and model you want to update in the device list.
Double-click on it to open the Properties dialog box.
From the Properties dialog box, select the Driver tab.
Click the Update Driver button, then follow the instructions.
Very important: You must reboot your system to ensure that any driver updates have taken effect.
For more help, visit our Driver Support section for step-by-step videos on how to install drivers for every file type.