VMware needs to recompile the kernel modules after each kernel upgrade. We are all pretty familiar with this, since VMware requests module recompilation when launched after a kernel upgrade.

In the vast majority of the cases that will go smoothly without any hick-ups, but in rare occasions this might fail, especially after a major kernel upgrade.

The fix for this is to download the latest kernel modules for our VMware version and install them:

  1. Check the version of your installed VMware Player.

    vmplayer --version

  2. Get the version of your currently running kernel, in case there are multiple modules compiled for different kernel versions

    uname -r

  3. Download the appropriate vmmon and vmnet modules.

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

    Download the appropriate module file depending on your Vmware Player version (and optionally kernel version). In this case I am running VMware Player ver. 16.2.4 and a kernel ver. of 5.19, so I would download the p16.2.4-k5.19 file. Here “p” stands for player (if you have the VMware Workstation instead, then you would download the one starting with a “w”):
Download VMware (Player and Workstation) host modules
Download VMware (Player and Workstation) host modules
  1. Extract the tarball file, create the tar module files and copy them over to the vmware’s source modules directory

    tar -xvf vmware-host-modules-w16.2.4-k5.19.tar.gz
    cd vmware-host-modules-w16.2.4-k5.19
    tar -cf vmmon.tar vmmon-only
    tar -cf vmnet.tar vmnet-only

    sudo cp -v vmmon.tar vmnet.tar /usr/lib/vmware/modules/source/

  2. Install the modules

    sudo vmware-modconfig --console --install-all

You should be able to launch VMware normally now.

How to fix VMware unable to install all modules vmmon vmnet
Tagged on:         

9 thoughts on “How to fix VMware unable to install all modules vmmon vmnet

  • August 22, 2023 at 10:38 pm
    Permalink

    Thanks, it worked for me using only step 5

  • August 28, 2023 at 8:28 am
    Permalink

    Hi,
    Works fine for me, thank you !!

    yes it can work with step 5 only if only vmware has downloaded the tarballs beforehand.

  • September 19, 2023 at 8:10 am
    Permalink

    error: implicit declaration of function ‘skb_gso_segment’; did you mean ‘tcp_gso_segment’? [-Werror=implicit-function-declaration]
    1413 | segs = skb_gso_segment(skb, 0);
    | ^~~~~~~~~~~~~~~
    | tcp_gso_segment
    /tmp/modconfig-3Kvp1J/vmnet-only/bridge.c:1413:9: warning: assignment to ‘struct sk_buff *’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
    1413 | segs = skb_gso_segment(skb, 0);
    | ^
    CC [M] /tmp/modconfig-3Kvp1J/vmnet-only/vnetUserListener.o
    cc1: some warnings being treated as errors
    make[2]: *** [/usr/src/linux-headers-6.4.0-kali3-common/scripts/Makefile.build:257: /tmp/modconfig-3Kvp1J/vmnet-only/bridge.o] Error 1
    make[2]: *** Menunggu pekerjaan yang belum selesai….
    make[1]: *** [/usr/src/linux-headers-6.4.0-kali3-common/Makefile:2057: /tmp/modconfig-3Kvp1J/vmnet-only] Error 2
    make[1]: Meninggalkan direktori ‘/usr/src/linux-headers-6.4.0-kali3-amd64’
    make: *** [Makefile:117: vmnet.ko] Error 2
    make: Meninggalkan direktori ‘/tmp/modconfig-3Kvp1J/vmnet-only’
    Unable to install all modules. See log for details.

  • September 29, 2023 at 2:43 am
    Permalink

    Did not work on kernel: 5.14.0-284.30.1.el9_2.x86_64

  • December 4, 2023 at 6:26 pm
    Permalink

    Many Thanks. It didn’t work initially, but it was my mistake because I typed the commands wrong. I wrote vmmon-only twice by mistake.

  • December 4, 2023 at 6:40 pm
    Permalink

    Forgot this:
    Kernel 5.15.0-89-generic,

    VMp 16.2.3.

    Now updated to 16.2.5 and still working.

  • May 28, 2024 at 4:44 pm
    Permalink

    Thank you so much for the link!

  • June 22, 2024 at 11:42 am
    Permalink

    Thanks so much for the approach. I tried it with “vmware-host-modules-p16.2.5” but to no avail. Seems the stddef.h include files are missing.

    My system is a :
    Linux xxxxx 6.8.0-35-generic #35-Ubuntu SMP PREEMPT_DYNAMIC Mon May 20 15:51:52 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux

    Error message below:
    CC [M] /tmp/modconfig-LKUNly/vmmon-only/common/statVarsVmmon.o
    In file included from /tmp/modconfig-LKUNly/vmmon-only/common/apic.c:19:
    /tmp/modconfig-LKUNly/vmmon-only/./include/vm_basic_defs.h:54:12: fatal error: stddef.h: No such file or directory
    54 | # include
    | ^~~~~~~~~~
    compilation terminated.
    make[3]: *** [scripts/Makefile.build:243: /tmp/modconfig-LKUNly/vmmon-only/common/apic.o] Error 1
    make[3]: *** Waiting for unfinished jobs….
    In file included from /tmp/modconfig-LKUNly/vmmon-only/./include/cpu_types.h:29,
    from /tmp/modconfig-LKUNly/vmmon-only/./include/modulecall.h:33,
    from /tmp/modconfig-LKUNly/vmmon-only/common/crosspage.c:57:
    /tmp/modconfig-LKUNly/vmmon-only/./include/vm_basic_defs.h:54:12: fatal error: stddef.h: No such file or directory
    54 | # include
    | ^~~~~~~~~~
    compilation terminated.
    make[3]: *** [scripts/Makefile.build:243: /tmp/modconfig-LKUNly/vmmon-only/common/crosspage.o] Error 1
    In file included from /tmp/modconfig-LKUNly/vmmon-only/common/cpuid.c:29:
    /tmp/modconfig-LKUNly/vmmon-only/./include/vm_assert.h:43:10: fatal error: stdarg.h: No such file or directory
    43 | #include
    | ^~~~~~~~~~
    compilation terminated.

    Any assistance is highly appreciated!

  • June 26, 2024 at 8:42 am
    Permalink

    This fix does not work for me, I am running 24.04 LTS,
    Linux 6.8.0-35-generic #35-Ubuntu SMP PREEMPT_DYNAMIC Mon May 20 15:51:52 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
    During make process I get “stddef.h not found” and “stdargs.h not found”. Does anybody have a solution for this.

Leave a Reply

Your email address will not be published. Required fields are marked *

*