StayLinked users may sometimes see the message “Error: Host Timeout!” displayed. This message represents a lapse in network connectivity while trying to connect to the StayLinked server. This is expected on occasion in a typical environment since RF connections can be notorious for dropping the occasional packet. Devices that are unable to connect are also discussed, along with the various symptoms and solutions. If your users are getting this error frequently, this article will provide some details about the StayLinked handshake transactions, the tools available to identify the issue, and some possible scenarios and resolutions.
The Connection Process
The StayLinked handshake process is an exchange of four packets. This connection is explained in more detail in the above article link.
Diagnostics
Several tools are discussed in this section. The ping and tracert tools are available with many typical network devices. The diagnostics available within StayLinked to troubleshoot network difficulties include; echo test, radio stats, and log files. Additional diagnostics may be available as part of your infrastructure equipment.
Echo Test
The echo test will run through 200 transactions, displaying various statistics in real time. The echo test is available with each StayLinked client and is available by selecting echo test from the tools menu while the client is connected to an active session. This is explained in more detail in the above artilce link.
Ping
This program uses the Internet Control Message Protocol (ICMP) to check-in with the target IP address and return a response time. This utility is available in most StayLinked clients and commonly within radio and network configuration programs available on most devices.
During a typical ping, the results will be displayed in the number of milliseconds that the packet took to make the round trip to the destination and back. Lower numbers are better and excessively high results will result in sluggish or unreliable connectivity. A typical wired network will return results of less that 10ms. Consistent results of less than 50ms should not be noticed by the terminal user. Results of 200ms or more may seem to hesitate or pause during transactions. Regular results in excess of 500ms will result in noticeably poor performance.
If the results say ‘Host Unreachable’, no route was available to make the round trip or the packets were dropped before the round trip could complete. Occasional dropped packets will be mostly unnoticed by a terminal user, while regular packet loss will cause poor performance with any network dependant application.
If the results report ‘Unable to Resolve’, the address was entered incorrectly, the name used was not listed in the name server, or the name server was not reachable.
Tracert
Similar to the ping utility, the tracert command is available on any typical network computer. This utility will report each step or ‘hop’ between the source and target system. When poor response times are affecting network performance, the tracert tool can help identify if a particular hop is causing the delays. Tracert will return response times in milliseconds similar to ping, which responses listed for each step along the path from source to destination.
Radio Stats
The Radio Status dialogue is available from the tools or diagnostics menu of most StayLinked clients. This dialogue displays the device’s current IP address, the hardware address of the currently associated access point, and other useful radio information. When the device roams from one access point to another, the radio stats dialogue will sound an audible beep and display the updated access point hardware address. This can be very helpful in diagnosing issues that are geographical in nature. The information displayed will vary by manufacturer as they provide different levels of information to third party applications.
Logging
The device will always record a client log, but the server has several logging options available. The depth of logging can be configured in the Server Settings section of the Administrator console. Each logging level will include the logs listed above it. Several logs can be created that are not listed, but would have little use to resolve a host timeout issue.
Please forward all log files to the StayLinked support team for review. Some of the annotations in the log files may be misleading without proper training.
Client Specific Logs
Session
All session related information including server/client versions, display dimensions, telnet host, keyboard map, device info, and tap spots. This file also includes a complete transaction record between the StayLinked server and telnet host.
Handler/Protocol
Record of network addresses involved in the connection, NAT relationships, encryption processing, client settings, device management, client software updates, software provisioning, and device group selection.
Socket/IP Traffic
Record or transaction sequencing, timestamps and synchronizations.
Server Level Logs
Manager Log
General server information including Java statistics, termination of sessions, reconnections to existing sessions, and the total number of sessions in use.
Statistics
General protocol performance information, grouped by the configured interval. This is set in the server settings dialogue and will take several hours to generate any valuable data. An interval of one hour or more is suggested.
The general rules related to logging include:
- Start a new StayLinked session after the logging options are selected. Existing sessions will continue to use the settings as they were when the session was started. To create a new StayLinked session, you must answer Y to the Quit Session dialogue on the device, or terminate the session from the administrator.
- Set encryption to none to make the logging results record in plain text. Encrypted logs can be difficult to read.
- Logging will default to 1MB per log file per device (making 3MB per device when sessions, handler and protocol logs are recorded), and should be used only when tracking down an issue with technical support.
- When gathering the client log, be sure to gather all other logs first or the transfer of the client log will be recorded. This can sometimes cause the log file to roll over, deleting the transactions you are trying to diagnose.
Troubleshooting Steps
This issue can have a wide range of causes, most of which are easily eliminated with a few quick tests. Since this is a network related issue, is recommended that it is diagnosed with the network structure in mind. When troubleshooting this issue, it is important to know how many devices are affected. If a single device is unable to connect, the issue is most likely related to the configuration of that device. As the scope increases, broader portions of the network geography become more suspect.
It is also important to note how often the issue occurs. If the device(s) can never establish a connection, the issue is probably different than one in which devices are able to connect 9 out of 10 attempts.
Situations in which the server and devices were proven to work but are no longer able to connect are best resolved to finding the variable that has changed. A device that was once working will typically have the correct configuration. Some devices may be ‘clean booted’ restoring them to factory defaults. Third party persistence managers may also change settings during a ‘cold boot’ that changes the network or StayLinked server address to an incorrect setting.
Confirm Device Settings
When a limited number of devices are involved, the first step is to confirm that the device(s) are correctly configured. The devices should show an active network connection, have a valid network address, be configured to connect to the correct server address and port, and have a valid route to the server and back again. This is easily tested with a ping to the server address. Since the devices will be ‘speaking’ StayLinked, they should connect to the StayLinked server default port of 3006 and not the standard telnet port of 23.
If you network uses firewalls, protocol or port restrictions, or network address translation (NAT), you may need to review the StayLinked Secure Communications Guide to properly configure these devices for StayLinked. Among the client downloads is a brief support guide for each device type. This guide has limited directions for network configuration and is not a substitute for the manufacturer document for your device.
The Server Process is Running
The second step is to make sure that the server can accept connections. This is easily tested by starting a new session on another device or at the administrator interface. To start a console session, right click on the word connections in the left pane of the administrator and select ‘Start Console Session’. If the administrator and other devices are unable to connect, make sure the server process is running. If existing devices are operating normally, but new additional devices are unable to start a new session, you should contact StayLinked technical support for assistance.
Information about starting the StayLinked server process and the server requirements can be found in the installation guide for your server operating system.
Fixed Port Range and Firewalls
Secured networks that are using port and/or protocol restrictions must allow port 3006 plus at least one unique port for each connection. Configured in the Server Settings dialogue, the fixed port range option allows the StayLinked Server to request sequential ports from a specific pool. Without this setting, the Server process will request a random port assignment from the server operating system. Servers that grow over time may need to revisit this configuration to allow for increases in licensing. The StayLinked Server will be unable to open new ports if the range is too small for existing licensing, resulting in the “Err:Host Timeout!” message on Client devices. Multi-session licensing can allow for up to ten sessions per license, while single session licenses will need only one port per licensed seat. It is also recommended that a few extra ports are provided in case network devices require ports within the range that cannot be used by StayLinked.
Some network devices have been observed interfering with high sequenced port numbers. This means that configuring a fixed port range may affect packet delivery even if you are not using a firewall or port filtering.
No matter what reason, always be sure that you have enough ports within your range for each possible emulation session.
Instructional Video: Set a Client Fixed Port Range
Using ICMP Ping
Testing the connection with a ping will confirm that network traffic is responding. The transaction time can be an indicator of network issues. Exceptionally poor response times and frequently dropped packets can both be a cause of the host timeout error. Using the ping test in a process of elimination can provide a valuable picture of performance at each step in a network route.
Using the various diagnostics, The StayLinked technical support group has helped many customers identify network issues. For any assistance with these tools, or results they provide, please contact our support group for assistance.
Special Network Configurations
In order for the StayLinked clients to communicate with the StayLinked server process, the devices must have a valid network connection and route to and from the StayLinked Server.
The StayLinked Clients (and the StayLinked Administrator) should be configured with the network address of the Server that they are to communicate with. In most cases, the server address is stored in the client configuration file, staylink.ini. The clients can also be configured with a supplemental file in the case that multiple servers are available. This file may be called connections.ini (for multi-session clients) or servers.ini for (single/dual session capable devices). This is the network address of the StayLinked that clients will reach out to in order to start a client-server connection.
If your network contains components that perform Network Address Translation (NAT), it is important that the StayLinked server is configured to expect the NAT table updates and routing information.
Server Address NAT
Commonly used in P2P tunneling or internet accessible connections, the devices may not be configured to communicate with a dedicated IP that exists on the physical system. In cases where IP or port forwarding is used, it is important to configure the StayLinked Server to expect these connections. Without this One-to-One NAT entry at the server, it will be unable to route packets back to the devices requesting the connection.
Client Dynamic NAT
When devices are behind a NAT connection, they will typically be able to connect to the server normally, but will go ‘Linking’ if the NAT entry times out during a session. Any complete handshake with the Server should restore the NAT entry, but the device will again go ‘Linking’ after the timeout period. This can be resolved by selecting the ‘Enable Server-side Support for Client Dynamic NAT’ checkbox.
Please note that settings configured in the ‘Server Settings’ dialogue are stored in the configuration file espadmin.xml. It is commonly recommended that this file is not replicated to backup systems, since it contains licensing information that will only validate on the server to which it has been serialized. Firewall and NAT settings on your server will typically need to be manually replicated to backup systems if any changes are required. In most cases, the backup server would require different settings that your production server.
Cellular Connections
When using a cellular connection, the StayLinked client must be configured to initiate the network connection. It is also recommended that a ‘cellular heartbeat interval‘ is set to maintain the connection. Without these settings, the device will be prone to display an asterisk in the upper right corner of the display followed by a Linking message. Once the network connection is re-established, the device will be able to resume the session from where it left off.
The common client cellular settings include:
gprs_connect=1
gprs_phone_enable=1
connect_timeout=20
These settings are best configured using the client settings section of the administrator. Client settings are discussed in the StayLinked Administrator User’s Guide and contain tooltip messages for each setting.
Share the post "Err: Host Timeout!"