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:
$ /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!
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
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
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?
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.
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?
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.
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).
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!
You’re welcome, and I’m glad to hear that things are working for you (and as they’re supposed to).
I'm currently use macbook pro 2019 but after updating vmware fusion 12 .USB isn't detect inside Vmware fusion but detect in macOS.