How to install on Linux

Supported Hardware

  • cExpress-TL , cExpress-EL, cExpress-AR
  • Express-ID7, Express-ADP, Express-TL
  • COM-HPC-cADP, COM-HPC-sIDH
  • LEC-EL
  • nanoX-EL

Ubuntu Linux

1. Install build-essential packages and download and compile sema source code by executing the following commands in sequence:
$ sudo apt install build-essential git hexer i2c-tools
$ git clone https://github.com/ADLINK/sema-linux.git -b sema-ec
$ cd sema-linux
$ sudo make
$ sudo make install
2. When finished, please type the following command to load all drivers:
$ sudo modprobe -a adl-ec adl-ec-boardinfo adl-ec-vm adl-ec-wdt adl-ec-hwmon adl-ec-nvmem adl-ec-bklight adl-ec-i2c adl-ec-gpio adl-ec-nvmem-sec
Note: The installed files will be saved to the following paths
File Description
libsema.so EAPI Library is located under /usr/lib/
semautil SEMA Command Line utility is located under /usr/bin/

Supported Hardware

  • Express-CF/CFE, Express-KL/KLE, Express-SL/SLE, Express-DN7, Express-BD7
  • cExpress-WL, cExpress-KL, cExpress-SL, cExpress-AL
  • nanoX-AL
  • LEC-AL
  • Q7-AL
  • LEC-PX30

Ubuntu Linux

1. Prior to installing sema, inhibit i2c-i801 driver to be loaded automatically by doing the following:
$ sudo vim /etc/modprobe.d/blacklist.conf
2. uncomment blacklist i2c_i801, as exemplified below image-20220830142447629 3. Enter the command to make it affect
$ sudo update-initramfs -u
4. Reboot your system
$ sudo reboot
5. Install build-essential packages and download and compile sema source code by executing the following commands in sequence:
$ sudo apt install build-essential git hexer i2c-tools
$ git clone https://github.com/ADLINK/sema-linux.git -b sema-bmc
$ cd sema-linux
$ sudo make
$ sudo make install
6. When finished, please type the following command to load all drivers:
$ 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
Note: The installed files will be saved to the following paths
File Description
libsema.so EAPI Library is located under /usr/lib/
semautil SEMA Command Line utility is located under /usr/bin/
7. After loading kernel driver, configure PCA95xx GPIO driver by executing the following command
$ echo pca9535 0x20 > /sys/bus/i2c/devices/i2c-12/new_device
Note: here i2c-12 is used, since SMBus is located at bus 12. `0x20` is GPIO device slave address. Please refer the below screenshot to know the i2c bus number and GPIO device address. imag2