The content of this manual is also available in CD-ROM and at Moxa Web Site.
Moxa Technologies Co., Ltd.
Tel:+866-2-8665-6373
Fax:+886-2-8665-6372
www.moxa.com
support@moxa.com.tw
Smartio C168H/HS User’s Manual
The software described in this manual is furnished under a license agreement and may be used only in
accordance with the terms of the agreements.
Copyright Notice
Copyright 1999 Moxa Technologies Co., Ltd.
All rights reserved.
Reproduction in any form without permission is prohibited.
Trademarks
MOXA is a registered trademark of Moxa Technologies Co., Ltd.
All other trademarks or registered marks in this manual belong to their respective manufacturers.
Disclaimer
Information in this document is subject to change without notice and does not represent a commitment on
the part of Moxa.
Moxa provides this document “as is”, without warranty of any kind, either expressed or implied,
including, but not limited to, the particular purpose. Moxa may make improvements and/or changes in
this manual or in the product(s) and/or the program(s) described in this manual at any time.
Information provided in this manual is intended to be accurate and reliable. However, Moxa
Technologies assumes no responsibility for its use, or for any infringements of rights of the fourth parties
which may result from its use.
This product could include technical or typographical errors. Changes are periodically made to the
information herein; these changes may be incorporated in new editions of the publication.
MOXA Internet Services
Customer’s satisfaction is always our number one concern. To ensure that customers get the full benefit
of our services, Moxa Internet Services have been built for technical support, product inquiry, new driver
update, user’s manual update, etc.
The followings are the services we provide.
E-mail for technical support
addres
s:support@moxa.com.tw
FTP site for free driver update
address:
user ID: ftp
password:your_email_address
World Wide Web (WWW) Site for product info
address:
ftp.moxa.com
or
ftp.moxa.com.tw
www.moxa.com
or
www.moxa.com.tw
About This Manual
This manual is composed of six Chapters and one Appendix. This manual is written for installer, system
administrator and software programmer.
If you are a first-time installer and system administrator, we recommend you to go through the whole
manual except Chapter 4.
If you are a software programmer, you may refer to Chapter 4 “Serial Programming Tools”.
If you need cable wiring information, please see Chapter “Connection Option (Opt8x) and Cable
Wiring”.
If you encounter any problem during installation, please refer to Chapter “Troubleshooting”.
+ In this manual, C168 Series refers to C168H and C168HS.
Chapter 1 Introduction
Overview and features of the Smartio C168 Series boards, list of items and overall installation guide.
Chapter 2 Hardware Installation
Hardware installation for the Smartio C168 Series boards and connection option (Opt8x) is detailed.
Chapter 3 Software Installation
This Chapter details the software installation, configuration, driver loading/unloading, driver
upgrade and removal for various operating systems: Windows NT, Windows 95/98 , UNIX, DOS.
Chapter 4 Serial Programming Tools
This Chapter roughly describes the programming tools for various O.S. platforms, including PComm
under Windows NT, Windows 95/98, API-232 under DOS and standard UNIX system calls. Also
RS-485 programming issue is covered (for Opt8J).
Chapter 5 Connection Option (Opt8x) and Cable Wiring
This Chapter describes the RS-232/422/485 cable wiring for each connection option (Opt8x).
Chapter 6 Troubleshooting
This Chapter describes the problems and possible answers for Smartio C168 Series boards.
Appendix Technical Reference
Specification details, UART, I/O port address map, and DB62 pinouts are described.
The term Smartio stands for smart multiport serial I/O solution. The Smartio C168
Series
multiport boards offer 8 serial ports for connecting terminals, modems,
printers, data acquisition equipment and any other serial devices to the PC/AT and
its compatible systems. With the well-designed and fine-tuned device driver, the
Smartio boards make full use of the 32 byte Tx/Rx FIFO and on-chip H/W flow
control, so that they can transfer data without data loss even at high speed such as
921.6 Kbps, which offers a reliable and high performance solution for serial
multiport communications.
The
Smartio C168 Series is equipped with custom-designed ASIC chip which
replaces lots of conventional ICs and reduces the board to half-size. The whole
family supports 16 bit architecture. Full range of I/O addresses and IRQs are
available. In addition, with
the family is designed without jumper or switch. These features make each port on
the board truly independent to any other port and thus compatible with most existing
multiport boards.
on-board EEPROM for storing the configuration data,
The
Smartio C168 Series is also available in PCI bus. Please contact MOXA
dealer/distributor or MOXA Web site for more details.
Smartio C168H/HS User’s Manual 1-1
Hardware Configuration Method
JP1
Switch
Smartio
ON
1 2 3 4
Family
Jumper
.........
.........
Traditional
Multipoort Board
New : set I/O addressTraditional : set switch and
and IRQ via softwareand jumper manually for
Utility.I/O address and IRQ.
Instead of using traditional jumper or switch for IRQ and I/O address settings,
hardware configuration of each port is easily set by DOS utility,
read and write the on-board EEPROM for configuration information through the
CAP (Configuration Access Port) address. The CAP address is the only channel
via which the configuration utility Io-irq.exe can access the board, which is identical
to
the first port's base I/O address.
The only jumper,
Normally JP1 is left open. When JP1 is short, the CAP address is forced to a fixed
I/O address,
must to keep JP1 always short.
JP1, is designed in case that users forget the CAP address.
0xA700. However, to adopt quick installation (described later), it is a
Io-irq.exe, which
Quick Installation
To ease the hardware configuration, users who install only one Smartio C168
Series board under Windows NT/95/98
installation
Because the family is so flexible in hardware configuration that they are compatible
virtually with all kinds of other manufacturer's multiport boards using 16450 or
16550 UART.
described in Chapter 2.
1-2 Smartio C168H/HS User’s Manual
are recommended to adopt quick
Introduction
Surge Protection
To prevent the boards from damage caused by lighting or high potential voltage,
surge protection technology is introduced in some model to protect the board.
Operating System Support
The family is operational under most popular operating systems such as Windows
NT, Windows 95/98, SCO UNIX/XENIX/OpenServer, DOS, Linux, QNX,
FreeBSD, UNIX SVR4.2, However,
MOXA device drivers for Windows NT,
Windows 95/98, Linux, SCO UNIX/OpenServer, UNIX SVR4.2 and DOS are
provided for easier installation, configuration and better performance. In this
manual, chapters for MOXA
Windows NT, Windows 95/98, UNIX and DOS
device drivers are included. For other compatible systems not mentioned, please
refer to the respective operating system’s manual for how to install and configure
the standard driver.
MOXA Serial Comm Tools
For easy application development, MOXA provides an easy-use serial
communication library under Windows NT/95/98 (
Users can use this library to develop your own applications using Microsoft C,
Turbo C, Assembly, QuickBASIC, Turbo Pascal, Clipper, Visual Basic, Visual C++,
Borland Delphi, etc.
Utilities, such as diagnostic and monitor, are included for
diagnosing the board/port or monitoring the communication status.
PComm) and DOS (API-232).
Wide Applications
The Smartio C168 Series are suitable for many applications. Here are a few:
l Internet/Intranet Connection
l Remote Access Application
l Multi-user Application
l Industrial Automation
l Office Automation
l Telecommunication
l PC-based (vending) Machine or Kiosk System
l Point-of-Sale (POS) System
Smartio C168H/HS User’s Manual 1-3
Features
The Smartio C168 Series consist of members as follows,
C168H8 port RS-232 or RS-422, high speed 16550C or compatible UART
C168HS8 port RS-232 or RS-422, surge protection, 16550C or compatible
UART
v Custom-designed ASIC, compact board size (half-size)
v No switch no jumper, easily configured by software
v Independent I/O address, IRQ setting for each of 8 serial ports
v 16 bit AT bus architecture, more IRQs supported
v Surge protection for RS-232 (C168HS)
v Isolation protection for RS-422 (optional connection box Opt8F)
v High speed 16550C Communication Controller with on-chip hardware flow
control, no data loss
v PComm serial communication tool
v Support popular OS¡ÐWindows NT, Windows 95/98, SCO UNIX/OpenServer,
UNIX SVR4.2, DOS, Linux
vCompatible with many other OS¡ÐQNX, SCO XENIX, Free BSD
Windows NT
Windows 95/983
DOS3
SCO UNIX/OpenServer3
UNIX SVR4.23
LinuxR
QNXC
SCO XENIXC
FreeBSDC
3: Driver supported by Moxa and shipped with product
R : Driver supported by Moxa but sent by request
C : Driver supported by OS
Note: MOXA FTP site is available for driver download
1-4 Smartio C168H/HS User’s Manual
C168H/HS
3
Check List
Opt8A/Opt8B/Opt8S
Opt8A/Opt8B/Opt8S
Introduction
Upon unpacking the Smartio C168 Series package, you should find the following
items in the package,
v Smartio C168 Series 8-port high performance async board
v Device driver diskettes:
l Windows NT and Windows 95/98¡Ñ1
l DOS¡Ñ1
l UNIX¡Ñ1
v C168H/HS User's Manual (This Manual)
v PComm Lite diskette¡Ñ1
You need also one of the following connection options:
v RS-232 connection box with 8 DB25 female/male/female ports, respectively
(surge protection for Opt8S).
v 1.5 meter DB62 to DB62 cable.
Smartio
C168 Series
Smartio C168H/HS User’s Manual 1-5
P1P2P3P4P6P5P7
P8
Opt8F/Opt8Z
Smartio
C168 Series
Opt8C/Opt8D
v RS-232 octopus cable with 8 port male connectors, DB25 for Opt8C and DB9
for Opt8D (1 meter long).
Smartio C168 Series
Opt8C/Opt8D
Opt8F/Opt8Z
v RS-422 connection box with 8 port female DB25 connectors (isolation
protection for Opt8F).
v 1.5 meter DB62 to DB62 cable.
v 110V or 220V adapter.
1-6 Smartio C168H/HS User’s Manual
TxRx
1
2
3
4
5
6
7
8
Introduction
Smartio
C168 Series
Opt8J
v RS-422/485 connection box with 8 port female DB25 connectors.
v 1.5 meter DB62 to DB62 cable.
v 110V or 220V adapter.
Opt8J
Opt8J is the RS-422/485 connection box with 8 port female DB25 connectors for
MOXA 8 port boards, including the
on the side of the Opt8J. Each switch controls the communication mode (RS-422 or
RS-485) of each port, respectively.
Smartio C168 Series. There are 8-DIP switches
Rx
1
2
3
4
5
6
7
8
1 2 3 4 5 6 7 8
ONDIP
RS-422/485 Port Switch of Opt8J
1 2 3 4 5 6 7 8
DIP
ON
RS-422 Mode
Set the respective switch to OFF position to use RS-422 interface. This means the
port is always ready to transmit and receive data simultaneously (full-duplex).
Smartio C168H/HS User’s Manual 1-7
RS-485 Mode
The Opt8J supports only 2-wire RS-485 communication. Set the respective switch to
ON position to use RS-485 interface. This means the port can transmit data only
when RTS is asserted, and receive data only when RTS is not asserted (half-duplex).
Refer to Chapter “Connection Option (Opt8x) and Cable Wiring” for RS-422/RS485 cable wiring. And also to Chapter “Serial Programming Tools” for Opt8J RS485 programming details.
Installation Guide
This section gives a brief summary of how to install the Smartio C168 Series under
each supported operating system. The installation is simple and involves the
following stages:
Configure
io-irq.exe. See Chapter “Hardware
Install the
Install the software from the disketteSee Chapter “Software
Configure the driver for the board and portsInstallation” for respective OS
Connect the devices with the cable See Chapter “Connection
Restart the systemSee Chapter “Software
Check the driver initialization statusInstallation”
If the system restart successfully, you may
develop your applications orSee Chapter “Serial
execute the desired applicationsProgramming Tools”
Smartio C168 Series with
Smartio C168 Series board Installation”
Cable and Cable Wiring”
1-8 Smartio C168H/HS User’s Manual
The installation of the Smartio C168 Series consists of hardware and software
installation. The hardware installation is detailed in this chapter. The next chapter
deals with the software installation for various operating systems.
Default Settings
2
2
2 Hardware Installation
JP1
Smartio C168 Series
The Smartio C168 Series has the following default (factory) settings:
I/O address:
IRQ:10
INT Vector:0x1C0
CAP Jumper JP1: Open
Note ! If the default settings above are what you desire and good for the
system without conflicts, you may simply install the board in the
system and go directly to the next chapter, “Software Installation”.
Otherwise, follow the instructions below.
Now you should do either the normal hardware installation (detailed in the later
section, “Hardware Installation with IO-IRQ Utility”) or
installation
latter is provided to facilitate the hardware installation, only under the
circumstances that:
u Only one Smartio C168 Series board is allowed to install in a system.
u Windows NT and 95/98 are the only operating systems supported.
u I/O address 0xA700 must be free
(detailed right in the next section, “Quick Hardware Installation”). The
Quick Hardware Installation
To fully utilize the superior feature of flexible hardware configuration design of the
Smartio C168 Series, a quick and easy method of installation is designed for users,
which absolutely free the users from hardware configuration effort, i.e.,
without running configuration program: Io-irq.exe
jumper JP1. The software and hardware configuration will be completed at the same
time while doing the software configuration.
the quick hardware
installation
. Simply always short the
Besides, the speed range will be set to
called
High Speed Spectrum and detailed in the section, “Hardware Installation
with IO-IRQ Utility”.
How to Do Quick Hardware Installation
Users who install only one Smartio C168 Series board under Windows NT/95/98
are strongly recommended to do the quick installation as follows:
1. Short the jumper JP1 on the upper-left corner of the board.
2. Plug the board in PC with the desired system installed, which is powered off in
advance.
3. Process software installation, detailed in the next chapter.
This is to specify the desired I/O address, IRQ and INT Vector in the software
configuration panel, no matter what hardware settings are on the board. The
2-2 Smartio C168H/HS User’s Manual
from 50 to 921.6K bps by default, which is
Hardware Installation
software configuration program will automatically update the hardware settings.
After this, users already complete the whole installation.
4. Shutdown System (Windows NT/95/98).
5. DO power OFF and then ON (or Reset) the PC. (Please cold start.)
6. Restart System (Windows NT/95/98).
It is very important to keep the JP1 always short in this case. Without running the
hardware configuration program, Io-irq.exe under DOS prompt, the software
configuration program will automatically update the hardware settings of the board
while updating the software settings. This saves the trouble doing hardware
configuration. However, remember to
cold start the system every time the
configuration changed.
Hardware Installation with IO-IRQ Utility
This section is for those who can not use quick hardware installation:
u Install two or more Smartio C168 Series boards in a system.
u Fail to install, due to the I/O address 0xA700 is not available or has conflict in
the system.
u Use operating systems other than Windows NT and 95/98.
Before proceeding the
Installation”, do
software installation, detailed in the next chapter, “Software
hardware configuration to setup the I/O address and IRQ with
“Io-irq.exe”, detailed in the next section.
Remember to keep the hardware settings in mind for the software installation.
The
Smartio C168 Series has the following default (factory) settings:
Because the ASIC-designed Smartio C168 Series has no switch and no jumper for
configuring manually the I/O address, IRQ, INT vector, etc. of the boards, you
run the software utility, Io-irq.exe, in the driver diskette under DOS system to
change the hardware configuration.
1. Choose a PC that has DOS system inside.
2. Power off the PC.
3. Make sure no hardware conflict and plug the board in a free 16-bit slot of the PC,
one board at a time with JP1 open.
must
+ If you are installing multiple boards, insert one board at a time and
configure it using the Io-irq program before inserting the next board.
This is to prevent conflict between two boards with same default
hardware settings.
The
Smartio C168 Series has the following default (factory) settings,
I/O address:
IRQ:10
INT Vector: 0x1C0
Configuration Access Port (CAP): 0x180
5. Run the utility “Io-irq.exe” contained in the driver diskette to set up I/O address,
IRQ and INT vector of the board. Please refer to the next section, “IO-IRQ
Utility and Hardware Configuration” for more details. Or follow the on-line help
to configure the
After completing the hardware configuration, the board is ready for use under
operating systems, such as Windows NT and 95/98, DOS, UNIX etc.
Smartio C168 Series board.
IO-IRQ Utility and Hardware Configuration
Note that the CAP address, e.g. 0x180, is identical to the first port's I/O address
except in one case that the JP1 jumper is installed before powering on the PC. In
this case, the CAP address will be forced to
2-4 Smartio C168H/HS User’s Manual
0xA700. The CAP address must be
Hardware Installation
typed correctly. With the correct CAP address, the utility can find the configuration
stored in the
CAP address is the only channel via which the configuration utility Io-irq.exe can
access the board.
1. Run the utility “Io-irq.exe” contained in the driver diskette to set up I/O address,
IRQ and INT vector of the board.
on-board EEPROM and display it on the configuration panel. The
2. Select “Smartio/Industio ISA Family” and press ENTER key.
Smartio C168H/HS User’s Manual 2-5
3. Enter the CAP address of the Smartio C168 Series board to be configured.
4. Configure the following parameters as necessary.
Port IndexIndicate the port index for each port.
I/O addressEnter the base I/O address for each port, either sequentially or
not. Avoid to conflicting with any other devices.
IRQEnter the IRQ, 2, 3, 4, 5, 7, 10, 11, 12 or 15, for each port,
independently or not.
SpeedThis field specifies the use of normal or high speed capability.
Normal speed ranges from 50 bps to 115.2 Kbps. High speed
ranges from 50 bps to 921.6 Kbps.
support both normal and high speed spectra.
2-6 Smartio C168H/HS User’s Manual
Smartio C168 Series
Hardware Installation
Note that, currently, port that uses MOXA Windows NT and
95/98 driver
Smartio C168 Series board is configured as High Speed
Spectrum
NT and 95/98 driver
example, the displayed speed 38.4 Kbps is equal to the working
speed 38.4 Kbps.
will run at the displayed speed. To be clear, when
, any port driven by the Moxa-provided Windows
will display the exact working speed. For
However, if the port is driven by
such as
Windows NT and 95/98, such as
is equal to
if set to Normal Speed Spectrum with 38.4 Kbps, will work at
38.4 Kbps for sure; while a port, if set to High Speed Spectrum
with displayed speed 38.4 Kbps, will actually work at 307.2
Kbps (38.4 Kbps
The following is the
reference purpose,
standard serial driver, or Moxa drivers other than
8 times of the displayed speed. For example, a port,
INT VectorEnter the interrupt vector I/O address for all ports. I/O address
for interrupt vector is from 00000H to 0FFFFH. Interrupt
vector is one byte of I/O address, in which each bit is used to
indicate the occurrence of interrupt for corresponding port. To
use interrupt vector, type in the hardware Interrupt vector I/O
address. If not using interrupt vector, type 0 or leave blank as
the interrupt vector.
There are two modes for the
is using interrupt vector, the other is not using interrupt vector.
Driver employing interrupt vector scheme is supposed to have
better performance than employing polling scheme.
5. Press F10 to save the configuration and exit the utility.
2-8 Smartio C168H/HS User’s Manual
Smartio C168 Series driver. One
In this chapter, the software driver installation, configuration and driver
update/removal procedures are described for various operating systems, including
Windows NT, Windows 95/98, UNIX and DOS Before proceeding with the software
installation, complete the hardware installation, detailed in previous chapter,
“Hardware Installation”.
If it is necessary for you to develop your own applications, please also refer to the
next chapter, “Serial Programming Tools”, for programming issues.
Windows NT
Windows NT supports up to 256 serial ports, from COM1 to COM256. To fully
integrate the advanced features of Windows NT, multi-process and multi-thread,
pure 32-bit Windows NT device drivers are developed for the
multiport boards. The driver conforms to Win32 COMM API standard.
3
3
3 Software Installation
Smartio C168 Series
l To install the driver for the first time, please go directly to the next section,
“Installing Driver”.
l If you already have installed the driver and want to re-configure the board and
port, add more boards or delete boards, please refer to the section, “Configuring
Board and Port”.
l To update or remove the driver, please go to the section, “Updating Driver” or
“Removing Driver”.
Smartio C168H/HS User’s Manual 3-1
Installing Driver
Following is the procedure for installing the Smartio C168 Series driver for the
first time
Note !Make sure the board(s) has(have) already been plugged in the system
1. Please log in NT as Administrator.
2. Open the [Control Panel], click on the [Network]icon and select the
3. Click on the [Add]button, thenthe [Have Disk...] button in “Select Network
4. Specify the exact path of the driver diskette, A:\WINDOWS.NT. Then click
under Windows NT 4.0.
slot(s) if you are doing
[
Adapters] tab.
Adapter”.
[
OK].
quick installation.
3-2 Smartio C168H/HS User’s Manual
Software Installation
5. Select “MOXA Smartio/Industio Family multiport board” in the “Select
OEM Option” dialog box, and then click [
Smartio/Industio Configuration Panel
” dialog box to start the installation.
OK] to enter the “Moxa
6. In the “Moxa Smartio/Industio Configuration Panel” dialog box, click [Add]
to enter “
“
C168 Series” in the “Board Type” field. If necessary, type the desired interrupt
vector address, in the “INT Vector” field. Select the desired interrupt number in
the “Interrupt No.” field. Type the desired base I/O address, in the “Base I/O
Port Address” field. All the settings should match settings that are physically set
on the board and conflict with no other devices.
Property” dialog box to add the Smartio C168 Series board. Select the
Smartio C168H/HS User’s Manual 3-3
Note ! You may go directly to the step 8 if you need not change any setting.
7. In the “Property” dialog box, select the desired port in the port list and click
[
Port Setting] to enter the individual “Port #” setting dialog box to change the
port COM number mappings or FIFO settings.
3-4 Smartio C168H/HS User’s Manual
Software Installation
l Port Number
You have to set up all the ports of the board with the desired “COM
number
this “Individual Port Setting” dialog box, you may have two ways to map
the physical ports to COM numbers depending on the check box “
Enumerating COM number
If “Auto Enumerating COM Number” is checked and specify the COM
number of the first port, subsequent ports are mapped to continuous
COM numbers. For instance, if first port is mapped to COM3, then
second port is mapped to COM4 sequentially.
If “Auto Enumerating COM Number” is not checked, specify the COM
number for individual port. For instance, the second port can be out of
sequence, say COM10, while the first port is mapped to COM3.
l Rx FIFO Trigger
Rx FIFO trigger levels, at 1, 4, 8 or 14 bytes, are available, and the
default value is 14 bytes.
”, which should not conflict with other COM number in use. In
”.
Auto
l Tx FIFO Size
Tx FIFO sizes from 1 to 16 bytes are available, and the default value is
16 bytes.
8. Click [OK] in the “Port #” and the “Property” dialog boxes to go back to the
Note !If you need to install more than one board, click [Add] and repeat
steps
6 to 8 to configure another board. Up to four Smartio C168
Series boards can be installed in a system.
Click [
OK] to finish the configuration.
Smartio C168H/HS User’s Manual 3-5
9. When configuration is done, click on [OK] button in the “Network Settings”
dialog box.
10.Restart Windows NT system. The latest configuration will not take effect unless
the system restarts.
Note !The latest configuration will not take effect unless the system
restarts.
11.Once the system restarts, you may check the event log issued by the MOXA
driver to see if the ports of the board are initialized successfully.
l Enter the [Administrative] group, click on the [Event Viewer] icon and
select [
Smartio
System Event Log] to check a message similar to “MOXA
C168 Series, with first serial port COM3, has been enabled”
for each configured board.
lIf an error message similar to “Cannot find any configured MOXA
Smartio C168 Series board!”
chapter for solutions.
3-6 Smartio C168H/HS User’s Manual
appears, refer to the “Troubleshooting”
Note !Once the board and the driver are installed and the driver restarts
successfully, you can start to develop applications with the
library (See “Serial Programming Tools” chapter) or the Microsoft
Win32 API. You can also execute any ready-made applications, such
as
PComm utility Terminal emulator (See “Serial Programming Tools”
chapter) or HyperTerminal to transmit/receive data, as well as Remote
Access Service to provide dial-up networking capabilities.
Configuring Board and Port
If you already have installed the driver and want to re-configure the ports, please
follow this procedure.
1. In the [Control Panel], click on the [Network] icon and select the [Adapters]tab.
2. Select “MOXA Smartio/Industio Family Adapter” in “Network Adapters”.
Software Installation
PComm
Smartio C168H/HS User’s Manual 3-7
3. Click on the [Property] button to open the “Moxa Smartio/Industio
Configuration Panel”
dialog box. Please see steps 6-10 in the previous section,
“Installing Driver”, for more details.
In this configuration panel, you may:
l Click [Property] to enter “Property” dialog box to configure the selected
board with the correct “COM Number”, “INT Vector”, “Interrupt no” and
“Base I/O Port Address”. Please see
steps 6 to 8 in the previous section,
“Installing Driver”, for more details, except that the “Board Type” field is
not supposed to be changed.
l Click [Add] to add one more board that is not yet configured in the system.
Please see
steps 6 to 8 in the previous section, “Installing Driver”, for more
details.
l Click [Remove] to remove the board currently selected from the configured
board list.
l Click [OK] to confirm the configuration changes you made.
l Click [Cancel] to leave the dialog with the configuration unchanged.
3-8 Smartio C168H/HS User’s Manual
Updating Driver
To update the driver for the Smartio C168 Series boards, simply remove the driver,
as described in the next section, and reinstall it as detailed in section,
Driver”
.
Removing Driver
To remove the driver for the Smartio C168 Series boards,
1. Open the [Control Panel], click on the [Network] icon, and select the
[
Adapters] tab.
2. Select “MOXA Smartio/Industio Family Adapter” in the adapter list, then
click on the [
3. Restart the system to activate the new configuration.
Software Installation
“Installing
Remove] button and the [OK] button to remove the driver.
Windows 95/98
Windows 95/98 supports up to 128 serial ports, from COM1 to COM128. To fully
integrate the advanced features of Windows 95/98, multi-process and multi-thread,
pure 32-bit Windows 95/98 virtual device port drivers (VxD) compliant with
communication drivers (VCOMM) are developed for the
other MOXA multiport boards. The drivers conform to the Win32 COMM API
standard.
l To install the driver for the first time driver, please go directly to the section,
“Installing Driver”.
l If you already have installed the driver and want to re-configure the board and
port, add more boards or delete boards, please refer to the section, “Configuring
Board and Port”.
l To update or remove driver, please go to the sections, “Updating Driver” and
“Removing Driver”.
Smartio C168 Series and
Smartio C168H/HS User’s Manual 3-9
Installing Driver
Up to four Smartio C168 Series boards can be installed together as long as the I/O
addresses and IRQ number resources are sufficient and available in a system.
The following is the procedure for installing
under Windows 95/98:
1. Run Setup95.exe in the driver diskette.
2. Click on [Next>] button in the “Welcome ...” message dialog box. And then
click on [
3. Click on [Finish] button in the “Complete ...” message dialog to enter the
configuration panel.
4. The “Moxa Smartio/Industio Configuration Panel” dialog will pop up for you
to configure the boards and ports.
Next>] button in the “Ready ...” message dialog.
Smartio C168 Series for the first time
5. In the “Moxa Smartio/Industio Configuration Panel” dialog box, click [Add]
to enter “
“C168 Series” in the “Board Type” field. If necessary, type the desired interrupt
vector address, in the “INT Vector” field. Select the desired interrupt number in
the “Interrupt No.” field. Type the desired base I/O address, in the “Base I/O
Port Address” field. All the settings should match settings that are physically set
on the board and conflict with no other devices.
Property” dialog box to add the Smartio C168 Series board. Select the
3-10 Smartio C168H/HS User’s Manual
Software Installation
Note !Go directly to the step 7 if you need not change any setting.
6.In the “Property” dialog box, select the desired port in the port list and
click [
Port Setting] to enter the individual “Port #” setting dialog box to
change the port COM number mappings or FIFO settings.
Smartio C168H/HS User’s Manual 3-11
l Port Number
You have to set up all the ports of the board with the desired “COM
number
”, which should not conflict with other COM number in use. In
this “Individual Port Setting” dialog box, you may have two ways to map
the physical ports to COM numbers depending on the check box “
Enumerating COM number
”.
If “Auto Enumerating COM Number” is checked and specify the COM
number of the first port, subsequent ports are mapped to continuous
COM numbers. For instance, if first port is mapped to COM3, then
second port is mapped to COM4 sequentially.
If “Auto Enumerating COM Number” is not checked, specify the COM
number for individual port. For instance, the second port can be out of
sequence, say COM10, while the first port is mapped to COM3.
l Rx FIFO Trigger
Rx FIFO trigger levels, at 1, 4, 8 or 14 bytes, are available, and the
default value is 14 bytes.
Auto
l Tx FIFO Size
Tx FIFO sizes from 1 to 16 bytes are available, and the default value is
16 bytes.
7. Click [OK] in the “Port #” and the “Property” dialog boxes to go back to the
Note !If you need to install more than one board, click [Add] and repeat
steps
5 to 7 to configure another board. Up to four Smartio C168
Series boards can be installed in a system.
Click [
OK] to finish the configuration.
3-12 Smartio C168H/HS User’s Manual
8. Restart Windows 95/98 system.
Software Installation
Note !The latest configuration will not take effect unless the system
restarts.
9. When system restarts, all the error conditions of the board will be popped up
onto the screen if any. Otherwise, everything should be fine.
If error message like “
Board is not found
Note !Once the board and the driver are installed and the driver restarts
successfully, you can start to develop applications with the
library (See “Serial Programming Tools” chapter) or the Microsoft
Win32 API. You can also execute any ready-made applications,
such as
Programming Tools” chapter) or HyperTerminal to
transmit/receive data, as well as Remote Access Service to provide
dial-up networking capabilities.
Smartio C168 Series (CAP=0x0180, port 1=COM3):
” appears, refer to chapter, “Troubleshooting”, for solutions.
PComm
PComm utility Terminal emulator (See “Serial
Smartio C168H/HS User’s Manual 3-13
Configuring Board and Port
If you already have installed the driver and want to re-configure the Smartio C168
Series board and ports, add more boards or delete boards under Windows 95/98, the
following is the procedure for you.
1. Click on the Taskbar [Start] button, then select [Programs] menu, then
[
MOXA Utilities]menu and then[Moxa Smartio/Industio Configuration
Panel
] icon.
2. The Smartio/Industio configuration panel will be popped up. Please see steps 5-
7 in the previous Section “Installing Driver” for more details.
In this configuration panel, you may:
l Click [Property] to enter “Property” dialog box to configure the selected
board with the correct “COM Number”, “INT Vector”, “Interrupt no” and
“Base I/O Port Address”. Please see
“Installing Driver”, for more details, except that the “Board Type” field is
not supposed to be changed.
l Click [Add] to add one more board that is not yet configured in the system.
Please see
steps 5 to 7 in the previous section, “Installing Driver”, for more
details.
l Click [Remove] to remove the board currently selected from the configured
board list.
l Click [OK] to confirm the configuration changes you made.
l Click [Cancel] to leave the dialog with the configuration unchanged.
3-14 Smartio C168H/HS User’s Manual
steps 5 to 7 in the previous section,
Updating Driver
Open [Control Panel] icon, and then [System] icon, and then select [Device
Manager
Board”
then select [
] tab. Then select and open the “MOXASmartio/Industio Multiport
option and then select the “C168 Series”. Click on [Properties] button and
Software Installation
Driver] tab and then click on [Update Driver] button.
Smartio C168H/HS User’s Manual 3-15
Removing Driver
Open [Control Panel] icon, and then [Add/Remove Programs] icon, and then
select [
Install/Uninstall] tab. Then select and open the “MOXA Smartio/Industio
Driver”
option and then enter [OK] to remove the driver.
3-16 Smartio C168H/HS User’s Manual
DOS
Installing Driver
Software Installation
MOXA DOS API-232 is a software package that assists users to develop and/or
debug programs for serial communications. This section will show you how to
install the package, how to setup up the driver, and how to load or unload driver.
For details of the serial programming (API-232 Library) and utilities, please refer to
the next chapter, “Serial Programming Tools”.
Run the installation program, DOSINST.EXE, in the DOS driver diskette. Specify
the target API-232 directory (e.g.
Press
F2 to start the installation.
C:\MOXA) where software driver will be copied.
Smartio C168H/HS User’s Manual 3-17
After installation is complete, you will be prompted to proceed running setup
program. It is strongly recommended to do so.
Driver Setup
The following are steps for setting up the Smartio C168 Series driver. Note that it is
not intended to illustrate all the convenient functions of the setup programs when
configuring the boards. Please refer to the F1 on-line help instructions as running
setup program.
1. Run the setup program, BIN\SETUP.EXE, in the API-232 directory. Select
“
Smartio/Industio ISA Family” in the “Driver Selection” dialog box.
3-18 Smartio C168H/HS User’s Manual
Software Installation
2. Press Enter to pop up the SETUP dialog box. In the SETUP dialog box, Press
F8 to specify the CAP Address and press ENTER and then type Y (YES) to
load the configuration of the board to be setup.
Smartio C168H/HS User’s Manual 3-19
3. Now the configuration of the desired Smartio C168 Series board will be shown
along with other default settings, such as port number, buffer size, etc.
Note !Up to now you have completed the setup for Smartio C168 Series
board. You may skip this step and go directly to the next
you need not change any setting or configure any board.
step 5 if
3-20 Smartio C168H/HS User’s Manual
Software Installation
You may now enter/modify each port’s configuration. These displayed values
are the port initial values as driver is loaded.
Legend:Some noticeable fields and functions are explained below.
Port number:This is actually the port ID of each port. The application
software will refer to the port by its port number (ID).
Duplicated port number is not allowed. That is, each
MOXA serial port is referred to as port number in terms
of serial programming.
You may map the port number range to the one you prefer
between 0 and 255 as long as no port number overlapping
condition or port number undefined condition occurs.
Generally, you should take the convenience of
programming into consideration when specifying the port
numbers for the board.
TxD buf size:The transmission (output) buffer allocated in the system
for each port.
RxD buf size:The receiving (input) buffer allocated in the system for
each port.
F5: Group Edit: This is a convenient function that helps you edit the
configuration of several ports at one time as a group.
Smartio C168H/HS User’s Manual 3-21
F6: INT vector:This is to set interrupt vector for each port. You can set
this feature to “
for the board.
Yes” (default) and gain best performance
4. Press F10 to save the latest configuration and exit the SETUP program.
Loading Driver
Having completed the setup, you can load the driver, “BIN\SER-DRV.EXE”, at
the DOS prompt. The driver will detect the
automatically. If the board(s) is(are) detected, a message similar to below will show:
API-232 Version 3.5
Universal 2/4/8 serial ports Communication Driver
Setup driver …
Device driver setup O.K.
It means the
ready to execute application that supports API-232 functions, or start developing
applications using API-232 library.
3-22 Smartio C168H/HS User’s Manual
Smartio C168 Series driver is installed properly. At this point, you are
Smartio C168 Series board
Software Installation
If something went wrong, for instance, the board does not match the configuration
or the board is missing, the screen will show a message like:
API-232 Version 3.5
Universal 2/4/8 serial ports Communication Driver
Setup driver …
None serial port found!!
Unloading Driver
UNIX
It means the
chapter, “Troubleshooting”, for possible reasons and solutions.
To unload (release) the Smartio C168 Series driver from memory, type “SER-
DRV/Q”
There are various UNIX operating systems, such as SCO UNIX, UNIX SVR4.2,
XENIX and Solaris, etc. Different types of UNIX drivers are required for different
UNIX. Moxa supports device drivers currently for
UNIX SVR4.2 .
In this section, driver installation procedure is described. Administration utility,
moxaadm, is explained, which is for configuration, monitor and terminal emulation.
Related issues such as device naming, baud rate settings and terminal enable are
stated.
If you are interested in UNIX serial programming, extended Ioctl() commands are
provided in Chapter “Serial Programming Tools” for advanced programming.
UNIX-specific troubleshooting is included in Chapter “Troubleshooting”.
Smartio C168 Series driver is not installed properly. Please refer to
at the DOS prompt
SCO UNIX/OpenServerand
Smartio C168H/HS User’s Manual 3-23
Installing Driver
The following description is for Smartio C168 Series under SCO UNIX/OpenServer
and UNIX SVR4.2.
Step 1.Login the UNIX system as a super user (root).
Step 2.Change to root directory.
#
cd /
Step 3.
Step 4.Extract the files by,
Step 5.Start the installation program,
Insert the UNIX driver diskette into the floppy drive A: (or B:).
If driver files are obtained from MOXA FTP service, put them under
/tmp/moxa directory and skip the following 'tar' command.
#
tar xvf /dev/fd0135ds18 /tmp/moxa/mxinstall (if A: floppy drive)
#
/tmp/moxa/mxinstall
Now follow the prompted instructions to finish the driver installation.
Choose the listed and desired operation system when asked. Currently,
MOXA supports SCO UNIX (and SCO OpenServer, SCO Open Desktop)
and UNIX SVR4.2 (and UnixWare). Ask your dealer for newly supported
device drivers. If your system is none of the listed, choose the closest one
to try.
Copyright (C) 199x Moxa Technologies Co., Ltd. All Rights Reserved.
MOXA UNIX Device Driver Installation Ver. x.x
3-24 Smartio C168H/HS User’s Manual
Software Installation
Please select one of the following OSs:
1. SCO UNIX
2. UNIX SVR4.2
Select :
Please select one of the devices where the driver diskette/files put:
1. /dev/fd0135ds18(A: 1.44MB )
2. /dev/fd096ds15(A: 1.2 MB)
3. /dev/fd1135ds18(B: 1.44MB )
4. /dev/fd196ds15(B: 1.2 MB)
5. Hard Disk/tmp/moxa
Select :
Then the
board installation.
Choose
Step 6.Configure the board by,
#
moxaadm
The moxaadm utility is used to tell the UNIX driver how many Smatio
C168 Series boards are installed, what their basic setting (I/O or IRQ), etc.
It is also used to remove the
system. Whenever the setting is changed, run this utility again and tell the
UNIX driver what is changed. Refer to section “
moxaadm
This utility is not intended to change the
“hardware” I/O address nor IRQ setting. If you need to change the
Smartio C168 Series hardware IRQ, for example, you need to execute
IO-IRQ utility under DOS environment. The IO-IRQ utility is contained
in the Dos/Windows3.x driver diskette.
Only up to two
under UNIX systems when MOXA UNIX driver is used.
MOXA Multiport Board Installation Utility will show for
C168 Series driver and follow the instructions to install.
” for more information.
Smartio C168 Series boards are allowed to be installed
Smartio C168 Series UNIX driver from the
Administration Utility-
Smartio C168 Series
Smartio C168H/HS User’s Manual 3-25
Step 7.Now you may shutdown the system and reboot. If you have trouble in
booting the new UNIX kernel, use the backup kernel (
/stand/unix.moxa) to boot your system and the system will work as before.
Refer to Chapter “Troubleshooting” for more information.
After the system starts up again, the following successful messages will
show:
For SCO UNIX/OpenServer,
“C1680x0180-0x01BF 11Ver = x.x type=C168H (high speed)”
For UNIX SVR4.2,
“C168H board, base address 0x180, irq 5, Ver. x.x (high speed)”
where high speed indicates the port is in high speed status; otherwise, in
normal speed status.
If the following error message appears:
For SCO UNIX/OpenServer,
“WARNING! C168 board IRQ at 11 mismatch (base address at 0x180)!”
/unix.moxa or
For UNIX SVR4.2,
“WARNING! C168 board IRQ at 11 mismatch (base address at 0x180)!”
indicates the IRQ of the port is different between hardware and software
configurations. However, only this port is disabled. Other ports should
still work.
If the following common error message appears:
“WARNING! C168 board base address at 0x180 not found!” or
“WARNING! C168 board interrupt vector disabled (Board base =
0x180 )!”, indicates the base address of the board is not found or interrupt
vector of the board is disabled. In these cases, all ports will not work.
Please see Chapter “Troubleshooting” for solutions.
3-26 Smartio C168H/HS User’s Manual
MOXA TTY Device Naming Convention
T
R
If the Smartio C168 Series is successfully configured, there will be two tty devices
created for each port at
the other is
MODEM tty (e.g. ttyE11). The two devices are actually accessing the
same physical port except that the MODEM tty has to check the ON status of DCD
signal to be able to open device, and closing device automatically as DCD signal is
OFF.
/dev directory: one is non-MODEM tty (e.g. ttye11), and
Software Installation
The convention of the MOXA tty device name is
"tty" + "A" + "B" + "C"
Port ordinal number, 1-8
Always 1
Board ordinal number
"e" or "E": 1st MOXA board
"f" or "F": 2nd MOXA board
Capitals indicate a MODEM port
For Smartio C168 Series set to High Speed Spectrum, the real working speed,
is exactly
Normal Speed Spectrum with 38.4 Kbps, will work at 38.4 Kbps for sure; while
a port, if set to High Speed Spectrum with displayed speed 38.4 Kbps, will
actually work at 307.2 Kbps (38.4 Kbps
eight times of the speed displayed by “stty” command. A port, if set to
¡Ñ8).
Note also that the 50 baud rate,
means 57600 bps, and 75 baud rate,
Family H Series board is set to High Speed Spectrum, the real working speed is 8
times of the displayed speed. Hence, B50, 57.6 Kbps, is for 460.8 Kbps and B75,
115.2 Kbps, is for 921.6 Kbps.
B50, will no longer stand for 50 bps, instead, it
B75, for 115.2 Kbps. Furthermore, if the C168
Administration Utility – moxaadm
Users can use the administration utility, moxaadm, to change the Smartio C168
basic and advanced configuration, to monitor the ports' activity, to use terminal
emulation and to remove the installed MOXA driver from the system.
3-28 Smartio C168H/HS User’s Manual
Software Installation
Basic Configuration
In the [Basic configuration] dialog, users can set base I/O address and interrupt,
which should be the same as the hardware configuration of the boards.
rebuilding
In [getty Setting] sub-dialog, there is one noticeable field:
is required if any setting is changed.
Kernel
Non-Modem and Modem Baud Rate
This field stands for the initial baud rate symbol and hunt sequence for Non-Modem
/Modem tty. It is simply for setting parameters of getty entries in system file
/etc/inittab which could also be manually modified by system administrator. Its
value comes from the UNIX system “getty default” file, i.e., “/etc/gettydefs”. Modify
this field to suit your need.
In some cases, you may need to modify the “getty default” file as well. For example,
in some UNIX systems, the “9600” symbol indicated 8-data-bit no-parity while in
Smartio C168H/HS User’s Manual 3-29
others it may stand for 7-data-bit, even-parity. So, please examine the “getty
default” file carefully, and make sure the terminal settings is the same. Otherwise,
garbled data will be inevitable.
Advanced Configuration
In the [Advanced configuration] dialog, users can set baud rate mapping, Rx FIFO
trigger level, Tx FIFO trigger level and RTS/CTS hardware flow control.
Baud Rate Mapping
There are two different baud rate tables can be selected: High Band and Low Band.
The highest baud rate for High Band is 921.6K bps, while 38.4K bps for Low Band.
Because of the limit of UNIX termio/termios definition, the highest baud rate label
is B38400 (mapped to 38.4K bps). If users wish to use the baudrate higher than
38.4K bps for MOXA boards, this baud rate will be re-mapped to the lower as
defined in the below baudrate-mapping table:
Note: You can press F1 on-line help to get more baud rate mapping
information.
In [Port Feature Settings] sub-dialog, there are three noticeable fields:
Rx FIFO Trigger
Rx FIFO trigger levels, at 1, 4, 8 or 14 bytes, are available, and the default value is
14 bytes.
Smartio C168H/HS User’s Manual 3-31
Tx FIFO Trigger
Tx FIFO sizes from 1 to 16 bytes are available, and the default value is 16 bytes.
RTS/CTS Hardware Flow Control
This feature is for more flexible driver behavior. If set to “Disable” (default), CTS
signal is not needed for tty port to transfer data and RTS/CTS hardware flow control
function in driver is disabled. On the contrary, if set to “
needed for tty port to transfer data and RTS/CTS hardware flow control function in
driver is enabled.
Enable”, CTS signal is
Port Monitoring
This utility gives you a quick view about all the MOXA ports' activities. You can
easily learn each port's total received/transmitted (Rx/Tx) character count since the
time when the monitoring is started. Rx/Tx throughputs per second are also reported
in interval basis (e.g. the last 5 seconds) and in average basis (since the time the
monitoring is started). You can reset all ports' count by <HOME> key. <+> <->
(plus/minus) keys to change the displaying time interval.
Press Enter on the port, that cursor stay, to view the port's communication
parameters, signal status, and input/output queue.
3-32 Smartio C168H/HS User’s Manual
Software Installation
Terminal Emulation
This utility provides data sending and receiving ability of all tty ports, especially for
MOXA ports. It is quite useful for testing simple application, for example, sending AT
command to a modem connected to the port or used as a terminal for login purpose.
Note that this is only a dumb terminal emulation without handling full screen operation.
Besides, data scope function with pattern/file transfer is provided.
1. Select and Press Enter on item “Communication Setup” to setup up all the
communication parameters for connection.
Smartio C168H/HS User’s Manual 3-33
2 Select and enter “Dumb Terminal” to enter terminal emulation. Or select and
enter
“Advance Transfer Modes” to perform pattern or file transfer with
protocols such as ZModem.
Driver Removal
If you want to remove the Smartio C168 Series device driver and return to your
previous system configuration, simply press Enter in this function entry and answer
“
Y” to confirm. Then the system will be rebuild. This may take some time. If you
answer “
N”, no action will be taken.
3-34 Smartio C168H/HS User’s Manual
Setting MOXA Ports to Terminal
Following procedure is how to set the MOXA port to the “Terminal” for login
purpose, taking ttya11 as an example,
SCO UNIX/OpenServer
# enable /dev/ttye11
UNIX SVR4.2
1.
Edit (e.g. use vi editor) the file /etc/inittab.
2. Modify the tty entry from "ma11:23:off:/etc/getty ttye11 9600" to
"ma11:23:respawn:/etc/getty ttye11 9600".
3. # init q
Or refer to your UNIX system manuals for how to activate a tty port.
Software Installation
Smartio C168H/HS User’s Manual 3-35
3-36 Smartio C168H/HS User’s Manual
4 Serial Programming Tools
Moxa supports easy but powerful serial programming library and communication
troubleshooting utilities under Windows NT, Windows 95/98, UNIX and DOS. You
will save greatly the developing time, using MOXA Serial Programming Tools.
The following sections will details the installation, the library and the utilities for
various platforms.
Windows NT and Windows 95/98
PComm, the professional serial comm tool for PC, is a software package under
Windows NT and Windows 95/98, which consists of powerful serial
communication library for easy programming in most popular languages, useful
utilities such as diagnostic, monitor and terminal emulator, illustrative example
programs and comprehensive on-line documents.
The serial communication library is useful for developing a system for data
communication, remote access, data acquisition or industrial control in the
Windows NT and Windows 95/98 environment, which offers an easier solution
compared with the more complex Windows Win32 COMM API.
4
4
Installation
To install PComm, please run \Setup.exe in the diskette. Note that PComm
diagnostic and monitor utilities are for MOXA boards only. MOXA Windows NT or
Windows 95/98 device driver as well as MOXA board are required. The driver are
installed separately and detailed in Chapter “Software Installation”.
Smartio C168H/HS User’s Manual 4-1
PComm Programming Library
The serial communication library is to assist users to develop programs for serial
communications
ease the implementation of multi-process and multi-thread serial communication
programs and hence greatly reduce the developing time.
For complete library function description and example programs for Visual C++,
Visual Basic and Delphi, please see help file and example programs in
directory for more details.
for any COM port complying with Microsoft Win32 API. It can
Utilities
The followings are short descriptions of each utility. For details, please see on-line
help
as running utilities.
PComm
4-2 Smartio C168H/HS User’s Manual
Serial Programming Tools
Diagnostic (for MOXA boards only)
A convenient diagnostic program provides internal and external testing, such as
IRQ, TxD/RxD, UART, CTS/RTS, DTR/DSR, DTR/DCD testing, etc., for the
MOXA boards and ports to verify correct operation of both the software and
hardware.
Smartio C168H/HS User’s Manual 4-3
Monitor (for MOXA boards under Windows NT Only)
A useful port status monitoring program allows you to watch the selected MOXA
COM ports' data transmitting/receiving throughput and communication line status
which are updated and displayed on the screen at every time interval. In addition,
you may click on one of the specific displayed port in order to see the current
communication parameters and status of that port.
4-4 Smartio C168H/HS User’s Manual
Terminal Emulator
The Terminal Emulator features multi-windows and supports terminal types of
VT100 and ANSI. You can transfer data interactively, send pattern periodically or
transfer file using ASCII, XMODEM, YMODEM, ZMODEM and KERMIT
protocols.
Serial Programming Tools
Smartio C168H/HS User’s Manual 4-5
UNIX
Programming the MOXA Ports
The system calls that apply to standard tty port can also be applied to MOXA port
since MOXA port conforms to UNIX tty standard. System calls are like open(),
ioctl(), read(), write(), close(), etc. Please refer to your UNIX Programmer's
Reference manual.
However, these system services only provide limited functions and thus may not
satisfy the sophisticated programmers' need. In order to meet the user's special
purpose, MOXA supports extended services through ioctl() command, which are:
1. MIBUFED(= 0x401) To get byte count in input buffer.
2. MOBUFED(= 0x402) To get byte count in output buffer.
3. MTCRTS(= 0x403) To control RTS output signal.
4. MTCDTR(= 0x404) To control DTR output signal.
5. MLOWATER (= 0x405) To set output buffer low water level.
6. MSTATUS(= 0x407) To read modem line status (CTS/DSR/DCD).
7.MHWFLOW(= 0x40e)To enable/disable the hardware flow control.
The next Section details all the commands.
Extended UNIX Ioctl() Commands
The following lists the syntax of MOXA extended functions for both non-SVR4.x
and SVR4.x UNIX. The variable moxa_fd is the returned file descriptor by open() a
specific MOXA port. For example,
int moxa_fd;
moxa_fd = open(“/dev/ttye11”,O_RDWR);
1. MIBUFED
This function let you know how many bytes queued in input buffer when this
function is issued.
4-6 Smartio C168H/HS User’s Manual
Serial Programming Tools
Syntax for SCO UNIX/OpenServer
#define MIBUFED 0x401
intcount; /* number of bytes queued in the buffer */
ioctl(moxa_fd, MIBUFED, &count);
Syntax for UNIX SVR4.2
#include<sys/stropts.h>
#include<sys/sysmacros.h>
#define MIBUFED 0x401
struct strioctlioc;
intcount; /* number of bytes queued in the buffer */
Note:Due to the characteristics of STREAMS driver, the returned count of bytes
buffered only reflect the data buffered on MOXA board, not including the
data buffered in STREAMS queue. In this case, the count is for reference
only. For example, returned count may always be zero, but there still are
data buffered in STREAMS queue.
2. MOBUFED
This function let you know the byte count queued in output buffer when this
function is issued.
Syntax for SCO UNIX/OpenServer
#define MOBUFED 0x402
intcount; /* number of bytes queued in the output buffer */
ioctl(moxa_fd, MOBUFED, &count);
Smartio C168H/HS User’s Manual 4-7
Syntax for UNIX SVR4.2
#include<sys/stropts.h>
#include<sys/sysmacros.h>
#define MOBUFED0x402
struct strioctlioc;
intcount; /* number of bytes queued in the output
buffer */
Sometimes the application software may not be able to write any further data to the
output buffer because of the output buffer being full. The application has to wait
Smartio C168H/HS User’s Manual 4-9
until the output buffer has 'enough space' again. The criteria to tell if the output
buffer has 'enough space' is whether the output buffer reached its 'low water' level.
That
is the output buffer will accept further data only when the 'low water' level is reached.
If the 'low water' value is relatively small, you may find that the output buffer
become empty before you write another block of data (this is quite possible because
UNIX is time-sharing multitasking environment). This will result in discontinuous
data transmission. In a timeout-sensitive application, e.g. facsimile (FAX)
transmission, discontinuous data may falter the operation.
The default 'low water' is 512 bytes. You can enlarge it but better not exceed one
half of the output buffer. Each port's output buffer is 32K bytes.
Syntax for SCO UNIX/OpenServer
#define MLOWATER0x405
int lowater; /* low water value of output buffer
(default = 512 bytes) */
ioctl(moxa_fd, MLOWATER, lowater);
Syntax for UNIX SVR4.2
#include<sys/stropts.h>
#include<sys/sysmacros.h>
#define MLOWATER0x405
struct strioctlioc;
int lowater; /* low water value of output buffer (default = 512 bytes) */
ioc.ic_cmd = MLOWATER;
ioc.ic_timout = 0;
ioc.ic_len = sizeof(int);
ioc.ic_dp = (char *)&lowater;
ioctl(moxa_fd, I_STR, &ioc);
6. MSTATUS
This function is used to know the RS-232 line status (CTS/DSR/DCD).
4-10 Smartio C168H/HS User’s Manual
Serial Programming Tools
Syntax for SCO UNIX/OpenServer
#define MSTATUS 0x407
intstatus;/* status = RS-232 line status */
/* bit0
¡ÐCTS (1:on, 0:off)*/
/* bit1
¡ÐDSR (1:on, 0:off)*/
/* bit2
¡ÐDCD (1:on, 0:off)*/
ioctl(moxa_fd, MSTATUS, &status);
Syntax for UNIX SVR4.2
#define MSTATUS 0x407
#include<sys/stropts.h>
#include<sys/sysmacros.h>
struct strioctlioc;
intstatus; /* status = RS-232 line status */
This function is used to enable/disable hardware flow control. The first open()
function of a port will set the hardware flow control bits on or off depending on the
[
RTS/CTS Hardware Flow Control] configuration in mxadm. However, users
might want to control the DTR or RTS signal on their will, thus the RTS flow
control bit should be turned off (HWFLowControlOff) in order to take over the
control of DTR or RTS signal via function MTCRTS or MTCDTR. MTCRTS and
MTCDTR can be effective only after the RTS flow control bit of MHWFLOW is
turned off.
You can use the administration utility, moxaadm, to monitor port activity and to
do
terminal emulation, which are details as follows.
This utility gives you a quick view about all the MOXA ports' activities. You can
easily learn each port's total received/transmitted (Rx/Tx) character count since the
time when the monitoring is started. Rx/Tx throughputs per second are also reported
in interval basis (e.g. the last 5 seconds) and in average basis (since the time the
monitoring is started). You can reset all ports' count by <HOME> key. <+> <->
(plus/minus) keys to change the displaying time interval.
Press Enter on the port, that cursor stay, to view the port's communication
parameters, signal status, and input/output queue.
Smartio C168H/HS User’s Manual 4-13
Terminal Emulator
This utility provides data sending and receiving ability of all tty ports, especially for
MOXA ports. It is quite useful for testing simple application, for example, sending AT
command to a modem connected to the port or used as a terminal for login purpose.
Note that this is only a dumb terminal emulation without handling full screen operation.
Besides, data scope function with pattern/file transfer is provided.
1. Select and Press Enter on item “Communication Setup” to setup up all the
communication parameters for connection.
4-14 Smartio C168H/HS User’s Manual
DOS
2. Select and enter “Dumb Terminal” to enter terminal emulation. Or select and
Installation
Serial Programming Tools
enter
“Advance Transfer Modes” to perform pattern or file transfer with
protocols such as ZModem.
API-232 Library is the professional serial programming tool for DOS. It is installed
automatically along with the MOXA DOS drivers. The installation is detailed in
Chapter “Software Installation”.
DOS API-232 Library
DOS API-232 library supports languages like Microsoft C, Turbo C, Macro
Assembly, QuickBasic, Turbo Pascal, Clipper, etc. Sample programs for each
supported language are included, and placed in the sub-directory
language
In addition, for DOS C language only, there are also Modem Control and File
Transfer library available, supporting Hayes compatible modem control as well as
ASCII, KERMIT, XMODEM, YMODEM and ZMODEM file transfer protocol
functions.
For complete API-232 function description, please see file
API-232 directory for more details.
of the API-232 directory.
..\EXAMPLE\%
API-232.TXT in the
Smartio C168H/HS User’s Manual 4-15
Utilities
There are two utilities available for DOS: Data Scope and Diagnose, which are
detailed below.
Data Scope
The Data Scope, BIN\SCOPE.EXE, is a suite of utility programs that can help
users with system troubleshooting and serial communication debugging.
There are three major functions in Data Scope utility:
1. The Data Scope utility offers transparent monitoring of serial communication lines
and allows data to be streamed to disk storage for later analysis.
2. The TTY terminal emulation utility allows user to view the signal status and
transfer data interactively or files using ASCII, XMODEM, YMODEM,
ZMODEM and KERMIT protocols.
3. The Diagnostic test utility provides port connection test with two MOXA ports
connected via a properly wired cable.
4-16 Smartio C168H/HS User’s Manual
Serial Programming Tools
Please see on-line help as running BIN\SCOPE.EXE for more usage and capability
information.
Diagnose
The Diagnose, BIN\DIAGNOSE.EXE, is a utility that can help users to diagnose
the hardware condition of each port of the selected board. See on-line help for more
details.
Before executing it, please remove the Moxa driver in advance via executing “Mxdrv/Q” if the Moxa driver is running in the background.
RS-485 Programming for Opt8J
If you intend to do RS-485 communication with Opt8J, please follow the RS-485
programming guide below and also refer to Chapter “
and Cable Wiring
The Opt8J supports
are served for both data transmitting and receiving, depending on the RTS signal.
The port switch of each port should be set to
transmitting data if
RTS scheme is suitable for any system, including Windows NT and Windows 95/98,
DOS, or UNIX, that permits RTS control from application programs.
” for more Opt8J RS-485 operation details.
only 2-wire half-duplex RS-485 communication. Data+/- pins
RTS is asserted and for receiving data if RTS is not asserted.
Connection Option (Opt8x)
On position. The port is for
Smartio C168H/HS User’s Manual 4-17
There are 2 solutions to control RS-485 2-wire transmission.
Solution 1
The following model is common in RS-485 2-wire transmission.
sio_SetWriteTimeouts(port, 0);/* Set sio_write() into block mode if
for Windows NT
sio_RTS(port, 1);/* Turn on RTS signal. The RS-485
port is ready for transmitting data. */
sio_write(port, buff, 10);/* Write 10 byte characters in "buff".
The function blocks until last
character transmitted */
sio_RTS(port, 0);/* Turn off RTS signal. The RS-485
port is ready for receiving data. */
sio_read(port, buff, 10); /* Read 10 bytes */
Solution 2
There is a dedicated RS-485 function in PComm or API-232 library. It
integrates the above functions of solution 1 regarding sending data as one.
sio_putb_x(port, buff, tick ); /*1. Turn on RTS and ready for
transmitting data.
2. Send data.
3. Wait for tick time.
4. Turn off RTS and ready for
receiving data. */
and Windows 95/98 */
For more information on these functions, please refer to PComm library on-line Help
file for Windows NT and Windows 95/98 or API-232.txt file for DOS, respectively
.
4-18 Smartio C168H/HS User’s Manual
5
5
5 Connection Option (Opt8x) and Cable Wiring
In serial data communications, the term DTE is for Data Terminal Equipment like
PC COM1/2, serial printer and terminal. The term
Equipment like modem.
RS-232 Cable Wiring for Opt8A/B/C/D/S
RS-232 8-port connection boxes/octopus cable designed for Smatio C168 Series are:
Opt8A: 8-port RS-232 DB25 female connection box
Opt8B: 8-port RS-232 DB25 male connection box
Opt8C: Octopus cable with 8 male RS-232 DB25 ports
Opt8D: Octopus cable with 8 male RS-232 DB9 ports
Opt8S: 8-port RS-232 DB25 surge protected female connection box
DCE is for Data Communication
Smartio C168H/HS User’s Manual 5-1
The followings are pin assignments for various connection options:
Opt8A/S
(DCE, DB25 Female)
2RxD
3TxD
4CTS
5RTS
6DTR
7GND
8DCD
20 DSR
Opt8B/C
(DTE, DB25 Male)
2TxD
3RxD
4RTS
5CTS
6DSR
7GND
8DCD
20 DTR
Opt8D
(DTE, DB9 Male)
1DCD
2RxD
3TxD
4DTR
5GND
6DSR
7RTS
8CTS
5-2 Smartio C168H/HS User’s Manual
Connection Option (Opt8x) and Cable Wiring
Type 1: To connect Smartio C168 Series to a DTE device.
Type 3: To connect Smartio C168 Series to a DTE with 3-pin wiring.
If the “Hardware flow control” feature is set to “ON”, you must loop
back (or short) the RTS with CTS and DSR with DTR, DCD on MOXA
site, indicated in dash-lines of the following diagrams. If the “
flow control
” feature is set to “OFF”, you could just leave RTS, CTS,
DSR, DTR, DCD open, ignoring the connection indicated in dash-lines.
Hardware
Opt8A/S
Opt8A/SDTE Device
DB25 FemaleDB25 Male
PC COM2 port, Serial Printer,
Terminal, or any DTE Device
The RS-422 transmission distance can reach as long as 4000ft. The connection box
needs an external power adapter to supply 5V DC power. Either 110V or 220V AC
power adapter is selectable.
See Section “RS-485 Programming” of Chapter “Serial Programming Tools” for
more Opt8J RS-485 programming details.
5-10 Smartio C168H/HS User’s Manual
Connection Option (Opt8x) and Cable Wiring
RS-422/485 Impedance Matching
For RS-422/485 serial communications, when an electrical signal travels through
two different resistance junctions in a transmission line, the impedance mismatch
will sometimes cause signal reflection. Signal reflection causes signal distortion,
which in turn will contribute communication errors. The solution to this problem is
to establish the same impedance at the line ends as in the line itself by terminating
them with resistors.
The value of the termination resistor should equal the characteristic impedance of
the transmission line. The resistors should be added
1. Stands for termination resistor near the receiving side
2. The suggested termination resistor for AWG #26 cable is 100 ohm.
3. The suggested termination resistor for phone cable is 600 ohm.
near the receiving side.
Smartio C168H/HS User’s Manual 5-11
5-12 Smartio C168H/HS User’s Manual
Common Smartio C168 Series problems and possible solutions are listed below. If
you still have problems, contact your dealer or Moxa for help. Or use the “
Report Form
for faster technical support.
” at the end of this manual to report problems to your dealer at once
General Troubleshooting
1. The MOXA driver, while installing the driver, cannot detect the MOXA
board.
Hardware causes and solutions:
a. The board is not installed or missing (absent). Please install it.
b.
The board is not properly plugged in the system. If that is the case, re-install
the board and make sure that it fits well in a 16-bit slot this time. Sometimes
the slot for plugging the board is bad. In this case, try other slots until you
find a good one.
6
6
6 Troubleshooting
Problem
2. The MOXA board and driver are activated but cannot transfer
(transmit/receive) data.
Hardware Causes and Solutions:
a. Check for wrong cable wiring. Refer to the “Connection Cable and Cable
Wiring” chapter for precise pin outs of the connector type you are using.
b. The cable or the board is defective. You may use other ports, cables or boards
to verify. In addition, the
Windows 95/98 is good for testing MOXA boards and port conditions. If
Diagnostic reports error, replace the faulty components.
PComm “Diagnostic” utility for Windows NT and
Smartio C168H/HS User’s Manual 6-1
Software Causes and Solutions:
a. Smartio C168 Series checks the line status (CTS) before it sends data out if
the RTS/CTS flow control feature is set to “Enable” in the configuration or
application program. Please refer to the “Connection Cable and Cable
Wiring” chapter for proper wiring. Check the line status of the suspected
port using the diagnostic LED indicators on the mini tester.
b. Perhaps the application controlling the board is not correctly written
according to the corresponding API of the operating system. To verify,
please run an existing and known good application or the provided utilities
by Moxa. For example, under Windows NT and Windows 95/98,
“Terminal emulator” or “HyperTerminal” utilities are good for testing the
COM ports.
3. Why the DOS utility IQ-IRQ can not access Smartio C168 Series to
configure?
There are several reasons that may lead to this trouble:
a. The user forgets or does not know the Configuration Access Port (CAP) of
the board. See next problem
b. The CAP of the board conflicts with other add-on boards’ I/O address.
Please change other add-on boards’ I/O address to avoid the conflict.
c. The
d. The
Smartio C168 Series board is not plugged in a right or good slot. Please
plug the board in a good 16-bit ISA slot.
Smartio C168 Series board may malfunction. Please return for repair.
4 for how to solve this problem.
Pcomm
If any existing board has the same I/O address as 0x180, the
address, or the 1st port's I/O address, you must try to avoid the conflict by doing
either one the following.
a. Install a jumper (short) at position JP1 on the upper-left corner of the board.
This will force the CAP address to 0xA700.
b.
Change or disable the existing board's I/O address.
4. What to do if user forgets or does not know the Configuration Access Port
(CAP) address of
The Smartio C168 Series multiport boards are designed without jumper or
switch, so the configuration is completed only by DOS utility Io-irq.exe.
6-2 Smartio C168H/HS User’s Manual
default CAP
Smartio C168 Series?
Troubleshooting
To configure the board, you need to know the board’s Configuration Access Port
(CAP) address. Because the CAP address is the only channel, via which the Ioirq.exe can access to the board.
The following procedure instructs user to recover once the CAP is unknown.
Step 1.
Step 2.
Step 3.
Step 4.
Step 5.
Power off the PC.
Install jumper onto the JP1 of the board.
Power on the PC.
Now the CAP address of the board will
be 0xA700.
Execute Io-irq under DOS environment.
A:>
Io-irq
Enter CAP address 0xA700 to access the board.
Install
OFF
jumper
JP1
ON
Step 6.
Step 7.
Enter the “Configuration Access Port” in HEX:A700
The previous hardware configuration will be shown.
Modify them if necessary. Remember the CAP address this time.
Exit the IO-IRQ.
Smartio C168H/HS User’s Manual 6-3
Step 8.
Step 9.
Step 10.
Windows NT
Power off the PC.
Remove the jumper on position JP1.
Power on the PC.
Remove
OFF
jumper
JP1
ON
This section is specific for troubleshooting under Windows NT. For general
problems and solutions, please see the previous section, “General Troubleshooting”.
1. After the system reboots, the error message “Another driver in the system,
which did not report its resources, has already claimed the interrupt used
by xxx.” appears in the Event Log.
This indicates that the MOXA board is found, but the IRQ is conflicting with
another adapter. Please make sure there is no conflict with other adapter’s IRQ.
Check the BIOS IRQ settings first. Make sure that an IRQ is available.
2. After the system reboots, the error message “Cannot find any configured
MOXA Smartio/Industio Series board!” appears in the Event Log.
6-4 Smartio C168H/HS User’s Manual
Troubleshooting
a. Some partial decoded network board may interfere with our board. Please
avoid from using 0x300 as I/O address for those network boards.
b. Check hardware configuration of
IRQ.EXE. Then make sure the hardware configuration, including I/O
addresses for each port, Interrupt Vector, IRQ, is identical to that
driver.
c. The I/O addresses may conflict with other devices, please change another set
of I/O address such as I/O:0x280, Interrupt Vector:0x2C0.
d. The board(s) is not plugged properly. Please make sure the board is seated
firmly in the expansion slot.
e. The slot for plugging the board is defective.
In this case, please try other slots until you find a good one.
f. The board might be defective.
3. The COM number of the Smartio C168 Series conflicts with others.
The COM numbers of different boards happen to be the same. Try to change the
COM number mappings.
4. Windows NT system panic (blue screen).
Smartio C168 Series board by IO-
of the
The possible reason is an IRQ or memory conflict with other ISA Bus adapters,
like LAN and SCSI boards, or the system BIOS. Please refer to the
corresponding problem in the previous section, “General Troubleshooting”, for
solutions.
Windows 95/98
This section is specific for troubleshooting under Windows 95/98. For general
problems and solutions, please see the previous section, “General Troubleshooting”.
1. The system fails to find the Smartio C168 Series board! After system
reboots, error message “Smartio C168 Series (CAP=0x0180, port 1=COM3):
Board is not found” appears.
a. Some partial decoded network board may interfere with our board. Please
b. Check hardware configuration of
avoid from using 0x300 as I/O address for those network boards.
Smartio C168 Series board by IO-
IRQ.EXE. Then make sure the hardware configuration, including I/O
Smartio C168H/HS User’s Manual 6-5
DOS
addresses for each port, Interrupt Vector, IRQ, is identical to that of the driver.
c. The I/O addresses may conflict with other devices, please change another set
of I/O address such as I/O:0x280, Interrupt Vector:0x2C0.
d. The board(s) is not plugged properly. Please make sure the board is seated
firmly in the expansion slot.
e. The slot for plugging the board is defective.
In this case, please try other slots until you find a good one.
f.
The board might be defective.
This section is specific for troubleshooting under DOS. For general problems and
solutions, please see the previous section, “General Troubleshooting”.
1. After executing SER-DRV.EXE, error message “None serial port found!”
appears.
a. Make sure you’re using the right driver.
b. Check if the board is properly plugged into ISA/EISA bus slot.
c.
Check if the I/O address and IRQ settings in SETUP program are same as
the settings on board.
UNIX
This section is specific for troubleshooting under UNIX. For general problems and
solutions, please see the previous section, “General Troubleshooting”.
1. Under UNIX, when respawning quite a few number of tty ports, the
following error messages appear: “Time out table overflow”, “File table
overflow”, “Region table overflow”.
Software Cause and Solution:
The above error messages imply that the system resources are exhausted. You
should tune the kernel parameters to a larger value and rebuild the kernel to be able
to accommodate the new configuration. Refer to UNIX system manual about how
to tune the parameters and rebuild kernel.
6-6 Smartio C168H/HS User’s Manual
Troubleshooting
“Time out table overflow”:NCALL parameter too small.
“File table overflow”:NFILE or NINODE parameter too small.
“Region table overflow” :NREGION or NPROC parameter too small.
2. Under UNIXs, the newly rebuilt kernel could not boot.
Software Causes and Solutions:
The C168 driver might not be built into the new kernel correctly.
a. Please use the last good kernel backup to boot again. The kernel backup in SCO
UNIX is /unix.moxa while in UNIX SVR4.2 /stand/unix.moxa.
b. Then remove the C168 driver. Refer.
c. Re-install the C168 driver once more.
Smartio C168H/HS User’s Manual 6-7
6-8 Smartio C168H/HS User’s Manual
Specifications
v Bus interface:ISA (EISA compatible)
v Number of ports:8
v I/O address:0x0000 ~ 0xFFFF
v IRQ:2, 3, 4, 5, 7, 10, 11, 12, 15
v Data bits:5, 6, 7, 8
v Stop bits:1, 1.5, 2
v Parity:none, even, odd, space, mark
v UART:8¡Ñ16550C or compatible
v Speed (bps):50 ~ 921.6K
v Connectors:8¡ÑDB25 male or female
v Data signals:RS-232¡ÐTxD, RxD, RTS, CTS, DTR, DSR, DCD, GND
v Surge protection:max. 2000V (C168HS)
v Operating temp:0 ~ 55 ¢J
v Power requirement:
v Dimensions:157mm¡Ñ93mm
v Operating Systems: See the driver support list below.
Windows NT
Windows 95/983
DOS3
SCO UNIX/OpenServer 3
UNIX SVR4.23
LinuxR
SCO XENIXC
QNXC
FreeBSDC
3:Driver supported by Moxa and shipped with product
C :Driver supported by OS
R :Available by request
Note: Download the newest drivers from the MOXA FTP service
UART 16C550C
The UART chip, 16C550C, is an intelligent asynchronous controller capable of
supporting one full duplex channel that simultaneously transfers data at
To increase the overall data throughput, special features such as on-chip FIFO and
on-chip hardware flow control are used to reduce the number of interrupts to the
onboard CPU and to prevent any loss of valuable data.
3
921.6 Kbps.
A-2 Smartio C168H/HS User’s Manual
PC I/O Port Address Map
The following is the list of the I/O port addresses commonly used, which is good for
preventing I/O address conflict when configuring