# SEMA® Installation Guide

(Applicable to SEMA Linux Version ≥ 4.4.0 and SEMA Windows Version ≥ 4.2.15)

January 9, 2026

![The image displays a logo featuring the text 'SEMA' in large, white, stylized capital letters against a bright orange rectangular background. The letters have a slight 3D or embossed effect and are italicized. A thin, white horizontal line runs across the upper portion of the orange background, just above the text.](.sema-installation-guide/8d0328131e9d2c86ca20ec46d8398fb74e53146fa7afec4100e03c39d2e6ca22.jpg)

Leading EDGE COMPUTING

# Copyright 2026 ADLINK Technology, Inc.

# Disclaimer

The information in this document is subject to change without prior notice in order to improve reliability, design, and function and does not represent a commitment on the part of the manufacturer. In no event will the manufacturer be liable for direct, indirect, special, incidental, or consequential damages arising out of the use or inability to use the product or documentation, even if advised of the possibility of such damages. This document contains proprietary information protected by copyright.

All rights are reserved. No part of this manual may be reproduced by any mechanical, electronic, or other means in any form without prior written permission of ADLINK Technology, Inc.

# Trademark Information

Product names mentioned herein are used for identification purposes only and may be trademarks and/or registered trademarks of their respective companies.

Revision History

<table><tr><td>Revision</td><td>Release Date</td><td>Description of Changes</td></tr><tr><td>1.0</td><td>09/01/2026</td><td>Initial version of installation guide for SEMA Windows and Linux</td></tr></table>

# Contents

# Revision History.. .3

1. Introduction .. 5
2. Supported Functionalities.. .6
3. Supported Operating Systems .. .6
4. Supported Platforms ..
5. SEMA Installation ... .8

5.1. For Linux Platform.. .8
5.2. For Windows Platform...... .10

6. SEMA Uninstallation . .13

6.1. For Linux Platform.. .13
6.2. For Windows Platform.. .14

7. FAQs & Troubleshooting.. .16

# 1. Introduction

SEMA (Smart Embedded Management Agent) is a middleware developed by ADLINK to monitor, control, and manage embedded and industrial computing platforms. It provides a standardized interface (EAPIs) in compliance to PICMG EAPI specification providing access low-level hardware features that are managed by the Embedded Controller (EC) or BMC (Board Management Controller).

SEMA consists of the following components:

• Application Layer
• Library Layer (SEMA EAPI Library)
• Driver Layer (ADLINK SEMA Driver)
Firmware Layer (EC / BMC)

![The diagram displays a four-layer software stack arranged vertically. Each layer is represented by a colored horizontal band with a label on the left and a specific component block on the right.\n\n**Labeled Blocks:**\n*   **Application Layer** (Orange background): Contains the block **SEMAUTIL**.\n*   **Library Layer** (Blue background): Contains the block **SEMA EAPI LIBRARY**.\n*   **Driver Layer** (Red background): Contains the block **ADLINK SEMA DRIVERS**.\n*   **Firmware Layer** (Grey background): Contains the block **EC / BMC**.\n\n**Connections:**\nVertical, double-headed arrows connect the component blocks in the right column, indicating bidirectional communication between layers:\n*   A yellow arrow connects **SEMAUTIL** to **SEMA EAPI LIBRARY**.\n*   A blue arrow connects **SEMA EAPI LIBRARY** to **ADLINK SEMA DRIVERS**.\n*   A grey arrow connects **ADLINK SEMA DRIVERS** to **EC / BMC**.](.sema-installation-guide/54c059b35f0dfa49cd691ef06782a18495c276bad5ede4ac86bd21c33b16c6e9.jpg)

# 2. Supported Functionalities

Board information and manufacturing data
Hardware monitoring
• Watchdog control (Runtime and power-up)
GPIO control
I2C access
Temperature monitoring
Fan monitoring and control
Non-volatile storage access (e.g., EEPROM)
Backlight control (LVDS panels)
• Error logging

# 3. Supported Operating Systems

<table><tr><td></td><td>SEMA Windows</td><td>SEMA Linux</td></tr><tr><td>Target Operating system</td><td>Microsoft® Windows® 10 (x64)Microsoft® Windows® 11 (x64)</td><td>Ubuntu [Kernel 3.15 to 6.14]Ubuntu 18.04Ubuntu 20.04Ubuntu 22.04Ubuntu 24.04RedHat Enterprise Linux 9.2RedHat Enterprise Linux 9.5 FedoraDebianCentOS 7CentOS 10SUSE Linux 15</td></tr></table>

# 4. Supported Platforms

