This article explains how to resolve the error, Failed to Start Invoke Elo Service at System Startup when using the Linux touch driver
The "Failed to start Invoke Elo service at system startup" error is usually seen when the Elo service has not been scripted to run on bootup/startup. During the touch driver's installation, steps must be taken in order to invoke the Elo service at startup. Please refer to Step II and Step II in the installation instructions to install a script to invoke the Elo service at startup.
Step II: [Linux distributions with systemd init system]
--------
Install a script to invoke Elo service through systemd init at system startup.
Check if systemd init is being used in your Linux distribution and then proceed
with this installation step. If systemd init is not active, proceed with Step
III of the installation.
Check for active systemd init process.
# ps -eaf | grep [s]ystemd
# ps -eaf | grep init
# ls -l /sbin/init
If systemd init system is active, copy and enable the elo.service systemd
script to load the elo driver at startup. Proceed to Step IV of the
installation.
# cp /etc/opt/elo-mt-usb/elo.service /etc/systemd/system/
# systemctl enable elo.service
# systemctl status elo.service
Note:
----
From MTUSB v4.2, to run on VMWare machine, we need to use --vm option
edit file: /etc/opt/elo-mt-usb/loadEloMultiTouchUSB.sh
add --vm option: /etc/opt/elo-mt-usb/elomtusbd --mtdigitizer --vm
Step III: [Linux distributions with sysvinit or Upstart or older init system]
---------
Install a script to invoke Elo service on older init systems (non systemd) at
system startup.
Redhat, Fedora, Mandrake, Slackware, Mint, Debian and Ubuntu systems:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Add the following line at the end of daemon configuration script in
"/etc/rc.local" file.
[ rc.local file might also be at location /etc/rc.d/rc.local. Use the
"# find /etc -name rc.local" command to locate the rc.local file.]
/etc/opt/elo-mt-usb/loadEloMultiTouchUSB.sh
Update:
- For Ubuntu v18.04.x LTS or later, if there is no rc.local file, we need to
create it by following steps:
1. Create rc.local file under /etc folder, and enter following texts.
#!/bin/sh -e
/etc/opt/elo-mt-usb/loadEloMultiTouchUSB.sh
exit 0
2. Save the file
3. Change the file to execable mode by following command:
# chmod 755 rc.local
- For RedHat and its family OS,due to OS security permission setting, you can disable the SELinux by editing the /etc/selinux/config:
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of these three values:
# targeted - Targeted processes are protected
# minimum -Modification of targeted policy. Only selected processes are protected.
# mls - Multi Level Security protection.
SELINUXTYPE=targeted
SUSE Systems:
- - - - - - -
Add the following line at the end of the configuration script in
"/etc/init.d/boot.local" file.
/etc/opt/elo-mt-usb/loadEloMultiTouchUSB.sh
Please report any broken links by emailing support@elotouch.com and include a link to the knowledge article