Mellanox ConnectX-3 SR-IOV Not working in WIn 10. EDIT: Problem is the driver. Help me compile driver from source?

Hey guys, I need some help troubleshooting this.

I have an Arch Linux host:
TR 2920x
ASRock X399 Taichi
I have IOMMU and SR-IOV enabled in the BIOS.

I have some old firmware of the Mellanox ConnectX-3 EN (XCAT) SFP+ Single Port ethernet adapter (2.40.5030) because that was the only one I found that I could enable SR-IOV before burning it to the card. I could not access the config on the card using any of the Mellanox tools, that is why I needed to set up SR-IOV in the config before flashing.

On the WIn 10 guest I have the Mellanox WinOF driver installed.

I have passed through one VF (out of two) to the Win 10 guest.
The card shows up on Device Manager but I get a Code 43 error.

How can I troubleshoot this?


See if it works in a Linux VM?

Yes it works in an Ubuntu 16.04 VM, forgot to include that.

Try an old version of WinOF? Maybe newer drivers need a newer firmware?

Tried the driver version that is verified compatible with this FW, same problem.

I was also masking the VM portion so I would not get code 43 errors from NVIDIA but now I patched the NVIDIA driver and removed the mask. Still no luck

Edit: Do I need to bind the VF to vfio?

You could try vfio binding.

At this point I am not sure what to do next.

Tried in Ubuntu 16.04 with MLNX_EN v4.5- and everything worked perfectly.

My problem is the old v4.0-0 Inbox driver.

Trying to compile the new v4.5 driver for Arch without any luck.

Anyone interested in helping out?

Out of curiosity have you made any progress with compiling drivers? Currently having the same issue on my unraid server and while I don’t need to use the VF on my mellanox nic my main desktop is a windowsvVM running on said system so any performance increase is welcomed.

Thread closed as it was outside the guidelines for thread revival. Please PM me or another moderator if you feel the thread was closed in error. See the FAQ for more information.

Feel free to create a new thread if you wish to continue this thread’s conversation.