Serial lines

Table of Contents


General Description

Configuration of CHARON-VAX serial lines is performed in 3 steps:

  1. Loading virtual serial lines controller, for example:

    load DHV11/DHV11 TXA

    In this example, an instance of a  "DHV11" serial line controller is loaded and named "TXA"

    Note that VAX console adapters ("UART", "QUART") do not need to be loaded; they are preloaded.
     

  2. Mapping an object type to host resources, for example:

    load physical_serial_line TTA1
    set OPA0 line="/dev/ttyS1"

    In this example the object "physical_serial_line" is loaded, named "TTA1", and mapped to the "/dev/ttyS1" host physical serial port.
     

  3. Connect the loaded virtual line controller and the mapped object:

    set TXA line[5]=TTA1

    In this example, the 6th line of the DHV11 controller "TXA" loaded at step 1 is connected to the mapping object "TTA1" loaded at the step 2.

Console

CHARON-VAX offers a one- or four-port serial console depending on the specified VAX model. The one line serial line controller is identified in CHARON-VAX with the name UART. The four serial lines controller is identified in CHARON-VAX with the name QUART. 

UART is used in Qbus systems only (e.g. the MicroVAX/VAXserver 3600/3900).

QUART is used in SCSI (e.g. MicroVAX 3100 model 96/98, VAXstation 4000 model 90) and SCSI/Qbus systems (e.g. VAX4000 model 106/108). The last QUART line (line[3]) is the console port (known in VAX/VMS as OPA0). 

CHARON-VAX console ports can be configured to connect to an external terminal via the host system COM/TTY port or can be connected via TCP/IP.


rts

Parameterrts[<line>]
TypeText string
Value
  • "On" - assert RTS (Request To Send) signal
  • "Off" - clear RTS signal (default)
  • "DTR" - assert RTS signal as soon as DTR signal is asserted ( (warning) Applicable only for QUART )

dsr

Parameterdsr[<line>]
TypeText string
Value
  • "On" - always reports DSR signal asserted
  • "Off" - always reports DSR signal deasserted
  • "DSR" - use DSR signal of physical serial line (if configured)
  • "CD", "DCD", "RLSD" - use CD (carrier detect) signal of physical serial line (if configured)
This parameter is applicable only for line "2" of QUART. UART has no such parameter.

communication

Parametercommunication[<line>]
TypeText string

Value

  • "ASCII" - for connection to terminals  (default)
  • "BINARY" - for serial lines carrying binary (packet) protocols, which are used mainly for communicating with PLCs

line

Parameterline[<line>]
TypeIdentifier
ValueThis parameter is used to connect a particular serial line interface to the controller. See below for details.

 



Note that the "line" parameter in the table above is applicable only in the case of QUART.

All the values in this table are case insensitive.

Example:

set QUART rts[2]="DTR"
set QUART dsr[2]="On"
set QUART communication[2]="binary"

    

Line 2 of the QUART is the only one which can be used for connecting modems. Therefore, the "DSR" parameter for that line (i.e. "dsr[2]") is internally set to the appropriate value ("CD") but can be changed from the configuration file. Values for the "rts" and "dsr" parameters for the lines other than 2 are not visible for any applications running on CHARON-VAX / CHARON-PDP.

 

Serial line controllers

Asynchronous serial line multiplexers are capable of serving up to 8 asynchronous serial lines (the DHW42-BA supports 16 lines).The following asynchronous serial line multiplexers are supported:

VAX modelAsynchronous serial line emulation
MicroVAX II, MicroVAX 3600, MicroVAX 3900, VAXserver 3600, VAXserver 3900  (QBUS systems)CXA16, CXB16, CXY08, DHQ11, DHV11, DZV11, DZQ11, DL11, DLV11, DZ11
MicroVAX 3100 - 96, MicroVAX 3100 - 98 (SCSI systems)DHW42-AA, DHW42-BA, DHW42-CA
VAX4000 - 106, VAX4000 – 108, VAX4000 – 700, VAX4000 – 705 (QBUS/SCSI systems)CXA16, CXB16, CXY08, DHQ11, DHV11, DZV11, DZQ11, DLV11, DHW42-AA, DHW42-BA, DHW42-CA
VAX6310, VAXstation 4090N/A

The following names are used for the multiplexers:

Device nameModule name
DHV11DHV11
DHQ11DHV11
CXY08DHV11
CXA16DHV11
CXB16DHV11
DHW42AADHV11
DHW42BADHV11
DHW42CADHV11
DZV11, DZ11DZ11
DZQ11DZ11
DL11, DLV11DL11


