VMware Communities
The_Learner
Contributor
Contributor

VMWare Workstation 12.1.1 Player module errors on Fedora 24 workstation

Hi, I'm running Fedora workstation 24 with headers (kernel-headers-4.6.6-300.fc24.x86_64) and uname -r (kernel-headers-4.6.6-300.fc24.x86_64).  I installed vmware (Workstation 12 Player version 12.1.1 build-3770994) from root and of course it didn't work, so I researched and found this post.  From a clean install, I ran the latest script (Update_VMW.sh) posted on https://vcojot.blogspot.com/2015/11/vmware-worksation-12-on-fedora-core-23.html?showComment=14718077... as root followed by the "vmware-modconfig --console --install-all" command, then vmplayer.

Upon the above, the vmware GUI launched which was an improvement over just doing the vmware install (no launch).  I receive the following errors, sequentially, though when trying to actually play a VM from the GUI:

1) Could not open /dev/vmmon: No such file or directory.  Please make sure that the kernel module `vmmon' is loaded.

2) Failed to initialize monitor device.

I saw several posts regarding needing to update the ‘get_user_pages’ calls to ‘get_user_pages_remote’ in the following two archives in /usr/lib/vmware/modules/source:

1) vmmon.tar (vmmon-only/linux/hostif.c)

2) vmnet.tar (vmnet-only/userif.c)

I noticed that the above script seemed to modify this portion of the files by adding a conditional statement around these calls depending on what version of kernal was in place.

I modified the above-referenced file in the vmmon.tar archive include the "..._remote" version of the call.  After updating the calls, I commented-out the conditional statements b/c I was getting an error on the "...--install-all" command indicating there were not enough paramaters passed in the call and it seemed the 2nd of the two calls, where the condition executes if kernel < 4.6.0, seems to be the original that was provided and mysteriously had the correct # of arguments:

  /*#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 6, 0)

    retval = get_user_pages_remote((unsigned long)uvAddr,

    numPages, 0, 0, ppages, NULL);

  #else

  */

    retval = get_user_pages_remote(current, current->mm, (unsigned long)uvAddr,

    numPages, 0, 0, ppages, NULL);

  /*#endif*/

Similarily, here's the modified version of the above-referenced file in the vmnet.tar archive.  You'll see I had the same error and resolved it in the same way:

  /*#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 6, 0)

    retval = get_user_pages_remote(addr, 1, 1, 0, &page, NULL);

  #else

  */

    retval = get_user_pages_remote(current, current->mm, addr,

    1, 1, 0, &page, NULL);

  /*#endif*/

I say I resolved this intermediate issue (not sure how accurately, though), but this still doesn't work as I described above.  For reference here is the output of running the "vmware-modconfig --console --install-all" command after:

Configuration A: The originally-corrected version of the archives from running the Update_VMW.sh script (comments removed from my above and the "_remote" removed from the calls)

Configuration B: With the above-shown file arrangement in the archives.

Any help would be greatly appreciated as I really need to get this up and running quickly for school.

Output from config A: https://gist.github.com/JohnTheLearner/9fe38d5570bcb7e142d6eb9a0d634e43

Output from config B: https://gist.github.com/JohnTheLearner/667603eb59d71820af3184e4ecc77318

Note the main difference between these two outputs I provided at the bottom are that config A make enters directory '/tmp/modconfig-HWVk4H/vmmon-only' while B uses '/tmp/modconfig-QQztra/vmmon-only'. There are some other diffs between these two outputs that seem to follow that main change.

Also note that when running the "systemctl status vmware.service" command, it shows the vmware.service as failed and that the "Virtual machine monitor" and "Virtual ethernet" services are failed, but the other three services (comm interface, socket family, and auth' daemon) are all ok.

0 Kudos
2 Replies
The_Learner
Contributor
Contributor

Bumping to see if anyone has any thoughts or guidance on this??  I'm stuck on this.

0 Kudos
kissanej
Enthusiast
Enthusiast

The new 12.5 version works out of the box for me on Fedora 24 whereas the older 12.11 needed a lot of tweaking to allow the modules to compile.

0 Kudos