Re: [PATCH v1 0/3] Add virtual serial null modem emulation driver

From: H. Peter Anvin
Date: Mon Jan 06 2020 - 15:24:17 EST

On 2020-01-05 23:21, Rishi Gupta wrote:
> The driver named ttyvs creates virtual tty/serial device which emulates
> behaviour of a real serial port device. Serial port events like parity,
> frame, overflow errors, ring indications, break assertions, flow controls
> are also emulated.
> It supports both device-tree and non device-tree platforms. And works in
> both built-in and loadable driver methods.
> Use cases
> ~~~~~~~~~~~~~~~~~
> This driver saves time to market and have following use cases including
> but not limited to; automated testing, GPS and other data simulation, data
> injection for corner case testing, scaleability testing, data sniffing,
> robotics emulator/simulator, application development when hardware,
> firmware and driver is still not available, identifying hardware issues
> from software bugs quickly during development, development cost reduction
> across team, product demo where data from hardware needs to be sent to the
> GUI application, data forwarding, serial port redirection etc.
> Basic idea
> ~~~~~~~~~~~~~~~~~
> This driver implements a virtual multi-port serial card in such a
> way that the virtual card can have 0 to N number of virtual serial
> ports (tty devices). The devices created in this card are used in
> exactly the same way as the real tty devices using standard termios
> and Linux/Posix APIs.

OK, I believe I have asked this before, at least when this has come up in
other contexts: any reason not to do this by adding the missing elements to
the pty interface? For fixed-name nodes, the legacy PTY interface is basically
what you need.

It would probably have other benefits, as well.