<table><tr><td>Board Type</td><td>EC</td><td>BMC</td></tr><tr><td>COM-HPC</td><td>COM-HPC-sIDHCOM-HPC-cRLSCOM-HPC-mMTL</td><td>N/A</td></tr><tr><td>COM (Type 6)</td><td>Express-RLPExpress-TLcExpress-R8cExpress-RLPcExpress-ASL/ALNcExpress-MTLcExpress-TLcExpress-ARCExpress-EL</td><td>Express-CFRExpress-CF/CFEExpress-KL/KLEExpress-SL/SLECExpress-WLcExpress-KLcExpress-ALcExpress-SL</td></tr><tr><td>COM (Type 7)</td><td>Express-VR7Express-ID7</td><td>Express-DN7Express-BD7</td></tr><tr><td>COM (Type 10)</td><td>nanoX-EL</td><td>nanoX-ALnanoX-BT</td></tr><tr><td>SMARC x86</td><td>LEC-ALN / LEC-ASLLEC-EL</td><td>LEC-AL</td></tr><tr><td>Qseven, ETX and other modules</td><td>Q7-ELVPX3-TL</td><td>Q7-ALQ7-BTETX-BT</td></tr><tr><td>SMARC ARM(Supported only by SEMA Linux)</td><td>N/A</td><td>LEC-RB5NLEC-IMX8MPLEC-IMX8MLEC-iMX6</td></tr></table>

# 5. SEMA Installation

# 5.1. For Linux Platform

# Step 1: Installation of Dependency Packages

Execute the following commands in the terminal to install the dependency packages.

```txt
$ sudo apt-get update && upgrade
$ sudo apt install build-essential git hexer i2c-tools uuid-dev
```

NOTE: For Ubuntu with kernel versions greater than 6.5 (such as Ubuntu 22.04.4, which comes with kernel 6.5.0-18-generic by default), gcc-12 does not get installed along with build-essential package. Therefore, gcc-12 needs to be installed using the following command.

```txt
$ sudo apt install gcc-12
```

# Step 2: Clone SEMA Linux Source Code from GitHub

```txt
$ git clone https://github.com/ADLINK/sema-linux.git
```

# Step 3: Build Procedure

Navigate to the cloned directory and build the source code.

```shell
cd sema-linux
sudo make clean
sudo make
sudo make install
sudo modprobe -a adl-bmc adl-bmc-boardinfo adl-bmc-vm \
adl-bmc-wdt adl-bmc-hwmon adl-bmc-nvmem adl-bmc-bklight \
adl-bmc-i2c adl-bmc-gpio adl-bmc-nvmem-sec
```

# Step 4: Check Driver Status

Ensure that the driver modules are present in the list of loaded Linux kernel modules using the below command.

```txt
$ sudo lsmod | grep adl
```

```csv
adlink@adlink-Default-string:~/sema-linux-unified$ sudo lsmod | grep adl
adl_bmc_nvmem_sec 16384 0
adl_bmc_gpio 16384 0
adl_bmc_i2c 20480 0
adl_bmc_bklight 16384 0
adl_bmc_nvmem 16384 0
adl_bmc_hwmon 28672 0
adl_bmc_wdt 16384 0
adl_bmc_vm 20480 0
adl_bmc_boardinfo 45056 0
adl_bmc 24576 9 adl_bmc_gpio,adl_bmc_vm,adl_bmc_i2c,adl_bmc_nvmem_sec,adl_bmc_nvmem,adl_bmc_bklight,adl_bmc_wdt,adl_bmc_boardinfo,adl_bmc_hwmon
adlink@adlink-Default-string:~/sema-linux-unified$
```

SEMA Software Components and Installation Paths

