Introduction
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 .
Quality
Installation Guide
Install Dependancy
This driver depends on:
- kernel header files
- OpenSSL
- DKMS
On Ubuntu based systems
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
On OpenSUSE
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:
On CentOS/RHEL/Fedora/RockyLinux baed systems
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.
console
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
Configure the installation
Before building the Driver, edit the Config.mk file to enable/disable/adjust:
- OpenSSL support
- DKMS integration
- Systemd integration
- SSL Certification length & duration
Build source code
Use command make to build the source code
Install Driver to system
Use command make install to install the driver with|without DKMS according to the Config.mk file.
foo@bar~: $ sudo make install
Starting VCOM
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
DKMS auto-sign with MOK on Secure Boot UEFI systems
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.
Integration with Systemd
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
Appendex
- Create new "TLS files" or "key-pairs" needed for VCOM driver; click here