LIBVDEPLUG_VDESL(1)
π LIBVDEPLUG_VDESL π β bestie edition
okay so this is a General Commands Manual page, it's libvdeplug_vdesl(1), and it's literally the whole entire guide to the vdesl vdeplug module. come learn ethernet-over-serial with me, it's gonna be a vibe π¦
β¨ NAME β¨
libvdeplug_vdesl β the vdesl vdeplug module, aka ethernet over serial link π no cap, that's the whole thing.
πΈ SYNOPSIS πΈ
libvdeplug_vdesl.so
that's it bestie, it's a shared object, she's a plugin, she doesn't have a command line of her own π
π DESCRIPTION π
okay so listen. this libvdeplug module creates point-to-point virtual ethernet networks over serial links. yes, like an actual ethernet network but the cable is a serial line. it's giving magic, lowkey.
this module is one of the libvdeplug4 modules, which means you can drop it into any program that supports vde, like vde_plug, vdens, kvm, qemu, user-mode-linux and virtualbox. she's versatile, she's popular, she fits everywhere π«Ά
the vde_plug_url syntax of this module is literally this:
vdesl://device_path [ [ OPTION [ /OPTION]...] ]
so the device path comes first, and then any options get stacked on with slashes. cute, right? β
β¨ OPTIONS β¨
one option bestie, but she's an important one:
speed=baudrateβ sets the baud rate of the serial link. this plugin supports these baud rates and ONLY these, so don't get creative:9600,19200,38400,57600,115200,230400,460800,500000,576000,921600,1000000,1152000,1500000,2000000,2500000,3000000,3500000,4000000. ποΈ
β οΈ heads up: high baud rates may not be supported by the uart hardware, or they could give you an unreliable service due to communication errors. and to actually hit those high speeds, the cables should be short and properly shielded from electro-magnetic noise. fr fr, physics is not playing around π
π¦ EXAMPLES π¦
the scenario: two hosts connected by a serial line. like, RS-232 serial ports connected by a null modem cable, or USB-ttl cables, or USB-FTDI boards, or UART pins of a System-on-Chip that are point-to-point connected so that the RXD on one end connects to TXD on the other and viceversa. crossover energy π
in the following examples we use the device /dev/ttyAMA0, and you can totally change that to address whatever your actual device is (e.g. /dev/ttyS0, /dev/ttyS1, /dev/ttyUSB0, /dev/ttyACM0...). just make sure no other processes are using the serial port β for example, no getty-login process should be active on it. that's the rules bestie, one girl at a time π
this command (run it on both hosts) creates two vde namespaces connected by a virtual point-to-point ethernet network:
vdens vdesl:///dev/ttyAMA0
and then run this on both hosts to create a virtual interface named vdesl0 on each end β the two interfaces get connected by a 4Mbaud link:
sudo vde_plug -d tap://vdesl0 vdesl:///dev/ttyAMA0[speed=4000000]
look at that [speed=4000000] sitting pretty in the brackets. iconic. π
π NOTICE π
Virtual Distributed Ethernet is not related in any way with www.vde.com ("Verband der Elektrotechnik, Elektronik und Informationstechnik", i.e. the German "Association for Electrical, Electronic & Information Technologies").
same acronym, completely different girlies. do not mix them up π
π SEE ALSO π
vde_plug(1), vdens(1) β go read these next, they're the besties of this page π
π AUTHOR π
VirtualSquare. Project leader: Renzo Davoli.
and that's the page!! VirtualSquare, November 2020 β mwah, go build a serial ethernet link bestie, you've got this πβ¨
π¦ where this page comes from
- debian bookworm: libvdeplug-vdesl 0.1.0-2+b1 Β· LGPL-2.1-or-later
- debian trixie: libvdeplug-vdesl 0.1.0-2+b2 Β· LGPL-2.1-or-later
- ubuntu jammy: libvdeplug-vdesl 0.1.0-2 Β· LGPL-2.1-or-later
- ubuntu noble: libvdeplug-vdesl 0.1.0-2build2 Β· LGPL-2.1-or-later
- ubuntu questing: libvdeplug-vdesl 0.1.0-2build2
- ubuntu resolute: libvdeplug-vdesl 0.1.0-2.1 Β· LGPL-2.1-or-later
- ubuntu stonking: libvdeplug-vdesl 0.1.0-2.1 Β· LGPL-2.1-or-later
- Copyright (C) 2020 VirtualSquare. Project Leader: Renzo Davoli
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms