There have been multiple reports of mlxconfig/mstconfig failing to query the configuration on ConnectX-3 cards. I myself have two MCX311A-XCAT cards flashed with FW 2.42.5000 / FlexBoot 3.4.752 that I cannot enable SR-IOV.
I have tried reflashing the FW, I tried FW 2.40.7000, I tried removing the FlexBoot rom, I tried resetting the configuration through mlxconfig/mstconfig. I also reflashed one card in livefish mode.
I have tried with MFT/mstflint versions 4.11, 4.8, 4.7 and MFT 4.5 with OFED and EN driver versions 4.5-1.0.1.0, 4.1-1.0.2 and 3.4-1.0.0.
I have tried with Centos 7.6, Fedora 29, Fedora 28, Ubuntu 16.04 and Windows 10 1803 and 1809 versions.
I cannot set SR-IOV in FlexBoot either as it spits out an ipxe permission denied error with an http link that is dead. This is also mentioned in one of the community threads above.
These are $200+ cards that supposedly support SR-IOV but we cannot enable it because your tools are not working or your firmware is corrupted. Please help.
Both of my two NICs that show this behaviour. Unfortunately I don’t have any other NICs to test, just these two.
The NICs work fine for accessing our network, our File shares etc etc. I had not tried to this point to change the configuration, a recent change in the setup led me to try and enable SR-IOV on one card and since that was not working I tried the second card but that did not work either. The cards are in separate servers, I just swapped them to try the other one. The servers do not have any other Mellanox or other party networking cards in them, just the onboard Ethernet controllers.
I did reboot the server after upgrading the FW. My procedure was as such:
Try to query the configuration with mlxconfig/mstconfig either using mst and /dev/mst/mt4099_pci_cr0 or _pciconf0 or through the pcie address ( 03:00.0, 000:03:00.0) etc and have that fail.
Flash the FW, either 2.42.5000 or 2.40.7000 with MFT (flint) or mstflint. I tried flashing through /dev/mst/mt4099_pci_cr0, /dev/mst/mt4099_pciconf0 or pci hardware address (e.g. 03:00.0). Process completes without errors, I also checksum the image on the flash with the image on the card to make sure.
Reboot server and again try to query the config as step 1 and have it fail again.
Reboot and reset the config with mlxconfig or mstconfig. Again I tried each time resetting either only pci_cr0, only pciconf0 or only 03:00.0 and as a last resort I tried resetting them all at the same time before rebooting.
Reboot, run checksum again on the image on the server and on the image on the card, same checksums.
Try to query the configuration, end up with the same error: -E- Failed to query device current configuration.
Again, the NICs work fine and perform as expected for browsing the network, Samba and CIFS file sharing, I just can’t access the configuration on the cards to enable SR-IOV and I have confirmed that it is disabled.