[dpdk-users] Firmware assertion fails with BCM57840 card

Justas Poderys juspo at fotonik.dtu.dk
Tue May 9 15:00:13 CEST 2017

TL DR: Solved by downloading bnx2x-e2- and bnx2x-e1h- from https://github.com/cernekee/linux-firmware/tree/master/bnx2x
And placing in /lib/firmware/bnx2x

Long story:

Recompiling drivers and running with --log-level 10 gave indication where the problem was:

juspo at TOR1CN:~/dpdk-stable-16.11.1$ sudo -E ./x86_64-native-linuxapp-gcc/app/testpmd --log-level 10
PMD: bnx2x_load_firmware(): Can't open firmware file

Looking at drivers/net/bnx2x/bnx2x.c:

#define FW_NAME_57711 "/lib/firmware/bnx2x/bnx2x-e1h-"
#define FW_NAME_57810 "/lib/firmware/bnx2x/bnx2x-e2-"

void bnx2x_load_firmware(struct bnx2x_softc *sc)
        fwname = sc->devinfo.device_id == CHIP_NUM_57711
                ? FW_NAME_57711 : FW_NAME_57810;
        f = open(fwname, O_RDONLY);
        if (f < 0) {
                PMD_DRV_LOG(NOTICE, "Can't open firmware file");

Seems that driver is looking for a file that is not there. Ubuntu 16.04.02 comes with:

juspo at TOR1CN:~/dpdk-stable-16.11.1$ ls /lib/firmware/bnx2x/
bnx2x-e1-  bnx2x-e1h-  bnx2x-e2-
bnx2x-e1-   bnx2x-e1h-   bnx2x-e2- 

Downloading missing firmware files from https://github.com/cernekee/linux-firmware/tree/master/bnx2x
Made dpdk work.


Message: 6
Date: Tue, 9 May 2017 08:42:39 +0000
From: Justas Poderys <juspo at fotonik.dtu.dk>
To: "'users at dpdk.org'" <users at dpdk.org>
Subject: [dpdk-users] Firmware assertion fails with BCM57840 card
	<1356E4AEBC79BC4AA3EC88F25DE412341230A3D8 at ait-pex01mbx02.win.dtu.dk>
Content-Type: text/plain; charset="us-ascii"

Hello all,

I am trying to setup dpdk on a server with BCM57840 card, however I cannot get testpmd to run due to the assertion failure:

juspo at TOR1CN:~/dpdk-stable-16.11.1$ sudo -E ./x86_64-native-linuxapp-gcc/app/testpmd -c 0xf -n 4 -- -i
EAL: Detected 24 lcore(s)
EAL: No free hugepages reported in hugepages-1048576kB
EAL: Probing VFIO support...
EAL: VFIO support initialized
EAL: PCI device 0000:15:00.0 on NUMA socket -1
EAL:   probe driver: 14e4:16a1 net_bnx2x
testpmd: /home/juspo/dpdk-stable-16.11.1/drivers/net/bnx2x/bnx2x_ethdev.c:556: bnx2x_common_dev_init: Assertion `sc->firmware' failed.
Aborted (core dumped)

Details of my system:

juspo at TOR1CN:~/dpdk-stable-16.11.1$ sudo -E ~/dpdk-stable-16.11.1/tools/dpdk-devbind.py --status

Network devices using DPDK-compatible driver ============================================
0000:15:00.0 'BCM57840 NetXtreme II 10 Gigabit Ethernet' drv=igb_uio unused=bnx2x,vfio-pci
0000:15:00.1 'BCM57840 NetXtreme II 10 Gigabit Ethernet' drv=igb_uio unused=bnx2x,vfio-pci

I was following the guide available at http://www.dpdk.org/doc/guides/nics/bnx2x.html when trying to setup the system.

Thanks for any help.



More information about the users mailing list