X-Carve & Remote Serial Port Server

I have had success in setting up a single board computer running Linux as a com port server allowing me to run Easel from remote. If people are interested I can do a full write-up. (Apparently, you were. Thanks!)

Hardware involved:
X-Carve & Computer (obviously)
Soekris Net5501 /w 2.5 SATA HD
USB, network, & power cables of course.
Serial cable (I used a serial to usb).

Favorite flavor of Linux (I’m using Devuan).
ser2com package from your distro of linux.
Tibbio VSP (virtual serial port) driver from Here.

Step 1: Install Linux on a Soekris.
I’m not going to go into great detail on how to netboot as there are some guides I had to kludge together for my environment (windows and all), but I’ll share some of the links and if I do a separate write-up I’ll update this post.
Bootstrap the Environment
Ubuntu on Soekris
Debian version quite thorough.
In my windows environment I used Tfptd64 by Ph. Jounin

I did a base install only (originally, I was targeting a CF install) keeping packages to a bare minimum. I didn’t need/want logging or any bells and whistles which can sneak into an installation. The two packages I did install were ser2net, a serial over tcp server, and bridge-utils as the device has 4 Ethernet ports available (waste-not, want-not) and allows me to connect a webcam.

The ser2net package will install as a service and the config (/etc/ser2net.conf) is a single line:
10000:telnet:90:/dev/ttyACM0:115200 8DATABITS NONE 1STOPBIT XONXOFF RTSCTS LOCAL
Run a service on port 10000 (or your choice), telnet formatting, idle timeout duration, device node, and serial port settings. Full descriptions are in the man page or config file itself.
If you wish to be able to monitor (eavesdrop) on the communication between the computer and the controller add the following to /etc/defaults/ser2net (debian flavors of linux):
This will enable you to telnet in and watch data being sent to or from (not both) the controller. Type ‘help’ for instructions after connecting.

To test: simply telnet into port 10000 (or whatever port you choose) and type $ and hit return to see if your controller responds. Local echo will be disabled so you won’t see what you are typing.

Step 2: Install and configure a virtual serial port.
I don’t know if it was my laptop without any serial ports, or something in it’s long history of software installs/uninstalls, or maybe it’s because Windows 7-64 requires signed drivers exclusively, I could not get any virtual serial port solutions to work. I had tried just about all I could find when searching for virtual serial port or serial over ip.

Then I found Tibbo Device Server Toolkit.

It worked, did exactly what I need and was not too hard to configure. Run the Connection Wizard (as administrator). Create a link between VSP and Device Server. Create a new VSP. And point it at port 10000 (or your choice) of your server. And complete.
Open the VSP manager to verify settings for the COM port:
Transport protocol: TCP
Transport provider: TDI
Routing mode: Client
Connection mode: On data
On-the-fly commands: Disabled (I believe com2net supports RFC-2217, but I didn’t need that feature)
Destination: (obvious)
Control Lines: all normal
Default Serial Settings: 115200, 8, None, Off

Barring firewall settings, you should be all good to go. I didn’t even have to tell Easel where to find the carver… it was like it already knew. And I get to sit back and watch Star Trek while my carver is making a noisy mess in the garage.



Always wanting to see what others are doing with their Linux setup. I would love to read a full write-up and see if I am doing anything that I could have done better.

yes please.

Keep me posted.
I also use embedded products like arduino and raspberry Pi

The Grblweb on Raspberry Pi is what got me started on this, then I found out I couldn’t run Easel on it so I expanded on it.

I’ll update my op with the how I did it.

Okay, did full write-up. Hope I didn’t leave anything out.

Some other things I’ve done with it is install grblweb and the serial-port-json-server allowing me to use chilipeppr.

I have just dabbled in robotics and code. Learning how to do scientific measurement type stuff.

thanks for the writup. tibbo is a golden find. thx for the share