VMware Communities
diddyone
Contributor
Contributor
Jump to solution

Could not open /dev/vmmon: Broken pipe.

upgraded to mojave on mac vmfusion is no longer working same problem as everyone else.

would greatly appreciate the help.

71 Replies
somebodyoncetol
Contributor
Contributor
Jump to solution

Hello, I had the same error message. 

I'm running Mojave (10.14.3) on a 2017 12-inch retina macbook.

My VMWARE fusion version is 11.0.2, and I downloaded it yesterday and just checked for updates.

I noticed a notification that the mac OS had blocked some elements from loading.  Next to this was a button that said something like 'allow'.  Once I clicked this, the issue was resolved.

The notice appeared in the system preferences -> security pane, right under the allow SW from app store / app store + identified devs option.

Hope this helps.

0 Kudos
rhingo
Contributor
Contributor
Jump to solution

I had the the same problem, and tried the steps recommended by other users such as uninstalling and re-installing, going to System Preferences, ensuring Full Disk Access and Accessibility is allowed. None of that worked.

I am running the latest update Mojave on a late 2013 27" iMac and VMWare Version 11.0.3 (12992109)

What worked for me:

  1. First, uninstall VMWare completely.
  2. Check this directory in Terminal: /Library/StagedExtensions/Applications/VMware Fusion.app/Contents/Library/kexts
  3. If you see all the VMWare kexts there, then follow the steps below. You will not be able to delete these even with sudo
  4. Reboot to Recovery (CMD+R)
  5. Make sure your Macintosh HD (or main HD) is mounted (check in Disk Utiltiy). This will not be automatically mounted if you are using APFS with encryption.
  6. In the Utilities menu, open Terminal
  7. Enter this command: cd /Library
  8. Folowed by: rm -rf ./StagedExtensions/Applications/VMware\ Fusion.app

Now restart and re-install VMWare. The broken pipe error should now be fixed. The reason this is happening is that in the later versions of Mojave, the kexts are blocked and moved to StagedExtensions instead of being installed.

albatros99
Enthusiast
Enthusiast
Jump to solution

This presented solution doesnt solve the problem with vmware fusion 11.0.3 and mac osx 10.14.5 Beta (18F108f)

we must wait of a answer or update from vmware or apple

or a user founding a solution!

marchinok
Contributor
Contributor
Jump to solution

None of solutions presented here worked.

I have macOS Mojave 10.14.5 and VMware Fusion 11.0.3.

FYI I did following.

1) Completely uninstall VMware and reboot

2) Run following commands and re-install VMware.

xattr -l ~/Downloads/VMware-Fusion-11.0.3-12992109.dmg

xattr -dr com.apple.quarantine ~/Downloads/VMware-Fusion-11.0.3-12992109.dmg

3) Checked Security & Privacy General Tab.  No message about VMware app.

4) Allow Full Disk Access to VMware from Privacy tab and reboot.

5) Run following command to allow app running from anywhere.

sudo spctl --master-disable

I appreciate if anyone can help.

0 Kudos
albatros99
Enthusiast
Enthusiast
Jump to solution

No, we have done this with a vmware engeener and this had not solved the problem.

3. no message about vmware app

4. allow full disk access is given

0 Kudos
DanWolfe
Contributor
Contributor
Jump to solution

This continues to be a problem.  I have tried all of the previously suggested solutions to no avail. 

Please make this a priority as the various VM's I use DAILY are dead in the water. 

I will be happy to provide whatever information I can which will lead to a solution. 

Thanks,

Dan Wolfe

0 Kudos
marchinok
Contributor
Contributor
Jump to solution

No sure why but this issue has been gone.

It seemed no version for both macOS and VMware Fusion is upgrade.

This is very strange.

0 Kudos
KrisH_Out_West
Contributor
Contributor
Jump to solution

OK, I just ran into this problem, and it looked like I needed to go in Under Settings and allow access under accessibility and disk access.  That did not work.  I restarted the program since it said to do that for one of the settings...that did not work.

I rebooted and that did not work.

