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:
- Check the version of your installed VMware Player.
vmplayer --version
- Get the version of your currently running kernel, in case there are multiple modules compiled for different kernel versions
uname -r
- 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”):
- 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/
- 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
Thanks, it worked for me using only step 5
Hi,
Works fine for me, thank you !!
yes it can work with step 5 only if only vmware has downloaded the tarballs beforehand.
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.
Did not work on kernel: 5.14.0-284.30.1.el9_2.x86_64
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.
Forgot this:
Kernel 5.15.0-89-generic,
VMp 16.2.3.
Now updated to 16.2.5 and still working.
Thank you so much for the link!
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!
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.