Watching serial port activity.

Grant Edwards grante at
Tue May 30 20:09:49 CEST 2006

On 2006-05-30, Cameron Laird <claird at> wrote:

>>If you feel like building a kernel, adding a few printk() calls
>>to either the low-level serial driver or the tty
>>line-discipline layer might do what you want.
> 			.
> 			.
> 			.
> !?  I hadn't realized there's no such monitor ...  What do you 
> think of <URL: >?

It's yet another a terminal program (written in TCL).

_If_ the pty device didn't force parity=None and bits=8, and
_if_ it implemented the modem control/status ioctl() calls, and
_if_ it went through the line discipline layer like a real
serial port does, then something like slsnif would be workable
for "real" serial port applications. 

In a more general sense, it would mean you could actually
simulate a serial port with user-space code.  That allows you
to do cool stuff like create virtual serial ports in user-space
that are connected via Ethernet to physical (or virtual) serial
ports on other hosts.  [OK, I admit there are only a few of us
who think that's a cool thing to do.]

Currently, if you want to create a virtual serial port under
Linux you have to write a kernel-mode device driver.  The only
practical way to do that is to write a virtual "low level"
serial driver that uses the line-discipline layer in the normal
manner.  And that's a real bitch to maintain because the API
between the line-discipline layer and the driver you've just
written is constantly changing (it seems to get major overhauls
even between minor versions of a "stable" kernel).

Someday I'll write a pty driver that actually allows simulation
of a serial port...

Grant Edwards                   grante             Yow!  .. My pants just went
                                  at               on a wild rampage through a
                                 Long Island Bowling Alley!!

More information about the Python-list mailing list