RapidSetupX - Unable to create controller & generate ENI

Ubuntu 24.04.3 LTS & RMP 11.0.0

Hi community,

In RapidSetupX after connecting to the rapidserver, I’m unable to create a controller most of the time as it throws an error stating a shared memory error in Linux x64: Failed to open RSI.RMP_MEMORY as shown below:

Note: -The serial number shows up sometimes and sometimes disappear in RapidSetupX but able to detect using sudo rsiconfig - -get-serial - -verbose

[16:43:54.629] [DBG] Starting RapidSetupX desktop app.
[16:43:55.847] [DBG] Configuration file 'RapidSetupX.json' loaded.
[16:43:56.055] [INF] RapidSetupX 11.0.0 started.
[16:44:00.443] [INF] The user connected to RapidServer 11.0.0 (127.0.1.1:50061) (hp-Precision-3650-Tower) in 0.165 seconds.
[16:44:19.765] [ERR] Linux x64: shared memory error :: {platformOS.c, line 172}  :  Failed to open RSI.RMP_MEMORY: No such file or directory (Error 5125) (MotionController::InitControl) (Object 0) (File motioncontroller.cpp) (Line 444) (Version 11.0.0.0)
[16:44:19.770] [ERR] MotionController has not been created. You must call MotionControllerService Create() before using any RapidCode services.

When it does manage to create a controller and discover the nodes, I’m unable to generate an eni file as it states that the relevant ESI files is missing even though it has already been included in /rsi/ESI folder

  • Tried generating ENI using rsiconfig but to no avail
  • Also tried deleting ESICache.xml after adding the ESI file and re-generating for this as suggested in the error message but to no avail as per the error message below:

Note: - The ESI file has been tested and used in Windows RMP without issues

[14:00:23.265] Failed to generate ENI file. With result ({“result”: “RSINetworkEniResultUNKNOWN_FAILURE”, “output”: "Probing network… \nmpiPlatformOSProcessStart failed to call execv in fork: Operation not permitted\nNetwork probe exception: Timed out waiting for network to start. (Error 1000000022) (MotionController::NetworkStart) (Object 0) (File motioncontroller.cpp)

No ESI entry found in ESI cache for EtherCAT slave 1001 with Vendor Id 360 Product Code 13 Revision 1(detected by bus scan). Please update ESI and rebuild the ESI cache\nMissing 1 ESI files.\nMissing a required ESI file. Please place the appropriate file in the ESI folder and delete ESICache.xml\n"}).

May I know is this due to pointer issues with my installation of RapidSetupX where the folder path and dependencies are messed up?

  • Extracted RapidSetupX installation.zip in \rsi folder
  • Also tried with extracting RapidSetupX installation.zip in Downloads folder

Your help and feedback is much appreciated. Thank you!

Hi Gregory, thanks for the detailed report and logs. This is helpful.

Based on the symptoms (intermittent controller creation, execv ... Operation not permitted, and the shared-memory / ENI failures), the first thing I’d like to rule out is an incomplete or inconsistent installation.

  1. Re-check / re-install RMP

Please re-run the install flow and make sure it completes without any dependency or post-install errors:

# From the folder containing the .deb
sudo dpkg -i ./rmp_11.0.0_amd64.deb

# Fix up any missing dependencies
sudo apt-get update
sudo apt-get install -f

Then verify the package is installed and passes integrity checks:

sudo dpkg -l | grep -E '^ii\s+rmp\b'
sudo apt-cache policy rmp
sudo dpkg -V rmp

If any of those commands report errors (especially dpkg -V), please paste the output.
Also confirm that you are using the correct amd64 package for your system:

dpkg --print-architecture
uname -m
  1. RapidSetupX install location

Extracting RapidSetupX into /rsi is not recommended. /rsi is root-owned and intended only for the RMP runtime components. Please extract RapidSetupX into a normal user directory (for example ~/Downloads or ~/Desktop) and run it from there.

  1. If it still fails, collect diagnostics

If the issue persists after confirming the install is clean, please run the commands below and paste the full output. These focus on the execv ... Operation not permitted failure, which usually means the OS is blocking execution of /rsi/rmp or /rsi/rmpnetwork (for example due to noexec, permissions/capabilities, AppArmor, etc.). The shared-memory error is typically a downstream symptom when that launch fails.

uname -a
cat /proc/cmdline

mount | grep -E ' /rsi |noexec|nosuid'

ls -l /rsi/rmp /rsi/rmpnetwork /rsi/rapidserver
getcap /rsi/rmp /rsi/rmpnetwork /rsi/rapidserver
namei -l /rsi/rmp /rsi/rmpnetwork /rsi/rapidserver
lsattr /rsi/rmp /rsi/rmpnetwork /rsi/rapidserver
file /rsi/rmp /rsi/rmpnetwork /rsi/rapidserver
ldd /rsi/rmp /rsi/rmpnetwork /rsi/rapidserver

sudo systemctl status rapidserver
sudo journalctl -u rapidserver -b --no-pager
sudo journalctl -u rapidserver -n 300 --no-pager

ps -ef | grep -E 'rapidserver|rmp|rmpnetwork'

sudo aa-status 2>/dev/null || true
sudo sestatus 2>/dev/null || true
  1. RMP evaluation tool

You can also run our RMP evaluation tool:

It checks system configuration relevant to real-time performance (scheduler, limits, kernel settings) and may provide additional context if this turns out to be system-related rather than an install issue.

Let me know how it goes, and we’ll proceed from there.

Hi Lucas,

Sorry for the late update. It seems like AppArmor was restricting permissions for RMP which was causing the operation not permitted error to occur during controller creation.

As for the ENI generation failing, it seems like I have multiple versions (older and newer) of ESI file for the same driver which was causing the error stating that the ESI file cannot be found to be prompted. Removing either one allows for ENI generation in RapidSetupX Linux and also using rsiconfig -eni.

We’re able to run RMP in Linux with no problem. Thank you for the feedback and detailed explanation. Much appreciated!

1 Like