Issue
After the upgrade Mint 20.3 Una do 21.0 Vanessa VMware’s VMPlayer stopped working!
Usuaully, after every update touching a kernel when I try VMPlayer I get the warnnig-window about necesary vmnet and vmmon modues update. But this time I couldn’t pass this step.
user$ sudo vmplayer #run in "xterm"
I found the error at the latest log
root# tail /tmp/vmware-root/vmware-11046.log
2023-06-21T06:06:25.906Z In(05) host-11046 |
2023-06-21T06:06:25.906Z In(05) host-11046 In file included from ./include/linux/pci.h:43,
2023-06-21T06:06:25.906Z In(05) host-11046 from /tmp/modconfig-ogPpBF/vmnet-only/compat_netdevice.h:27,
2023-06-21T06:06:25.906Z In(05) host-11046 from /tmp/modconfig-ogPpBF/vmnet-only/bridge.c:52:
2023-06-21T06:06:25.906Z In(05) host-11046 ./include/linux/pci_ids.h:2275: note: this is the location of the previous definition
2023-06-21T06:06:25.906Z In(05) host-11046 2275 | #define PCI_DEVICE_ID_VMWARE_VMXNET3 0x07b0
2023-06-21T06:06:25.906Z In(05) host-11046 |
2023-06-21T06:06:25.906Z In(05) host-11046 Skipping BTF generation for /tmp/modconfig-ogPpBF/vmnet-only/vmnet.ko due to unavailability of vmlinux
2023-06-21T06:06:25.906Z In(05) host-11046 Unable to install all modules. See log for details.
2023-06-21T06:06:25.906Z In(05) host-11046
Solution
I found such answers for the issue:
https://communities.vmware.com/t5/VMware-Workstation-Pro/Virtual-ethernet-failed/td-p/2906720
https://communities.vmware.com/t5/VMware-Workstation-Pro/Vmware-kernal-Module-updater/td-p/2920375
and build a procedure for myself, on this basis.
As I understand README
https://github.com/mkubecek/vmware-host-modules
it’s a need to (re)build vmmon and vmnet modules for a kernel
while the rest has been upstreamed for some time.
Hands-on
$ cd #going home
…
$ pwd
$ git clone https://github.com/mkubecek/vmware-host-modules
Cloning into 'vmware-host-modules'…
remote: Enumerating objects: 4408, done.
remote: Counting objects: 100% (1586/1586), done.
remote: Compressing objects: 100% (351/351), done.
remote: Total 4408 (delta 1350), reused 1432 (delta 1234), pack-reused 2822
Receiving objects: 100% (4408/4408), 1.93 MiB | 3.17 MiB/s, done.
Resolving deltas: 100% (3261/3261), done.
$ cd vmware-host-modules
$ git branch -a #waht's available
* master
remotes/origin/HEAD -> origin/master
remotes/origin/master
remotes/origin/player
remotes/origin/player-12.5.2
remotes/origin/player-16.2.5
remotes/origin/player-16.2.x
…
remotes/origin/player-16.2.0
remotes/origin/player-16.2.1
remotes/origin/player-16.2.3
…
[q]uit
$ vmplayer --version #see what is needed
I/O warning : failed to load external entity "/etc/vmware/hostd/proxy.xml"
VMware Player 16.2.1 build-18811642
$ git checkout player-16.2.1 #switch to suitable
Branch 'player-16.2.1' set up to track remote branch 'player-16.2.1' from 'origin'.
Switched to a new branch 'player-16.2.1'
$ ls
INSTALL LICENSE Makefile README RETIRED vmmon-only vmnet-only
$ cd vmmon-only && make && cd .. #bulding vmmon module
Using kernel build system.
make -C /lib/modules/5.15.0-75-lowlatency/build/include/.. M=$PWD SRCROOT=$PWD/. \
MODULEBUILDDIR= modules
make[1]: Entering directory '/usr/src/linux-headers-5.15.0-75-lowlatency'
CC [M] /home/jestem1/vmware-host-modules/vmmon-only/linux/driver.o
…
$ cd vmnet-only && make && cd .. #buliding vmnet module
Using kernel build system.
make -C /lib/modules/5.15.0-75-lowlatency/build/include/.. M=$PWD SRCROOT=$PWD/. \
MODULEBUILDDIR= modules
make[1]: Entering directory '/usr/src/linux-headers-5.15.0-75-lowlatency'
CC [M] /home/jestem1/vmware-host-modules/vmnet-only/driver.o
CC [M] /home/jestem1/vmware-host-modules/vmnet-only/hub.o
CC [M] /home/jestem1/vmware-host-modules/vmnet-only/userif.o
…
$ sudo make install #installing vmmon and vmnet
----------------------------------------------------------------------------- Branch player-16.2.1 has been retired on 2022-04-04 and has not been
* receiving any updates since. Please switch to latest 16.x version
* available.
*
* Latest kernel version this branch is intended to work with is 5.17.
*-----------------------------------------------------------------------------
install -D -t /lib/modules/5.15.0-75-lowlatency/misc vmmon-only/vmmon.ko vmnet-only/vmnet.ko
strip --strip-debug /lib/modules/5.15.0-75-lowlatency/misc/vmmon.ko /lib/modules/5.15.0-75-lowlatency/misc/vmnet.ko
if test -z ""; then /sbin/depmod -a 5.15.0-75-lowlatency; fi
RESTART the system!
otherwise, re-test of a vm-entity will give an error : vmplayer could not open /dev/vmmon