[Howto] How to Resolve Issues for VMWORKSTATION and VMPLAYER (ANY KERNEL + ANY VERSION)

COMMENT

The problem here is always the same vmnet and vmmon doesn’t start well or doesn’t start at all, find a PATCH deal with changes in vmmon.c and vmnet.c because something breaks or add some parameters to that files or modify and IF, I suggest to you follow this Step:

  1. know what is your kernel version?: uname -r .
  2. know your Vmware version or install the latest if you don’t have it, this don’t guarantee that you don’t find any issues.
  3. Try to find the PATCH for a specific KERNEL version and Vmware.
  4. You have to deal with sources ( vmnet and vmmon ) and apply fixed in both of them.
  5. Try to find the fix for the specific product Vmware and Kernel version, other fix that works before don’t guarantee to resolve your problem…

Prerequisite

sudo dnf install kernel-devel kernel-headers gcc gcc-c++ make git

PATCH, Based on this:

https://github.com/mkubecek/vmware-host-modules

INSTALL

  1. First method (build and install):
wget https://github.com/mkubecek/vmware-host-modules/archive/workstation-x.y.z.tar.gz
tar -xzf workstation-x.y.z.tar.gz
cd vmware-host-modules-workstation-x.y.z
make
sudo make install
  1. Second method (replace original tarballs):
wget https://github.com/mkubecek/vmware-host-modules/archive/workstation-x.y.z.tar.gz
tar -xzf workstation-x.y.z.tar.gz
cd vmware-host-modules-workstation-x.y.z
tar -cf vmmon.tar vmmon-only
tar -cf vmnet.tar vmnet-only
sudo cp -v vmmon.tar vmnet.tar /usr/lib/vmware/modules/source/
sudo vmware-modconfig --console --install-all

NOTE

Based on your VMware product, replace “x.y.z” with your installed version
and/or “workstation” with “player”.

Regards.,

2 Likes

Since this issue was asked many times, I added this howto to the list of commonly asked questions.
What do you think?

2 Likes

Perfect this idea doesn’t come to my mind :+1:

2 Likes

I created a script to take of this after a kernel update. Save it as /etc/kernel/install.d/99-vmmodules.install:

#!/usr/bin/bash

export LANG=C

COMMAND="$1"
KERNEL_VERSION="$2"
BOOT_DIR_ABS="$3"
KERNEL_IMAGE="$4"

ret=0

case "$COMMAND" in
    add)
        VMWARE_VERSION=$(cat /etc/vmware/config | grep player.product.version | sed '/.*\"\(.*\)\".*/ s//\1/g')

        [ -z VMWARE_VERSION ] && exit 0

        mkdir -p /tmp/git; cd /tmp/git
        git clone -b workstation-${VMWARE_VERSION} https://github.com/mkubecek/vmware-host-modules.git
        cd vmware-host-modules
        make VM_UNAME=${KERNEL_VERSION}
        make install VM_UNAME=${KERNEL_VERSION}

        ((ret+=$?))
        ;;
    remove)
        exit 0
        ;;
    *)
        usage
        ret=1;;
esac

exit $ret
1 Like

Hello @freddyw, thank you and welcome to the community.
I edited your post in order to format the code in a more readable way :wink:

1 Like

Another candidated for quick-docs IMO.