Saturday, December 08, 2007

Linux Virtual Serial Port

When programming with Serial Ports, is often useful to have 2 Virtual Serial Ports communicating each other for debugging, without the need of a Null Modem serial cable connected to phisical serial ports of the same Pc, or connected to a second Pc.
What you need is VSPD!
Download the RPM or tar.gz packet from
Install it following the instructions, then you should find the vspd.conf file in /usr/local/vspd/etc/ folder.
Open it and edit as follow (modify the IP with your IP address):

<!-- Copyright (C) 2003-2004, Tibbo Technology Inc. -->

<root dir="/usr/local/vspd"/>

<devprefix value="/dev/vspd"/>

<bind host=""/>

<timeout exec="10000" priority="10"/>

<log type="file" level="EMR" path="var/vspd.log"/>
<log type="file" level="ALR" path="var/vspd.log"/>
<log type="file" level="CRT" path="var/vspd.log"/>
<log type="file" level="ERR" path="var/vspd.log"/>
<log type="file" level="WRN" path="var/vspd.log"/>
<log type="file" level="NTC" path="var/vspd.log"/>
<log type="file" level="INF" path="var/vspd.log"/>
<log type="file" level="DBG" path="var/vspd.log"/>

<vsp num="0">

<bind host="" port="3500"/>

<connection rmode="server/client" proto="tcp" conmode="ondata" timeout="5" onthefly="outofband"/>

<destination ip="" port="3501" cport="65535"/>

<packets maxlen="255" maxdelay="0" starton="any"/>

<log type="file" level="EMR" path="var/dev.0.log"/>
<log type="file" level="ALR" path="var/dev.0.log"/>
<log type="file" level="CRT" path="var/dev.0.log"/>
<log type="file" level="ERR" path="var/dev.0.log"/>
<log type="file" level="WRN" path="var/dev.0.log"/>
<log type="file" level="NTC" path="var/dev.0.log"/>
<log type="file" level="INF" path="var/dev.0.log"/>


<vsp num="1">

<bind host="" port="3501"/>

<connection rmode="server/client" proto="tcp" conmode="ondata" timeout="5" onthefly="outofband"/>

<destination ip="" port="3500" cport="65535"/>

<packets maxlen="255" maxdelay="0" starton="any"/>

<log type="file" level="EMR" path="var/dev.1.log"/>
<log type="file" level="ALR" path="var/dev.1.log"/>
<log type="file" level="CRT" path="var/dev.1.log"/>
<log type="file" level="ERR" path="var/dev.1.log"/>
<log type="file" level="WRN" path="var/dev.1.log"/>
<log type="file" level="NTC" path="var/dev.1.log"/>
<log type="file" level="INF" path="var/dev.1.log"/>



Now you can start the service with
#/etc/rc.d/init.d/vspd start
or, if the service was already running:
#/etc/rc.d/init.d/vspd reloadconf

To test the communication I used minicom on two different consoles, setting first to the port /dev/vsps0, and second to /dev/vsps1


aaron said...

excuse, may i ask you questions about the VSPD
what version of driver did you use?
did /dev/vsps0 appear automatically atfer the driver installed?

i have installed driver (ver 1.30)
the /dev/vsp0 doesn't appear
and the log file describes
can't open device file: No such file or directory(2)
/dev/vspd0 number of errors

what shoud i do?

darebux said...

I'm using version 1.37.
The devices appeared after started the service with:
#/etc/rc.d/init.d/vspd start

I suggest you to use 1.37 version, insted 1.30, and check that installation script success and creates all the file as described in the installation manual:

Anonymous said...

I'm using v1.37 and was only able to start up vspm. When I try to run vspd, it just gave me a failure message. No logs in /usr/local/vspd/var but the /dev/vspd# and /dev/vsps# all appear. Did you run into a problem with starting vspd?

darebux said...

I did not run into a similar problem.
All I get when I start the service is:
[root@localhost ~]# /etc/rc.d/init.d/vspd start
starting vspd... [ OK ]
[root@localhost ~]#

What is the failure message?

Anonymous said...

I am running Ubuntu linux and had the same problem with a file /dev/vspd0 (dont apear) I ran sudo /etc/init.d/vspm start and the file was created after vspd restart

Anonymous said...

Can anyone recommend the robust Endpoint Security software for a small IT service company like mine? Does anyone use or How do they compare to these guys I found recently: N-able N-central configuration management
? What is your best take in cost vs performance among those three? I need a good advice please... Thanks in advance!

Anonymous said...

Welche Wörter... Toll, der ausgezeichnete Gedanke levitra bestellen cialis bestellen ohne rezept [url=http//]levitra vs viagra dosage[/url]

Anonymous said...

when i run /etc/init.d/vspm start i get "installing vspm.ko module to kernel...insmod: error inserting '/usr/local/vspd/lib/vspm.ko': -1 Invalid module format

i run Suse 11.1

any idea?!

thx, david

Term Papers said...

I have been visiting various blogs for my term papers writing research. I have found your blog to be quite useful. Keep updating your blog with valuable information... Regards