In this scenario, the SmartNIC is still detected by the PCI interface - which can be confirmed by the lspci command, however all other functionality seems to have been lost.
lspci -d 19ee: 02:00.0 Ethernet controller: Netronome Systems, Inc. Device 4000
The SmartNIC might appear unresponsive if the BSP (Board Support Package) version flashed on the SmartNIC itself is outdated, in which case, the following dmesg command will return nothing:
dmesg | grep BSP
If the BSP software running on the SmartNIC is relatively recent, the output should appear in the form of:
dmesg | grep BSP [...] nfp 0000:02:00.0: BSP: 020028.020028.02007d
Another reason for an unresponsive SmartNIC could be that the BSP on the SmartNIC has entered a bad state, which could persist even after a physical power cycle. An example of this behavior is shown below:
dmesg | grep nfp [...] nfp: NFP PCIe Driver, Copyright (C) 2014-2017 Netronome Systems [...] nfp 0000:02:00.0: Netronome Flow Processor NFP4000/NFP6000 PCIe Card Probe [...] nfp 0000:02:00.0: RESERVED BARs: 0.0: General/MSI-X SRAM, 0.1: PCIe XPB/MSI-X PBA, 0.4: Explicit0, 0.5: Explicit1, free: 20/24 [...] nfp 0000:02:00.0: Model: 0x40010010, SN: 00:15:4d:13:05:e9, Ifc: 0x10ff [...] nfp 0000:02:00.0: Assembly: SMCAMDA0081-000117050034-18 CPLD: 0x2020001 [...] nfp 0000:02:00.0: nfp: waiting for NFP resource nfp.sp [...] nfp 0000:02:00.0: nfp: waiting for NFP resource nfp.sp [...] nfp 0000:02:00.0: nfp: waiting for NFP resource nfp.sp [...] nfp 0000:02:00.0: nfp: timeout waiting for resource nfp.sp [...] nfp: probe of 0000:02:00.0 failed with error -110
In both cases, the solution could be to flash the SmartNIC with the latest BSP version. The normal flashing methods either consist of using the ethtool utility, or the BSP userspace tools (refers to the toolkit binaries located on the host, not the BSP software running on the SmartNIC). More information about these methods can be found at:
However, if the BSP on the SmartNIC has entered a bad state, the host will be unable to get Command Push/Pull (CPP) access - which then renders the normal flashing methods unusable. In this case, please contact us at email@example.com for further assistance, or file a ticket here.