Closed simonschmeisser closed 2 days ago
There usually is a logfile (depending on trace level set on driver init) which shows more detailed information about what is failing.
I assume it's rewriting the PCI configuration space, which is required after resetting the device, as it "forgets" it's PCI configuration data. This is done using the pciaccess library which rewrites this data via sysfs (which is usually mounted read-only inside a container)
libcifx (Toolkit) needs to run as 'root' or with a user that has the following rights:
Running as root means privileged mode, when using a container.
You will either need to make sure that pciaccess library is able to restore configuration data (write access to /sys/class/uio/uio
Another unofficial possibility would be to try the patch attached to https://ticket.hilscher.com/projects/NXDRVLINUX/issues/NXDRVLINUX-142 which get's rid of pciaccess library and provides an updated uio_netx that provides a sysfs file (/sys/class/uio/uio0/device/pcicfg) for rewriting configuration space. But this has neither been intensively tested, nor is officially supported
One of our customers wants to run our software in a docker container. I tried exposing /dev/uio0 to the docker container but fail to open the device from inside.
Has this been tried before? Any hints? The customer would prefer not to use a privileged container.