VMware/VMPlayer: ‘Skipping BTF generation’ – error

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