My end goal is to read data from an Allied Vision 1800 U-158m using GStreamer. The system is running Ubuntu 18.04 on a RPi 4.
I succesfully build and installed Aravis and wanted to try out this pipeline:
gst-launch-1.0 aravissrc camera-name="Allied Vision-00394" ! fakesink
Which results in an access error:
ERROR: from element /GstPipeline:pipeline0/GstAravis:aravis0: Could not set caps on camera "Allied Vision-00394": USB3Vision write_memory error (write-protect)
So I went a step back and tried the arv-camera-test-0.8
, which unsurprisingly resulted in the same error:
arv-camera-test-0.8
Looking for the first available camera
Failed to read the current device configuration: USB3Vision read_memory error (access-denied)
Looking in the readme page I found the section about the USB permissions, and while copying the rules file I noticed there was already a /etc/udev/rules.d/99-VimbaUSBTL.rules
file from Vimba (Allied Vision’s own viewer), containing the following rules:
SUBSYSTEM=="usb", ACTION=="add", ATTRS{idVendor}=="1ab2", ATTRS{idProduct}=="0001", MODE="0666"
SUBSYSTEM=="usb", ACTION=="add", ATTRS{idVendor}=="1ab2", ATTRS{idProduct}=="ff01", MODE="0666"
(And I can confirm that using Vimba I can access the camera, get images and set settings)
I assume these rules should be sufficient for Aravis as well but to be honnest I don’t know enough about linux permission to know for sure, so I copied and adapted these rules to /etc/udev/rules.d/aravis.rules
as well so I looks like this:
# Basler
SUBSYSTEM=="usb", ATTRS{idVendor}=="2676", MODE:="0666", TAG+="uaccess", TAG+="udev-acl"
# The Imaging Source
SUBSYSTEM=="usb", ATTRS{idVendor}=="199e", MODE:="0666", TAG+="uaccess", TAG+="udev-acl"
# Point Grey Research
SUBSYSTEM=="usb", ATTRS{idVendor}=="1e10", MODE:="0666", TAG+="uaccess", TAG+="udev-acl"
# Daheng Imaging
SUBSYSTEM=="usb", ATTRS{idVendor}=="2ba2", MODE:="0666", TAG+="uaccess", TAG+="udev-acl"
# Dahua Technology
SUBSYSTEM=="usb", ATTRS{idVendor}=="2e03", MODE:="0666", TAG+="uaccess", TAG+="udev-acl"
# Allied Vision
SUBSYSTEM=="usb", ATTRS{idVendor}=="1ab2", MODE:="0666", TAG+="uaccess", TAG+="udev-acl"
Still without success.
Usb permission issues looks to be the obvious thing but at the same time Vimba can access the camera, so I don’t really know where to go from here.