<table><tr><td>SEMA Component</td><td>Description</td><td>Installation path</td></tr><tr><td>semautil</td><td>SEMA Command line utility</td><td>/usr/bin/</td></tr><tr><td>libsema.so</td><td>SEMA EAPI shared library</td><td>/usr/lib/</td></tr><tr><td>adl-bmc.koadl-bmc-boardinfo.koadl-bmc-vm.koadl-bmc-wdt.koadl-bmc-hwmon.koadl-bmc-nvmem.koadl-bmc-bklight.koadl-bmc-i2c.koadl-bmc-gpio.koadl-bmc-nvmem-sec.ko</td><td>ADLINK SEMA Driver modules</td><td>/lib/modules/\`uname -r\`updates/driver/(or)/lib/modules/\`uname -r\`extra/driver/</td></tr></table>

To test the SEMA application, refer to the SEMA User Manual attached in the below link.

Link: Technical Resources | ADLINK.

To uninstall SEMA Linux, refer to the section SEMA uninstallation for Linux Platform.

# 5.2. For Windows Platform

# Step 1: Download the SEMA Windows Installer Package from GitHub

SEMA Windows download link: https://github.com/ADLINK/sema-windows/releases

Unzip the file and it includes,

Bin - Driver, library and application binaries
• Installer
• ADLINK\_SEMA\_Installer.exe and
• ADLINK\_SEMA\_Installer.msi
• Src - Source code

# Step 2: SEMA Installer Selection (.exe or .msi)

SEMA Windows Utility is available in two formats - ADLINK\_SEMA\_Installer.exe or ADLINK\_SEMA\_Installer.msi.

# Installation Using ADLINK\_SEMA\_Installer.exe

Required Visual C++ Redistributable packages will be installed automatically. Right click on ADLINK\_SEMA\_Installer.exe and run in administrator mode.

# Installation Using ADLINK\_SEMA\_Installer.msi

Ensure that the Microsoft Visual C++ 2015–2022 Redistributable (x64) package is installed before running the installer. If not installed, download from the following link.

Download link: https://aka.ms/vs/17/release/vc\_redist.x64.exe

After download, run the vc\_redist.x64.exe in administrator mode and install the Redistributable packages successfully.

Then proceed with installing SEMA package installer by double clicking on ADLINK\_SEMA\_Installer.msi.

# Step 3: SEMA Installer Setup Instructions

Run the setup installer with admin privileges.

![ADLINK SEMA Package Installer Setup\nWelcome to the ADLINK SEMA Package Installer Setup Wizard\nThe Setup Wizard will install ADLINK SEMA Package Installer on your computer. Click Next to continue or Cancel to exit the Setup Wizard.\nBack	Next	Cancel](.sema-installation-guide/9bbcc0ace06422ec9d388175ebb84d35ed3bf1088fa7174e4a77faec592a5676.jpg)

Mention the path to install the SEMA utility to proceed and complete the setup.

![ADLINK SEMA Package Installer Setup\nDestination Folder\nClick Next to install to the default folder or click Change to choose another.\nInstall ADLINK SEMA Package Installer to:\nC:\Program Files\Adlink\SEMA\Driver\\nChange...\nBack	Next	Cancel](.sema-installation-guide/bf2619170ba3078c341d176fd5a3384bd58fab421f58e5382595660437a0af65.jpg)

# Step 4: Check Driver Status

On successful installation of the SEMA installer, the device manager shows "SEMA Device" under System devices without any yellow bang.

![Device Manager\nFile  Action  View  Help\nMicrosoft Hyper-V Virtualization Infrastructure Driver\nMicrosoft Hypervisor Service\nMicrosoft System Management BIOS Driver\nMicrosoft UEFI-Compliant System\nMicrosoft Virtual Drive Enumerator\nMicrosoft Windows Management Interface for ACPI\nMicrosoft Windows Management Interface for ACPI\nMicrosoft Windows Management Interface for ACPI\nMicrosoft Windows Management Interface for ACPI\nMicrosoft Windows Management Interface for ACPI\nMicrosoft Windows Management Interface for ACPI\nNDIS Virtual Network Adapter Enumerator\nPCI Express Root Complex\nPlug and Play Software Device Enumerator\nProgrammable interrupt controller\nRemote Desktop Device Redirector Bus\nSEMA Device\nSystem CMOS/real time clock\nSystem timer\nUMBus Enumerator\nUMBus Root Bus Enumerator\n) Universal Serial Bus controllers](.sema-installation-guide/bf8ab05a07c9801b844aebb197315bc37fd5086a6082a081f803967ae22f73bd.jpg)

SEMA Software Components and Installation Paths

<table><tr><td>SEMA Component</td><td>Description</td><td>Installation path</td></tr><tr><td>Semautil.exe</td><td>SEMA Command line utility</td><td>C:\Program Files\Adlink\SEMA\Application</td></tr><tr><td>Semaepapi.dllSemaepapi.lib</td><td>SEMA EAPI Dynamic link Library</td><td>C:\Program Files\Adlink\SEMA\Application</td></tr><tr><td>Sema4.catSema4.infSema4.sys</td><td>ADLINK SEMA KMDF Driver</td><td>C:\Program Files\Adlink\SEMA\Driver\Drv</td></tr></table>

To test the SEMA application, refer to the SEMA User Manual attached in the below link

Link: Technical Resources | ADLINK

To uninstall SEMA Windows, refer to the section SEMA uninstallation for Windows Platform

# 6. SEMA Uninstallation

# 6.1. For Linux Platform

Follow the below steps to uninstall Unified SEMA in Linux.

# Step1: Unloading SEMA Drivers

Execute the following command in the terminal and unload all the loaded drivers.

```powershell
$ sudo modprobe -r adl-bmc-boardinfo adl-bmc-vm adl-bmc-wdt \ adl-bmc-hwmon adl-bmc-nvmem adl-bmc-bklight adl-bmc-i2c \ adl-bmc-gpio adl-bmc-nvmem-sec adl-bmc
```

# Step 2: Check Driver Status

Ensure that the driver modules are removed from loaded Linux kernel modules list using the below command.

```txt
$ sudo lsmod | grep adl
```

```txt
adlink@adlink-Default-string:~/sema-linux-unified$ sudo lsmod | grep adl
adlink@adlink-Default-string:~/sema-linux-unified$
```

# 6.2. For Windows Platform

# Step 1: Uninstall Using SEMA Installer

Run the SEMA Installer setup with admin privileges.

![ADLINK SEMA Package Installer Setup\nWelcome to the ADLINK SEMA Package\nInstaller Setup Wizard\nThe Setup Wizard allows you to change the way ADLINK\nSEMA Package Installer features are installed on your\ncomputer or to remove it from your computer. Click Next to\ncontinue or Cancel to exit the Setup Wizard.\nBack	Next	Cancel](.sema-installation-guide/aa260fb9c7eb93600e2c5bd535e8313dde04110088ad07e7da6b1f08b327aefb.jpg)

Select the “Remove” option to proceed and complete uninstallation.

![ADLINK SEMA Package Installer Setup\nChange, repair, or remove installation\nSelect the operation you wish to perform.\nChange\nLets you change the way features are installed.\nRepair\nRepairs errors in the most recent installation by fixing missing and corrupt files, shortcuts, and registry entries.\nRemove\nRemoves ADLINK SEMA Package Installer from your computer.\nBack	Next	Cancel](.sema-installation-guide/21e1b25d06b758d998b95682e97afee33fa49cd7809882bd795cdca3644d9858.jpg)

# Step 2: Check Driver Status

On uninstallation of the SEMA installer, "SEMA Device" node under System devices in Device manager and the installed files will be removed.

![Device Manager\nFile Action View Help\nIntel(R) Serial IO I2C Host Controller - 5AB6\nIntel(R) Serial IO I2C Host Controller - 5AB8\nIntel(R) Serial IO I2C Host Controller - 5ABA\nMicrosoft ACPI-Compliant System\nMicrosoft Hyper-V Virtualization Infrastructure Driver\nMicrosoft System Management BIOS Driver\nMicrosoft UEFI-Compliant System\nMicrosoft Virtual Drive Enumerator\nNDIS Virtual Network Adapter Enumerator\nPCI Express Root Complex\nPCI standard host CPU bridge\nPCI standard ISA bridge\nPCI-to-PCI Bridge\nPCI-to-PCI Bridge\nPCI-to-PCI Bridge\nPCI-to-PCI Bridge\nPCI-to-PCI Bridge\nPCI-to-PCI Bridge\nPlug and Play Software Device Enumerator\nProgrammable interrupt controller\nRemote Desktop Device Redirector Bus\nSystem CMOS/real time clock\nSystem timer\nUMBus Root Bus Enumerator\nUniversal Serial Bus controllers](.sema-installation-guide/0cc666d57881ec09c99bd74d80e432583e8fca456bcb688d36c60510bd3c20ee.jpg)

# 7. FAQs & Troubleshooting

# 1. DLL Not Found Error:

Platform: Windows 11

Error Details: DLL not found messages are observed, such as vcruntime140\_1.dll, VCRUNTIME140.dll, vccorlib140.dll, MSVCP140.dll.

![C:\Program Files\Adlink\SEMA\Application)Semautil.exe\nSemautil.exe - System Error\nThe code execution cannot proceed because\nVCRUNTIME140_1.dll was not found. Reinstalling the\nprogram may fix this problem.\nOK](.sema-installation-guide/c21274bf6fbe0c922005229a9a3bf5301efb7ebe396f5fa1ccfeff0817183c74.jpg)

Solution: This indicates missing Visual C++ runtime dependencies.

Redistributable packages download link: https://aka.ms/vs/17/release/vc\_redist.x64.exe Install the redistributable package with admin privileges.

# 2. Kernel Build Directory Missing Error:

Platform: Ubuntu 22.04 [Kernel: 6.1.80] and other Linux distributions.

Error Details: “\*\*\* /lib/modules/6.1.80/build: No such file or directory” during installation of SEMA Linux.

```txt
adlink@adlink-Express-TL:~/Documents/SEMA-Linux_EC_1011/sema-linux-ec-sema-ec$ sudo make clean
make[1]: *** /lib/modules/6.1.80/build: No such file or directory. Stop.
make: *** [Makefile:84: driver_clean] Error 2
adlink@adlink-Express-TL:~/Documents/SEMA-Linux_EC_1011/sema-linux-ec-sema-ec$ sudo make
make[1]: *** /lib/modules/6.1.80/build: No such file or directory. Stop.
make: *** [Makefile:32: modules] Error 2
adlink@adlink-Express-TL:~/Documents/SEMA-Linux_EC_1011/sema-linux-ec-sema-ec$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 22.04.5 LTS
Release: 22.04
Codename: jammy
adlink@adlink-Express-TL:~/Documents/SEMA-Linux_EC_1011/sema-linux-ec-sema-ec$ uname -r
6.1.80
```

Solution: Install the kernel headers to resolve this issue.

```shell
$ sudo apt update
$ sudo apt install linux-headers-$(uname -r)
```

# 3. Config Error:

Platform: BMC boards with Linux distributions like RHEL, CentOS.

Error Details: ADLINK watchdog driver is loaded. But the EAPI EApiWDogStart() failed with return code EAPI\_STATUS\_READ\_ERROR.

Solution: In Linux distribution such as RHEL and CentOS, the

CONFIG\_WATCHDOG\_SYSFS and CONFIG\_NVMEM\_SYSFS is disabled by default.

Enable this in kernel config and rebuild the kernel.

# 4. Library (libsema.so) Access Failed Error:

Platform: RHEL 9.7 - 5.14.0-611.5.1.el9\_7.x86\_64

Error Details: libsema.so is available in /usr/lib/. But still error is encountered “cannot open shared object file: No such file or directory”.

```txt
[root@localhost sema-linux-unified]# lsmod | grep adl
ad1_bmc_nvmem_sec 20480 0
ad1_bmc_gpio 16384 0
ad1_bmc_i2c 24576 0
ad1_bmc_bklight 12288 0
ad1_bmc_nvmem 12288 0
ad1_bmc_hwmon 28672 0
ad1_bmc_wdt 16384 0
ad1_bmc_vm 20480 0
ad1_bmc_boardinfo 53248 0
ad1_bmc 28672 9 ad1_bmc_gpio,ad1_bmc_vm,ad1_bmc_i2c,ad1_bmc_nvmem_sec,ad1_bmc_nvmem,
ad1_bmc_bklight,ad1_bmc_wdt,ad1_bmc_boardinfo,ad1_bmc_hwmon
[root@localhost sema-linux-unified]# semautil /i get_bd_info 1
semautil: error while loading shared libraries: libsema.so: cannot open shared object file: No such file or directory
```

Solution: This indicates that the system’s shared library cache is not updated. Execute “ldconfig” command to locate and load shared libraries at runtime.

```txt
$ ldconfig
```

# 5. Git Clone Error:

Platform: Ubuntu 20.04 [Kernel 5.15.0-139]

Error Details: unable to access 'https://github.com/ADLINK/sema-linux-unified.git/': server certificate verification failed. CAfile: none CRLfile: none.

```txt
adlink@adlink-Default-string:~$ git clone https://github.com/ADLINK/sema-linux-bmc.git
Cloning into 'sema-linux-bmc'...
fatal: unable to access 'https://github.com/ADLINK/sema-linux-bmc.git/': server certificate verification failed. CAfile: none CRLfile: none
```

Solution: Incorrect system time also causes SSL failures. Connect to ethernet and execute the following command to update date and time.

```txt
$ sudo timedatectl set-ntp true
```

# 6. Initialization Failed Error:

Platform: Ubuntu 20.04 [Kernel 5.15.0-139]

Error Details: “Initialization Failed” while accessing Board name via semautil.

```shell
ledtknr21@ledtknr21-23450233:~/sema-linux-bmc$ sudo ./semautil /i get_bd_info 2
Initialization Failed
ledtknr21@ledtknr21-23450233:~/sema-linux-bmc$ sudo ./semautil /i get_bd_info 3
Initialization Failed
```

Solution: Ensure the module for the functionality is loaded using the “lsmod” command.

```txt
$ sudo lsmod | grep adl
```
[🔗 Link to the original document](.sema-installation-guide/sema-installation-guide.pdf)
