PortServer Default Settings
Serial Parameters: (all ports) 9600 baud, No parity, 8 bits, 1 stop bit, VT100
terminal emulation
Root Login:root
Root Password: dbps
Digi International™, PortServer™, DigiWARE™, RealPort™, and the Digi logo are trademarks of Digi
International Inc. All other brand and product names are the trademarks of their respective holders.
Information in this document is subject to change without notice and does not represent a commitment on
the part of Digi International.
Digi International provides this document “as is,” without warranty of any kind, either expressed or
implied, including, but not limited to, the implied warranties of fitness or merchantability for a particular
purpose. Digi International 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.
This product could include technical inaccuracies or typographical errors. Changes are periodically made to
the information herein; these changes may be incorporated in new editions of the publication.
RESTRICTED RIGHTS:
For non-U. S. Government use:
These programs are supplied under a license. They may be used, disclosed, and/or copied only as permitted
under such license agreement. Any copy must contain the above copyright notice and this restricted rights
notice. Use, copying, and/or disclosure of the programs is strictly prohibited unless otherwise provided in
the license agreement.
For U.S. Government use:
Use, duplication, or disclosure by the Government is subject to restrictions as set forth in sub-paragraph
(c)(1)(ii) of the Rights in Technical Data and Computer Software clause of DFARS 52.227-7013.
Page ii Ÿ PortServer Terminal Server
Page 3
Table of Contents
PREFACE................................................................................................................................. vi
CONVENTIONS USED IN THIS MANUAL..........................................................................................vi
Certain conventions are used in this manual with respect to keyboard entry and typefaces:
Keyboard Entry
• Single keystrokes are enclosed in angle brackets (e.g. <Enter>, <Esc>, etc.)
• Control keys (i.e. keys which are struck while holding down the <Ctrl> key) are shown as
single keystrokes. For example, “<Ctrl-A>” means hold down the <Ctrl> key while striking
the <A> key. Similarly, “<Alt-A>” means hold down the <Alt> key while striking the <A>
key.
• “Arrow keys” refers to the up, down, right and left arrow keys (<↑>, <↓>, <→>, <←>).
• When you are asked to enter a command, type the text shown, then press <Enter>.
Typefaces
• Examples of output to your computer screen are shown in mono-spaced characters.
• Commands and data that you are to enter via your keyboard are shown in mono-spaced
characters.
• Variable information within a typed entry is shown in italics. For example, if you are asked
to enter cpfile_namepath, type “cp”, followed by a space, then the name of the file to be
copied, another space, and the directory path to which the file is to be copied.
Page vi Ÿ PortServer Terminal Server
Page 7
Electronic Emission Notices
Federal Communications Commission (FCC) Statements
This equipment has been tested and found to comply with the limits for Class A digital devices
pursuant to Part 15 of the FCC Rules. These limits are designed to provide reasonable protection
against harmful interference when the equipment is operated in a commercial environment. This
equipment generates, uses, and can radiate radio frequency energy, and if not installed and used
in accordance with the instruction manual, may cause harmful interference to radio
communications. Operation of this equipment in a residential area is likely to cause harmful
interference, in which case the user will be required to correct the interference at his own
expense.
Only devices certified to comply with the limits for a Class A computing device may be attached
to this equipment. Operation with noncertified device(s) is likely to result in interference with
radio and TV reception.
This equipment is intended for commercial use only and is not suited for operation in Class B
environments.
The use of shielded I/O cables is required when connecting this equipment to any and all optional
peripheral or host devices. Failure to do so may violate FCC rules.
Industry Canada Compliance Statements
This Class A digital apparatus meets the requirements of the Canadian Interference Causing
Equipment Regulations.
Cet appareil numérique de la classe A respecte toutes les exigences du Règlement sur le matériel
brouilleur du Canada.
PortServer Terminal Server Ÿ Page vii
Page 8
Notes:
Page viii Ÿ PortServer Terminal Server
Page 9
Introduction
The Digi PortServer intelligent terminal server gives you the ability to
connect up to 16 RS-232 asynchronous serial devices (such as terminals
and printers) to an Ethernet network. Both Twisted Pair (10BaseT) and
Thinnet (10base2) cabling standards are supported via the appropriate
connectors on the side of the PortServer box.
The PortServer hardware features a 20 MHz 80186 microprocessor and
a 83902 16-bit network interface controller. Other features include one
megabyte of RAM, 256K of ROM, up to 8k x 8 of EEPROM, and
16c554 UARTs. Self-tests on power-up help ensure reliability. Frontpanel LEDs and controls can be used for diagnostic testing and performance checks, monitoring either RS-232 or Ethernet activity.
Operating software is in firmware, but can also be downloaded from a
connected server or workstation via TFTP (Trivial File Transfer Protocol), meaning that the PortServer operating system can always have the
most current software without changing the firmware.
After the power-up self-tests and loading of the operating software
(either from firmware or downloaded), the PortServer software sends
login messages to all connected terminals. (Ports set up as printers or
modems do not receive login messages; the factory default sets all ports
as terminals.)
When they get the login prompt, users can log in to the PortServer’s
on-board operating system. Depending upon their privilege level (as
defined by the system administrator), commands can now be issued to
the PortServer software to change parameters or connect to one of the
network systems. The PortServer software allows the system administrator to set up password-protected accounts with various privilege
levels to limit certain users or terminals to restricted access to systems
on the network.
Description
Operation
Overview
PortServer Terminal Server Ÿ Page 1
Page 10
Besides terminals, PortServer serial ports can be configured as modem
ports (incoming, outgoing or bidirectional) or printer ports. These
options require knowledge of your host’s operating system to get it to
“see” the devices connected to the ports. For supported operating
systems, Digi’s RealPort port control protocol gives powerful control in
accessing the remote PortServer ports.
Help
PortServer
Highlights
The PortServer software features extensive help functions. From the
main command shell (entered after login), entering a question mark
(“?”) brings up a list of commands and descriptions. Entering a
command followed by “?” produces a list of subcommands and their
descriptions.
• Sixteen high-speed asynchronous serial ports, each with full
modem control and hardware or software flow control.
• Data rates of up to 57,600 bps.
• Multiple PortServer boxes can be attached to the network, limited
only by the capacity of the network.
• Full on-board system diagnostics display results on front panel LED
indicators, or on a connected terminal.
• LED indicators display RS-232 signal conditions plus input and
output flow control status for any port, or Ethernet activity.
• Optional remote booting via TFTP allows firmware upgrades
without hardware changes.
Page 2 Ÿ Introduction
• Also:Printer support.
Password access security.
Extensive help functions.
Statistics reporting.
Industry standard twisted-pair and thin-net connectors.
Page 11
PortServer Quick Start
This “Quick Start” Getting Started section will help you quickly get your PortServer terminal
server up and running. Wherever possible, the factory default settings are used. Later, once you
have verified that the PortServer can communicate with your network, you can fine-tune the network and terminal parameters for optimum performance.
Plug in the PortServer power supply, and connect the PortServer to the Ethernet
Step 1.
Step 2.
Step 3.
Turn off the power switch on the PortServer unit.
Before connecting the PortServer box to the Ethernet network, be
sure to turn the power switch on the PortServer off. Also, when connecting peripheral devices to the PortServer connectors, both the
peripheral and the PortServer's power switches must be turned off.
Plugging any electronic device into another device under power can
cause damage to one or both of the devices.
Connect your network cable to the appropriate connector on the left side of the PortServer. Be sure to follow your network system's instructions and precautions on
connecting devices to the network.
If you are using a Thinnet (10Base2) cable, plug the cable into the BNC coaxial
connector. Make sure the selector switch is in the left-hand position.
If you are using a Twisted Pair (10BaseT) cable, plug the cable into the 10BaseT
connector. Make sure the selector switch is in the right-hand position.
Make sure the PortServer’s power switch is turned off, then plug the transformer’s
power connector into the DIN connector on the left side of the PortServer’s case.
Now plug the PortServer’s power adapter into a standard AC outlet.
PortServer Terminal Server Ÿ Page 3
Page 12
Connect a control terminal to the PortServer
The PortServer is controlled from a terminal (or PC with terminal emulation software) connected
to Port 1 on the PortServer’s back panel. (Any port can be used, but we will use the convention
of Port 1 here.) In some installations, the PortServer can be controlled directly over the Ethernet;
see Configuring the PortServer over the Ethernet on page 5.
Step 1.Turn the PortServer’s power switch OFF.
Plugging any electronic device into another device under power can
cause damage to one or both of the devices.
Step 2.Plug your serial terminal into Port 1 on the back of the PortServer box. One cable leg
converter (RJ-45 to DB-25) is included with your PortServer. Please note that this
Digi cable leg is wired straight-through, and that you will need a null modem cable
or adapter to connect a terminal if you use the included cable leg.
You probably do not need all ten RS-232 lines for a terminal connection, and may
wish to save the “pigtail" connector for other connections. The following diagram
shows a simple three-wire cable for connecting a terminal to the PortServer. Usually,
serial terminals and printers need only a three-wire connection. The PortServer
supports XON/XOFF (software) handshaking, so the only signal lines necessary are
Transmitted Data (TxD), Received Data (RxD) and Signal Ground (SG). Cables
must be shielded to remain in compliance with FCC certification requirements, and
the shield should be connected to Chassis Ground (GND) at one end of the cable
run.
Page 4 Ÿ Quick Start
The DB-25 end of the cable can be plugged directly into most serial terminals
without any adapters. The RJ-11 plug fits in the center of the PortServer's RJ-45
jack. (Be sure that the plug is centered in the jack!)
Page 13
Simple 3-Wire Cable
RJ-11 - 4 PinDB-25 Male
Signal
(= Cable Shield)
PinPin
GND
TxD
RxD
SG
1
2
3
4
1
2
3
7
Signal
GND
TxD
RxD
SG
This same configuration can be constructed using 6 pin RJ-11 plugs, or either 8 or
10 pin RJ-45 plugs. See “RJ Connectors” on page 91 for the relationship of the
various sizes of RJ connectors to the 10 pin RJ-45 jack.
Configuring the PortServer over the Ethernet
If the IP address has not been set, the PortServer will attempt to use RARP (Reverse Address
Resolution Protocol) to determine its IP address. If this succeeds, the rest of the PortServer
configuration may be completed by connecting to the PortServer using telnet, without connecting
a serial terminal.
For this to work, a RARP server must be set up somewhere on the network. Consult your
operating system and network software documentation for information on how to do this.
(On many UNIX systems, such information can be found in the manual entry for rarpd).
PortServer Terminal Server Ÿ Page 5
Page 14
Connect other terminals and peripherals to the PortServer
At this point you may wish to connect other devices (terminals, modems or printers) to the
PortServer. If you’d prefer to “play with it” a bit and add other peripherals later, skip this part
and go to the next section, Log in and Configure the PortServer on page 9.
Terminals
Attach terminals to the other ports as previously described, plugging the RJ-45 or RJ-11
connectors (from the terminals) into the appropriate sockets in the back of the PortServer. All of
the ports are equal, and you can configure any port for any device. Make sure the power is off on
the PortServer and the terminals!
Some terminals require hardware handshaking; most that do use Data Terminal Ready (DTR) for
hardware handshaking. Here is a wiring diagram for this method:
Terminal/Printer Cable with DTR Handshaking
Page 6 Ÿ Quick Start
RJ-45 - 8 PinDB-25 Male
Signal
(= Cable Shield)
PinPin
1
DSR
2
RTS
TxD
RxD
SG
CTS
DTR
3
4
5
6
7
8
GND
20
4
5
1
2
3
7
Signal
RTS
CTS
GND
TxD
RxD
SG
DTR
Page 15
A more inclusive cable (necessary if you are going to set your port device as a host) is a full 10wire null-modem cable:
Full 10-Wire Null Modem Cable
Pin 10
Pin 1
RJ-45 - 10 PinDB-25 Male
SignalSignal
(= Cable Shield)
PinPin
TxD
RxD
RTS
CTS
DSR
DCD
DTR
GND
SG
RI
5
6
3
8
2
7
10
9
1
4
20
22
TxD
2
RxD
3
RTS
4
CTS
5
DSR
6
SG
7
DCD
8
DTR
RI
1
GND
PortServer Terminal Server Ÿ Page 7
Page 16
Modems
The easiest way to connect modems is to use Digi’s RJ-45 to DB-25 straight-through cables,
which offer full 10-pin connections for full modem control. (You may find ten-pin RJ-45
connectors difficult to find in the retail market). Here are the choices and part numbers:
DB-25 MaleDB-25
DB-9 Male
Female
24 Inch Cables
48 Inch Cables
610200246103002461070024
6102004861030048N/A
If you wish to build your own modem cables, follow the diagram below. Cables must be shielded
to remain in compliance with FCC certification requirements, and the shield should be connected to Chassis Ground (GND) at one end of the cable run.
Full 10-Wire Modem Cable
Pin 10
Pin 1
RJ-45 - 10 PinDB-25 Male
Signal
(= Cable Shield)
PinPin
1
RI
2
DSR
3
RTS
4
GND
5
TxD
6
RxD
7
SG
8
CTS
9
DTR
10
DCD
Signal
RI
22
DSR
6
RTS
4
GND
1
TxD
2
RxD
3
7
SG
5
CTS
20
DTR
DCD
8
Now connect the modem(s) to the other ports as previously described, plugging the RJ-45 or RJ11 connectors from the modems into the appropriate sockets in the back of the PortServer. Again,
make sure the power is off on the PortServer and the modems!
If you want to use 8-pin RJ-45 to DB-25 adapters, a software feature called ALTPIN has been
incorporated into the PortServer software to swap the DCD and DSR signals. This makes DCD
available on pin 1 of an 8-pin RJ-45 connector. See Altpin on page 97.
Page 8 Ÿ Quick Start
Page 17
Printers
Serial printers can have different wiring requirements because of their manufacturer’s interpretations of the RS-232 “standard.” For those printers that can work with software handshaking
(also called “XON/XOFF”), the three-wire hookup for terminals shown on page 5 will work well.
Printers that require hardware handshaking (sometimes referred to as “DTR/DSR”) should work
with the terminal hardware handshaking wiring scheme shown on page 6. (Some Okidata
printers use a control signal on pin 11, called Supervisory Send Data (SSD) instead of DTR. In
this case, simply connect CTS on the RJ-45 side to pin 11 of the DB-25, instead of pin 20.)
If your printer manufacturer suggests a different wiring scheme, use it. Cables must be shielded
to remain in compliance with FCC certification requirements, and the shield should be connected to Chassis Ground (GND) at one end of the cable run.
This same configuration can be constructed using 6 pin RJ-11 plugs, or either
8 or 10 pin RJ-45 plugs. See “RJ Connectors” on page 91 for the relationship
of the various sizes of RJ connectors to the 10 pin RJ-45 jack.
Make sure the power is turned off on both the PortServer and the printers, and connect the
printers to the other ports as previously described.
Log in and Configure the PortServer
Step 1.Turn on the terminal (or PC running terminal emulation software). Set the terminal
parameters to VT-100 emulation, 9600 baud, 8 data, 1 stop, and no parity.
(These are the factory default PortServer settings. While the PortServer can be
instructed to change these parameters, the terminal must be set to these default
values at first, in order to communicate with the PortServer software to change the
parameters!)
Step 2.Turn the PortServer’s power switch on.
Step 3.The PortServer firmware’s Power On Self Test (POST) sequence will now run auto-
matically, displaying different messages in the 7 segment LED display as it performs
different tests. If no errors are detected, the 7 display should end up displaying AC,
and the ten LEDs will each go on in sequence.
PortServer Terminal Server Ÿ Page 9
Page 18
Step 4.When AC is showing on the PortServer display, press the Return or Enter key on
your keyboard; you should get the login: prompt. Enter root. When asked for the
root password, enter dbps:
login: root
passwd:
#>
(Note in this screen dump that the password is not echoed to the screen.) When you
see the #> prompt, you are logged in.
Step 5.Now you need to enter some network configuration information for the PortServer’s
network parameters configuration table, using information available from your
network administrator (or network documentation). Examples here will have
“phony” numbers that you will have to replace with your own information.
IP Address
Node Name
Domain Name
First, you need to set an IP address for the PortServer unit.
Your network administrator can give you an appropriate
address to use. Assuming an IP address of 192.83.159.1 (for the
sake of this example), enter the following command:
#>set config ip=192.83.159.1
#>
(Again, enter the IP Address as assigned by your network administrator, not the example address shown above!)
Enter the node name you have assigned for the PortServer. This
example uses “termserver”:
#>set config myname=termserver
#>
If applicable, enter the name of the domain that the PortServer
is part of. The default name is “DOMAIN”; this example uses
“arnold.org”:
#>set config domain=arnold.org
#>
Page 10 Ÿ Quick Start
Page 19
Domain
Server’s
Name
If you have one, enter the IP address of the IP Name Service
machine that will translate names to addresses. This example
uses “192.83.159.2”:
#>set config nameserv=192.83.159.2
#>
Note that if you do not have an IP Name Service machine, you
can use the PortServer’s Set Host commands to build a table
of names and their IP addresses. (See page 46.)
Network
Subnet
Mask
Gateway
Address
Set your network subnet mask. (The PortServer’s default
setting is 255.255.255.0); that’s also the mask used in this
example:
#>set config submask=255.255.255.0
#>
If you have a gateway, set its IP address. (The default setting of
255.255.255.255 is used in this example):
#>set config gateway=255.255.255.255
#>
There are other PortServer parameters that can be configured. These are covered
individually in the Command Reference chapter.
PortServer Terminal Server Ÿ Page 11
Page 20
Testing the network connection
You should now be able to establish communications with another network machine. (You will
need to know the IP Address of the other machine.) Enter the following ping command to test
the connection:
#>ping 192.83.159.227
#>
(Again, the IP address “192.83.159.227" shown above is for example only. Use an IP address
that is valid for your network.)
The PortServer software should respond:
192.83.159.227 is alive
#>
If you do not see the “It is Alive!” message, check the IP address set for the PortServer, as well as
that of the target machine. Check your physical network cable connection. You can also use the
PortServer’s front panel to check Ethernet activity—see PortServer Front Panel on page 69.
Page 12 Ÿ Quick Start
Page 21
Set up ports for your uses
Your next step would be to configure individual PortServer ports for your own specific uses. This
section sets up these example ports:
• A wyse60 terminal on port 2, running at 38400 baud with software flow control
• A printer with hardware flow control on port 3
• A bidirectional modem with hardware flow control on port 4
Security Levels
Root Login is required for setting up ports, as it allows complete access to all PortServer options. The root user can
write and save the configurable parameters for any port, and
the root user sets up the “regular” logins for other users.
Except for parameter changes to his or her own PortServer
port, a “regular” user cannot configure any of the PortServer
parameters.
The “root” login is always present, and must always have a
password. It is not possible to remove the root user entry, or
delete the root password. It is possible to change the root
password with “newpass” (see page 36), and it is also possible for you to forget the root password if you change it! (In
this unfortunate event, see Resetting the PortServer toFactory Defaults on page 80). The factory default root password is dbps.
Root level access is required for setting the ports as shown in
these examples.
Also see PortServer Security on page 77
Note that all changes made here are by default saved to EEPROM memory. The root user can
choose not to permanently change settings (see Saving to EEPROM on page 39); as a security
measure, by default “regular” users cannot save parameters permanently.
PortServer Terminal Server Ÿ Page 13
Page 22
Terminal Setup Example
(Wyse60 terminal on port 2, running at 38400 bps with software
flow control)
Step 1.Turn off the power to the terminal and the PortServer, and connect the Wyse
terminal to Port 2. Power up again.
Step 2.At the Port 1 control terminal, log in as root.
We’re still using Port 1, but any terminal can be used to make PortServer
configuration changes, as long as the user logged in as root, or has gained root
privileges with the admin command (page 31)—which as you’d suspect also requires the root password.
Step 3.Again, the default settings are VT-100 emulation, 9600 baud, 8 data, 1 stop, and no
parity. For this example, we will change the Port 2 terminal type to wyse60, the
baud rate to 38400, and select software flow control for both incoming and outgoing
data.
Setting the terminal type and baud rate will require these Set commands: set
port, set flow and set line. The set command’s range parameter will also
come into play, to tell the PortServer software that the changes we are making are to
Port 2.
Page 14 Ÿ Quick Start
Terminal
Type
Baud Rate
Set the terminal type for Port #2 by typing:
#>set port termtype=wy60 range=2
Note that the terminal type names depend upon the conventions
accepted by your network’s host operating system; wy60 in the
above example stands for a Wyse 60 terminal.
The range=2 parameter tells the PortServer software that this
command is to affect Port #2; if range=2 had not been added,
the port we’re connected to (Port #1) would have been changed
to Wyse 60.
Change the baud rate of Port #2 from the default 9600 baud to
38400 by typing:
#>set line baud=38400 range=2
Page 23
Flow Control
While the default port flow control setting is for software flow
control, let’s set it again just to make sure, by typing:
(In the above, set flow ixon=on sets port #2 to use
software flow control (typically XON/XOFF) for output data.
set flow ixoff=off sets port #2 to turn off software flow
control for input data (keyboards shouldn’t need flow control).
Shorthand: The above two setflow commands could have
been set with one line:
#> set flow ixon=on ixoff=off range=2
Almost all commands can also be abbreviated; see
Abbreviations on page 28. For clarity, abbreviations will not be
used in these examples, and each command will have its own
line.
set commands are discussed in detail on page 38.
Printer Setup Example(Printer with hardware flow control on port 3)
Step 1.Turn off the power to the printer and the PortServer, and connect the printer, wired
as discussed on page 9, then power up again.
Step 2.At the control terminal, log in as root.
Step 3.The default settings when defining a port for printing are 9600 baud, 8 data, 1 stop,
and no parity. For this example, those will be fine, but we will need to set the flow
control.
Setting the port definition to printer and setting the flow control to DTR/CTS
(“hardware”) will require these Set commands: setport and setflow. The set
command’s range parameter will also come into play, to tell the PortServer software that the changes we are making are to Port 3.
PortServer Terminal Server Ÿ Page 15
Page 24
Define Port
as Printer
Set Port #3 to be a Printer port by typing:
#>set port dev=prn range=3
Note that you did not have to set the port to be a terminal in the
previous example, because they all default to terminal as
shipped. To change Port #3 back to a terminal someday, you
would type “set port dev=term range=3.”
Again, the range=3 parameter tells the PortServer software
that this command is to affect Port #3; if range=3 had not
been added, the port we are connected to (Port #1) would have
been changed to a printer type—effectively ending our session
here until we logged in on another terminal to change it back!
Flow Control
Change the flow control for Port #3 to DTR (“hardware”) by
typing:
#>set flow cts=on range=3
set flow cts=on sets port #3 to use hardware flow control
for output data. (Note how CTS is connected to DTR in the
DTR wiring diagram on page 8.) Also note that the printer’s
flow control must match the hardware flow control we are
setting here.
You must also ensure that software flow control is off:
Please note that using printers through the PortServer terminal server is very operating-system
specific and beyond the scope of this Quick Start discussion. See Printers on page 85 for more
information and application notes.
Page 16 Ÿ Quick Start
Page 25
Modem Setup Example(Bidirectional modem with hardware flow control on port 4)
Step 1.Turn off the power to the modem and the PortServer, and connect the modem, wired
as discussed on page 8, then power up again.
Step 2.At the control terminal, log in as root.
Step 3.The default baud rate setting of 9600 baud should be raised or lowered to the highest
setting that the modem can handle. (Remember that we’re talking about the
PortServer-to-Modem connection, not the speed at which the modem itself communicates over the telephone lines.) For this example, we will set up the PortServer-toModem connection at 2400 baud with hardware flow control.
Setting the port definition to bidirectional modem and setting the flow control to
RTS/CTS handshaking will require these Set commands: set port and set
flow. The set command’s range parameter will also come into play, to tell the -
PortServer software that the changes we are making are to Port 4.
Define Port
as Bidirectional
Modem
Baud Rate
Set Port #4 to be a bidirectional modem port by typing:
#>set port dev=mio range=4
Other related choices would have been “set port dev=min”
for input-only, and “setportdev=mout” for output only.
“set portdev=mio” is for bidirectional connections.
Again, the range=4 parameter tells the PortServer software
that this command is to affect Port #4; if range=4 had not
been added, the port we’re connected to (Port #1) would have
been changed to a modem type—effectively ending our session
here until we logged back in through the modem!
Change the baud rate of Port #4 from the default 9600 baud to
2400 by typing:
#>set line baud=2400 range=4
PortServer Terminal Server Ÿ Page 17
Page 26
Flow Control
Change the flow control for Port #4 to RTS/CTS (“hardware”)
by typing:
(In the above, setflowrts=on sets port #4 to use hardware
flow control for input data. setflowcts=on sets port #4 to
use hardware flow control for output data.) Also note that the
modem must be set (through AT commands or DIP switches)
for hardware flow control.
You must also ensure that software flow control is off:
Please note that setting up and using modems through the PortServer terminal server (or any
system, for that matter!) can get complicated quickly. See Modems on page 86 for more infor-
mation and application notes.
Page 18 Ÿ Quick Start
Page 27
Set up a new user
A typical next step would be to set up a new user and password. For this example, we will:
• Set up a new user for that Wyse 60 terminal on Port #2; the user’s login will be betty.
• Give Betty the password MeBoss, and require that she give it whenever she logs in. (That is
the default, but we will make sure it is in place.) Passwords are case-sensitive, and limited to
eight characters in length.
• Change the login prompt from the default login> to MegaCorp>.
• Set up Betty’s secretary Rex as a user sharing Betty’s same terminal connected to Port 2,
with the user name rex and the password wannaB.
• Set it up so that whenever Rex logs in he is connected directly to the host Corporate, without
the opportunity to manipulate the PortServer’s command shell.
The PortServer software offers many automatic login and automatic connection options. The
one mentioned above is tied to a specific user (rex); we could also have tied it to a particular
port, but since Betty and Rex share the same terminal, that would have left Betty without
access to the PortServer command line. You will want to carefully read (in the CommandReference chapter) the entire section on the suite of set commands (page 38) to get an idea
of all of the PortServer options.
Making the above additions/changes to the PortServer will require the newpass command,
and these set commands: sethost, setlogins and setusers. The set command’s
range parameter will also come into play on some commands, to tell the PortServer soft-
ware that the changes we are making are to ports 1-16. (An eight-port PortServer would use
a range parameter of 1-8.)
PortServer Terminal Server Ÿ Page 19
Page 28
Create New
User “Betty”
Create “regular” (as opposed to root) user “Betty” by typing:
#>set users name=betty
The user names are stored in a table of users, viewable by
typing “setusers” without any other parameters. As you will
later find, this way of getting the current PortServer setup
information works for all commands. And an easy way of
getting help on commands from the PortServer software is to
type the command sequence followed by a space and a question
mark, like “setusers?” to get a list of the set users options.
User names are case sensitive; “Betty” does not mean the
same as “betty” or “bEtTy” to the PortServer software.
IMPORTANT! Note that for new users, the user password is
the same as the username, with the same capitalization. Betty’s
password (until she changes it) is the same as her username
betty.
Require
Password
The user password is required by default (set to passwd=on),
but we will set it to ON just to make sure. Type:
#>set users name=betty passwd=on
(Yes, we could have done this at the same time as the first step.
We had to type in “username=betty” here so that the PortServer software knew which user we were talking about.)
Page 20 Ÿ Quick Start
Page 29
Change
Betty’s
Password to
“MeBoss”
Passwords are case-sensitive, and limited to eight characters or
less. Changing the password can be done either by Betty
herself, or by the root user.
As root, set the password itself to “MeBoss.” Type:
newpass name=betty
The PortServer responds with
current passwd:
Type in “MeBoss”—note that it will not be echoed on the
screen. (You will be asked again for the new password, to make
sure it was typed correctly.)
Betty herself could have logged in (under her old, original
password of “betty,” and changed the password herself with the
newpass command. In that case, she would not have to add
“name=betty”.
Change
Login Prompt
to
MegaCorp>
Create New
User “Rex”
with
Password
“wannaB”
Change the login prompt for port #2 from the default login> to
MegaCorp> by typing:
#>set logins logprompt="MegaCorp>" range=1-16
Note that if you wanted to change login prompt just for port #2,
you could have typed range=2; the above range command
changed the login prompt for all attached ports.
The login prompt length is 11 characters.
Also note the quotation marks around “MegaCorp>”; these
weren’t necessary in this example, but if a space had been
included (“MegaCorp>”) the quotation marks would have
been necessary to let the PortServer software know unambiguously what the new prompt string was.
This is done in the same way as in the preceding example with
Betty. Type:
#>set users name=Rex passwd=on
Change the password (it is now “Rex”) as described for Betty.
PortServer Terminal Server Ÿ Page 21
Page 30
Have User
“Rex” bypass
PortServer
Command
Shell, connect
directly to
Host
“Corporate”
First, we create table entries for the host named “Corporate,”
including its IP address (152.83.151.1 is a “phony” name used
here for an example). Note that the “ip=” part is not necessary
if you have IP name service.
#>set host name=corporate ip=152.83.151.1
(You can inspect the Host table at any time by typing set
host with no other parameters.)
Next, we configure the PortServer software so that user “Rex”
is an auto user, automatically connected to a destination host
dest:
(Again, 152.83.151.1 is a “phony” IP address; you would use
the real IP address for the host named “Corporate.”)
Setting dport is necessary to establish a terminal session with
the other host. The value 23 means a telnet-type terminal,
which will ask Rex to log in again at Corporate. An entry of
513 would specify Rlogin services, and Rex would automatically be logged in as long as his login on “Corporate” isthe same user name. Check your operating system documentation for service numbers.
Page 22 Ÿ Quick Start
set commands are discussed in detail on page 38.
Page 31
Telnet and Multisession
Here is an example of Betty logging in on her newly-configured terminal, logging into her company’s Corporate and Engineering hosts via telnet, switching between the two sessions, then
logging out.
The PortServer supports up to nine separate login sessions per port. For example, if your
company has host computers named Sales, Tech and Production, you can log into all three, and
switch among the different sessions and the PortServer command shell by using the telnet escapekey followed by a number or carriage return.
The default telnet escape key is <Ctrl-]> (Control/Right Square Bracket) and
can be changed—see setkeystesc=value on page 47.
To temporarily escape from a session to the PortServer command shell (perhaps to start another
session), type the telnet escape character followed by a carriage return. You may now start a
second session.
To go directly to the first session (bypassing the PortServer shell), type the telnet escape character
followed by a 1.
• Type the telnet escape character followed by a 2 to go directly to the second session.
• Type the telnet escape character followed by a carriage return to go to the PortServer
command shell.
• From the PortServer command shell, type 1 or 2as the first character on a line to go to the
session of that number.
• As a shortcut, you can also toggle between your last two telnet sessions by pressing the telnet
escape character followed by “]” (<Ctrl-]> ]).
When you switch between sessions, the current session will continue on the next line of your
screen unless your terminal is capable of multi-screen operation (as entered in setports
parameter—see page 51). You may need to hit the enter key between sessions to see your
prompt.
AUTO users (like Rex in the previous example) cannot take advantage of
multisessions. (The purpose of the Auto option, after all, is to restrict a user or
port to a certain host).
PortServer Terminal Server Ÿ Page 23
Page 32
Log in as
“Betty”
The PortServer is already up and running. Betty turns on her
terminal, presses <enter> (if the login prompt is not already
showing) and sees:
MegaCorp>
She types in Betty and presses ENTER. Next she sees:
passwd:
Betty enters “MEBoss”. The PortServer responds “login
invalid...” because Betty got the case wrong. She logins in
again, and properly enters her new password “MeBoss”.
Start session
with
Corporate
Start new
session with
Engineering
At the PortServer’s “#>” prompt, Betty starts a session with her
company’s host computer called “Corporate” by typing:
#>telnet corporate
Note that she doesn’t have to give an IP address for
“Corporate” because her network has IP naming service. If it
did not, she could still have entered “telnet corporate” as
long as “corporate” and its IP address had been entered in the
PortServer’s host table, as described in “Set Host” on page 46.
(The syntax for the telnet command is telnethostname|hostip
[tcp port#]; that extra port # parameter is not applicable here,
but will be used in the next example.)
Betty logs in to Corporate using her login and password as set
up on that host.
Betty is now logged into Corporate through the PortServer. She
exits the Corporate login and goes back to the PortServer’s
command shell by typing the Telnet Escape sequence, which by
default is <Ctrl ]> (press the Control key and the right square
bracket keys at the same time) then pressing Return.
Back at the PortServer’s “#>” prompt, Betty starts a session
with her company’s host computer called “Engineering” by
typing:
#>telnet engineering
Page 24 Ÿ Quick Start
Again, she logs into the Engineering host using her login and
password as set up on that host.
Page 33
Switch
between
sessions
Betty’s session with Corporate is session #1, and her session
with Engineering is session #2. From her Engineering session,
she can switch to Corporate by typing <Ctrl-]> 1 (the telnet
escape character <Ctrl-]> followed by the number 1).
From her session on Corporate, she can switch to the
Engineering session by typing <Ctrl-]> 2, or switch back and
forth between the two sessions by pressing <Ctrl-]> ].
From either session, Betty can go back to the PortServer’s
command shell by typing the Telnet Escape sequence <Ctrl ]>
and then pressing Return. Once in the PortServer’s command
shell, Betty can start other sessions (up to nine), or perform
other operations. From the command shell, she can go to either
session #1 (Corporate) or session #2 (Engineering) by typing
the numbers 1 or 2 respectively as the first character on a line.
Log out of
Corporate
Log out of
Engineering
Log out of
PortServer
Betty now switches back to her Corporate session (using one of
the methods just described), and logs out of that session in the
way required by the host.
She then closes the telnet session and returns to the PortServer
command shell with the command:
close
In the same manner. Betty switches to the Engineering session,
(which is now session #1 by virtue of the original Corporate
session #1 being closed), logs out and closes the telnet session.
Back at the PortServer command shell, Betty exits her session
with:
exit
Note that the command quit works the same as exit. The
exit (or quit) command closes all active telnet or rlogin
sessions before exiting.
More information about multiple sessions and configuring
Multiscreens is in the appendix Multiple Sessions on page
98.
PortServer Terminal Server Ÿ Page 25
Page 34
Telnet and modems
In a previous part of this getting-started example, we installed a modem on Port #4, with DTR
(“hardware”) handshaking and configured for bidirectional (incoming and outgoing calls) use.
Here, Betty will telnet to that modem (from her Port #2 terminal to the modem on Port #4), use
“AT” type modem commands to set a fixed DTE interface and 2400 baud, then call an
information service.
The PortServer cannot switch the serial line baud rate depending on the kind of
connection made, so you should configure the modem to lock the serial line
speed at the highest baud rate the modem will go. (See your modem’s documentation.)
The telnet command is used to log into a remote system using the telnet protocol. (In this case,
calling from the PortServer Port #2 to Port #4, the PortServer itself is a “remote system!") Recall
that the telnet syntax is telnethostname|hostip [tcp port#]. The hostname here is actually the
PortServer’s nodename that you configured when you first set up the PortServer—see page 10.
(In this example, the PortServer’s nodename was set to be termserver.) The tcp port# parameter
comes into play when telnetting to devices on the PortServer.
However, it is not possible to telnet to Port #4 by entering “telnettermserver4”. By Digi
International convention, we add 2000 to the PortServer’s port number to create the tcp port
numbers. To reference the modem on port 4, use the value 2004.
Page 26 Ÿ Quick Start
Telnet to
Modem on
Port #4
See PortServer Port Numbers on page 101 for more detail.
Betty logs into her terminal on Port #2, then connects to the
modem installed on Port #4 with the telnet command:
telnet termserver 2004
Betty is now connected directly to the modem, and can directly
enter commands to the modem (like “AT” commands to Hayes
or Hayes-compatible modems). This example assumes Betty has
a 2400 baud Hayes-compatible modem attached to Port #4.
Page 35
Set Modem
for Hardware
Handshake
on Serial
Connection
In the modem setup example (page 17), the connection from
the PortServer to the modem was set to use RTS/CTS hardware
handshaking. Here, Betty tells the modem to use the same, by
typing:
AT&K3
(Betty is connected directly to the modem, so there are no command prompts.)
Set Modem
Baud Rate
Call Service
Log off
In the modem setup example, the connection from the
PortServer to the modem was set at 2400 baud. Now Betty sets
the modem to 2400 baud.
(The exact command depends upon the brand and model of
modem; refer to your modem documentation when setting up
modem connections.)
Betty now calls the online information service by telling her
modem to dial the telephone number (Hayes “AT” command
shown; your modems may be different):
ATDT 123-4567
(The example number “123-4567" above would be replaced by
the actual telephone number of the service you are calling.)
Betty exits the online service, then closes the connection to the
modem and logs off her terminal:
close
exit
Also see Modems on page 86 for information on configuring
modems, and using modems and the PortServer with UNIXbased operating systems.
PortServer Terminal Server Ÿ Page 27
Page 36
Command Reference
This Command Reference is divided into these parts:
All PortServer commands may be abbreviated to their shortest unique letters. Therefore the command:
set users name=jill
can be abbreviated to:
set u n=jill
You may type an asterisk (“*”) in place of “range=1-n” to reference all of the ports on the PortServer.
Page 28 Ÿ Command Reference
Page 37
PortServer Help Screens
On-line help for the PortServer's command language is available to you through context-sensitive
help screens. Help is available by entering a “?” either by itself or after part of a command line.
The screen will tell you which parameters are available to complete the command line.
At the PortServer prompt, enter a “?” (question mark) with no other parameters to get the top
level help screen:
login: root
passwd:
#> ?
admin boot close cpconf
exit info kill mode
newpass ping quit rlogin
send set snmp status
telnet who ?
#>
For help on a specific command, type the command name followed by a question mark. The
example below asks for help for the command info:
#> info ?
Displays or clears statistics tables.
syntax: info (table_name)|(table_cmd)
tables:
network ip icmp tcp
udp clear
#> info
After you enter a request for help, the PortServer software will print the text before
the “?” for you on the next command line, anticipating your next command. For
example, after the request for help with info? above, notice how the next
command prompt includes the word info already typed.
PortServer Terminal Server Ÿ Page 29
Page 38
PortServer Editing Keystrokes
The following keystrokes can be used in editing commands sent to the PortServer from a terminal:
Page 30 Ÿ Command Reference
Page 39
PortServer Commands
These commands are specific to the PortServer.
admin
Syntax:admin
The admin command allows you root privileges with the PortServer if you have previously
logged in as other than root. You will be asked for the root password.
boot
Syntax:boot action=reset|eewrite
The boot command is used to reboot the PortServer, and requires root privileges.
If the command is entered as bootaction=reset, the PortServer is reset using the current
parameters stored in memory (as when first powered on).
Use bootaction=eewrite to reboot the PortServer using the factory default settings stored in
ROM. Note that in this event all user configuration will be lost!
See page 43 for Remote Booting via TFTP (Trivial File Transfer Protocol) of upgraded PortServer software.
PortServer Terminal Server Ÿ Page 31
Page 40
cpconf
Syntax:cpconf tohost|fromhosthostname filename
cpconf term
The cpconf (copy configuration) command was added to allow saving and restoring the configuration of the PortServer to a disk file. The format of the save file is a list of the set commands
needed to set up the PortServer in the current configuration. These commands will be read and
acted on by the server (just as if the user had typed them on the command line) when the
configuration is restored.
Comment lines are allowed; the “#” character must be the first non-whitespace character on a
comment line. Such lines will be ignored by the PortServer command line interface.
There are two ways to store the data:
1. Use a terminal emulator program that can capture text to a file and send the text file back to
the PortServer;
2. Store and retrieve the configuration file from a host computer that serves TFTP file requests.
The TFTP server option is probably more convenient.
The command cpconfterm will print the configuration directly to the terminal. To save the
configuration using a terminal emulation program, capture the output from the cpconfterm
command into a file. To restore such a saved configuration, simply send the contents of the file to
the PortServer command line, which will run all the commands as if they were typed by the user
at the command line. If this method is used, it is very important that flow control works between
the PortServer and the terminal program.
To save the configuration to a TFTP server, use the command cpconftohosthostnamefilename. Either a true hostname or an ip address may be used for hostname. Filename is the
name of the file to be written; often this name must be a relative path name. (It depends upon the
particular TFTP server.) In many cases the TFTP server may require that the file already exist
and that it be world-writable before the TFTP transfer will be allowed.
An example of a way to create such a file on UNIX is:
To restore a configuration saved via TFTP, use the command cpconffromhost hostname filename.
Restoring the configuration takes quite a bit longer than saving it. This is because writing to the
EEPROM that stores the PortServer's configuration is a lot slower than reading.
Page 32 Ÿ Command Reference
Page 41
If an attempt is made to change the IP address when restoring over the network, the restoration
will fail because the PortServer will ignore any conversation on the old IP address. The save file
prints a “#” at the beginning of the setconfigip=x.x.x.x command, commenting it out to
avoid the problem.
For security, it is probably wise to remove world write permissions on the save file once the
cpconf command has completed, to prevent unauthorized users from changing the file.
UNIX: Chmod 444 savefile
exit
Syntax:exit
The exit command terminates the current PortServer login session. If you exit a session
without first closing it, PortServer will automatically do a close for you. (See the telnet
commands). Note that quit works the same as exit.
The command exit can also be used to give up root privileges temporarily acquired with the
admin command.
info
Syntax:infotable_name|table_command
The info command is used to either view PortServer network statistics tables or to clear their
contents. The information in the tables includes the statistics gathered since the tables were last
cleared with infoclear.
The optional tables that can be viewed with info are:
network ip icmptcpudp
There is also a command to clear all of the info tables:
info clear
Root privileges are required for infoclear.
PortServer Terminal Server Ÿ Page 33
Page 42
infotablename displays the following information (values shown are arbitrary examples).
These are actual screen dumps of a root-level session—note the root prompt (#>):
#> info network
Network statistics collected over last 129 minute(s).
The kill command is used to clear or reset the port named in the tty_number parameter. The
phrase action=eewrite is an optional parameter that should only be used as a last resort, as it
rewrites that port's configuration with the factory default settings. If you experience problems
with a connection, first try closing the session, shutting the terminal off, etc., before using the
killtty=tty_number action=eewrite command.
The kill command requires root privileges.
PortServer Terminal Server Ÿ Page 35
Page 44
newpass
Syntax:newpass [user=username]
Use the newpass command to create or change your current password. If you are at the root
level, be very careful not to forget your root password.
If you supply the optional name=username, another user’s password can be changed. Root-level
privileges are required to change another user’s password.
The ping command is used to request ICMP echo responses from the specified host or network
gateway. If the host responds, ping will print (hostname) is alive; if no answer, it will print no
answer from (hostname). The options are:
fill=any_characterFills the packet with the designated character.
npkts=num_packetsThe number of packets to send. Allowable values are 1 to 30,000
(default=1). As a special case, enter -1; this will cause ping to send
one datagram per second and print one line of output for every
response received. In this case, ping will report round trip time and
packet loss statistics.
intv=intervalSpecifies the time in milliseconds between ping requests. Default=1
second (1000 ms).
pksize=num_bytesUsed to specify the number of bytes in the packet; the allowable value
range is from 18 (the default value) to 1472.
Page 36 Ÿ Command Reference
Page 45
quit
Syntax:quit
The quit command terminates your current login session. If you quit a session without first
closing it, PortServer will automatically do a close for you. (See the telnet commands). Note
that exit works the same as quit.
Quit can also be used to give up root privileges temporarily acquired with the admin command.
PortServer Terminal Server Ÿ Page 37
Page 46
set
Syntax:settablename [options . . . ]
The set command is used to set or display various PortServer system and port parameters. The
different tables that can be substituted for tablename are:
altip
host
users
flow
logins
arp
route
keys
ports
config
terms
line
The variables in these tables are referenced by their table indexes.
The variables in these tables are referenced by port numbers.
Each of the tables will have their own options, as outlined in the following descriptions.
Range
As a part of any of the set commands, you have to specify which port or table entry the command is to affect. In the preceding list of tables, the names above the horizontal line are set
command variables referenced by their table index, while the items below the line may be
specified for modification by port number. If you do not specify a range, the set commands in
this section will affect only the port you are logged in from.
Specify the table entry, or a range of table entries, with the range option, in one of three formats:
set (command) range=singleport#
This tells the set command that the rest of the command affects the port number singleport#.
(Type in the rest of the command after the value for singleport#.)
set (command) range=startport#-endport#
This tells the set command that the rest of the command affects the port numbers startport#
through endport# . (Type in the rest of the command after the value for endport#.)
It is possible combine the preceding two methods, separated by commas:
set (command) range=port#,startport#-endport#,port#
Page 38 Ÿ Command Reference
Page 47
Multiple command options can be included in the same line with a single range option. For
example:
set line range=1-4 baud=2400 parity=E csize=7 stopb=1
will set the serial characteristics of ports 1 through 4 for 2400 baud, even parity, character size of
7 and 1 stop bit. This could also have been entered as:
set line range=1-4 baud=2400
set line range=1-4 parity=E
set line range=1-4 csize=7
set line range=1-4 stopb=1
Saving to EEPROM
Each set command also has an option to save to the PortServer's EEPROM. If you are logged in
as root, save is on by default. If you are not logged in as root, save is off by default. (Changes
made by a non-root user are valid only for the duration of the session.)
Non-root users can only set parameters for their individual ports. If non-root users wish to save
their parameters in EEPROM, they must use the command save=on as part of the port modification commands they use. The System Administrator must also have configured their port with
set logins write=on. (See logins write= on page 49.)
Since by default saves are automatic for root users, a root user making a temporary change to a
port should remember to add to the command the directive save=off.
PortServer Terminal Server Ÿ Page 39
Page 48
altip
Syntax:set altip [range=range]
set altip ip=ipaddr group=port# | group#
set altip rmip=ipaddress
set altip rmrange range=range
The altip command allows you to telnet to a port or huntgroup using an IP address (or host
name). You must assign an additional IP address to the port or hunt group.
Options are:
groupiprangermiprmrangesave
set altip range=range
If the setaltip command is entered with no options, or no options other than a
range, the current altip table entries for that range are displayed. (setaltip with
no range prints the entire table.)
set altip ip=ipaddr group=port# | group#
This form of the command makes a new entry, or changes an existing entry. If the IP
address matches an existing entry, that entry will be modified. Otherwise a new
table entry will be created.
The IP address must be on the same network (or subnetwork) as the main IP address
of the PortServer. The group may be a port number or a group number. (See set portsgroup=on page 52 for information on how groups of ports are assigned.)
set altip rmip=ipaddress
This form of the altip command remove entries from the table by ip address.
set altip rmrange range=range
This form of the altip command remove entries from the table by index numbers.
Up to 16 alternate IP address may be assigned.
Also see PortServer Port Numbers on page 101.
Page 40 Ÿ Command Reference
Page 49
arp
Syntax:set arp [range=range]
set arp ip=ipaddr ether=etaddr [tim2liv=time]
set arp range=range rmarp=on
This sets or displays the arp (Address Resolution Protocol) table entries. The arp table maps IP
addresses to Ethernet addresses. In most cases, this is done automatically by the ARP protocol
and manual modification of this table will not be required. Making changes with ARP requires
root priveledges. The arp options are:
set arp range=range
If the setarp command is entered with no options other than a range, the current
ARP table entries for that range are displayed. (setarp with no range prints the
entire table.)
set arp ip=ipaddress ether=ethernetaddress [tim2liv=time]
The second form of the setarp command is used to add a new entry into the ARP
table. Set ipaddress to the ip address to be mapped (in the normal nnn.nnn.nnn.nnn
format) and set ethernetaddress to the six byte Ethernet address that this IP address
should be mapped to (such as 08:00:20:05:0b:da).
The optional parameter tim2liv can be set to the length of time, in seconds, to keep
an entry in the ARP table. If no value is specified, a default of 1200 seconds (20
minutes) is used.
set arp range=range rmarp=on
This is used to remove entries from the ARP table. Set range equal to the range of
table entries to be removed, using the numbers from the Index field when you view
the table using setarp.
You may define up to 16 arp table entries.
PortServer Terminal Server Ÿ Page 41
Page 50
config
Syntax:set configoption=value
This sets or displays the network parameters configuration table entries. Options are:
More than one configuration option can be included in a command.
The setconfig command writes to EEPROM, and informs you of the number of
locations found bad and corrected in EEPROM memory. A non-zero number is
worrisome only when the number of errors begins to approach 64, the maximum
number of entries in the EEPROM patch table. Anyone with more than 40 corrected
errors should contact Digi Technical Support for assistance.
“EP” appears on the front panel display any time a write to EEPROM is in progress.
domain=domain_name
Specifies the domain name.
gateway=ipaddress
Sets the IP address of the gateway.
myname=PortServer's_name
Sets the node name of the PortServer box.
ip=ipaddress
Sets the PortServer's ip address.
nameserv=ipaddress
Specifies the name of the domain name server. If an address is not specified, the
host’s ip address must be entered using the set host covered on page 46.
realport=tcp_port_number
This is the RealPort TCP port number, which has a default value of 771 here and in
the RealPort drivers. If this number must be changed because of conflicts, remember
to change it both here and in the RealPort drivers.
submask=subnet mask
Used to set the network subnet mask. Default=255.255.255.0
Page 42 Ÿ Command Reference
Page 51
boothost=ip_address_of_host_with_bootfile
Used to set the IP address of the remote host with any upgraded PortServer software
for booting via TFTP (Trivial File Transfer Protocol). This requires that the host
supports TFTP—see the operating system documentation.
bootfile=filename_of_bootfile
Used to set the filename with complete path on the remote host of any upgraded
PortServer software for booting via TFTP (Trivial File Transfer Protocol). This
requires that the host supports TFTP—see the operating system documentation.
There is no default name.
Booting the PortServer Software with Remote Boot
A feature of the PortServer operating system software is that it can be upgraded without ROM
or other hardware changes. Any upgraded software from Digi can be installed on a host on the
network that supports TFTP (Trivial File Transfer Protocol).
First, configure the PortServer box for remote boot by using
set config boothost=ip_address_of_host_with_bootfile
to specify the ip address of the host with the upgraded software on it.
Next, configure the PortServer for the filename of that software with
set config bootfile=filename
(Make sure that filename includes the complete path.)
Reset the PortServer unit by turning its power switch off, then on again. The PortServer
firmware will then go through its self-testing, then load its operating system software from the
specified host.
PortServer Terminal Server Ÿ Page 43
Page 52
TFTP Error Messages
The host with the bootfile may pass back a TFTP error message, which the PortServer will
display in the alphanumeric display. This message will be in the form En, where n can be one
of the following:
0 Error not defined, see error message (if any)
1 File not found
2 Access Violation
3 Disk Full or allocation exceeded
4 Illegal TFTP operation
5 Unknown transfer ID
6 File already exists
7 No such user
If the remote still will not work, push both arrow buttons ( and ) to boot from the ROM,
and check that the boothost ip address is correct, and that the bootfile path and name are
correct. Also ensure that your system supports TFTP.
To return to automatically booting from ROM, enter:
set config boothost=255.255.255.255
flow
Syntax:set flowoption=value
The set flow commands set or display the hardware and software flow control parameters for
RS-232 serial ports. setflowrange is used to specify multiple ports, or one specific port.
Options are:
Each of the above will have their own options, as outlined in the following descriptions. (More
than one option can be included in a command.)
Page 44 Ÿ Command Reference
Page 53
aixon=on|off
Use auxiliary flow control characters (defined by setkeysxona= and setkeys
xofa=) for output flow control. Default=off
altpin=on|off
Setting Altpin ON switches the function of the DSR and the DCD inputs on the
interface connector, so that DCD is available when using an 8-pin RJ-45 connector
instead of a 10-pin RJ-45 connector. (See RJ Connectors on page 91.)
Default=off
cts=on|off
Use (or do not use) CTS (Clear To Send) for output flow control. Default=off
dcd=on|off
Use (or do not use) DCD (Data Carrier Detect) for output flow control. Default=off
dsr=on|off
Use (or do not use) DSR (Data Set Ready) for output flow control. Default=off
dtr=on|off
Use (or do not use) DTR (Data Terminal Ready) for input flow control. Default=off
ixoff=on|off
When ON, use software flow control (typically XON/XOFF) for input data.
Default=on
ixon=on|off
When ON, use software flow control (typically XON/XOFF) for output data.
Default=on
range=startport#-endport#
Specify a range of ports to be modified. If not specified, the command will act on the
current port. It is important to specify the port or port range when logged into the
PortServer remotely.
ri=on|off
When ON, use Ring Indicator (RI) for output flow control. Default=off
rts=on|off
When ON, use RTS (Request To Send) for input flow control. Default=off
save=on|off
Save or do not save the changes to EEPROM.
PortServer Terminal Server Ÿ Page 45
Page 54
host
Syntax:set host [range=range]
set host name=hostname ip=ipaddress
set host rmhost=hostname
set host rmhost=on range=range
This sets or displays the host name table, which maps host names to IP addresses. If name
service is configured, this table is filled in automatically, and manual modification of this table
will probably not be required. Making changes with this command requires root privileges.
Options are:
ip name rangermhost
set host [range=range]
If the sethost command is entered with no options (or just a range), it prints the
current host table (or a range of entries from the table).
set host name=hostname ip=ipaddress
This form of the sethost command makes a new entry, or changes an existing
entry. Set hostname to the name of the host, and set ipaddress to the ip address of
the host. If the host name already existed in the table, the new ip address will
replace the old ip address; otherwise a new table entry will be created for this
hostname and address.
set host rmhost=hostname
This form of the sethost command is used for removing entries from the host
table. sethostrmhost=hostname removes the entry that refers to the hostname
set host rmhhost=on range=range
This form of the sethost command is also used for removing entries from the host
table. sethostrmhhost=onrange=range is used to remove entries from the host
table by index number(s); these can be found in the table listing (by typing sethost
with no options).
You may define up to 16 host table entries.
Page 46 Ÿ Command Reference
Page 55
keys
Syntax:set keysoption=value
Use keys to define the local key combinations for various functions. The different keys that can
be set are:
eoferaseintrkillrangesave
tescxonxoffxonaxoffa
Each of the preceding will have their own options, as outlined in the following descriptions. Use
set keys range= to specify a single port or group of ports.
More than one option can be included in a command.
If the character is a control character, the carat character (^) must be used to indicate
that the Ctrl key should be held while pressing the key. (For example, <Ctrl-C> must
be entered as the two characters ^C.)
eof=end_of_file_character. Default=^D (<Ctrl-D>)
erase=erase_character. Default=^H (<Ctrl-H>)
intr=interrupt_character. Default=^C (<Ctrl-C>)
kill=kill_character. Default=^U (<Ctrl-U>)
range=startport#-endport#
Specify a range of ports to be modified.
save=on|off
Save or do not save the changes to EEPROM.
tesc=value
Set the telnet escape character (used to break out of telnet sessions either to the
PortServer shell or to other telnet sessions). Default=^] (Control Right-Bracket)
xon=value
Use to set the XON Character you prefer. Default=^Q (<Ctrl-Q>)
xoff=value
Use to set the XOFF Character you prefer. Default=^S (<Ctrl-S>)
PortServer Terminal Server Ÿ Page 47
Page 56
xona=value
Use to set the auxiliary XON Character you prefer. Default=^Q (<Ctrl-Q>)
xoffa=value
Use to set the auxiliary XOFF Character you prefer. Default=^S (<Ctrl-S>)
line
Syntax:set lineoption=value
Use line to view or modify serial line parameters. Use set line range= to specify a single
port or group of ports. Options are:
Used to ignore (default), or send an escape sequence when a telnet break command
is seen.
csize=5|6|7|8
Sets the Character size. Can be 5, 6, 7 or 8 bits per character. Default=8
error=ignore|null|parmk|dos
Tells the PortServer software what to do with parity errors. It can ignore the error
(default), change the error character to a null, or mark the error with an FF.
inpck=on|off
Turn on or off input parity checking. Default=off
istrip=on|off
When ON, strips the high order bit in each byte. Default= off
Page 48 Ÿ Command Reference
Page 57
onlcr=on|off
Use to map (ON) or not to map (OFF) NEWLINE characters to CR-NEWLINE on
output. Default=off
otab=on|off
Converts output tabs to eight spaces. Default= off
parity=O|E|N
Use to select Odd, Even or No parity. Default=N (no parity).
range=startport#-endport#
Specify a range of ports to be modified.
save=on|off
Save the changes to EEPROM.
stopb=1|2
Use to set the Stop Bits to 1 or 2. Default=1
logins
Syntax:set loginsoption=value
Use this command to activate/deactivate login and password protection, define prompts and
startup messages. setloginsrange= is used to specify multiple ports, or one specific port.
Options are:
Many of the values entered for logins are character strings. To include a space in a character
string, enclose the entire string in quotation marks. For example, to change the PortServer
login prompt to Enterlogin:, type:
set logins logprompt="Enter login:"
Each of the preceding will have their own options, as outlined in the following descriptions.
(More than one option can be included in a command.)
PortServer Terminal Server Ÿ Page 49
Page 58
cmdprompt=character_string
Use to define the PortServer command prompt. Default is digi>. (The root prompt
of ># cannot be changed.)
logprompt=character_string
Use to define the login prompt (up to 11 characters). Default is login:. Root
privileges required.
login=on|off
Use to set whether the user is required to log in before using terminal. Default=on.
Root privileges required. Important! login must be ON for Auto users.
write=on|off
Use to set whether the user (other than root) can save to the EEPROM. Default=off
(user cannot write to EEPROM). Root privileges required.
passprompt=character_string
Use to define the login password prompt. Root privileges required. Default is
passwd:
passwd=on|off
Use to set whether the user is required to give a password before using terminal.
Default=on
range=startport#-endport#
Specify a range of ports to be modified.
save=on|off
Save the changes to EEPROM.
verbose=on|off
Use to eliminate “connection” messages before the login prompt. (Useful to batch
programmers.) Default=on
Page 50 Ÿ Command Reference
Page 59
ports
Syntax:set portsoption=value
Use setports to set or display device configuration parameters. setportsrange is used to
specify multiple ports, or one specific port. Options are:
Each of the preceding will have their own options, as outlined in the following descriptions.
(More than one option can be included in a command.)
auto=on|off
auto on is used in conjunction with uid, dest and dport, to set up a port so that a
user on that port will bypass the PortServer's command shell and automatically
connect to the defined destination. (Also see set users name=auto on page 56,
which is similar except that a specified User is always connected to the specified
destination, bypassing the PortServer's command shell, without regard to what port
that user is using.) Important! login must be set to on for Auto users—see setlogins login= on page 50.
bin=on|off
Used in conjunction with auto to specify a binary connection. Default=off
dest=IPaddress
Use to specify the destination for the auto port. (See setportsauto).
dev=value
Set the port to a device as indicated in value. Possible values are term, host, prn,
min, mout, mio:
termSet the port to be a terminal.
hostSet the port to mimic a modem for input only.
prnSet the port to be a printer.
minSet the port to be a modem for input only.
moutSet the port to be a modem for output only.
mioSet the port to be a modem for input and output.
Also see Devices and Wiring Considerations on page 81.
PortServer Terminal Server Ÿ Page 51
Page 60
dport=remote_port#
Use to specify the port number an auto connect port should connect to. (See set ports
auto on page 51).
• If set to 23, specifies telnet protocol services.
• If set to 513, specifies Rlogin services.
• If set to 0 (the default value), then checks the value of uid (below); if uid is
Check your operating system documentation for service numbers.
edelay=value
Use to specify a delay time between packets transmitted under continuous data reception. Values from 1 to 100 are valid, where 1 stands for 10 milliseconds delay. (A
value of 2 would be 20 milliseconds, a value of 3 would be 30 milliseconds, a value
of 100 would be 1000 milliseconds or one second). Do not change unless you are
experienced with packet timing processes. Default=1 (10 ms)
group=group#
Assign a group number of like devices (output modems, for example) specified by
the range= value, so that a user can ask for by group number if he or she does not
care which particular port they get, but are satisfied with the first open one. Pick a
group number in the range 17-80 to avoid confusion or conflicts with the “regular”
port names. (See PortServer Port Numbers on page 101.)
set to 0, then specifies telnet services. If uid has a valid user index #, then
specifies rlogin services.
sess=number_of_sessions
Use to set the maximum number of sessions any port can run; valid entries are from
1 to 9. Default=4. (There is a limit of 64 total sessions for all ports on the
PortServer.)
range=startport#-endport#
Specify a range of ports to be modified.
save=on|off
Save the changes to EEPROM.
termtype=terminaltype
Use to assign a terminal type to the port. The terminal type is used for the multiscreen/multisession feature (see page 98), and is reported to the remote host during
telnet negotiations.
uid=user_index#
Use to set the user index number (the number of the user as carried in the
PortServer's table). View the table by typing setusers. (See set ports auto on
page 51.)
Page 52 Ÿ Command Reference
Page 61
route
Syntax:setroute[range=range]
set routenet=network_address mask=ipmask gateway=ipaddress
metric=numhops
set route rmroute=on range=range
set route displays, adds entries to, or removes entries from the routing table. Making changes
with this command requires root privileges. Options are:
netmaskgatewaymetricrangermroute
set route [range=range]
If the set route command is entered with no options (or just a range), the current
route table (or a range of entries from the table) is displayed.
set route net=network_address mask=ipmask gateway=ipaddress metric=numhops
The second form of the command makes a new entry into the routing table. Set
network_address to the address of the network or host this routing entry should
cover. Set ipmask to the network / subnetmask for the network this routing entry
should cover, or 255.255.255.255 for a route to a single host. Set ipaddress to
the ip address of the gateway that ip packets covered by this routing entry should be
forwarded to. For the metric number, set numhops to the number of hops (number
of routers) between the local network and the destination.
set route rmroute=on range=range
The third form of the command removes entries from the routing table. Set the range
using the index numbers listed when the table is printed. (Display the table with set
route.)
You may define up to 16 route table entries.
PortServer Terminal Server Ÿ Page 53
Page 62
terms
Syntax:set terms [range=range]
set terms termtype=terminal_type [npages=# of screens]
set terms rmterm terminal_type
set terms rmterm=on range=range
This command sets or displays the terminal types, and their associated escape sequences used
when switching between sessions. (See Multiple Sessions page 98, as well as your terminal's
manual.)
Making changes with this command requires root privileges.
More than one option can be included in a command. Options are:
clrseqnpagesrangermtermsave
swtseqtermtype
set terms [range=range]
If setterms is entered with no options (or just a range), the current terminal table
is displayed.
set terms termtype=terminal_type [npages=# of screens] [clrseq=clear_escseq]
This form of the setterms command makes a new terminal table entry, or changes
an existing entry. Set terminal_type to the name of the terminal type; this name
should match the name used for the termtype in the setport command (page 51),
and must also match the name used by the hosts on your network for this type of
terminal. If termtype matches an existing entry, that entry will be modified by this
command; otherwise a new table entry will be created.
Use npages= to set # of screens to the number of pages of screen memory that the
terminal has. Use clrseq=clear_escseq to set the escape sequence that will clear
the terminal's current screen. swtseq is the escape sequence that will switch your
terminal to the different screen pages; you need to supply one swtseq=screen# switch_escseq parameter for each terminal page. Set save=off if you do not want
to save the changes.
If the character is a control character, the carat character (^) must be used to
indicate that the Ctrl key should be held while pressing the key. (For example,
<Ctrl-C> must be entered as the two characters ^C.)
Page 54 Ÿ Command Reference
Page 63
Example:
This example sets up the user's default terminal (since no range is
specified) to a Wyse60, supporting three screens with a clear
sequence of <Ctrl-[> + (control-left bracket, plus key) and defines
keys to switch between the three screens.
set terms term=wy60 npages=3 clrseq=^[+
set terms term=wy60 swtseq=1^[w0
set terms term=wy60 swtseq=2^[w1
set terms term=wy60 swtseq=3^[w2
Note that the parameter term=wy60must be repeated in each line
entered; otherwise the swtseq changes would not be made to the
wy60 termtype.
set terms rmterm terminal_type
This removes the terminal table entry that refers to the terminal_type.
set terms rmterm=on range=range
This removes entries from the table by the index numbers as shown when the
terminal table is listed by entering setterms.
PortServer Terminal Server Ÿ Page 55
Page 64
users
Syntax:set users [range=range]
set users name=username [passwd=on|off] [auto=on|off]
[dest=IPaddress] [dport=tcp_port#]
set users rmuser=username
set users rmuser=on range=range
set users newname=newusername name=oldusername
This command sets or displays the user name table. Making changes with this command
requires root privileges. More than one option can be included in a command. Options are:
autodportdestnamenewnamepasswd
rangermusersave
set users [range=range]
If the setusers command is entered with no options (or just a range), it displays
the current users table (or a range of entries from the table).
set users name=username [passwd=on|off] [auto=on|off]
[dest=IPaddress] [dport=tcp_port#]
This form of the setusers command makes a new user entry, or changes an
existing user entry. Set username to the name of the user. If the name matches an
existing entry, that entry will be modified by this commandotherwise a new table
entry will be created. Setting passwd=on will require the user to enter a password
when logging in; setting passwd=off allows the user to log in without a password.
If a new user that requires a password is created, the initial password is the same as
the user name.
• If auto is set to off, the user username is presented with the PortServer com-
mand line after logging in.
• If auto is turned on, the user username will always be connected to the
destination specified by dest=IPaddress and dport=tcp_port#, completely
bypassing the PortServer command shell. (IPaddress is the IP address of the
host that this user should automatically be connected to, and tcp_port# is the
host TCP port that the connection should be made to: 23 means telnet, 513
means rlogin; the default 0 is mapped to rlogin. (Check your operating system
documentation for service numbers.)
Page 56 Ÿ Command Reference
Page 65
• • (Also see set port auto on page 51, which is similar except that a port is set up
so that any user on that port will bypass the PortServer's command shell and
automatically connect to the defined destination.)
• Important! login must be set to on for Auto users—see set logins login= on
page 50.
set users newname=newusername name=oldusername
This is used to change the user name oldusername already in the table to the new
name newusername.
set users rmuser=username
This form of the command is used for removing entries from the users table, and
removes the entery that refers to username.
set users rmuser=on range=range
This form is used to remove entries from the table by index numbers, which can be
found in the table listing by typing setusers with no other options.
The snmp command is used to configure and enable/disable snmp. The snmp community is
“public.” Snmp sets are not supported.
snmp run=on|off
This starts or stops the SNMP daemon. Default is Off.
snmp auth_trap=on|off
This configures SNMP to send or ignore authentication traps when an authentication
error occurs. Default is Off.
snmp trap_dest=IP address
This configures SNMP to send all traps to the IP address given.
snmp location="location of PortServer"
This gives SNMP the value of system.sysLocation, which is a text string that
describes the location of the box in a form meaningful to the user. This parameter is
optional. Note that the entry must be surrounded by quotation marks if there are
spaces used in the text.
snmp contact="Person to contact"
This gives SNMP the value of system.sysContact, which is the name of the person
responsible for managing the PortServer. This parameter is optional. Note that the
entry must be surrounded by quotation marks if there are spaces used in the text.
Entering snmp with no options prints out the current configuration.
Also see SNMP Protocol on page 67.
Page 58 Ÿ Command Reference
Page 67
who
Syntax:who
The who command displays a list of the current users of the PortServer. Information includes
each user's name and tty, the number of sessions each user is using, and where each user is
connected from and connected to.
The commands in this section are remote access related.
close
Syntax:close
Closes the current tcp session (the session last escaped from) to reenter the PortServer operating
system’s command mode.
mode
Syntax:mode [option=offlow]
The mode command is used to display telnet operating parameters.
#> mode
tty bin crmod crlf sess hostname
15 off off off 1 poe
15 on off off 2 ctsi
bin
Enter mode bin=on or modebin=off to turn bin (binary characters, both
directions) on or off. Default=off
crmod
Enter mode crmod=on or mode chmod=off to turn crmod on or off. This adds
line feed characters (010 dec) to and received carriage returns (013). This doesnot affect any characters you type. (<CR> becomes <CR><LF>) Default=off
crlf
Enter mode crlf=on or mode chlf=off to turn crlf on or off. This adds line
feed characters (010 dec) to and sent carriage returns (013). This does not affectany characters you receive. (<CR> becomes <CR><LF>) Default= off
Page 60 Ÿ Command Reference
Page 69
rlogin
The rlogin command logs a user into a remote system.
syntax: rloginhostipaddr|hostname [options]
options: [user=username] [esc=escape_char]
To avoid entering your password when logging into a remote system, you may put the
PortServer's node name in the .rhosts file. You may also ask the remote system administrator to
make passwords globally unnecessary by entering the PortServer's node name in the remote hosts
/etc/hosts.equiv file.
Options:
user=username
You may specify another username for the remote login session; otherwise, the
remote username used is the same as your local username.
esc=escape_character
You may specify a different escape character for disconnecting from the remote host.
Normally you would close an rlogin session by typing “<CR> ~ .” (That is three
keystrokes: Carriage Return key / Tilde key / period key.) Use esc= to change the
tilde character (“~”) in this context.
If the character is a control character, the carat character (^) must be used to indicate
that the Ctrl key should be held while pressing the key. (For example, <Ctrl-C> must
be entered as the two characters ^C.)
Once you are connected via rlogin, you can escape back to PortServer command mode by
replacing the period in the rlogin escape sequence with your telnet escape character, followed
by a carriage return. You may also type your telnet escape character followed by a digit to switch
to an alternate telnet session.
PortServer Terminal Server Ÿ Page 61
Page 70
send
Syntax:sendtelnet_special_character
This command transmits one of the following telnet special characters to the last active telnet
session:
aoabort output
aytare you there?
brkbreak
ecerase character
elerase line
escapeesc character
gago ahead
ipinterrupt process
nopno operation
synchsynchronize process
For example, to send a break signal, type: send brk
status
Syntax:status
The status command displays information on the current telnet session (if any), including the
peer you are connected to, and the current mode. Here's an actual example:
#> status
Connection 1: sunny
Escape character is ^].
Page 62 Ÿ Command Reference
Page 71
telnet
Syntax:telnethostname|hostip [port#]
The telnet command is used to log you into a remote system using telnet protocol. Once you are
connected via telnet, you can escape back to PortServer command mode by typing your telnet
escape character, followed by a carriage return. You may also type your telnet escape character
followed by a digit to switch to an alternate telnet session.
(Also see Multiple Sessions on page 98.)
Use the format telnetnodenameport#+2000 to telnet to a device on a specific port of the
PortServer unit. Nodename is the PortServer's node name. By Digi International’s convention,
2000 is added to the port number; to reference a device on port 8, you would use the value 2008.
See PortServer Port Numbers on page 101 for a more detailed explanation.
Digi Support Services ..............................................................................................................103
Page 64 Ÿ Appendix
Page 73
RealPort Protocol
RealPort is a protocol developed by Digi International that, when used in conjunction with device
driver software on a host operating system, allows ports on the PortServer to be used as if they
were connected directly to the host system. For instance, one advantage the RealPort protocol has
over traditional TCP/IP protocols such as telnet is the host operating system can directly change
port parameters, such as baud rate, hardware flow control and software flow control using exactly
the same method used to change these settings on a local port. The ports on the PortServer may
be split among hosts; one host can use the odd-numbered ports while another is using the even
numbered ports. There is even a mechanism in place that allows one host to handle incoming
modem calls on a port, while allowing other hosts to place outgoing calls if there is no current
incoming call. (This must be supported by the host driver software.)
You must have the correct driver(s) for your host operating system(s) to take advantage of
RealPort protocol.
The device type (setportdev=type) must be set properly for ports that are going to be used
with RealPort protocol. Ports that are to be used with three-wire connections (that do not need
modem signals) should have the device type set to prn. (However, the RealPort driver will see
the actual state of the modem signals regardless of the device type setting.) Ports that are to be
used with modems should have the device type set to mout if they are to be used exclusively for
RealPort connections, or set to mio if you want incoming calls to go directly to the PortServer’s
normal login interface. Other connections that need modem signals should have the device type
set to host. All of these device types except for prn will ensure that RTS and DTR modem
signals go low and stay low for at least two seconds between connections, to allow modems and
other devices to reset properly.
Device types of term or min should not be used for RealPort devices.
PortServer Terminal Server Ÿ Page 65
Page 74
Simple Network Management Protocol (SNMP)
Also see SNMP on page 58.
General Information
The PortServer provides a Simple Network Management Protocol (SNMP) agent. This agent
implements the current standard Management Information Base II (MIB-II) as defined in
RFC1213. In addition, this agent also supports the Character-based MIB (RFC1316) and the
RS232-like MIB (RFC1317).
Configuring the SNMP Agent
The SNMP agent is configured via thesnmp command. Entering snmp with no options, as in:
snmp
prints out a list of the current SNMP configuration. The result is the following:
#> snmp
SNMP Status
SNMP Daemon running: on
Authentication traps being sent: off
Trap destination: 199.99.88.1
sysLocation: Bill's office, #101
sysContact: Bill Jones
In this example, the SNMP Daemon is running, so the PortServer will answer SNMP requests
from a management station. Authentication traps are not being sent, but the other standard traps
are being sent to IP address 199.99.88.1. The values for the System portion of MIB II are set to
Bill Jones' name and location. See the SNMP command description on page 58 for information
on setting the values.
Page 66 Ÿ Appendix
Page 75
SNMP Protocol
The SNMP agent in the PortServer supports the Get, GetNext, Set, and Trap messages that are
defined in RFC1157. The following is a description of these messages.
Get: Retrieves the value of a specific object from one of the supported MIBs.
GetNext:Retrieves the value of the object following a specific object in the MIB list. This
allows a management station to traverse or “walk” the MIB variables.
Set:Modifies the value of a MIB object. The PortServer presently allows a limited
number of sets.
Trap:Asynchronously reports a significant event.
The SNMP community is “public.” SNMP sets are not supported.
The front panel of the PortServer terminal server has ten LEDs, two seven-segment alphanumeric
displays, and two pushbuttons ( and ).
The pushbuttons are used to:
DTR RI
ERR EVF
OFC IFC
TX COL
Select diagnostic tests (see User Diagnostics on page 73).
Reset the PortServer to the factory defaults, as described in Resetting thePortServer to Factory Defaults on page 80.
Select a port to monitor for RS-232 serial activity.
The two-digit alphanumeric display is used to list error messages and inform the user of test or
activity status.
The ten LEDs have different meanings, according to the testing or display mode that the
PortServer operating system is in. They are:
SEND (Serial Activity)
You can monitor a port’s activity by pressing either pushbutton when AC is shown on the
alphanumeric display. The display will then show the port number being monitored; depress the
same pushbutton repeatedly until the port you wish to monitor is displayed.
The LED indicators provide RS-232 line status information (similar to a breakout box) and
RS-232 flow control information. The ten LEDs then give information related to the labels on the
top (“SEND”): TD, RD, RTS, CTS, DSR, DCD, DTR, RI, OFC and IFC. The first eight
correspond to activity of that RS-232 signal on the port being monitored. OFC stands for Output
is Flow Controlled; IFC stands for Input is Flow Controlled.
Page 78
ETHERNET (Ethernet Activity)
When EA is shown by the alphanumeric display, the row of ten LEDs gives Ethernet information
as follows:
“Serial”TD:
RD:
“Twisted Pair” LG:
POL:
“Receive”CS:
RX:
ERR:
OVF:
“Transmit”TX:
COL:
Data has been transmitted on any of the 8 or 16
serial lines.
Data has been received on any of the 8 or 16
serial lines.
Line Good. (Indicates a good connection to the
twisted pair hub box.)
Polarity is backwards; while the PortServer
hardware fixes this, it indicates that the twisted
pair wiring has been installed with the wires
transposed.
Carrier Sense; blinks when the PortServer
hardware senses the Ethernet carrier.
Blinks when a packet is destined for the
PortServer box.
Network error on packet received (CRC,
Frame, FIFO overrun, etc.).
Overflow; set when packets come faster than
the PortServer hardware can process them.
The PortServer hardware is transmitting a
packet.
Collision on Network (any collision—not
necessarily on packets destined to or originated
by the PortServer devices).
Page 70 Ÿ PortServer Terminal Server
Page 79
PortServer BIOS
The PortServer’ BIOS can be broken down into three parts: Power On Self Test (POST),
Command Mode and user diagnostics.
The POST sequence performs a series of basic tests to ensure that the microprocessor, memory,
network interface controller, etc. are functioning properly. Command Mode is used to activate the
Ethernet operating system and to switch to the user diagnostics. The user diagnostics are used for
more extensive testing of the PortServer hardware.
Power On Self Test (POST) Sequence
The PortServer POST sequence is initiated after the PortServer box is reset or the hardware
watchdog timer expires.
The ten LED indicators on the front panel are lit upon successful completion of each of the ten
tests. If an error occurs, the LED is not lit. All ten LEDs should be lit for one second upon the
completion of the POST sequence, before the firmware begins the optional software download or
enters Command Mode.
The following table lists the tests performed during the POST sequence, and the LED that corresponds to each test.
The front panel alphanumeric display shows “EP” when saving to EEPROM, “b1,” “b2,” etc.
when booting via TFPT, and “E1,” “E2” etc. for TFTP errors.
The configuration is cleared by holding both pushbuttons and down during powerup until
“EP” is displayed. (See Resetting the PortServer to Factory Defaults on page 80.)
POST TestsLED
Far jump from FFFF0h to FFC00h.
Enable upper memory - EPROM (128K).
Set peripheral chip select base address and PCS 0-3.
Enable lower memory - DRAM.
Enable midrange memory base address - DRAM.
Set midrange memory size and PCS 4-6.
Processor flag test.
Processor register test.
Set enhanced mode for the 80186.
Perform LED test.
Clear all LEDs and display PO.
Charge memory cells.
Test 256K DRAM from 00000h to 3FFFFh.RD
TD
PortServer Terminal Server Ÿ Page 71
Page 80
Set temporary stack at 00400h.
RTS
Data segment now available (00800h).
Test 256K DRAM from 40000h to 7FFFFh.
Test 256K DRAM from 80000h to BFFFFh.CTS
Test 256K DRAM from C0000h to FFFFFh.DSR
Set BIOS stack at 3FC00h.
DCD
Transfer interrupt vectors from EPROM to DRAM.
Disable all hardware interrupts.
Enable interrupts.
Check for 16 asynchronous (RS-232) ports.DTR
Check for NIC (Network Interface Controller).RI
Board configuration is set.
OFC
Real time clock is started (Timer 0).
NIC and async ports are initialized.
EEPROM verified.
IFC
Data from EPROM is moved to DRAM data segment
(00800h).
Initialization complete.
Displays “dE” for 5 seconds for user diagnostic entry.
Displays “bE” as BIOS automatically exits to Ethernet
operating system.
Upon completion, the POST sequence will automatically proceed to Command Mode and display
“dE” on the 7-segment display. At this point, the operator has five seconds to select user
diagnostics. During this five second period, the LEDs display the contents of the status error
word. If no errors were detected, the ten LEDs will all be off. Any LEDs remaining on indicate
that the corresponding test (see the preceding table) failed.
After the five second delay, the 7-segment display will change to “bE”, indicating that the BIOS
has switched control to the Ethernet operating system, and finally to “AC” when the PortServer
is ready for operation. (The switch to “bE” is usually too fast to be seen.)
User diagnostics may be selected from Command Mode (during the five second delay). To run
the user diagnostics from a terminal, press “V” or “v” on the terminal connected to Port 1 (VT100, 9600, 8, N, 1). To run the diagnostics from the front panel, press one of the pushbuttons
while “dE” is displayed.
Page 72 Ÿ PortServer Terminal Server
Page 81
User Diagnostics
Video Display Diagnostics
The two modes of the user diagnostics are video display mode and front panel mode. Either
mode can be selected at any time before the POST diagnostic tests finish.
• Front Panel Mode: Press either “arrow” pushbutton ( or ). The description of front
panel display diagnostics begins on page 73.
• Video Display Mode: Enter either a “V” or “v” from a terminal connected to Port 1.
The PortServer video display diagnostics are controlled from a terminal (or PC
with terminal emulation software) connected to Port 1. This terminal must be set
to 9600 baud, 8 data bits, 1 stop bit, and no parity.
There are eight tests that can be selected. These tests perform diagnostic checks on hardware
sections of the PortServer.
If “V” is pressed to enter Video display mode, a startup screen appears. The screen displays test
information, and waits for user input.
To start any test, press the appropriate test number. See Basic Test Descriptions on page 74 for
information on the individual tests.
Stop on 1st error - <Y>/<N> = Y
<ESC>ape - Stops the test in progress.
<H>elp - Displays HELP screen.
<D>ump - Dumps 256 bytes of memory.
Front Panel Display Diagnostics
PortServer Terminal Server Ÿ Page 73
Page 82
Enter Front Panel Mode by pressing either the left or right pushbutton on the front panel during
the POST startup tests.
At this time, all of the lights (LEDs) go OFF, the left 7-segment display is blank, and the right 7segment display reads “1.” The right decimal point blinks at a 1 second rate. At this point, Test1 - Panel Light Test is selected.
The front panel display diagnostics use the 10 LEDs, 14 LED segments, two decimal points, and
the two pushbuttons for an operator interface.
To select a test, press the right pushbutton ( ). The right LED will cycle through the possible
test numbers. Once the desired test has been selected, press the left pushbutton ( ) to start the
test. The left decimal point will light to indicate the test has started and the appropriate test
information will begin updating via the front panel indicators.
The selected test will continue to cycle until an error is detected or until you stop the test by
pressing the pushbutton. Failures accumulate and count up in the 10 digit LED display.
To stop the test with the pushbutton, press and hold the button and wait for the left decimal
point to go OFF. Then release the pushbutton and the test will stop.
The left alphanumeric display will display either a “P” or an “F” for pass or fail respectively.
The right display will show the test number that was just executed. “P3” indicates that test 3 has
passed, while “F3” indicates that the test failed.
Basic Test Descriptions
The following descriptions explain the test philosophy for each functional diagnostic test. The
basic test is the same whether it is run from the video display or the front panel display.
Test 1 - Panel Light Test
This test cycles the 10 LEDs ON and OFF and both seven-segment displays in one second
intervals. Since the LEDs and seven-segment displays are all write only, the operator must make
a visual check of the indicators to ensure that they all cycle correctly. The pushbuttons are read
by the test and checked for the non-depressed state (0).
Page 74 Ÿ PortServer Terminal Server
Page 83
Test 2 - Memory Test
Each pass of this test performs a pattern test and an address tag test to DRAM memory.
The byte pattern is incremented for each pass and is displayed on the front panel LEDs 0-7
(TD-RI). The pattern is written to 32K bytes beginning at address 08000h. The pattern is
written again to 32K bytes beginning at address 30000h. The two 32K blocks are compared to
determine pass or fail status.
The address tag test writes 32K bytes beginning at address 08000H. Address 08000h equals a
0h, 08001h equals a 1h, etc. This same tag pattern is written 32K times beginning at address
30000h. The two 32K blocks are compared to determine pass or fail status.
The word pattern is incremented for each pass and is displayed on the front panel LEDs 0-7
(TD-RI). The pattern is written to 32K words beginning at address 10000h. The pattern is
written again to 32K words beginning at address 20000h. The two 64K blocks are compared to
determine pass or fail status.
The address tag test writes 32K words beginning at address 10000h. Address 10000h equals a
0h, 10002h equals a 2h, etc. This same tag pattern is written 32K times beginning at address
20000h. The two 64K blocks are compared to determine pass or fail status.
Test 3 - Memory/DMA Test
This test uses DMA0 to move data from one memory location to another. The byte pattern is
incremented for each pass and is displayed on the front panel LEDs 0-7 (TD-RI). The pattern is
written to 32K bytes beginning at address 08000h. DMA0 is used to move 32K of data from
08000h to 10000h. When the move is complete, DMA0 interrupts and the two 32K blocks are
compared to determine pass or fail status. If the DMA transfer is not completed within two
seconds, a timeout error causes the test to fail.
Test 4 - Async Internal Test
This test is used to check out the 16550 async ports. The test puts the UART in loopback mode.
The four output signals, DTR, RTS, OUT1, and OUT2 are looped back to the four input signal
lines, CTS, DSR, RI and DCD. These signals are checked for high and low conditions. The
UARTs are initialized to 9600 baud, 8 data bits, 1 stop bit, and no parity. Data is transmitted
and received by the same UART.
Received data is compared to the transmitted data. As each port is being tested, port test results
(“Pass/FAIL”) are displayed. A failure on one or more ports is considered a test “FAIL.”
PortServer Terminal Server Ÿ Page 75
Page 84
Test 5 - Built-In UART External Loopback Test
Same as Test 4, but uses external loopback. From the front panel, press the right pushbutton (
) to select the port to test. The display will cycle from “01” to “16” or highest UART plus “All”.
With the port selected, press the left pushbutton ( ) to start the test.
In Test 5 (Async External Test), each port loops back on itself instead of looping back between
ports. This requires a test plug made from an RJ-45 connector at one end, with the pins wired as
follows:
Output Pins Input Pins
PIN 3 (RTS) to PIN 1 (RI) and PIN 8 (CTS)
PIN 5 (SOUT) to PIN 6 (SIN)
PIN 9 (DTR) to PIN 2 (DSR) and PIN 10 (DCD)
Test 6 - NIC/DMA Test
This tests the 8390 NIC's ability to transmit, receive, and verify data in three diagnostic modes.
To ensure that all test display information and test results are correct, the PortServer unit must be
disconnected from the Ethernet network, and the PortServer’s Ethernet connector properly terminated.
Test 7 - Watchdog Timer Test
This test checks out the watchdog timer, a hardware feature used to ensure system reliability.
The firmware must access PCS 5 within 1.6 seconds or the CPU will reset and jump to the reset
vector (0FFFF0h).
It is up to the system to keep accessing PCS 5 to prevent it from resetting. This will force the
POST diagnostic sequence to begin. This test allows the timer to expire. Normal test execution
causes the user diagnostics to jump to the reset vector and begin the POST diagnostic sequence.
The test will fail after three seconds if the timer has not expired.
Page 76 Ÿ PortServer Terminal Server
Page 85
PortServer Security
The PortServer has four basic security access levels:
Root login
This allows complete access to everything. The root user can write and save any of the configurable parameters for any port.
This login is always present, and must always have a password. It is not possible to remove the
root user entry, or delete the root user password.
Regular user login
Except for parameter changes to his or her own PortServer port, a regular user cannot configure
any of the PortServer parameters.
If the “write” option is turned on for a user's port, the user can save those parameters to become
the default parameters the next time anyone logs in on that port. If the “write” option is off, only
the root user can save port settings.
A regular user can temporarily gain root privileges through the admin command if that userknows the root password.
This is the most common way of logging into a system. These logins identify a user by name,
restrict access by password, and provide access to the PortServer command line after login.
Example: set users name=george passwd=on
User login w/o password
This is similar to the most common method, but saves the user the step of entering his or her
password. This is mostly useful in small, secure environments that do not have dialup ports.
Example: set users name=george passwd=off
PortServer Terminal Server Ÿ Page 77
Page 86
Auto-Connect User login
The PortServer supports two types of automatic logins. AutoConnectUser (described here)
connects a specified user to a specified host no matter what port or terminal that user logs in
from. AutoConnectPort (described on page 79) connects a specified port to a specified host
no matter what user logs in through it.
Auto Connect User effectively makes a user name a synonym for a particular connection
request. As soon as the user logs in, he or she is connected to the selected system only. An autoconnected user cannot ever escape to the PortServer command line, run multiple sessions, or
otherwise connect to a different system other than the one configured for the auto connection.
See Set Users name=auto on page 56.
Auto user login
One or more ports (presumably physically secure) may be configured to leave the Unknown user
permanently logged in. No user name or password is ever required to gain access to PortServer
command mode.
Example: set login range=1-4 login=off passwd=off
Important!Login must be set to ON for Auto users—see set logins login= on page 50.
Auto connect user with password
After logging in, the particular user is connected to a specific system, and cannot access the
PortServer command line. If configured with setusersdport=0 or setusersdport=513,
the connection is made using the “rlogin” protocol. If configured with setusersdport=23,
the connection is telnet.
Important! Login must be set to ON for Auto users—see set logins login= on page 50.
Rlogin Example:
set users name=martha passwd=on dport=0 dest=192.1.2.3 auto=on
Page 78 Ÿ PortServer Terminal Server
Page 87
telnet example:
set users name=martha passwd=on dport=23 dest=192.1.2.3 auto=on
Auto connect user w/o password
This is the same as “Auto Connect User with Password,” but set up with “passwd=off” added
to the command line.
Auto-Connect Port
Auto Connect Port connects a specified port to a specified host no matter what user logs in
through it. This dedicates a port to be a connection with a specific system only. A user on an
auto-connected port can never escape to the PortServer command line, run multiple session, or
otherwise connect to a different system.
See Set Ports Auto on page 51.
Auto-Connect port causes any port activity (such as a received character on a tty port, or a DCD
high transition on a modem port) to automatically connect to a specified system. No access to
the PortServer command line is allowed.
If configured with setportdport=23, the connection uses telnet protocol.
If configured with setportdport=0uid=X, the connection uses the “rlogin” protocol with the
username for PortServer user X if the user index X is valid.
If configured with setportdport=513uid=X, the connection uses the “rlogin” protocol with
the username for PortServer user X.
Rlogin example:
set port range=8-9 auto=on dport=0 uid=7 dest=192.1.2.3
telnet example:
set port range=5-7 auto=on dport=23 dest=192.1.2.3
PortServer Terminal Server Ÿ Page 79
Page 88
Resetting the PortServer to Factory Defaults
Resetting the PortServer memory to the factory defaults will cause you to
lose all user settings.
Turn off the PortServer’s power switch. Press and hold both “arrow” pushbuttons ( and ) at
the same time, and turn on the power switch. Hold the pushbuttons in until the display reads
“EP” (stands for EEPROM Program).
This will reset the PortServer to boot from the factory ROM. The default Root login will revert to
dbps.
Page 80 Ÿ PortServer Terminal Server
Page 89
Devices and Wiring Considerations
Configuring PortServer Ports as Specific Devices
The Serial Device Type Characteristics Table on page 84 summarizes the device type characteristics described in the following text. You may also wish to refer to set ports dev= on page
51 of the Command Reference section.
dev=host(Computer or other devices)
This is used for connecting another computer via a serial connection; a typical use
might be connecting a BBS to the Ethernet through the PortServer. DCD and DTR
must be cross-connected between the PortServer and the BBS host. (We will call it a
BBS host for this discussion, to avoid confusion with the network’s host.)
When the BBS raises DTR to signal that it can receive calls, the PortServer sees
DCD go high, and then allows incoming connections (from the Ethernet through the
serial connection to the BBS). When an incoming connection happens, the
PortServer raises DTR, and the BBS sees DCD go high, and knows that there is a
call. (It looks just like a modem answered.)
The BBS can terminate the connection by dropping DTR, which the PortServer sees
as DCD going low; the PortServer then terminates the incoming connection. If the
incoming connection terminates itself, the PortServer lowers DTR and the BBS sees
DCD drop, and knows the connection is terminated. DTR remains low for two
seconds and input is flushed to assure a clean disconnect.
This termination control using DTR and DCD is the difference between dev=host
and dev=mout (described later in this section). Both are used for outgoing connections. Host requires that DCD is high before the connection is complete, while
mout does not.
Wiring required:Full 10-wire Null Modem cable or 8-wire Altpin
cable
PortServer Terminal Server Ÿ Page 81
Page 90
dev=term(Terminals)
This is designed for a terminal device. When the device is set to a terminal device,
the incoming port ignores DCD. All outgoing connect attempts are refused.
Wiring required:Only TD, RD, and GND connections are needed,
making it easy to wire up to a terminal.
dev=prn(Printers)
The PortServer treats printers as outgoing devices that ignore DCD. Any incoming
characters are also ignored, until an outgoing connection is made.
Although the device is called prn for printer, it establishes a general purpose output
connection that can be used for any other purpose. When a connection is established
DTR is raised, otherwise DTR is low. Unlike modem device types, there is no twosecond hangup.
Wiring required:
Only TD, RD, and GND connections are generally needed,
making it easy to wire up to a printer.
dev=min(Modem In)
This is designed for a modem for incoming communications only. DTR and DCD
are supported. In this mode, the PortServer ignores all input until DCD appears.
Then it “flushes” all input for 2 seconds to discard messages like RING and
CONNECT, before it spawns a login or attempts a connection.
Anytime DCD drops, the PortServer drops DTR, all connections terminate, and the
user is logged out.
When a user logs out, or (on an auto-connect port) when the remote system drops the
connection, DTR is dropped to hang up the modem. (DTR remains low for 2
seconds to assure a clean modem disconnect, and then input is flushed to discard
DISCONNECT messages, etc.)
Wiring required:
Modem connections require that TD, RD, DCD, DTR and
GND should always be wired in the cable. With modern
multi-speed, data compressing modems, you probably also
want to wire RTS and CTS for hardware flow control.
Page 82 Ÿ PortServer Terminal Server
Page 91
dev=mout(Modem Out)
This is designed for a modem for outgoing communications with full DTR/DCD
modem support.
Until an outgoing connection is made, DTR remains low, keeping a modem from
answering the telephone. When an outgoing connection succeeds, DTR is raised.
The state of DCD is ignored, except that a high-to-low transition of DCD closes the
connection, and drops DTR. DTR then remains low for 2 seconds to assure a clean
modem disconnect, and then input is flushed to discard DISCONNECT messages,
etc.
Wiring required:
Modem connections require that TD, RD, DCD, DTR and
GND should always be wired in the cable. With modern
multi-speed, data compressing modems, you probably also
want to wire RTS and CTS for hardware flow control
.
dev=mio(Modem In & Out)
This is designed for a modem used as a bi-directional device (incoming and outgoing) with full DTR/DCD modem support.
When idle, the PortServer leaves DTR high so the modem will answer the telephone.
If DCD goes high when the device is idle, it assumes an incoming connection, and
acts like a “dev=min” device until the device goes idle again.
If an outgoing connection succeeds when the device is idle, it switches into outgoing
mode and acts as a “dev=mout” device until the connection is dropped. (DTR
remains low for 2 seconds to assure a clean modem disconnect, and then input is
flushed to discard DISCONNECT messages, etc.)
Wiring required:
Modem connections require that TD, RD, DCD, DTR and
GND should always be wired in the cable. With modern
multi-speed, data compressing modems, you probably also
want to wire RTS and CTS for hardware flow control.
PortServer Terminal Server Ÿ Page 83
Page 92
Serial Device Type Characteristics Table
This table summarizes the device type characteristics.
Device
Type
term
prn
host
min
mout
mio
DTR + RTS
when idle
high
low
low
high
low
high
Spawn LoginRemote Connect
(telnet, rsh) allowed
data
never
never
DCD raises
never
DCD raises
no
yes
if DCD
no
yes
if idle
Action when
DCD drops
ignore
ignore
hangup
hangup
hangup
hangup
Page 84 Ÿ PortServer Terminal Server
Page 93
Printers
Configuring a Printer
First, you need to define the port that the printer is connected to as a printer device, with the
command setportsdev=prnrange=printer port. (See page 51.) Also see Devices andWiring Considerations on page 81.
Connecting a Printer
See the discussion on connecting peripheral devices on page 6 for a suggested printer wiring
diagram, and the discussion under “dev=prn” on page 82. For most printers you will also have
to configure software or hardware flow control, or the printer will fall behind and data will be
lost.
Most printers that use hardware flow control use DTR flow control. Therefore DTR from the
printer must be wired to some input on the PortServer (usually CTS or DCD) that can be used for
flow control. Some printers use Printer Busy (pin 11) for output flow control.
The type of flow control used is set by the setflow= commands, described on page 44.
When setting flow control on the PortServer, do not set any flow control from the host you’re
printing from.
Printing a File
Telnet example: (printer on port 1)
pr myfile | telnet ncx 2001
RSH example: (printer on port 1)
pr myfile | rsh ncx 1
• If you are not getting the proper linefeed after a carriage return, turn on onlcr(converts CR
to CR-NEWLINE). The command is setline onlcr=on (as described on page 49).
PortServer Terminal Server Ÿ Page 85
Page 94
• TABS (ASCII 9) can be converted to spaces, with 8 spaces per TAB character. Use set
line otab=on if you want tabs converted. (See page 49).
Modems
Notes on Configuring Modems
Usually its desirable to configure modems to be bidirectional (dev=mio) although if desired they
may also be configured to be input only (dev=min) or output only (dev=mout).
• Be sure to wire TD, RD, DCD, DTR and GND in the modem cable.
• Make sure the modem is configured so DCD goes high when an incoming connection is
received. (For Hayes-compatible modems, this command is AT &C1.)
• Make sure the modem is configured to answer the phone only when DTR is high, and to
drop the line when DTR goes low. (For Hayes-compatible modems, this command is AT
S0=1 &D3.)
• For the best results in bidirectional mode, the non-volatile parameters in the modem should
be configured for incoming calls, and the modem should be configured to reset to these
parameters each time DTR is dropped. (For Hayes-compatible modems, this command is AT
&D3.)
• The PortServer cannot switch the serial line baud rate depending on the kind of connection
made, so you should configure the modem to lock the serial line speed at the highest baud
rate the modem will go.
• Generally it is best to use hardware flow control on modem lines, and leave software flow
control off. (Both the UUCP and XMODEM protocols send all 256 characters, so these
protocols will not work with software flow control.)
• Note that many modems have external or internal jumpers that override the normal
operation of DTR, DCD, RTS and CTS. Be sure to check this in your modem manual!
• Be sure to watch the LEDs on the PortServer front panel to monitor correct modem
operation. In particular, verify that DCD is off when the modem is not connected. Verify
that the modem does not answer the phone when DTR is low, and hangs up when DTR is
dropped.
Page 86 Ÿ PortServer Terminal Server
Page 95
Configuring CU and UUCP to dial out without RealPort
Use FTP or the Digi BBS and download the “rtty” program. (See The Digi Bulletin Board System
on page 103.) The source code will always be available there, and binaries will be provided for
the most popular operating systems.
RTTY works by associating a particular pseudo tty port with a particular port or port “group” on
the PortServer. The pseudo tty then acts enough like a regular port so that it fools most programs
including kermit, uucp and cu.
Not all pseudo ttys can be used for this. RTTY does not work with streams-based pseudo ttys,
and pseudo ttys associated with “clone” devices normally must be opened by the clone device.
However, even systems with clone devices often maintain old-style BSD devices.
In general, you should read your UNIX man pages to find out what your system supports. If your
system supports BSD-style pseudo ttys, you can find the devices available with:
ls /dev/pty*
Choose one or more of the alphabetically highest pseudo ttys, (the system allocates them in
alphabetically) so you will have them to yourself at least most of the time.
The pseudo tty driver will not allow access to the “master” side of a pseudo tty by more than one
program at a time, so once rtty grabs a pseudo tty, it controls it until it lets go. However, to drop
a connection, rtty must close the device and then reopen it. While the device is closed for only a
few milliseconds, it is still possible for another program to grab the device before rtty can
resecure it!
If that happens, CU and UUCP will get confused. Selecting a high port number is generally good
enough to minimize problems.
Assuming you have found /dev/pty[pqrs][0-f] above (64 ptys), and that you needed to
configure four modem ports, you would probably be wisest to use /dev/ptys[cdef] for your
pseudo-modem ports.
If (for example) you want to use PortServer ports 1-4, you would add the lines below to your “rc”
startup script. The parameter “1” says to wait one second after connect before sending data.
(This is needed so that the modem will see DTR go high for a while before looking for “AT”).
The “d” says to daemonize the program, and the “s” says to suppress the Copyright Notice during
boot.
Note the use of the 21?? raw connect port numbers (as opposed to 20?? series telnet connect
numbers). See PortServer Port Numbers on page 101.
Add a few lines like the following to your uucp “Devices” file. All baud rates are equivalent,
since the pseudo tty device driver ignores them, but they must match up with the value given in
your “Systems” file. On some systems, the “hayes” keyword is omitted; on other systems you will
want to replace it with the name of the dialer script your modem uses.
ACU ttysc ttysc 38400 hayes
ACU ttysd ttysd 38400 hayes
ACU ttyse ttyse 38400 hayes
ACU ttysf ttysf 38400 hayes
Having done just these two things, the modems will now appear directly connected to cu and
uucp, so you should be able to test your configuration by typing something like:
cu -l /dev/ttysc -b 38400 555-1212
Depending on your system, you may need to make a few more tweaks, but the rest of it is the
same as you would encounter on any other directly connected port.
It is possible for several (or many) different computer systems on a network to configure
pseudo-ttys associated with the same port (or port group) on an PortServer. This works because
RTTY only attempts a connection when data is written to the pseudo tty. If the PortServer port is
available, the connection is made and the program accessing the port can continue. If the port is
already in use by another system the connection will fail, and RTTY will signal the application
by momentarily closing and re-opening the pseudo-tty port. This is compatible with the way
UUCP and CU work on most systems.
The RTTY program is provided on an as-is basis by Digi as a service to its customers, but
because it is tricky to configure, and usually needed only by sophisticated users, it is not covered
by our regular unlimited technical support policy. RTTY works well on most systems, but
depends too much on non-standard features of the local UNIX system to be fully supported. Digi
provides the source, internal documentation in the source, and an unlimited distribution license
when used with our products. Most customers find it valuable, but there is no guarantee of
success.
Page 88 Ÿ PortServer Terminal Server
Page 97
RTTY Program
The following is an extract from the RTTY source code mentioned on page 87, explaining the
command usage. RTTY is provided on a limited-support basis for our customers, when used
with the PortServer and other Digi network products.
/**********************************************************
* NAME
* rtty - Connect a tty to a remote TCP port.
*
* SYNOPSIS
* rtty [-dhw] tty host port
*
* DESCRIPTION
*rtty attaches the master side of a named pseudo tty
*to a TCP session.
*
*This is most often useful to allow a TCP terminal server
*port to appear as a local tty on some host computer.
*
*-[0-9] Wait for data to be written to the slave side of
* the pseudo tty before opening the connection;
* open the connection and sleep the given number
* seconds [0-9] before writing the data to the port.
*
*-d Daemonize. A detached child process is spawned
* to perform the program function, ignoring all
* signals.
*
*-h Hold the tty open so "stty" settings are not
* disrupted and EOF's are not sent when the tty
* is locally closed.
*
*-q Quit after one session is complete. Normally the
* program loops to handle multiple sessions.
*
*-s Suppress the copyright notice.
*
*-w Wait for data to be written to the tty port before
* executing the rsh command.
*
*-x Output debugging information. Specifying "x"
* twice produces even more output.
*
*
*To associate "ttypf" with the dedicated printer device
*connected to (PortServer) node ncx, port 4.
*
* rtty -dh ttypf ncx 2104
*
*To associate "ttysf" with a dial-in/dial-out (type mio)
*modem attached to (PortServer) node dbps port 13.
*
* rtty -1d ttysf dbps 2113
*/
static char *copyright[] =
{
"@(#)Copyright 1992, Digi International, All Rights Reserved.",
"@(#)An unlimited use and distribution license is granted for use with,",
PortServer Terminal Server Ÿ Page 89
Page 98
"@(#)and only with, Digi terminal servers and other network products.",
0
} ;
Page 90 Ÿ PortServer Terminal Server
Page 99
RJ Connectors
There are four types of modular plugs that can be used with the PortServer's RJ-45 10-pin jack.
These are the 4 or 6-pin RJ-11 plugs, and the 8 or 10-pin RJ-45 plugs.
The 8 and 10-pin RJ-45 plugs are the same physical size, but the 10-pin version has one
additional wire at each end of the row of contacts. Thus pins 1-8 of an 8-pin RJ-45 directly
correspond to pins 2-9 of a 10-pin RJ-45 connector.
Similarly, the two RJ-11 plugs have the same physical dimensions, but the 6-pin version has an
extra pin at each end. The RJ-11 plugs are physically smaller than RJ-45 plugs, but are designed
so that they fit into the center of an RJ-45 jack. In this way, the four pins closest to the center of
any size connector will always carry the same signals as the middle four pins of any other
connector. The contacts of a 6-pin RJ-11 connector correspond directly to the middle six pins of
an 8 or 10-pin RJ-45 connector, and so on.
The diagrams on the following pages illustrate the relationship of the various modular plug
configurations to Digi’s standard 10-pin RJ-45 jack, and show which RS-232 signals are
available in each configuration.
PortServer Terminal Server Ÿ Page 91
Page 100
10 Pin RJ 45 Plugs
The 10-pin RJ-45 plug carries all eight of the RS-232 signals supported by the PortServer
hardware, plus the two ground lines, Signal Ground (SG) and Chassis Ground (GND). The
10-pin configuration includes the modem control lines Ring Indicator (RI) and Data Carrier
Detect (DCD).
RJ-45 WIRING: 10 PIN PLUG TO 10 PIN JACK
Page 92 Ÿ PortServer Terminal Server
Loading...
+ hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.