The following example loads an instance of an asynchronous serial line multiplexer:

load DHQ11/DHV11 TXA
Only one instance of DHW42 can be loaded. There is no restriction on the number of the other multiplexers.

The multiplexers offer the following configuration parameters, specified with the "set" command:

address

Parameteraddress
TypeNumeric
Value

Specifies CSR address. The address must be valid QBUS 22-bit wide address in I/O space.Default values are 017760440 for DHV11-family controllers and 017760100 for DZV11/DZQ11, which are the factory settings for asynchronous serial line multiplexers.

 This parameter is not applicable to DHW42-xx serial line controllers

vector

Parametervector
TypeNumeric
Value

Specifies interrupt vector.Default value is 0300 which is the factory setting for asynchronous serial line multiplexers.

 This parameter is not applicable to DHW42-xx serial line controllers

line

Parameter

line[N]

N=0…3 (7,15)

TypeIdentifier
ValueSpecifies a name of the serial line interface object in configuration to which the N-th line of the multiplexer is connected. See below for details.

communication

Parameter

communication[N]

N=0…4 (7,15)

TypeText String
Value
  • "ASCII" - for connection to terminals  (default)
  • "BINARY" - for serial lines carrying binary (packet) protocols, which are used mainly for communicating with PLCs

rts

Parameter

rts[N]

 N=0…3 (7,15)

TypeText String
Value

Controls RTS signal of the Nth line of the multiplexer. 

  • "On" - assert RTS (Request To Send) signal
  • "Off" - clear RTS signal (default)
  • "DTR" - assert RTS signal as soon as DTR signal is asserted
     
When left blank (initial state), the level of the RTS signal is as requested by the VAX software.

dsr

Parameter

dsr[N]

N=0…(7,15)

TypeText String
Value
  • "On" - always reports DSR signal asserted
  • "Off" - always reports DSR signal deasserted
  • "DSR" - use DSR signal of physical serial line (if configured)
  • "CD", "DCD", "RLSD" - use CD (carrier detect) signal of physical serial line (if configured)
This parameter is applicable only for DZV11 and DZQ11 serial lines controllers


tx_q_max_depth

Parameter

tx_q_max_depth[N]

N=0…3 (7,15)

TypeNumeric
Value

Specifies depth of the TX FIFO for the N-th line of the multiplexer. Possible values are 1…1000, initially it is set to 1 to properly represent the hardware limitation of certain multiplexers. Values greater than 1 improve transmission rate of corresponding line, but break correspondence to the original hardware.

This parameter is applicable only for DHV11 serial lines controller


To load several instances of Qbus multiplexers, use the "address" and "vector" parameters. Both "address" and "vector" parameter values must be unique for every instance of a QBUS multiplexer. Read the VAX hardware documentation and the VM system management documentation to understand how to correctly assign the "address" and "vector" parameters.

Example of loading 2 instances of DHV11:

load DHV11/DHV11 TXA address=017760440 vector=0300
load DHV11/DHV11 TXB address=017760460 vector=0310



Example of loading DHW42CA:

load DHW42CA/DHV11 TXA
set TXA communication[0]="binary" 

Mapping Serial line controllers to system resources

Types of serial line mapping

TypeFunction
physical_serial_lineThis type of mapping associates some TTY port on host system with an emulated VAX serial line controller virtual "line".The TTY port can be physical hardware port or a logical TTY port.
virtual_serial_lineThis type of mapping associates a network connection on the host system with an emulated VAX serial line controller virtual "line"
operator_consoleThis type of mapping associates the current TTY console with the OPA0 console port (if CHARON-VAX does not run as service)


Example:

load physical_serial_line OPA0

physical_serial_line

line

Parameterline
TypeText string
Value
A defined TTY port on host system:
  • "/dev/tty<N>" - virtual serial lines
  • "/dev/ttyS<N>" - onboard serial lines
  • "/dev/ttyUSB<N>" - modem or usb serial lines adapters
  • "/dev/tty<XXX>" - proprietary (depending on a driver) devices such as DIGI or MOXA cards

If a virtual console "/dev/tty<N>" is going to be used, it must be freed from all the processes running on it at first. Refer to your OS documentation for details, also some description on how to do it is available here.

specific account for running CHARON ("charon") does not allow usage of virtual consoles "/dev/tty<N>" as CHARON consoles. If you plan to map CHARON console or serial lines to "/dev/tty<N>" use only "root" account for CHARON running.



