The Linux VCOM driver for Advantech Device Servers Support extended featurs:
- TLS encription
- DKMS integration
- systemd integration
- Advanced system monitoring
- VCOM and TLS status monitoring: /tmp/advmon/advtty*
foo@bar~:$ cat /tmp/advmon/advtty0
- syslog integration
- logging /tmp/advcom/ events to syslog
foo@bar~:$ vcinot -p /tmp/advmon -l &
For details on the infrastructure and main components of this VCOM driver, check here .
This driver depends on:
- kernel header files
- OpenSSL
- DKMS
foo@bar~:$ sudo apt-get install build-essential linux-headers-generic
foo@bar~:$ sudo apt-get install dkms
foo@bar~:$ sudo apt-get install openssl libssl-dev
Open YaST / Software / Software Management.
Select the View button on the top left and pick Patterns.
Install the following packages under Basic Development:
- Linux Kernel Development
- C/C++ Development
Utilize the Search Button to install the following packages:
- libopenssl-devel
- dkms
foo@bar~:$ sudo dnf install -y kernel-devel kernel-headers gcc make
foo@bar~:$ sudo dnf install -y openssl-devel
foo@bar~:$ sudo dnf install -y openssl
foo@bar~:$ sudo dnf install -y dkms
Some systems include the dkms package in the "Extra Packages for Enterprise Linux"(EPEL);
therefore, if dkms failed to install, consider installing EPEL before installing dkms.
foo@bar~:$ sudo dnf install -y epel-release
foo@bar~:$ sudo dnf install -y dkms
Early RedHat systems (before CentOS 7/RHEL 7/Fedora 21) might require you to use "yum" instead of "dnf".
foo@bar~:$ sudo yum install -y epel-release
foo@bar~:$ sudo yum install -y kernel-devel kernel-headers gcc make
foo@bar~:$ sudo yum install -y openssl-devel
foo@bar~:$ sudo yum install -y openssl
foo@bar~:$ sudo yum install -y dkms
Before building the Driver, edit the Config.mk file to enable/disable/adjust:
- OpenSSL support
- DKMS integration
- Systemd integration
- SSL Certification length & duration
Use command make to build the source code
foo@bar~: $ make
Use command make install to install the driver with|without DKMS according to the Config.mk file.
foo@bar~: $ sudo make install
To startup the VCOM service, follow these steps:
- Setup and start the VCOM check here
- If TLS is needed, create & upload TLS fils for each Device server check here
On Secure Boot UEFI enabled systems, it is very important to setup the DKMS to auto-sign the kenel modules.
Otherwise, one may fail to load any custom moduels, including our vcom driver.
check here for a guide on how to setup your DKMS.
By default, a VCOM service is registered to systemd, to provide a standard interface for service managment.
One can disable service registration by editing Config.mk before make install.
Systemd should active the VCOM service after system reboot, as our default setup configure.
One can access the VCOM service manually, start, stop, or reload(for changing VCOM mapping) via systemctl:
- Start VCOM service.
foo@bar~: $ sudo systemctl start advvcom.service
- Stop VCOM service.
foo@bar~: $ sudo systemctl stop advvcom.service
- Reload VCOM service(to activate a new VCOM mapping).
foo@bar~: $ sudo systemctl reload advvcom.service
- Disabel VCOM service(VCOM will not start on next system boot).
foo@bar~: $ sudo systemctl disable advvcom.service
- Enable VCOM service(VCOM will start on next system boot).
foo@bar~: $ sudo systemctl enable advvcom.service
- Create new "TLS files" or "key-pairs" needed for VCOM driver; click here