ttynvt makes a virtual serial device (tty) and connects the device to a Network Virtual Terminal (NVT). +-ttynvt-+------------------------+ | |\ | | | +---------------+ | | | | | | | | | /dev/ttyNVT | pty /dev/ppp pty | | | slave | master | | | | | | | -------------------------------------------------- | | | | | | | | | | | | +--FUSE--+ +-tty--ldisc------+ TCP--->host 1 Build environment The gcc compiler is used by default (see Makefile). libfuse-dev - Filesystem in Userspace (development) must be installed at the build system. glibc must support pthreads. 2 Target The linux kernel at the target system must support FUSE (FUSE_FS=y) and libpthread and libfuse must be installed in the root filesystem. 3 Build $ autoreconf -vif $ ./configure ... $ make The default target in the Makefile builds the Network Virtual Terminal. Output name is: ttynvt. 4 Run The application (ttynvt) installs a virtual serial device in the /dev directory (by default: /dev/ttyNVT0). The major/minor number of the device, the address (name/IP) and the port number of the serial server must be specified when the application is started (command-line options). E.g. ./ttynvt -M 199 -m 6 -n ttyNVT0 -s 169.254.1.1:5020 To get a list of all command-line options: ./ttynvt --help 5. Test The serial server: ser2net (http://ser2net.sourceforge.net/) might be used to test the virtual serial server on the target. Install the server (ser2net) and add following line to the configuration file (/etc/ser2net.conf): 5020:telnet:0:/dev/ttyS0:115200 remctl NONE 1STOPBIT 8DATABITS RTSCTS HANGUP_WHEN_DONE At the server, plug-in a loopback connector in the serial port (ttyS0). At the target, open the virtual serial port, with a termial program, e.g minicom: minicom -D /dev/ttyNVT0 6 Diagnostic Add the command-line option '-D ' to enable logging of diagnostic information. The log is forwarded to syslog with the debug level. Wireshark is also very useful when debugging the interface between the client and the server. Ref: RFC-854 - Telnet Protocol Specification RFC-2217 - Telnet Com Port Control Option