VMware Communities
MrStraf
Contributor
Contributor

VMware Fusion does not share external USB devices from host OS to guest OS (with solutions)

Hello,

I'm using Fusion Professional Version 12.2.3 (19436697) with macOS Big Sur 11.6.6 (20G624) on a MacBook Pro (13-inch, 2020, Four Thunderbolt 3 ports).

Guest VM runs Windows 10 Pro (latest version), a fresh install, updated to latest patches, with VM tools installed and updated.

When I connect a USB device to the host, Fusion doesn't ask me what to do with the attached device so I'm unable to use the USB device on the guest side. Activity Monitor reveals that, when the VM is running, the USB arbitrator process doesn't.

What I tried to solve the problem:

  1. A fresh re-install of VMware Fusion from the downloaded ISO.
    • Before installing, I moved the Fusion.app to the trash, emptied it, then re-installed.
    • Result: Fusion works but USB devices doesn't.
  2. Removal and reinstallation of the USB controller in the VM.
    • Operation tried from Fusion VM settings, USB and Devices pane, Advanced USB Options.
    • Result: VM works but USB devices doesn't.
  3. Suspecting a security problem with kexts from Fusion, I tried these commands from Terminal, in that order, when Fusion is open and the VM stopped:
$ /usr/bin/kmutil load -p /Applications/VMware\ Fusion.app/Contents/Library/kexts/vmioplug.kext

This command may trigger the confirmation mechanism of macOS to approve a kext to be loaded through the Security tab of System Preferences. In that case, after a restart, the kext loads successfully. This command seems to solve reliably the problem of kexts silently blocked by macOS.

sudo /Applications/VMware\ Fusion.app/Contents/Library/vmware-usbarbitrator

This command starts the USB arbitrator process which (as far as I known) is responsible for the connection of USB devices to the guest OS.

A quick check with Activity monitor reveals that now the USB arbitrator is running and, when I run the VM and connect a USB device, Fusion ask me where to connect the USB device. Problem solved.