So I looked at following youtube video: 1:01[SOLVED] VMware could not open /dev/vmmon broken pipe and it was in front of me all the time, I just had to scroll on the first tab of the security preferences.

Scrolled down, enabled VM Ware and worked like a charm, except it never asked me where to install...

Hope this helps.

OG1Dot
Contributor
Contributor
Jump to solution

I had the same behavior. I didnt want to disable kext-consent. There are a few things to look into as each situation may be different.

  1. Check to make sure the 3rd party extension is not blocked so check out the general tab in the privacy and security within the preferences app and verify you do not have a message that VMWare is blocked with an allow button. In my case, that wasn't my issue. A way to confirm if its not a blocked extension issue is to run kextstat |grep vm will list any vmware kext's that are loaded. If there are some in the list then its not a blocked extension issue.
  2. Run kextstat |grep -v com.apple. if you see virtual box kext's you will need to decide which virtualization software you want to use on your system. I had installed virtual box a while ago and uninstalled it but I guess it didnt remove the virtual box kext's when I uninstalled it. I had to remove the kexts in the /Library/Extensions folder using sudo rm -rf <kext file>
  3. After you make modifications via the loaded kext, restart and test again.
0 Kudos
lensv
Enthusiast
Enthusiast
Jump to solution

This did it for me to... Smiley Happy

*Edit: Post #27

0 Kudos
Uxian
Contributor
Contributor
Jump to solution

I've tried all of these solutions.  Enabling full disk access worked for me for a single boot and then next time I boot from cold the problem comes back.

If I try to load the driver using kextload I get the following in dmesg:

vmmon: Loaded com.vmware.kext.vmx86 Version 1366.85.89 Build 13668589 (May 12 2019 14:05:51)

vmmon: Warning: Failed to register the major device number.

Kext com.vmware.kext.vmx86 start failed (result 0x5).

Kext com.vmware.kext.vmx86 failed to load (0xdc008017).

Failed to load kext com.vmware.kext.vmx86 (error 0xdc008017).

Turns out I just had too many third-party kexts loaded and after I removed a few (SoundFlower, tun and tap VPN drivers) I was then able to load vmmon.

0 Kudos
brbaus
Contributor
Contributor
Jump to solution

One tip for folks on Mojave.

Look on the General tab in the Security and Privacy settings. There was a button on that tab that enables vmWare to run. Then it works like a charm.

0 Kudos
lurch999
Contributor
Contributor
Jump to solution

This solution works for cases where the "Allow" button does not appear in Security & Privacy > General:

Using Terminal, get the TeamIdentifier value from the VMWare Fusion version you're using (the % is the prompt, so omit that):

   % codesign -dv --verbose=4 /Applications/VMware\ Fusion.app

From the results of that command, find the "TeamIdentifier" value, for example:

   TeamIdentifier=EG7KH642X6

Write that down, and note this is case-sensitive.

Reboot your Mac into Recovery Mode (hold down Command + R at boot)

In Recovery Mode, open Terminal, then:

  % /usr/sbin/spctl kext-consent add EG7KH642X6

Reboot, and you should be good to go now.

___________________________________________________________________________

Did you find this helpful? Let us know by completing this survey (takes 1 minute!)

mastlonda
Contributor
Contributor
Jump to solution

SOLVED

This a complete video tutorial for fix of this error

You can find it right here:-

VMware Could not open dev/vmmon | Unable to open kernel device | Failed to initialize monitor device...

He has some good and awesome stuff

AndrewBurkhart9
Contributor
Contributor
Jump to solution

