============================================================================ Perle TruePort Daemon and Driver for Linux Copyright (C) 2004-2020, Perle Systems Limited ============================================================================= Release : 6.10.1 Date : May 2020 O/S Compatibility : Linux Versions 2.6.x, 3.x, 4.x, 5.x ============================================================================= Introduction: ============= This is the readme belonging to the TruePort for Linux software. TruePort for Linux is a TTY serial port emulation system for the Perle device/terminal server families. TruePort provides a standard TTY interface to application software which is achieved using the TruePort serial device driver. TruePort provides a more general interface via a fixed /dev TTY name, this allows application software to send and receive data from ports on the terminal server as if they were directly connected to the application server. TruePort Full mode protocol will allow an application to take full control of the remote serial port and use all functions available e.g. setting baud rates, flow control settings and raising and lowering modem pins etc. TruePort Lite Mode will allow an application to just transmit and receive data to and from the port. Any baud rates or flow control settings must be configured on the terminal server before the application is started. TruePort supports the following Perle hardware in TruePort Full mode protocol: - All IOLAN Family Models, including DS, TS, SDS, STS, SCS - JetStream 8500, JetStream 4000 - LanStream 2000 - LinkStream 2000. It also supports IOLAN+ and other 3rd party multi-port terminal servers in Lite (raw) mode. NOTE: For TruePort Full Mode the JetStream 8500, JetStream 4000 and LanStream 2000 require firmware version 2.3.3 or later and the LinkStream 2000 requires version 6.04 or later. Installation and Configuration: =============================== The software consist of two parts. The part that allows a user-program to control a fully-functional serial port is a driver in the form of a new loadable kernel driver. The other part is the daemon that handles the connection between the kernel driver and a device/terminal server. Installation using the .tgz file -------------------------------- Unpack the file and go to the created directory. In the directory run the script: ./tar_install.sh TruePort administrative files and utilities are installed in the /etc/trueport and /usr/bin directories. To create and enable a range of ports we have provided a script "addports" that starts the TruePort service. The "addports" command edits the TruePort configuration files and starts the required daemons and drivers. Once the "addports" command has configured the system, TruePort will be started automatically on each system reboot. Once the ports have been enabled, you may use them as standard UNIX serial TTY's. See the TruePort Linux User Guide for more information on the use of this script and other configuration utilities. Notes for installing large number of ports: =========================================== * The maximum number of ports supported by TruePort server-initiated is 64,512.(which is 65535-1023 ). * On most Linux systems the default Process Identifiers Limit is set to 32K. To display the current Process Identifiers Limit on your system type the following command at the shell prompt: $ sysctl kernel.pid_max OR $ cat /proc/sys/kernel/pid_max Output: kernel.pid_max = 32768 The Perle TruePort driver uses a process per port so if you are installing a large number of ports it is possible you will need more process ID's then the default limit. To allow for more PIDs type the following command: $ sysctl -w kernel.pid_max=80000 To make the change survive a system reboot you will need to append the following to your /etc/sysctl.conf: kernel.pid_max = 80000 * If you install a large number of ports then your boot up time may be significanly increased. This boot time can be reduced if udev is disabled. Kernel update: ============== When a new kernel version is installed on the machine the TruePort rpm package has to be reinstalled to get the correct kernel module for the new kernel. The commands to do this are: cd /usr/share/doc/trueport/ptyx make make install and depmod -a /etc/init.d/trueport restart or reboot the machine or you can simply rebuild and reinstall the rpm package. (Keep in mind that you'll have to build the package running on the kernel that will eventually run it) Known Issues: ============= Release History: ================ Version Description ------- ----------- 6.10.0 * Maintenance release 6.9.1 * Fix for Redhat 7.6 update 12.2 6.9.0 * Maintenance release * Added OpenSSL 1.1.x support 6.8.5 * Fix lockup condition 6.8.4 * Fix build issue with 4.12.x kernels 6.8.3 * Fix stack corruption issue in trueportd 6.8.2 * Fix issue with packet idle timeout forwarding option not working 6.8.1 * Fix issue with keep alive not working correctly 6.8.0 * Maintenance release * fixed issue with stty settings not being sent to the IOLAN 6.7.10 * Fix to work with 4.6.x kernels 6.7.9 * Fix for tty lockup while waiting for the TCP connection during an open. 6.7.8 * Fix to work with 3.8.x kernels 6.7.7 * Changed the tty master name to txm and control name to txc to fix a conflict on Ubuntu. 6.7.6 * Fix for port lockup and starting trueportd twice issues. * Removed debug code. 6.7.5 * Added some debug code. 6.7.4 * Additional fixes for scheduling while atomic crash. 6.7.3 * Fix for scheduling while atomic crash. 6.7.2 * Fix for a port lockup condition. 6.7.1 * Added some debug code. 6.7.0 * Maintenance release 6.6.4 * Added support for kernel 3.12 6.6.3 * Fix issue with trueportd using 100 percent of the cpu 6.6.2 * Fix issue with tcdrain not working. 6.6.1 * Fix issue with driver sometimes crashing when the TCP connection goes down. 6.6.0 * Added some tty port code to support kernels 3.7 and 3.8 6.5.2 * Maintenance release, added support for kernel version 3.7 6.5.1 * Maintenance release, added support for kernel version 3.x 6.5.0 * Maintenance release, only the version changed 6.4.8 * Fix issue with driver crashing when using PPP 6.4.7 * Added support for kernel 2.6.34. 6.4.6 * Corrected problem with pacing window closing during heavy traffic. 6.4.5 * Added back the strong SSL encryption ciphers. Added code to make the setting of the modprobe.conf file more compatible with upgrading. 6.4.104 * Added "openwaittime -1" option to server initiated lite mode 6.4.103 * Corrected the "openwaittime -1" option 6.4.102 * Corrected problem with compiling in kernel versions less than 2.6.9. 6.4.101 * Corrected problem with form of receive_room function/variable. 6.4.100 * Removed strong SSL encryption ciphers to satisfy U.S. export requirements. 6.4.0 * TruePort driver redesigned where the master and slave driver's are now defined as TTY_DRIVER_TYPE_SERIAL instead of TTY_DRIVER_TYPE_PTY. * Support for 2.6.x kernels only. * Remove restriction of supporting maximum of 256 ports. * Resolve issue where device server and TruePort Full mode window count would get out of sync when several read flush commands are sent to the device server. 6.3.1 * Fix issue runing on kernel versions 2.6.26.x where application opening TruePort tty would segment fault 6.3.0 * Added configuration to allow use of legacy UDP protocol for Full mode * Resolve issues with TruePort Daemon being terminated in certain circumstances when running Full mode protocol and the TruePort connection is repeatedly going down and up. * Will use /etc/modprobe.d directory if /etc/modprobe.conf file does not exist when adding driver modules 6.2.2 * Resolve compile errors and warnings on kernels 2.6.27 and higher * Resolve RPM install error for Fedora Core 8 6.2.1 * Resolve issue with PPC64 and SPARC64 systems failing to process TruePort private IOCTLs properly. * added some paranoia checking in ptyx.c for out driver_data pointer 6.2.0 * Detection and support of running TruePort Full mode with no UDP protocol * resolved some IPv6 configuration issues 6.1.1 * Resolve kernel panic during system boot up on certain 2.6 kernel distributions. 6.1.0 * Added support for missing "serial driver" functions. 6.0.1 * Resolved timing issue where TruePort service would sometimes fail to start on bootup 6.0.0 * Added Client initiated mode, Client I/O Access, and Packet Forwarding features. * Added support to specify host IP address or DNS name for server mode * Added support for 64 bit Linux Kernels 5.1.0 * Maintenance release 5.0.4 * Resolved issue with driver not compiling under kernels 2.6.16 and higher. 5.0.3 * Switched code to open the tty first before listening on the tcp port. 5.0.2 * Added code to ptyx driver to send a line to the /var/log/message file when the driver is loaded. 5.0.1 * Added hangup option to allow trueportd to close the tty device whenever the TCP connection to the terminal/device server is lost. 5.0.0 * Added support for SSL connection feature. * The version number jumped from 2.3 to 5.0.0 so that all versions of TruePort with SSL would be at the same level. * The SSL feature is not supported in kernel 2.2.x. The software can still be installed without this feature. 2.3 * Add support for the linux kernel 2.6. * Add support for linux kernel 2.2.16 and above. 2.2 * Driver became an independent loadable kernel module for the kernel version 2.4.x. No need to patch and rebuild the kernel. 2.0 * Consisted of the TruePort daemon and a patch to the pty.c driver module in the kernel.