
This manual describes how to install and uninstall the Linux driver for PCI/PCIe Multiport card series.
V1.8, Written by Je-hwan Yoo on April 4th,2013
V1.9, Written by Je-hwan Yoo on May 14th,2013
V2.0, Written by Je-hwan Yoo on Jan 15th,2014
V2.1, Written by Je-hwan Yoo on Jan 30th,2014
V2.2, Written by Je-hwan Yoo on Feb 7th,2014
Linux User Manual
PCI/PCIe Multi-Ports Driver Installation & Usage
Ver. 2.2
Document Information
SystemBase Co., Ltd.

Contents
1. Introduction ........................................................................................................................................................................ 3
2. Supported Linux Kernel Versions ........................................................................................................................... 3
3. Required for driver installation ............................................................................................................................... 4
4. Installation........................................................................................................................................................................... 6
5. Remove ................................................................................................................................................................................. 6
6. Testing ................................................................................................................................................................................... 7

1. Introduction
Linux driver for PCI/PCIe Multi-port card series is provided in the form of a script, you
can install the driver without other operations.
2. Supported Linux Kernel Versions
Supported Kernel: From version 2.4.18 to 3.12
3. Release Note
Linux Driver Version 20.2
(Update) Support to Multi-32/PCIe (bridge type)
Linux Driver Version 20.1
(Bug Fix) Fix of “struct tty_port” link
(Update) Support to kernel version 3.12
Linux Driver Version 20
(Update) Support to kernel version 3.8

4. Required for driver installation
sysbas@utu:/tmp$ gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/i686-linux-gnu/4.6.1/lto-wrapper
Target: i686-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.6.1-9ubuntu3' --withbugurl=file:///usr/share/doc/gcc-4.6/README.Bugs --enable-languages=c,c++,fortran,objc,objc++,go --prefix=/usr --program-suffix=-4.6 --enable-shared --enable-linker-build-id --withsystem-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxxinclude-dir=/usr/include/c++/4.6 --libdir=/usr/lib --enable-nls --with-sysroot=/ --enableclocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enableobjc-gc --enable-targets=all --disable-werror --with-arch-32=i686 --with-tune=generic --enablechecking=release --build=i686-linux-gnu --host=i686-linux-gnu --target=i686-linux-gnu
Thread model: posix
gcc version 4.6.1 (Ubuntu/Linaro 4.6.1-9ubuntu3)
sysbas@utu:/tmp$ gcc -v
gcc: command not found
1. Login as root user (Superuser).
You must login as root. You can check it from the prompt as shown below.
(Default: If you login without the root account, it will show $, but when you did, # is
displayed.)
<Root Account>
<Unprivileged Account>
2. GCC (GNU C Compiler)
Check if you have the GCC installed. When you type ‘gcc –v’ and the result shows
“gcc: command not found”, the GCC is not installed. You must install it before
installing the driver.
<GCC installed>
<GCC not installed>

3. Kernel Source
sysbas@utu:/tmp$ cd /user/src
sysbas@utu:/src$ ls
linux-headers-3.0.0-12 linux-headers-3.0.0-12-generic
sysbas@utu:/tmp$ cd /user/src
sysbas@utu:/src$ ls
sysbas@utu:/tmp$ make -v
GNU Make 3.81
Copyright (C) 2006 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.
This program built for i686-pc-linux-gnu
sysbas@utu:/tmp$ make -v
make: command not found
Check whether the kernel source files are installed. Type ‘cd /usr/src’ and check the
result. If you can't found kernel source under the directory, you must install the
kernel source files before installing the driver.
<Kernel source installed>
<Kernel source not installed>
4. Make
Check whether the “make” is installed. Type ‘make –v’ and check the result. When it
shows “make: command not found”, the “make” is not installed. You must install
make. You must install the “make” before installing the driver.
<Make installed>
<Make not installed>