I tried all the other responses I saw in here (Allow in Security & Privacy, allow full disk access, try different things in recovery terminal, etc.) but my issue turned out to be maxing out the number of kernel extensions that can be loaded (at least this is my understanding). I ran 'kextstat' and found some to remove (all virtualbox kext's in my case). As soon as I freed up some slots, all my VM's began working again in VMware.

Again, this is a little outside my expertise so I'm paraphrasing assistance I got, but essentially they told me there are only a certain number of slots for kext's to be running and VMware needed more slots than what I had available on my machine.

To check (in a terminal):

- run 'kextstat | grep vmware'

- if you only see 2 or less kext's, run 'sudo kextutil /Applications/VMware\ Fusion.app/Contents/Library/kexts/vmmon.kext'

- if you see something like 'Failed to load /Library/StagedExtensions/Applications/VMware Fusion.app/Contents/Library/kexts/vmmon.kext - (libkern/kext) kext (kmod) start/stop routine failed.', this is probably your fix

My Steps to fix (again in a terminal):

- run 'kextstat' to see a list of kext's

- run 'sudo kextunload -b /whatever/kext/you/can/remove' (i.e. 'sudo kextunload -b org.virtualbox.kext.VBoxDrv')

- I did that for 4 kext's

- run vm in VMware again

- all good

Hopefully that helps someone.

CharlieSMF
Contributor
Contributor
Jump to solution

I am still having a problem running VMware Fusion on Mojave 10.14.6. Is there any fix for this problem?  I could not follow the following as I got a very long list from kextstat

Ater 3 hours on this problem I am getting very desperate...

..........

I tried all the other responses I saw in here (Allow in Security & Privacy, allow full disk access, try different things in recovery terminal, etc.) but my issue turned out to be maxing out the number of kernel extensions that can be loaded (at least this is my understanding). I ran 'kextstat' and found some to remove (all virtualbox kext's in my case). As soon as I freed up some slots, all my VM's began working again in VMware.

Again, this is a little outside my expertise so I'm paraphrasing assistance I got, but essentially they told me there are only a certain number of slots for kext's to be running and VMware needed more slots than what I had available on my machine.

To check (in a terminal):

- run 'kextstat | grep vmware'

- if you only see 2 or less kext's, run 'sudo kextutil /Applications/VMware\ Fusion.app/Contents/Library/kexts/vmmon.kext'

- if you see something like 'Failed to load /Library/StagedExtensions/Applications/VMware Fusion.app/Contents/Library/kexts/vmmon.kext - (libkern/kext) kext (kmod) start/stop routine failed.', this is probably your fix

My Steps to fix (again in a terminal):

- run 'kextstat' to see a list of kext's

- run 'sudo kextunload -b /whatever/kext/you/can/remove' (i.e. 'sudo kextunload -b org.virtualbox.kext.VBoxDrv')

- I did that for 4 kext's

- run vm in VMware again

- all good

0 Kudos
AndrewBurkhart9
Contributor
Contributor
Jump to solution

CharlieSMF​ My best guess would be to try running something like

kextstat | grep -v com.apple

That way kextstat will just show you things that are third-party (more or less). That might help you find some kexts that you may be able to unload.

Hopefully that helps.

0 Kudos
CharlieSMF
Contributor
Contributor
Jump to solution

Thanks or the quick response:

I ran that in the terminal and did not get anything.

grep -v com.apple

Index Refs Address            Size       Wired      Name (Version) UUID <Linked Against>

0 Kudos
AndrewBurkhart9
Contributor
Contributor
Jump to solution

And if you run "kextstat" by itself, scroll to the bottom, do you see any line items whose name doesn't start with com.apple (i.e. com.vmware, com.sophos, etc.)?

If not, you may be dealing with a different issue than I had, unfortunately.

0 Kudos
CharlieSMF
Contributor
Contributor
Jump to solution

Problem Solved:

From Lurch999 (32)

This solution works for cases where the "Allow" button does not appear in Security & Privacy > General:

Using Terminal, get the TeamIdentifier value from the VMWare Fusion version you're using (the % is the prompt, so omit that):

   % codesign -dv --verbose=4 /Applications/VMware\ Fusion.app

From the results of that command, find the "TeamIdentifier" value, for example:

   TeamIdentifier=EG7KH642X6

Write that down, and note this is case-sensitive.

Reboot your Mac into Recovery Mode (hold down Command + R at boot)

In Recovery Mode, open Terminal, then:

  % /usr/sbin/spctl kext-consent add EG7KH642X6

Reboot, and you should be good to go now.

Thanks for all the help