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?
Solved! Go to Solution.
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 ...