baud

Parameterbaud
TypeNumeric
Value

Forces the baud rate of the corresponding TTY port to a specified value.The variety of supported values depends on the underlying physical communication resource (TTY port).

The most widely used values are: 300, 1200, 9600, 19200, 38400.

Example:

set OPA0 baud=38400

break_on

Parameterbreak_on
TypeText string
Value

Specifies what byte sequences received over the physical serial line will trigger a HALT command.

(warning) This parameter works only for the console line (for the one UART line and "line[3]" of QUART).

Specify the following values: "Ctrl-P", "Break" or "none" ("none" disables triggering HALT condition).

Example:

set OPA0 break_on="Ctrl-P"

The default value is "Break" for line 3 of QUART and "none" for other lines.

stop_on

Parameterstop_on
TypeText string
Value

Specifies what byte sequences received over the physical serial line will trigger a STOP condition.

(warning) This parameter works only for the console line (for the one UART line and "line[3]" of QUART).

The STOP condition causes CHARON-VAX to exit.Specify the value as the following: “F6” or “none” ("none" disables triggering STOP condition).

Example:

set OPA0 stop_on="F6"

The default value is "none".

Setting "F6" triggers the STOP condition upon receipt of the "<ESC>[17~" sequence. Terminals usually send these sequences on pressing F6 button


log

Parameterlog
TypeText string
Value

A string specifying a file name to store content of console sessions or a directory where log files for each individual session will be stored.If an existing directory is specified, CHARON-VAX automatically enables creation of individual log files for each session.

If the "log" parameter is omitted, CHARON-VAX does not create a console log. 

Examples:

set OPA0 log="log.txt"
set OPA0 log="/opt/charon/logs"

log_file_size

Parameterlog_file_size
TypeText string
Value

If log rotation is enabled, the log_file_size parameter determines the log file size threshold at which the log is automatically rotated.

  • "unlimited" or "0" (default) - the feature is disabled
  • "default" - default size is used (4Mb)
  • <size>[KMG] - size of the current log file in bytes with additional multipliers:
    • K - Kilobyte - multiply by 1024

    • M - Megabyte - multiply by 1024*1024

    • G - Gigabyte - multiply by 1024*1024*1024

Examples:

set OPA0 log_file_size="default"

set OPA0 log_file_size=10M

(warning) Minimum log file size is 64K, maximum is 1G. Setting size less then 64K effectively makes the log file unlimited.


Example of mapping a console line to an onboard serial line:

load physical_serial_line OPA0
set OPA0 line="/dev/ttyS1"



virtual_serial_line

host

Parameterhost
TypeText string
Value

A remote host’s IP address or a host name (and optional remote TCP/IP port number) for the virtual serial line connection.

If omitted, the virtual serial line does not initiate a connection to the remote host and will listen for incoming connection requests.

Specify the value in the following form:

set OPA0 host="<host-name>[:<port-no>]"

If "<port-no>" is not specified, the virtual serial line uses the TCP/IP port number specified by the "port" parameter (see below).

port

Parameterport
TypeNumeric
ValueTCP/IP port number for the virtual serial line. A virtual serial line always listens on this port for incoming connection requests.

break_on

Parameterbreak_on
TypeText string
Value

Specifies what byte sequences received over virtual serial line must trigger HALT command.

(warning) This parameter works only for console line (for CHARON-VAX it is the only line of UART and the "line[3]" of QUART).

Specify the following values: "Ctrl-P", "Break" or "none" to disable triggering HALT condition.

Example:

set OPA0 break_on="Ctrl-P"
The default value is "Break" for line 3 of QUART and "none" for other lines.

stop_on

Parameterstop_on
TypeText string
Value

Specifies what byte sequences received over the virtual serial line will trigger a STOP condition. The STOP condition causes CHARON-VAX to exit.

(warning) This parameter works only for console line (for CHARON-VAX it is the only line of UART and the "line[3]" of QUART).

Specify the value as the following: “F6” or “none” ("none" disables triggering STOP condition).

Example:

set OPA0 stop_on="F6"

The default value is "none".Setting "F6" triggers the STOP condition upon receipt of the "<ESC>[17~" sequence.

log

Parameterlog
TypeText string
Value

A string specifying a file name to store content of console sessions or a directory where log files for each individual session will be stored.If an existing directory is specified, CHARON-VAX automatically enables creation of individual log file for each session.

