MLNX5 NIC: testpmd: No probed ethernet devices

Hi,

I am using two of the following Mellanox cards in a single system:


$ sudo mlxfwmanager --query --online -d /dev/mst/mt4119_pciconf0

Querying Mellanox devices firmware …

Device #1:


Device Type: ConnectX5

Part Number: MCX556A-ECA_Ax

Description: ConnectX-5 VPI adapter card; EDR IB (100Gb/s) and 100GbE; dual-port QSFP28; PCIe3.0 x16; tall bracket; ROHS R6

PSID: MT_0000000008

PCI Device Name: /dev/mst/mt4119_pciconf0

Base MAC: 506b4b27b97a

Versions: Current Available

FW 16.26.1040 16.26.1040

PXE 3.5.0803 3.5.0803

UEFI 14.19.0014 14.19.0014

Status: Up to date


And it seems like the system is setup correctly:


$ sudo mst status -v

MST modules:


MST PCI module is not loaded

MST PCI configuration module loaded

PCI devices:


DEVICE_TYPE MST PCI RDMA NET NUMA

ConnectX5(rev:0) /dev/mst/mt4119_pciconf1.1 02:00.1 mlx5_3 net-enp2s0f1 -1

ConnectX5(rev:0) /dev/mst/mt4119_pciconf1 02:00.0 mlx5_2 net-enp2s0f0 -1

ConnectX5(rev:0) /dev/mst/mt4119_pciconf0.1 01:00.1 mlx5_1 net-enp1s0f1 -1

ConnectX5(rev:0) /dev/mst/mt4119_pciconf0 01:00.0 mlx5_0 net-enp1s0f0 -1


I have opted to install the rdma-core package which includes libibverbs and libmlx5, instead of MLNX_OFED. Also the necessary kernel modules are loaded:


$ lsmod | grep mlx

mlx5_ib 348160 0

ib_uverbs 151552 1 mlx5_ib

ib_core 360448 2 ib_uverbs,mlx5_ib

mlx5_core 1093632 1 mlx5_ib

tls 77824 1 mlx5_core

mlxfw 28672 1 mlx5_core

pci_hyperv_intf 16384 1 mlx5_core


The following shows that the correct driver is begin used for Mellanox cards:


$ sudo ./dpdk-devbind.py -s

Network devices using kernel driver

===================================

0000:00:19.0 ‘82579V Gigabit Network Connection 1503’ if=eno1 drv=e1000e unused=

0000:01:00.0 ‘MT27800 Family [ConnectX-5] 1017’ if=enp1s0f0 drv=mlx5_core unused=

0000:01:00.1 ‘MT27800 Family [ConnectX-5] 1017’ if=enp1s0f1 drv=mlx5_core unused=

0000:02:00.0 ‘MT27800 Family [ConnectX-5] 1017’ if=enp2s0f0 drv=mlx5_core unused=

0000:02:00.1 ‘MT27800 Family [ConnectX-5] 1017’ if=enp2s0f1 drv=mlx5_core unused=

0000:04:00.0 ‘Ethernet Controller 10-Gigabit X540-AT2 1528’ if=enp4s0 drv=ixgbe unused= Active

0000:0b:00.0 ‘82574L Gigabit Network Connection 10d3’ if=enp11s0 drv=e1000e unused= Active


But when I use testpmd application, I get the following error:


$ sudo testpmd -l 0-3 -n 4 -w 01:00.0 -w 01:00.1 -w 02:00.0 -w 02:00.1 – -i

EAL: Detected 4 lcore(s)

EAL: Detected 1 NUMA nodes

EAL: Multi-process socket /var/run/dpdk/rte/mp_socket

EAL: Selected IOVA mode ‘VA’

EAL: Probing VFIO support…

testpmd: No probed ethernet devices

Interactive-mode selected

testpmd: create a new mbuf pool <mbuf_pool_socket_0>: n=171456, size=2176, socket=0

testpmd: preferred mempool ops selected: ring_mp_mc

Done

testpmd>


I have followed the MLX5 poll mode driver guide (http://doc.dpdk.org/guides/nics/mlx5.html) very closely, but to no avail. Can you please help me understand what I’m doing wrong?

Hi,

There’s no need to use the dpdk-devbind.py script to bind dpdk to mellanox device.

Please don’t use it.

Marc

Hi Marc,

Thank you for the reply. I am only using dpdk-devbind.py to confirm that mlx5_core is the driver in use for my Mellanox cards; I am not binding any other drivers to them.

What else do you believe could cause this issue?

Thanks,

Amir

Hi,

Are you sure you started the driver ?

The modules are correctly loaded ?

The lspci shows the devices correctly ?

DPDK has been built with the PMD driver , mlx4 / mlx5 ?

If all the above are ok, and you have a support contract, please a case at support@mellanox.com

Thanks

Marc

Hi again,

It seems that your build of DPDK was not ended correctly if it doesn’t identify any devices.

Please rebuild it

make config T=x86_64-native-linuxapp-gcc

make

make install T=x86_64-native-linuxapp-gcc

And your mofed was installed with --dpdk --upstream-libs flags.

Thanks

Marc

Hi,

Before rebuilding, enable the MLX4 or MLX5 PMD in your config file config/common_base

CONFIG_RTE_LIBRTE_MLX4_PMD=y

or/and

CONFIG_RTE_LIBRTE_MLX5_PMD=y

Marc

​Hi,

I have the same problem.

Installed the mellanox driver and dpdk just accorrding to the guide.

It always says that “No probed ethernet devices”

I copied the librte_pmd_mlx5_glue.so.19.08.0 file to /usr/local/lib, then it works.

Hi,

Where is the librte_pmd_mlx5_glue.so.19.08.0 file?

Hi,

How do you fix this problem?