MacOS VM Drops USB PCIE after boot


Recommended Posts

Hey! Can you help me figure out why my USB PCIE connection drops when my MacOS VM boots?

 

1. Starting my High Sierra VM successfully with USB PCIE passthrough

2. Selecting boot drive successfully with keyboard attached to PCIE device.

3. MacOS boots, the keyboard and mouse gets disconnected.

 

What's going on here? The keyboard seems to work fine when selecting the boot drive but somehow gets disconnected upon boot...

 

Screenshot 2021-01-07 at 12.31.52.png

 

Screenshot 2021-01-07 at 12.32.24.png

Edited by cagemaster
Link to comment
  • 4 weeks later...
On 1/7/2021 at 12:30 PM, cagemaster said:

What's going on here? The keyboard seems to work fine when selecting the boot drive but somehow gets disconnected upon boot...

 

The fact that you can select the boot drive during the boot means that the passthrough works, but the bootloader is using its own drivers, not the mac os one.

Most probably your card isn't natively supported by mac os, maybe injecting some "xhci unsupported" kext will make the usb to work.

Link to comment
On 2/1/2021 at 4:37 PM, ghost82 said:

 

The fact that you can select the boot drive during the boot means that the passthrough works, but the bootloader is using its own drivers, not the mac os one.

Most probably your card isn't natively supported by mac os, maybe injecting some "xhci unsupported" kext will make the usb to work.

Can you explain a bit more how to do this? Thank you!

Link to comment
3 minutes ago, cagemaster said:

Can you explain a bit more how to do this? Thank you!

 

You can try this:

Go here:
https://github.com/RehabMan/OS-X-USB-Inject-All

 

Download the source ("code" green button) --> download zip

Extract from the zip XHCI-unsupported.kext

Mount your EFI partition

 

For opencore:

Copy XHCI-unsupported.kext to /EFI/OC/Kexts/

Open /EFI/OC/config.plist with a text editor

Add this in the Kernel--> Add section:

	<key>Kernel</key>
	<dict>
		<key>Add</key>
		<array>
			<dict>
				<key>Arch</key>
				<string>x86_64</string>
				<key>BundlePath</key>
				<string>XHCI-unsupported.kext</string>
				<key>Comment</key>
				<string>Support for non native XHCI</string>
				<key>Enabled</key>
				<true/>
				<key>ExecutablePath</key>
				<string></string>
				<key>MaxKernel</key>
				<string></string>
				<key>MinKernel</key>
				<string>10.0.0</string>
				<key>PlistPath</key>
				<string>Contents/Info.plist</string>
			</dict>

 

Reboot and check if usb is working.

If it doesn't work search on internet if there are other usb kexts to inject for your controller.

 

If you don't know what you are doing please make backups first.

 

If you are using clover I can't be of help, I don't remember how to inject kexts.

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.