[SOLVED] 10GBE Nic Passthrough to OSX VM Doesnt Work, Windows10 VM Works??


Recommended Posts

Hello Everyone,

 

Im trying to pass-through a Sonnet 10GBE nic to the 2nd vm (OSX) i have on the server. The device is RESETABLE, and i have it Stubed-OUT in the unraid flash config file.

 

My windows 10 vm boots up just fine with it and i got the driver installed and it works. however i can't get it to work from OSX. It keeps saying i need to include a rom file. But its not a GPU why would it want a rom file. Any thoughts?

Server Error:

Jan 29 03:26:42 Tower kernel: vfio-pci 0000:b3:00.0: Invalid PCI ROM header signature: expecting 0xaa55, got 0x397c
2019-01-29 11:26:35.724+0000: Domain id=5 is tainted: high-privileges
2019-01-29 11:26:35.724+0000: Domain id=5 is tainted: custom-argv
2019-01-29 11:26:35.724+0000: Domain id=5 is tainted: host-cpu
char device redirected to /dev/pts/0 (label charserial0)
2019-01-29T11:26:42.993133Z qemu-system-x86_64: vfio-pci: Cannot read device rom at 0000:b3:00.0
Device option ROM contents are probably invalid (check dmesg).
Skip option ROM probe with rombar=0, or load from file with romfile=
2019-01-29T11:27:10.976748Z qemu-system-x86_64: terminating on signal 15 from pid 12168 (/usr/sbin/libvirtd)
2019-01-29 11:27:12.778+0000: shutting down, reason=destroyed

 

VM XML OSX That Fails: Exact same code is in Windows 10 XML and it works.

   <hostdev mode='subsystem' type='pci' managed='yes'>
      <driver name='vfio'/>
      <source>
        <address domain='0x0000' bus='0xb3' slot='0x00' function='0x0'/>
      </source>
      <address type='pci' domain='0x0000' bus='0x08' slot='0x00' function='0x0'/>
    </hostdev>

 

Link to comment

Well here's the thing, if the PCI device you are passing through to OS X isn't supported by OS X (drivers-wise), then it's probably not going to work regardless of what errors you see at the KVM/QEMU level.  That said, I believe OS X VMs require Q35 as the machine type, which may also have something to do with the error you're getting.  Unfortunately there isn't much we can do to support your configuration.  Maybe someone else in the community has gotten this to work and can provide some guidance...

Link to comment

Dont you have proper Sonnet drivers for your card ?
Sonnet makes a lot of stuff for mac so check it out as you do need a driver to get it working.

I have intel cards and flashed the bios so they work with smalltree drivers plus a small patch using clover (see tonymac for threads on that).
So depending on the original brand (if its just a rebranded intel ard) of your card that may also be a way to go.

  • Like 1
Link to comment
9 hours ago, glennv said:

Dont you have proper Sonnet drivers for your card ?
Sonnet makes a lot of stuff for mac so check it out as you do need a driver to get it working.

I have intel cards and flashed the bios so they work with smalltree drivers plus a small patch using clover (see tonymac for threads on that).
So depending on the original brand (if its just a rebranded intel ard) of your card that may also be a way to go.


Thanks, ill check tonnymac, the reason i bought this sonnet solo 10gbe is because they say out of the box osx support.

Link to comment
26 minutes ago, alfredo_2020 said:

Thanks, ill check tonnymac, the reason i bought this sonnet solo 10gbe is because they say out of the box osx support.

The tonnymac site says this card should work out of the box with out any kext or other changes in clover. My thing is that i dont even see the clover boot screen, it gets stuck at the tonao logo. and throughs those errors i mentioned above. I used to have a ASUS 10gbe card that it boot with it, but the macOS wouldnt recognize the card. After a while it stopped booting with that card so i had to remove that card from the xml to get macOS to boot. I will try to recreate a new XML instance maybe the nvram is corrupted.

Link to comment
4 hours ago, 1812 said:

Try doing what it suggests by adding :rombar=0

I will do this if the issue comes up again. But i was able to get it to work by re-creating a new VM, maybe the NVRAM file somehow got all jumbled up with the ASUS 10gbe i was trying to use before. But macOS recognized the device this time no problem and of course i got pased the Tiano Core screen and into Clover etc.

 

So i will mark this as solved, the fix was to rebuild the VM image. I didnt have to do a fresh install i used the nvme drive with the OS i was passing through, just recreated the XML file from scratch, thus generating a new NVRAM file.

 

Im getting decent speeds 750MB/s write to a cache only SSD. Im surprise cause i have it as RAID 1 was expecting around 450MB/s. ANd read im only getting 417MB/s but that is also expected since im reading from cache with 2 Sata3 SSDs in RAID 1. So far im happy with these results. I did turn jumbo frames on in macOS, i might do that in unraid network preferences and see if that helps.

Edited by alfredo_2020
Link to comment
  • alfredo_2020 changed the title to [SOLVED] 10GBE Nic Passthrough to OSX VM Doesnt Work, Windows10 VM Works??

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.