Ubuntu 17.10 Upgrade Broke VMWare Workstation 12.5

I've managed to get VMWare Workstation 12.5.7 working on Kubuntu 17.10.

In /usr/lib/vmware/modules/source:

  1. Extract vmmon.tar and vmnet.tar

    sudo tar -xf vmmon.tar
    sudo tar -xf vmnet.tar
    

    This will create vmmon-only and vmnet-only directories.

  2. Fetch the patched hostif.c

    sudo wget -O vmmon-only/linux/hostif.c https://raw.githubusercontent.com/mkubecek/vmware-host-modules/b50848c985f1a6c0a341187346d77f0119d0a835/vmmon-only/linux/hostif.c
    

    (note: https://communities.vmware.com/thread/571370 - also contains a similar fix for VMWare Workstation 14)

  3. Edit vmnet-only/bridge.c:

    639c639
    <        atomic_inc(&clone->users);
    ---
    >        atomic_inc((atomic_t*)&clone->users);
    
  4. Run

    make -C vmmon-only
    make -C vmnet-only
    cp -t /lib/modules/4.13.0-16-generic/misc *.ko
    modprobe -r vmmon
    insmod /lib/modules/4.13.0-16-generic/misc/vmmon.ko
    rm /usr/lib/vmware/lib/libz.so.1/libz.so.1
    ln -s /lib/x86_64-linux-gnu/libz.so.1 /usr/lib/vmware/lib/libz.so.1/libz.so.1  # see https://communities.vmware.com/thread/572259
    vmware-networks --start  # see https://forum.chakralinux.org/viewtopic.php?id=8579
    
  5. As user:

    /usr/lib/vmware/bin/vmware
    

    (to prevent it running vmware-modconfig)


I have tried approx all other solutions but nothing worked. But these steps worked for me on Ubuntu 18.04, VMware 12.5.9

git clone https://github.com/mkubecek/vmware-host-modules.git
cd vmware-host-modules
git checkout workstation-12.5.9 (change it to your version. it's important)
make && sudo make install
cd /usr/lib/vmware/lib/libz.so.1
sudo mv libz.so.1 libz.so.1.old
sudo ln -s /lib/x86_64-linux-gnu/libz.so.1 .
sudo depmod -a
sudo /etc/init.d/vmware restart

Reference:

https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1715552

https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1715552/comments/29


In addition to the answer by Stephen Wassell, if you are still running the VM Workstation 12.5.x version you will need to re-compile your .ko for every kernel patch.. which is alot..

You may see this error: (Invalid module format)

# insmod /lib/modules/4.13.0-31-generic/misc/vmnet.ko 
insmod: ERROR: could not insert module /lib/modules/4.13.0-31-generic/misc/vmnet.ko: Invalid module format

Here is a tool to keep the kernel modules for the ubuntu-flavor-distros updated after a kernel patch.

https://gist.github.com/shadowbq/5897002b620b093ca7578b5f13c3f3a1

I've also included a simple wrapper.sh that you can use a replacement for launching vmware workstation so you can be sure it appropriately loads the vm-network and vm-mon kernel modules everytime.

Note: this script will not expand the 'tar' or 'patch' the source files, this is for automatically recompiling the kernel modules after a kernel patch following the orignal steps by Stephen Wassell.