Table of content
This serial driver supports following multiport boards.
- BlueStorm/SP Opto
- BlueStorm/Express Opto
This driver and installation procedure have been developed upon Linux kernel
The driver can be installed as a loadable module. Before you install the
driver, please refer to hardware installation procedure in the User’s Manual.
Once the driver is installed there are some utilties that will allow to use
some of the extra features of the driver in the utilities directory found in
this driver package.
– Hardware platform: Intel x86
– Kernel version: 2.4.x
– gcc version 2.72 or later
– Maximum 8 boards can be installed, with a combined maximum of 64 ports
– This driver has only been tested with Fedora Core 1, and Redat 7.2 and 9.0
and it is strongly recommended that the user do a complete install of all
components to ensure that this driver works correctly.
1. Hardware installation
You may need to adjust IRQ usage in BIOS to avoid IRQ conflict with legacy
Driver files and device naming convention
The driver file may be obtained from ftp, CD-ROM or floppy disk. The
first step is to copy the driver file “ctipu-24-X.XX.tar.gz”
onto your hard disk, then execute ‘tar -xzf ctipu-24-X.XX.tar.gz’,
where X.XX is the version of the driver package.
Dialin and callout port
This driver retains traditional serial device properties. There are
two special file names for each serial port. One is the dial-in port
which is named “ttyCTIxx”. The other is th callout port, named
“cuaCTIxx”, where xx is the port number.
Device naming when multiple boards are installed
Naming convention for each multiport board is pre-defined
as below, assuming 2 8-port boards, 1 4-port board and
1 2-port board.
Board Num. Dial-in Port Callout port
1st board (8-port) ttyCTI0 – ttyCTI7 cuaCTI0 – cuaCTI7
2nd board (8-port) ttyCTI8 – ttyCTI15 cuaCTI8 – cuaCTI15
3rd board (4-port) ttyCTI16 – ttyCTI19 cuaCTI16 – cuaCTI19
4th board (2-port) ttyCTI24 – ttyCTI25 cuaCTI24 – cuaCTI25
Module Driver Configuration
The driver module requires a kernel build environment in order to
compile. By default, the kernel build environment is looked for in
/lib/modules/<kernel version>/build. If you wish to
compile the driver module for a kernel other than the one currently
running, then modify the KERNEL_DIR variable in the Makefile.
The driver files “ctipciuart.o” will be built.
# make modules_install
The driver module will be installed into the appropriate
# modprobe ctipciuart
The driver module will be loaded.
4. Create Devices
# sh scripts/ctipumknod
The /dev/ttyCTIxx and /dev/cuaCTIxx devices will be created.
Note: ctipumknod requires the use of the proc filesystem.
Module Driver Startup at Bootup
As an alternative to steps 3 and 4 above, you can use the ‘ctipu’
script found in the ‘scripts’ directory. This script takes the
form of a traditional init.d script with start, stop, and restart
options. Note: ctipu requires the use of the proc filesystem.
To have the BlueStorm driver load at boot time you will need to do the
– copy the scripts/ctipu file to your /etc/init.d/ directory
–> If you are using a RedHat/Fedora based distro you will need to do:
# chkconfig –add ctipu
–> If you are using a Debian based distro you will need to do:
# updatercd ctipu defaults
Verify driver installation
You may refer to /var/log/messages to check the latest status
log reported by this driver whenever it’s activated. Also, you can
retrieve board and port information from the proc filesystem. To
view this information do the following:
# cat /proc/tty/driver/ctipu
When using RS485, you must tell the driver what mode the port has
been jumpered as. This is accomplished in one of two ways.
Use CTI’s set485 utility
Connect Tech has a small utility called set485 which comes packaged
with the BlueStorm driver. This utility allows you to set each port
to full duplex, half duplex, or multi-drop slave. The utilites can
be found in the utilties directory contained in our package. More
information can be found on this in the REAME in that directory.
Send IOCTLs from your app
Included with the driver source is ‘cti485.h’. This header
includes defines for IOCTLs used to get and set the 485 mode
of a port. See ‘cti485.h’ for more information.