5. Installation
root@utu:/tmp# ./eh_async_mpdrv.v19.sh
Verifying archive integrity... All good.
Uncompressing Enhanced Async Multi-Port(PCI/PCIe) Linux device drvier installer....................
================================================================
Enhanced Async Multi-Port(PCI/PCIe) Linux Device Driver
Version : 19.0 revision: 2013-05-15
================================================================
1 board(s) installed
Board No.1 : Multi-4 PCI (rev b0)
/dev/ttyMP0 (RS232 , 16C105X)
/dev/ttyMP1 (RS232 , 16C105X)
/dev/ttyMP2 (RS232 , 16C105X)
/dev/ttyMP3 (RS232 , 16C105X)
root@utu:/tmp#
root@utu:/tmp/eh_async_mpdrv.v19# ls
Install Remove async_multiport ioctl multidrop_test
root@utu:/tmp/eh_async_mpdrv.v19# ./Remove
Remove Multiports PCI/PCIe Driver..!!
remove device(/dev)…..done
modify rc.local…..done
root@utu:/tmp/eh_async_mpdrv.v19#
1. Please check whether the power is off from your PC.
2. Install a PCI/PCIe Multi-port card in the PCI/PCIe slot of the PC.
3. If you have any external cables for each port, please connect the cables to the card.
4. Turn on the PC.
5. After the Linux boots, login with the administrator ID as root.
6. Run the device driver file named “eh_async_mpdrv.v19.sh”.
The device driver file is an executable file. You could just type the name in shell
followed by “./”.
After you execute the file, you can see a sub directory named “eh_async_mpdrv.v19”
with installation information like a below image.
You will see the followings: model name of the multiport, type of serial interfaceRS232/RS422/RS485, port name and version in the installation information
6. Remove
1. Go to the directory where the driver is installed.
If you installed the driver at “~/tmp”, please go to “~/tmp/eh_async_mpdrv.v19”
directory.
2. Run Remove command as follows.
#./Remove
3. All the installed files will be removed automatically after executing Remove
command.

7. Testing
root@utu:/tmp/eh_async_mpdrv.v19/async_multiport# ./sb_test
Usage: ./sb_test [Port Name] [Baudrate] [TestMode]
Port Name : /dev/ttyMP0 ~ /dev/ttyMP32
Baudrate : 9600, 19200, ...
TestMode : 0(Loopback) 1(Send) 2(Recv)
root@utu:/tmp/eh_async_mpdrv.v17/async_multiport#
root@utu:/tmp/eh_async_mpdrv.v19/async_multiport# ./sb_test /dev/ttyMP0 9600 0
Loopback Test Mode !
a
ab
abc
abcd
abcde
abcdef
abcdefg
abcdefgh
abcdefghi
abcdefghij
abcdefghijk
abcdefghijkl
abcdefghijklm
abcdefghijklmn
abcdefghijklmno
abcdefghijklmnop
#cd async_multiport
#./sb_test [Port Name] [Baudrate] [TestMode]
If you want to know how to use the sb_test, you just type the name without any
argument. And then you can see the method of the usage.
Usage: ./sb_test [Port Name] [Baudrate] [TestMode]
Port Name : /dev/ttyMP0 ~ /dev/ttyMP32
Baudrate : 9600, 19200, 38400, 57600, 115200, 230400, 460800, 921600
TestMode : 0 (Loopback)
1 (Send)
2 (Receive)
Example :
$./sb_test /dev/ttyMP0 9600 0
$./sb_test /dev/ttyMP5 921600 0
$./sb_test /dev/ttyMP3 115200 1
(Note) There is a blank space after “/sb_test“ and before “/dev/”.
After you connect the loopback connector to the port you wish to test, you can test it by
using the loopback mode.
The test pattern is “abcdefghijklmnopqrstuvwxyz” and the program generates characters
from “a” to “z” repeatedly increasing by one character.
When the multi-port card driver is installed correctly, you will see the test result
repeatedly as shown above.