Terminal access troubleshooting
If you are having trouble with terminal access, the following sections might provide the solution.
Check if there is any prompt displayed on the terminal
If there is a prompt displayed on the terminal
For more information, see "Prompts on terminals "or" Check whether the router and Unix server can ping each other."
If there is no prompt displayed on the terminal
For more information, see "Check whether the cable connecting the terminal to the router is OK."
Verify terminal connectivity by using the terminal connectivity test hotkey
In router terminal access, a command is provided for testing terminal connectivity. This command can be used to test the physical connectivity between a terminal and a router and the TCP connectivity between the terminal and the Unix server. When the terminal connectivity test hotkey is configured in interface view, the terminal connectivity test function is enabled.
Now, you can enter the test hotkey on the terminal. If the physical connectivity between the terminal and router is correct, the terminal screen will display "Terminal to Router test OK!" if you have set the language type to English on the Unix server. This means the connectivity between the terminal and the asynchronous serial interface of the router is correct and they can exchange data with each other normally. For more information, see "Check whether the router and Unix server can ping each other." If the TCP connection between the terminal and the Unix server is correct, the terminal screen displays "Terminal to Unix test OK!" This means a TCP connection has been established between the application used by the terminal and the ttyd program on the UNIX server, and the terminal can communicate with the server normally. For more information, see "For an active terminal, verify the configuration of system file inittab."
Check whether the cable connecting the terminal to the router is OK
Pin assignment of the asynchronous serial interface and terminal access converter
If the terminal displays nothing on its screen, verify that the cable connection is correct. Different models of terminals have different pin assignments with their primary serial interfaces, so a certain type of converter may be required.
In terminal access, 8ASE and 16ASE modules and their cables are most frequently used. The connection cables for the 8ASE/16ASE modules have 8/16 asynchronous serial interfaces, namely 8AS/16AS cables, which fall into three types: 8AS/16AS cable (DB-25/DB-9), 8AS/16AS cable (RJ-45 for telecom), and 8AS/16AS cable (RJ-45 for banks). "Telecom" means that the 8AS/16AS (RJ-45) cables, which are blue, are for telecom carriers. "Bank" means that the 8AS/16AS (RJ-45) cables which are white and labeled with "Dumb Terminal" are used for terminal access in banks.
The following table describes the pins of 8AS/16AS cables.
Serial interface | DB-25 | DB-9 | RJ-45 (for telecom/banks) | Signal | Signal direction | Signal description |
---|---|---|---|---|---|---|
Asynchronous serial interface | 5 | 8 | 8 / 7 | CTS | Clear to send | |
6 | 6 | 7 / 3 | DSR | Data set ready | ||
3 | 2 | 6 / 5 | RxD | Receive data | ||
7 | 5 | 5 / 4 | GND | - | Logical ground | |
8 | 1 | 4 / 1 | DCD | Data carrier detect | ||
2 | 3 | 3 / 6 | TxD | Transmit data | ||
20 | 4 | 2 / 2 | DTR | Data terminal ready | ||
4 | 7 | 1 / 8 | RTS | Request to send |
Terminal access converters are exclusively used for 8AS cables (RJ-45 for banks) and 16AS cables (RJ-45 for banks) to connect to terminals. One end of the cable is an RJ-45 receptacle for connecting to a standard network cable, and the other end is a DB-25 receptacle for connecting to a terminal. The following table describes the pins of the terminal access converter.
RJ-45 (female) | DB-25 (female) | Signal |
---|---|---|
1 | 8 | DCD |
2 | 6 | DSR |
3 | 20 | DTR |
4 | 7 | GND |
5 | 2 | TxD |
6 | 3 | RxD |
7 | 4 | RTS |
8 | 5 | CTS |
The common terminal access connection in banking systems is shown in the following figure:
Figure 13: Terminal access joint detail
3-wire, 5-wire, and 8-wire asynchronous serial interface cables
When a 3-wire asynchronous serial interface cable is used, dsr/dtr and flow control signal lines are absent. This means you must use the undo detect dsr-dtr and flow-control none (or flow-control software inbound) commands on the asynchronous serial interface to prevent detection of the dsr/dtr signals. This allows the asynchronous interface to automatically enter the up state, and prevents detection of hardware flow control signals by adopting software flow control or no flow control.
When a 5-wire asynchronous serial interface cable is used, flow control signal lines are absent. This means that you must use the flow-control none or flow-control software inbound command on the asynchronous interface, to prevent detection of hardware flow control signals by adopting software flow control or no flow control instead.
When an 8-wire asynchronous serial interface cable is used, all the required signal lines are available. Therefore, you do not need to configure the above-mentioned commands on the asynchronous interface.
Check whether the router and Unix server can ping each other
If yes
The WAN line between the router and the Unix server functions well, and the criterion is satisfied for the router to establish a TCP connection to the server. For more information, see "Check whether the main ttyd process and its child processes are present."
If not
Check the configuration of the WAN interface of the router, the WAN line provided by the ISP, and the router related parameters on the router and server.
Check whether the main ttyd process and its child processes are present
Use the process management function provided by the ttyd administration program or the ps –ef | grep ttyd command to check whether the main ttyd process and its child processes are present.
The ttyd main process does not exist.
The ttyd program is not running. Run the program as follows:
# /etc/ttyd
If you do not specify any parameters for the command, the default configuration file /etc/ttyd.conf is used. To specify another configuration file, you must enter a file name in the following format:
# /etc/ttyd /etc/ttyd9020.conf
The main ttyd process exits but none of its child processes exist.
The ttyd program has been started, but no TCP connection has been established between the router and the Unix server. First, verify that the connection modes set on the router and the FEP are the same, for example, both in the TTY one-to-one mode. Then, check whether it is because the terminal authentication failed or opening the pseudo terminal failed. For more information, see "Verify the configuration of the router and the ttyd configuration of the server are correct and consistent "or Prompts on terminals.
The main ttyd process and its child processes exist.
The ttyd program has been started, and a TCP connection has been established between the router and the Unix server. For more information, see "Check whether the router has established a TCP connection with the Unix server."
Verify the configuration of the router and the ttyd configuration of the server are correct and consistent
Verify that the router configuration is correct.
Verify that the configuration file ttyd.conf on the Unix server is correct.
Verify that either the TTY one-to-one or TTY many-to-one mode is configured on both sides.
Verify that port numbers configured on both sides are consistent.
Verify that the IP address and terminal number configured in ttyd.conf and those on the router are consistent.
If source IP address binding is configured on the router, verify that the source IP address can be pinged through from the Unix server
Check whether the router has established a TCP connection with the Unix server
Verify TCP connectivity using the terminal connectivity test hotkey.
In terminal access, a command is provided for testing terminal connectivity. This command can be used to verify the TCP connectivity between a terminal and a Unix server. Once the terminal connectivity test hotkey is configured on the interface, the terminal connectivity test function is enabled.
Now, you can press the test hotkey on the terminal. If the TCP connection between the terminal and the Unix server is correct, the terminal screen displays "Terminal to Unix test OK!". This means a TCP connection has been established between the application used by the terminal and the ttyd program on the UNIX server, and the terminal can communicate with the server normally. For more information, see "For an active terminal, verify the configuration of system file inittab."
If the terminal does not display "Terminal to Unix test OK!", either no TCP connection has been established between the application used by the terminal and the ttyd program on the Unix server, or the corresponding pseudo terminal on the Unix server is not operating normally. For more information, see "View the debugging information of the router and ttyd program of the server."
Verify terminal TCP connectivity with the echo command.
First, confirm the pseudo terminal ttypxx on the Unix server corresponding to the terminal by using the configuration file ttyd.conf. Then, execute the following command on the Unix server:
# echo "123456789" > /dev/ttypxx
This command sends the string 123456789 to the terminal ttypxx (xx indicates the terminal index).
If the string appears on the terminal, a TCP connection has been established between the application used by the terminal and the ttyd program on the Unix server, and the terminal can communicate with the server normally. For more information, see "For an active terminal, verify the configuration of system file inittab."
If the string does not appear on the terminal, no TCP connection has been established between the application used by the terminal and the ttyd program on the Unix server, or the corresponding pseudo terminal on the Unix server is not operating normally. For more information, see "View the debugging information of the router and ttyd program of the server."
For an active terminal, verify the configuration of system file inittab
An active terminal is a pseudo terminal that pushes the login interface.
The inittab system file configuration is not correct.
In the configuration file ttyd.conf on the Unix server, find the pseudo terminal that corresponds to the terminal, ttyp50 for example. Edit the file /etc/inittab and check whether the file contains the following line:
C50:234:respawn:/etc/getty ttyp50 m
If the line is absent, add it.
Execute the init q command to validate the configuration.
# init q
You can also use the enable command to configure a pseudo terminal as an active terminal, or use the disable command to configure a pseudo terminal as a dumb terminal.
# enable ttyp50
The inittab system file configuration is correct.
X. For more information, see "View the debugging information of the router and ttyd program of the server."
For a dumb terminal, check whether the pseudo terminal is activated
A dumb terminal is a pseudo terminal that does not push the login interface.
Check whether the banking service process has activated the pseudo terminal. If not, activate it. If yes, see "View the debugging information of the router and ttyd program of the server" for more information.
View the debugging information of the router and ttyd program of the server
A debugging file is created for each main ttyd process and child process. By default, the destination directory of the ttyd debugging files is /var/ttydlist. You can change this directory in the configuration file ttyd.conf. The debugging file of the main ttyd process is named in the format of ttydxxxx.log, where xxxx is the number of the listening port of the main process. The debugging file of a child process is named in the format of ttypxx.log, where ttypxx is the name of the ttyp device for the child process.
The following analyses the common ttyd debugging information and provides some solutions.
authentication 1.1.92.52 failed.
Cause: The ttyd configuration file contains no configuration for the router. Solution: Configure the IP address of the router in the ttyd configuration file, and then press <Enter> on the terminal.
Fail: Too many tcp links
Cause: Too many TCP connections have been established on the Unix server so that new TCP connection requests cannot be accepted.
Fail: authenticate <10.110.96.44 6> fail, no such termNo in config file
Cause: The TTY number is not configured in the configuration file.
Fail: authenticate <10.110.96.44 6> fail, no such ip in config file
Cause: The IP address of the router, 10.110.96.44, is not configured in the configuration file.
Fail: connection closed by peer
Cause: The TCP connection has been closed by the router.
Fail: the swap is not enough to store the data , so some data is discarded
Cause: Data from the router is not written into the PTY device (pseudo terminal), making the buffer full and subsequent data discarded. Typically, this is because the PTY device is not operating normally.
Fail:fail to write data into screen
Cause: Data on the screen cannot be saved.
Fail:fail to recv data from socket
Cause: Failed to read user data from the socket.
Fail:fail to write data into pty
Cause: Failed to write data to the PTY device.
Fail:fail to read pty
Cause: Failed to read data from the PTY device.
Fail:fail to write data into socket
Cause: Failed to write data to the socket.
Fail:child process exit for out of time range
Cause: The user was accessing the Unix server out of the defined periods.
Fail:Failed in opening pty5, out of devices
Cause: Failed to find the device.
Fail:Failed in opening pty5, errno=5
Cause: Failed to open device pty5. The value of the errno parameter indicates the cause.
Fail:It failed in binding server,so it exited
Cause: Another process is using the listening port number specified in the ttyd configuration file.
Fail:It failed in opening ttyd config file
Cause: Failed to open the file with the specified path.
Fail:Too many main process, so can't add the new one
Cause: Too many main ttyd processes are started up on the Unix server.
Fail:It failed in creating or get device xxx,so exit
Cause: Failed to create a device used by the ttyd process. This is usually caused by Unix system resource problems.
If you cannot locate the problem, save the debugging information from both the router and the Unix server and send it to a customer service engineer for analysis.
Change the corresponding pseudo terminal on the Unix server
If the previous procedure did not solve the problem, try to use another pseudo terminal on the Unix server corresponding to the terminal by following these steps:
If the pseudo terminal is an active terminal, sign off; if it is a dumb terminal, terminate it from the banking service process and delete its configuration in the configuration file of the banking service.
Modify configuration file ttyd.conf on the Unix server to change the original pseudo terminal to a new pseudo terminal.
If the new pseudo terminal is an active terminal, make sure that you have enabled it. If it is a dumb terminal, configure the terminal in the configuration file of the banking service.
Use the process management function of the ttyd administration program or the kill command to kill the ttyd child process corresponding to the original terminal, or run the ttyd administration program and use the menu for refreshing configuration file to refresh ttyd program configuration.
If the new pseudo terminal is a dumb terminal, activate this terminal in the banking service process.