ttyterm Code
Brought to you by:
gilles-b
------------------ TTYTERM : QUICK STARTUP GUIDE ------------------ FEATURES ======== - Console on a local serial port, or a remote one through some program (such as telnet) - Scroll lock only blocking output on terminal with messages from serial line still received and buffered - Timestamping (date, chrono, or diff modes) - Optional "line mode" for local command edition with history, recall, and character-by-charcter sending to prevent RX overflow on remote equipment - Output logfile - Input fifo to send commands - Logfile viewer with : - virtually unlimited log size support - backward/forward search - occurence count - selection of any amount of log - copy of selection to file or to printer - extra tools that can be combined together to automate some dialogs with the remote equipment from a shellscript : - wait_msg : to wait for messages in logfile - slowpipe.sh : to send some commands slowly (prevents RX overflow on remote) INSTALLATION ============ This software can be installed and run without any modification on most Unix systems (such as Linux, AIX, SunOS, ...) running bash or ksh. If your default shell is not bash nor ksh, please run bash or ksh, then run ttyterm. This software can be installed on a system for a specific user or for all users (global install). To install : - Choose a directory where to install ttyterm. This should be a directory where you have a write access, and where all other users using ttyterm (if any) will be allowed to execute the software. This can be any directory, even if it is not pointed by the PATH environment variable; however, if it is not in the PATH, you will have to specify the full path of ttyterm each time you run it, or create a symbolic link to ttyterm in a directory that is in the PATH. - Move to the chosen directory and extract the ttyterm archive (tar.gz file); for example : cd /chosen_directory tar xvf /path_to_archive/ttyterm_vx_x.tar.gz - Create a symbolic link to ttyterm if needed; for example : - for a global installation : ln -s /chosen_directory/ttyterm /usr/local/bin - for a single user : ln -s /chosen_directory/ttyterm ~/bin - The required binaries are automatically built the first time ttyterm is run (if not already provided in the ttyterm archive). This requires a native GCC compiler and a write access to the directory where ttyterm is installed, at least for this first run. If you want to use another compiler or set some build options, please run ttyterm without option to get help. If a previous release of ttyterm is already installed, just install the new release over the previous one (overwrite), or install it in another directory without forgetting to update the link to ttyterm if any. HOW TO USE AND CONFIGURE TTYTERM ================================ Run ttyterm without argument to get help on how to use, customize, and do some specific configuration for your system. Serial port settings (baudrate, ...) must be done with the standard tools available for the port that is used - for a local port, use OS tools; stty for example - for a remote port, do as indicated in the documentation of the remote serial port (Lantronix for example) For example, to set the local port ttyS0 to 38400 bauds : stty 38400 </dev/ttyS0 This can be done on-the-fly while ttyterm is running on this port, or before running ttyterm. UPDATES ======= Between each offical release, the latest sources are available from GIT. Click on "Code" to view the history for each file. Then click on "Download Snapshot" to download all the files at their latest revision. TROUBLESHOOTING =============== --- Non functional local serial port --- When using a local serial port (onboard or USB adapter), the current stty settings for this port may prevent the port from working properly. For example the port may be configured to wait for DCD to become active but unfortunately your cable wiring does not manage this signal. An easy way to recover is to use the following stty command before opening ttyterm on it (example for ttyUSB0 device) : $ stty -F /dev/ttyUSB0 0:4:1cb2:8a30:3:1c:7f:15:4:0:1:0:11:13:1a:0:12:f:17:16:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0 This will set the port to 115200 bauds, 8 bit, 1 stop bit, no parity, no hardware flow control, ..., and some other sane settings. If an error occurs when running this command, try tu run it once again. Then, if needed, set the baudrate to the required value, for example 9600 : $ stty -F /dev/ttyUSB0 9600 --- Strange behaviour when using telnet to connect to a serial port --- Depending on the telnet server of the serial port, it may be needed to force the following modes on the client side (on the machine running ttyterm) : mode char : Disable the TELNET LINEMODE option, or, if the remote side does not understand the LINEMODE option, then enter ‘‘character at a time’’ mode. set binary : Enable the TELNET BINARY option on both input and output. This can be specified in a ~/.telnetrc file as follows : # cat ~/.telnetrc serialservername mode char set binary