FORUM CTRLX AUTOMATION
ctrlX World Partner Apps for ctrlX AUTOMATION
02-11-2021 11:31 AM
Hello,
I'm trying to communicate with a basler camera through their pylon driver over ethernet.
When I login over ssh, I can successfully ping the camera. But when I start my application, it throws an exception (Failed to create embedded nodemap).
Looking through the logbook, I saw that apparmor denied the operation "mknod"
Installing the application (after compiling it for amd64) with --devmode on my computer, everything works fine. But without --devmode I receive the same exception.
I tried to add different plugs to my snapcraft.yml (block-devices, classic-support, etc.) but I still receive the same errors.
Are there any additional plugs or settings I can use, to enable the driver to setup a connection to the camera?
Best Regards
Alexander Stepanov
Solved! Go to Solution.
02-11-2021 12:05 PM
Did you install your snap on the ctrlX CORE also in devmode?
mknod seems to try to add folders and files to system to did you add the system-files plug?
For the plug and slot mechanism there are useful information in the docs of snapcraft.io.
02-12-2021 11:27 AM
Thank you for the hint! I was also in contact with the support from Basler and I was missing the environment variable "GENICAM_CACHE_V3_1", which points to a directory, where the pylon library can temporarily store xml files containing camera informations. The default location is write protected, thus it was blocked by AppArmor.
Pointing the environemnt variable to $TMP solved my problem.
snapcraft.yaml
...
apps:
baslercam:
command: connectcamera
plugs: [...]
environment:
GENICAM_CACHE_V3_1: $TMP
...