Problem Summary
I’m trying to implement file transfers between a host and BlueField-2 DPU using DOCA’s DMA capabilities over PCIe, but encountering permission issues. The host application fails to find any DOCA device with DMA capabilities.
Setup
- Hardware: BlueField-2 DPU (MT42822)
- Software: DOCA 2.2.0080
- Drivers: vfio-pci on host for the DMA controller
#Error Messages
Copy
[INFO]: Searching for DOCA device with DMA capabilities
[WARNING]: Matching device not found
[ERROR]: Failed to find any DOCA device with DMA capabilities
System logs show:
traps: doca_dma_file_t[xxxxx] general protection fault in libdoca_common.so.2.2.0080
Root Cause Identified
The VFIO container for the DMA controller is only accessible by root:
/vfio/crw------- 1 root root 243, 0 Feb 10 15:58 68
I’m in a university environment where I cannot use sudo on the host, which is preventing access to the DMA device.
Verified Information
- DMA controller is at PCI address
c4:00.2
on host - BlueField network controller is at
03:00.0
on DPU - DMA controller is using the
vfio-pci
driver as required - Connection between host and DPU is established but fails at DMA initialization
- Can DOCA DMA work without root permissions?
- Are there alternative access methods that don’t require VFIO?
- Are there environment variables or settings to help with permission issues?
- What’s the recommended approach for BlueField DPUs in environments with restricted sudo access?
Any insights would be greatly appreciated!