Table of Contents
General Description
Configuration of CHARON-VAX serial lines is performed in 3 steps:
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.
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.
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
Parameter | rts[<line>] |
---|---|
Type | Text string |
Value |
|
dsr
Parameter | dsr[<line>] |
---|---|
Type | Text string |
Value |
This parameter is applicable only for line "2" of QUART. UART has no such parameter. |
communication
Parameter | communication[<line>] |
---|---|
Type | Text string |
Value |
|
line
Parameter | line[<line>] |
---|---|
Type | Identifier |
Value | This 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:
|
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 model | Asynchronous 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 4090 | N/A |
The following names are used for the multiplexers:
Device name | Module name |
---|---|
DHV11 | DHV11 |
DHQ11 | DHV11 |
CXY08 | DHV11 |
CXA16 | DHV11 |
CXB16 | DHV11 |
DHW42AA | DHV11 |
DHW42BA | DHV11 |
DHW42CA | DHV11 |
DZV11, DZ11 | DZ11 |
DZQ11 | DZ11 |
DL11, DLV11 | DL11 |
The following example loads an instance of an asynchronous serial line multiplexer:
load DHQ11/DHV11 TXA |
The multiplexers offer the following configuration parameters, specified with the "set" command:
address
Parameter | address |
---|---|
Type | Numeric |
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
Parameter | vector |
---|---|
Type | Numeric |
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) |
---|---|
Type | Identifier |
Value | Specifies 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) |
---|---|
Type | Text String |
Value |
|
rts
Parameter | rts[N] N=0…3 (7,15) |
---|---|
Type | Text String |
Value | Controls RTS signal of the Nth line of the multiplexer.
|
dsr
Parameter | dsr[N] N=0…(7,15) |
---|---|
Type | Text String |
Value |
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) |
---|---|
Type | Numeric |
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:
|
Example of loading DHW42CA:
|
Mapping Serial line controllers to system resources
Types of serial line mapping
Type | Function |
---|---|
physical_serial_line | This 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_line | This type of mapping associates a network connection on the host system with an emulated VAX serial line controller virtual "line" |
operator_console | This 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
Parameter | line |
---|---|
Type | Text string |
Value | A defined TTY port on host system:
A specific account for running CHARON ("charon") does not allow usage of virtual consoles " |
baud
Parameter | baud | |
---|---|---|
Type | Numeric | |
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:
|
break_on
Parameter | break_on | |
---|---|---|
Type | Text string | |
Value | Specifies what byte sequences received over the physical serial line will trigger a HALT command. 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:
The default value is "Break" for line 3 of QUART and "none" for other lines. |
stop_on
Parameter | stop_on | |
---|---|---|
Type | Text string | |
Value | Specifies what byte sequences received over the physical serial line will trigger a STOP condition. 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:
The default value is "none". Setting "F6" triggers the STOP condition upon receipt of the " |
log
Parameter | log | ||
---|---|---|---|
Type | Text 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:
|
log_file_size
Parameter | log_file_size | ||
---|---|---|---|
Type | Text 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.
Examples:
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 |
virtual_serial_line
host
Parameter | host | |
---|---|---|
Type | Text 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:
If "<port-no>" is not specified, the virtual serial line uses the TCP/IP port number specified by the "port" parameter (see below). |
port
Parameter | port |
---|---|
Type | Numeric |
Value | TCP/IP port number for the virtual serial line. A virtual serial line always listens on this port for incoming connection requests. |
break_on
Parameter | break_on | |
---|---|---|
Type | Text string | |
Value | Specifies what byte sequences received over virtual serial line must trigger HALT command. 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:
The default value is "Break" for line 3 of QUART and "none" for other lines. |
stop_on
Parameter | stop_on | |
---|---|---|
Type | Text 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. 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:
The default value is "none".Setting "F6" triggers the STOP condition upon receipt of the " |
log
Parameter | log | ||
---|---|---|---|
Type | Text 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:
|
log_file_size
Parameter | log_file_size | ||
---|---|---|---|
Type | Text 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.
Examples:
Minimum log file size is 64K, maximum is 1G. Setting size less then 64K effectively makes the log file unlimited. |
log_flush_period
Parameter | log_flush_period | |
---|---|---|
Type | Numeric | |
Value |
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:
|
Example of mapping a console line to an onboard serial line
load virtual_serial_line OPA0 |
Notes on "virtual_serial_line" options:
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.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.
load virtual_serial_line/chserial TXA0 port=5500 host="B" |
load virtual_serial_line/chserial TXA0 port=5500 host="A" |
operator_console
break_on, stop_on
Parameter | break_on, stop_on | |
---|---|---|
Type | Text string | |
Value | These two parameters are hardcoded to the following values and cannot be changed:
|
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:
- 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")
- Onboard serial lines are represented as "/dev/ttyS<N>" where N is a number. For example "/dev/ttyS1"
- 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 |