If the "log" parameter is omitted CHARON-VAX does not create any console log.

Examples:

set OPA0 log="log.txt"
set OPA0 log="/opt/charon/logs"

log_file_size

Parameterlog_file_size
TypeText string
Value

If log rotation is enabled, the log_file_size parameter determines the log file size threshold at which the log is automatically rotated.

  • "unlimited" or "0" (default) - the feature is disabled
  • "default" - default size is used (4Mb)
  • <size>[KMG] - size of the current log file in bytes with additional multipliers:
    • K - Kilobyte - multiply by 1024

    • M - Megabyte - multiply by 1024*1024

    • G - Gigabyte - multiply by 1024*1024*1024

Examples:

set OPA0 log_file_size="default"

set OPA0 log_file_size=10M

(warning) Minimum log file size is 64K, maximum is 1G. Setting size less then 64K effectively makes the log file unlimited.


log_flush_period

Parameterlog_flush_period
TypeNumeric
Value
  • <period-in-seconds>

Defines a period of flushing log to disk.

Default period is 60 seconds (it means that every minute log file is flushed to disk)

Example:

set OPA0 log_flush_period=30

Example of mapping a console line to an onboard serial line

load virtual_serial_line OPA0
set OPA0 port=10003 stop_on="F6"

Notes on "virtual_serial_line" options:
 

  1. Use the combination of "port" and "host" parameters as follows to connect a 3rd party terminal emulator or similar program.

    load virtual_serial_line/chserial TTA0 host="192.168.1.1" port=10000
    In this example CHARON-VAX connects to port 10000 of a host with TCP/IP address "192.168.1.1" and at the same time it accepts connections on local port 10000.
         
  2. It is possible to specify a port on a remote host (note that CHARON always acts as a server). The syntax is:

    load virtual_serial_line/chserial TTA0 host="192.168.1.1:20000" port=10000
    In this example CHARON-VAX accepts connection on local port 10000 and connects to remote port 20000 of a host with TCP/IP address "192.168.1.1"

Note that the examples above are mainly used for inter-CHARON communications. They are used to connect CHARON-VAX to an application that communicates to CHARON-VAX as described below. 

Example of two CHARON systems connected to each other:On host "A":
load virtual_serial_line/chserial TXA0 port=5500 host="B"
On host "B":
load virtual_serial_line/chserial TXA0 port=5500 host="A"
On two hosts executing CHARON-VAX, the two TXA0 lines connect to each other, thus creating a "serial" cable between the two emulated VAXes. The sequential order in which the instances of CHARON-VAX are started makes no difference. 

operator_console

break_on, stop_on

Parameterbreak_on, stop_on
TypeText string
Value

These two parameters are hardcoded to the following values and cannot be changed:

stop_on="F6"
break_on="Ctrl-P,F5"


Example:

load operator_console OPA0

"ttyY" notation specifics

Note that the "ttyY" notation can have different forms depending on the nature of the device used:

  1. Linux virtual tty (switchable by alt+F1 atl+F12 on a text console) – are represented as "/dev/tty<N>" where N is from 0 to 11. Those tty devices must be free from the Linux "getty/mgetty" and similar programs (specified in "/etc/inittab")
  2. Onboard serial lines are represented as "/dev/ttyS<N>" where N is a number. For example "/dev/ttyS1"
  3. Proprietary (depending on a driver) devices are represented as "/dev/tty<XXX>" where XXX is a complex letter/number notation. For example "/dev/ttyR01" is the first port of a MOXA card and "/dev/ttyaa" stands for the first port of a DIGI card.

Linking serial controller port to host connection

The final step of CHARON-VAX serial line configuration is the association of each loaded serial port with a CHARON-VAX host connection instance as follows:

set <serial controller instance name> line[<line number>]=<serial line instance name>

Example:

set quart line[0]=TTA0


This command connects the first serial line ("line[0]") of a "QUART" serial line controller to a CHARON-VAX connection instance named "TTA0". As explained earlier, TTA0 may be a virtual serial line connected to port, or a physical serial line connected to host serial port or virtual terminal. In an example below, the command connects the sixth serial line of a previously loaded controller (named "TXA") to "TTA1". "TTA1" could be defined, for example, as a physical serial line connected to COM/TTY port:

set TXA line[5]=TTA1



© Stromasys, 1999-2024  - All the information is provided on the best effort basis, and might be changed anytime without notice. Information provided does not mean Stromasys commitment to any features described.