Access via Docker

We are in the process of containerizing our development server and have a need to access the opal kelly device from the container. The container is CentOS 8 running on a CentOS 8 host. The driver (libokFrontPanel.so) loads fine so I don’t believe there is a dependency issue. A simple from the container

printf(“FrontPanel DLL loaded. Version: %s\n”, okFrontPanel_GetAPIVersionString());

results in:
FrontPanel DLL loaded. Version: 5.2.3
which confirms the library is loading and LD_LIBRARY_PATH is correct.

lsusb identifies the device:
Bus 001 Device 002: ID 151f:002c Opal Kelly Incorporated XEM6001

Identical result from inside the container. We have tried just about everything that we can think of but are unable to access the USB device. From the host a small demo app to prove that access is there runs without a problem. Same app in the container does not find any devices. Test line is

devices.GetCount()

We have tried volume mounting /dev and also /dev/bus/usb with and without --priviledged but nothing makes any difference. Granting priviledged should make everything accessible. The rules file is installed into udev on both host and container. We did see one example of needing to specify a new udev rule to allow access to USB devices but this was geared towards ttyUSB which does not exist as this is a raw usb item.

Could anyone offer any guidance on how to get FrontPanel access?

Thanks

This is probably not an issue with the FrontPanel library but rather some detail of how the container is setup and privilege is handled.

If you’d like us to get involved and help out, please send a request to [email protected] and we can provide options.

Done - I’ve submitted a support request. If and when a resolution is found, we will posit it here for future searches.

Was this ever resolved? I am attempting to do the same but I am not sure how to apply the udev rules in the container. Running an ubuntu container on a windows host with wsl.