When I shuts down the VM, Activity monitor shows that the USB arbitrator process is terminated (it's expected, I suppose).

Now, if I restart the VM, the USB arbitrator process does not run (that's unexpected). But if I restart it manually (launching the second command above) before running the VM, everything works again.

To sum up: VMware Fusion and the VM both work as expected if I start the USB arbitrator manually before running the VM.

I can live with that since my workflow doesn't include automated startup of VMs, but the interesting question is: why Fusion doesn't run the USB arbitrator on demand as it should?

Any suggestion on what else to check are greatly appreciated.

Thanks!

Tags (3)
10 Replies
lamarty7
Contributor
Contributor

hello,

you can set a startup command to start the service manually, but check if there are other services or components that have conflicts with the arbitrator service

BR

Reply
0 Kudos
wila
Immortal
Immortal

Hi,

Now that your kext's are allowed I would try a full re-install of Fusion.

Some observations on my end, none of which should be used for a solution....

The parent process normally is launchd.

The folder /Library/LaunchDaemon/ does not have a .plist file that starts the vmware-usbarbitrator file.
There are some other services in there that are started and it is possible that one of them should start the usb arbitrator one. Not as easy to find out unless you start inspecting some of the binaries (I haven't run a strings on them) that are managed from there.

The following folder:
/Applications/VMware Fusion.app/Contents/Library/services/

has both

usb-arbitrator.sh

as well as

services.sh

You can probably script your way to a launchdaemon script and start the usb-arbitrator service manually. But will it start correctly? Will it cause other issues?
Too many unknowns IMO.

Hopefully a re-install now sets things up correctly.

--
Wil

| Author of Vimalin. The virtual machine Backup app for VMware Fusion, VMware Workstation and Player |
| More info at vimalin.com | Twitter @wilva
Reply
0 Kudos
ColoradoMarmot
Champion
Champion

Couple of thoughts:  Did you do the original install as an administrator account?  Do you have any endpoint software installed (JAMF, Crowdstrike, etc) that might be interfering with the install?

Reply
0 Kudos
arr2036
Contributor
Contributor

Just wanted to say thanks to the OP for the kext locations and loading commands.  Forcefully loading vmioplug.kext did indeed prompt the system to get me to re-authorize it, and loading the arbitration daemon manually then fixed the issue with USB devices not showing up on the guests.

Reply
0 Kudos
Technogeezer
Immortal
Immortal

Is kmutil displaying any VMware kexts as loaded? Fusion 12 is not supposed to use “legacy” kexts. 

i just tried using that command and got the kext Approval warning message..That should not be happening on Big Sur or Monterey as kexts are not used. Fusion 12 is working just fine for me with the USB arbitrator without that kext loaded. 

I have a funny feeling you have a broken Fusion installation. Did you try a complete uninstall of Fusion (including support files) before issuing that kmutul command?

- Paul (Technogeezer)
Editor of the Unofficial Fusion Companion Guides
MrStraf
Contributor
Contributor

Hi,

I'm pretty sure that my installation of VMware Fusion is broken. As I wrote, I did a full re-installation before trying my workarounds, so I think that something broke around Fusion, not inside. It's interesting your claim that kexts should not be used under Big Sur (my case) and Monterey. I tried:

$ kmutil showloaded | grep vm

Nothing is shown, with or without the usb-arbitrator process and the VM running. This confirms that the load of any VMware kext is unnecessary in Bug Sur. So the problem seems related only to the usb arbitrator process.

When I installed Fusion on the Mac Book Pro, I was still on Catalina. Perhaps with the upgrade to Big Sur something broke but I have clear memories to have used USB devices with guest OSes on Big Sur with Fusion 11. So my best guess is that something broke with Fusion 12. The application sandbox, perhaps? (Just guessing).

Glad that my original post helped a bit. You're welcome.

Reply
0 Kudos
Technogeezer
Immortal
Immortal

Fusion 12 is a bit of an interesting beast in respect to platform support. 
On Catalina, Fusion 12 and 12.1.x use kexts. (Fusion 12.2.x is not supported on Catalina). On Big Sur and Monterey, it uses the Apple Hypervisor Framework APIs - an “upper level monitor” that does not use kexts. 

I’ve been suspecting for some time now that there are Fusion “funny behaviors” that crop up when upgrading macOS versions while Fusion is installed. Especially when moving from Catalina to Big Sur or Monterey. Nothing specific and don’t know if they are VMware or Apple related, just a gut feel given what I’m reading here. 

If anyone asks me now what to do if they are performing an upgrade from Catalina or earlier to Big Sur or later, I’d recommend performing a full manual uninstall  of Fusion per KB  https://kb.vmware.com/s/article/1017838, then install Fusion 12.2.3 after upgrade. Don’t just drag and drop the application into the trash. If they’ve already upgraded and seeing issues, I suggest trying the manual uninstall process, reboot, then install Fusion.

(By the way, Fusion 11 isn’t supported on Big Sur. If you did have it working, consider yourself lucky). 

- Paul (Technogeezer)
Editor of the Unofficial Fusion Companion Guides
Reply
0 Kudos
MrStraf
Contributor
Contributor

Hi Technogeezer,

finally I had some time to upgrade from Big Sur to Monterey. Before upgrading, I uninstalled VMware Fusion 12.2.3 according to the KB https://kb.vmware.com/s/article/1017838 as you suggested, then I reinstalled it from the DMG.

Now I have a fully working Fusion, where the usb arbitrator process is automatically launched. I'm not sure what solved my issue, the macOS upgrade or the full reinstallation of Fusion. Anyway, I wish to thank you to have pointed out the link to the correct KB article.

Thanks again!

Reply
0 Kudos
Technogeezer
Immortal
Immortal

You’re welcome, and I’m glad to hear that things are working for you (and as they’re supposed to). 

- Paul (Technogeezer)
Editor of the Unofficial Fusion Companion Guides
Reply
0 Kudos
lokmanshrestha
Contributor
Contributor

I'm currently use macbook pro 2019 but after updating vmware fusion 12 .USB isn't detect inside Vmware fusion but detect in macOS.

Tags (1)
Reply
0 Kudos