Jump to content

Cannot get NIC to show when setting up a VM


partyx
Go to solution Solved by ghost82,

Recommended Posts

G'day Unraid Community!

 

I'm very new to servers / unraid so please excuse my ignorance!

 

I'm having trouble getting my NIC to display as an "Other PCI Devices" to allow passthrough when creating a freebsd VM - I'm trying to get the VM to host pfSense.

 

I'm following SpaceInvader One's guide on pfSense install on Unraid:

 

I'm using a Dell r730 server, I have enabled IOMMU within the BIOS. I have also checked that my Broadcom BCM5720 Gigabit Ethernet PCIe is compatible with freebsd.

 

I have no idea what I've done wrong - could anyone please help me out??

 

Please find below pictures to show my config, etc.

 

My Syslinux Config where I performed the ACS overide:

1818879525_syslinuxconfig.thumb.JPG.face432e8157967ac4768bd4341cb2e1.JPG

 

My IOMMU groups did look like this prior to the ACS overide:

943330616_iommu1.thumb.JPG.716b3f84cb7d33e624b5f14a0c3e3a02.JPG

 

Now what my IOMMU groups look like after the ACS overide:

1204889999_iommugroups.thumb.JPG.f6bdd68af682190e4cfa4db0d12ea147.JPG

 

My Network Settings:

1667709381_Networksettings1.thumb.JPG.3c581f834897a04877877f3729115e22.JPG

1024729550_Networksettings2.thumb.JPG.b9e4d7b679dbb6eb1cbe79713267b40d.JPG199251185_Networksettings3.thumb.JPG.d4bdfdc5cdd74d73794c7108e09227f3.JPG

 

The VM I'm trying to create:

VM1.thumb.JPG.6c56ddc45047541e891cb06a7bef183e.JPG

VM2.thumb.JPG.3ab2f56777eee24f86a39d7568b88d89.JPG

 

What I'm expecting to see from @SpaceInvaderOne video:
786396660_SPOVMScreenshot.thumb.JPG.a92611411c60af34d9667e282d74f562.JPG

 

Thanks guys!

Edited by partyx
Deleted extra screen shot
Link to comment
  • Solution

Syslinux config looks good to me, but I would set it to:

pcie_acs_override=downstream,multifunction

Reboot the server.

Go to your iommu groups through the unraid gui and see if you can put checkmarks on ehternet controllers that you want to passthrough, save and reboot the server.

Now go to your vm and see if something shows.

Note that you can't passthrough ethernet controllers that are in use by unraid (which seems the case, since you are setting in unraid eth0 -->eth3), boxes will show greyed out in iommu groups.

--

The above instructions may not work..

Be sure to have another device to attach the unraid usb in case something goes wrong and restore a backup

Not sure but you may need to set the config manually since all the controllers have the same vendor/device id.

1. backup the unraid usb, so to restore if something goes wrong

2. open config/vfio-pci.cfg with a text editor in the unraid usb stick

3. Add BIND=0000:01:00.1|14e4:165f 0000:02:00.0|14e4:165f 0000:02:00.1|14e4:165f

Note that I didn't write 01:00.0 which should be eth0, needed and reserved for unraid

 

Save and reboot, and your eth1-->eth3 (3 ports) should now be isolated, without loosing eth0 connectivity for unraid.

Edited by ghost82
Link to comment

So I left the pcie_acs_override=downstream,multifunction config in the syslinux.

 

I went to the config folder, there was no vfio-pci.cfg file so I manually created it.

 

In that file, I only have the following line written:

 

BIND=14e4:165f 0000:01:00.1|14e4:165f 0000:02:00.0|14e4:165f 0000:02:00.1

 

image_2022-12-16_095114869.thumb.png.ee3eb1d79eaed9ef54bbc970cb184a51.png

 

Other PCI Devices within the VM configuration screen, still shows "None available".

 

Link to comment

Ok so I misunderstood in my previous post...

I had to create a vfio-pci.cfg file via the terminal and within the file put:

 

BIND=14e4:165f 0000:01:00.1|14e4:165f 0000:02:00.0|14e4:165f 0000:02:00.1

 

After reboot, nothing has changed...

 

I double checked that the vfio-pci.cfg file is still within the config:

image_2022-12-16_121632284.thumb.png.a3a43cefd42bfaa29cb37b8d0d4d88c3.png

 

There is no button for vfio-pci within the tools: 

tools.thumb.JPG.5c56334e33c97a6fbb6d4a6ef2e2013d.JPG

 

It appears that the vfio-pci.cfg file isnt being read?

 

Cheers

Link to comment

Nica that it works now.

Just for completeness, before making it going I can see following errors:

8 hours ago, partyx said:

BIND=14e4:165f 0000:01:00.1|14e4:165f 0000:02:00.0|14e4:165f 0000:02:00.1

 

it's wrong, should be:

BIND=0000:01:00.1|14e4:165f 0000:02:00.0|14e4:165f 0000:02:00.1|14e4:165f

 

5 hours ago, partyx said:

image_2022-12-16_121632284.thumb.png.a3a43cefd42bfaa29cb37b8d0d4d88c3.png

 

Name of the file vfio.pci.cfg is wrong, should be vfio-pci.cfg

Link to comment

So after some testing with a mate, we found that only selecting the 2 interfaces on BUS 2 works, you just cannot get split the other BUS and have one interface work.

 

I proved this by creating another VM and just selecting 0000:01:00.1 - during pfSense booting up, it says not ethernet found and wont allow you to go any further with the configuration.

  • Like 1
Link to comment
11 minutes ago, partyx said:

we found that only selecting the 2 interfaces on BUS 2 works

Thanks for reporting. It can be quite tricky even to pass the controllers so consider yourself lucky to have 2 nics available in the vm.

It could be an issue with initialization for the driver, since you have 4 controllers, coupled 2 by 2 in a multifunction device; having one of the multifunction controller missing may cause issue for the driver or for the firmware.

 

So, having only one nic available for the vm (in your last screenshot) was probably due to the error in the vfio-pci.cfg:

BIND=14e4:165f 0000:01:00.1|14e4:165f 0000:02:00.0|14e4:165f 0000:02:00.1 

Most probably only the controller on 02:00.0 was available, but changing the sintax into vfio-pci.cfg made both available.

Link to comment
12 hours ago, ghost82 said:

If the vm is setup correctly for all the controllers passed it could be an issue with configuration (?).

I know @Ford Prefect is a sort of guru for network related things, maybe he knows what's wrong.

 

10 hours ago, partyx said:

So after some testing with a mate, we found that only selecting the 2 interfaces on BUS 2 works, you just cannot get split the other BUS and have one interface work.

 

I proved this by creating another VM and just selecting 0000:01:00.1 - during pfSense booting up, it says not ethernet found and wont allow you to go any further with the configuration.

...I only had a brief look into this thread....with pfsense/freebsd another issue I remember with NICs on passthrough not showing up in the OS, had something to do with the machine model and BIOS selected in the VM config.

What helped was to select a less advanced machine, like an i440fx-??? and Seabios instead of OVMF.

  • Like 1
Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...