USRP Software Radio

cancel
Showing results for 
Search instead for 
Did you mean: 

DPDK installation

Hi,

 

I am working with USRP X440 and I am trying to enable DPDK. I have some problems with the installation process.

 

I have done the command:

sudo apt install dpdk dpdk-dev

 I am installing dpdk 23.11 and use Mellanox ConnectX5, do I still need to ran

CONFIG_RTE_BUILD_SHARED_LIB=y
CONFIG_RTE_LIBRTE_MLX5_PMD=y

If I have to, where can I configure this?

 

Also, to perform NIC configuration, where can I find the UHD configuration file? Why I do not find it in /etc/uhd/uhd.conf.

 

I ran a GNU Radio program with arguments use_dpdk=1, but get this error:

BIXUT_0-1733239462641.png

Is it because the NIC configuration or other settings?

 

Thank you very much.

0 Kudos
Message 1 of 9
(940 Views)

Hello,

I have the same question. Were you able to find a solution? Thank you.

0 Kudos
Message 2 of 9
(671 Views)

Hi

What distribution are you using?

What is the content of your uhd.conf file?

0 Kudos
Message 3 of 9
(640 Views)

Hello,

Thank you for your response.

I am not sure what do you mean by distribution but I use DPDK_23.11,  UHD_4.8.0.0 and X310.

I set the uhd.config based on: https://kb.ettus.com/Getting_Started_with_DPDK_and_UHD

 

[use_dpdk=1]
dpdk_mtu=9000
dpdk_driver=/usr/lib/x86_64-linux-gnu/dpdk/pmds-20.0/
dpdk_corelist=2,3
dpdk_num_mbufs=4096
dpdk_num_desc=4096
dpdk_mbuf_cache_size=315

[dpdk_mac=98:b7:85:1e:b8:4e]
dpdk_lcore=3
dpdk_ipv4=192.168.30.2


(I am not sure how many cores should I define. I did one lcore for one port. Does the numbers for corelist matter?)

I have successfully binded my NIC (Intel X550) port to vfio-pci, and I have set hugepages. I also enabled dpdk while running cmake. Still, uhd_find_device or any other code (e.g. benchmark_rate) do not find the device. It works perfectly with a kernel-based Ethernet port with IP 192.168.30.2.

0 Kudos
Message 4 of 9
(625 Views)

Hi !


By "distribution" I meant a Linux distribution. Ubuntu, Fedora, etc.
But I now understand the problem.

The path of dpdk_driver in uhd.conf is incorrect.


The correct path is probably the following:
dpdk_driver=/usr/lib/x86_64-linux-gnu/dpdk/pmds-23.11/

 

Specify an existing path for this dpdk_driver.
In my environment, pmds-22.0 is installed. I confirmed it as follows:

 

$ ls -al /usr/lib/x86_64-linux-gnu/dpdk/
total 160
drwxr-xr-x 3 root root 4096 May 9 20:05 .
drwxr-xr-x 110 root root 135168 May 12 18:20 ..
drwxr-xr-x 2 root root 20480 May 9 20:05 pmds-22.0

 

Next, specify the number of Ethernet ports to be used + 1 in dpdk_corelist.

The first core is used by the DPDK system itself. The subsequent core numbers are used by the Ethernet ports.

 

So your specification is correct.

 

The DPDK system uses core2, and dpdk_mac=98:b7:85:1e:b8:4e uses core3.

 

Thank you.

0 Kudos
Message 5 of 9
(606 Views)

Thank you.

That was really helpful.

I modified the uhd.config file; however, I still have the same problem. I use Ubuntu 24.04.

0 Kudos
Message 6 of 9
(593 Views)

Hi

Please paste your console output error  message.

 

0 Kudos
Message 7 of 9
(587 Views)

Thank you.

ShayAbby_0-1747256304782.png

 

As an additional info, I must say,

uhd_config_info | grep ENABLE_DPDK

does not return anything.

0 Kudos
Message 8 of 9
(571 Views)

Hi

First of all, You should found a USRP X310. 

You can read the document as follows.

 

https://kb.ettus.com/Troubleshooting_X300/X310_Device_Discovery_Issues

0 Kudos
Message 9 of 9
(561 Views)