Cannot Compile VMWare Workstation Modul after Upgrade Kernel 5.14.9?

Hai All,
I’ve updated my fedora 34 system with sudo dnf update. This command also upgrade my kernel to kernel.x86_64 5.14.9-200.fc34, Upgrade is smooth but after rebooting and I want to open VMware workstation, like usual VMware need to compile vmware modul, but this time my fedora system failed to compile VMware workstation modul.
This is a SS pop up error message:

And this content of log at /tmp/vmware-afiadi/vmware-4552.log

-----
2021-10-03T19:59:39.806+07:00| host-4552| I005: /usr/bin/make -C /lib/modules/5.14.9-200.fc34.x86_64/build/include/.. M=$PWD SRCROOT=$PWD/. \
2021-10-03T19:59:39.806+07:00| host-4552| I005:   MODULEBUILDDIR= modules
2021-10-03T19:59:39.806+07:00| host-4552| I005: make[1]: Memasuki direktori '/usr/src/kernels/5.14.9-200.fc34.x86_64'
2021-10-03T19:59:39.806+07:00| host-4552| I005:   CC [M]  /tmp/modconfig-mQKPVG/vmmon-only/linux/driver.o
2021-10-03T19:59:39.806+07:00| host-4552| I005:   CC [M]  /tmp/modconfig-mQKPVG/vmmon-only/linux/driverLog.o
2021-10-03T19:59:39.806+07:00| host-4552| I005:   CC [M]  /tmp/modconfig-mQKPVG/vmmon-only/linux/hostif.o
2021-10-03T19:59:39.806+07:00| host-4552| I005:   CC [M]  /tmp/modconfig-mQKPVG/vmmon-only/common/apic.o
2021-10-03T19:59:39.806+07:00| host-4552| I005:   CC [M]  /tmp/modconfig-mQKPVG/vmmon-only/common/comport.o
2021-10-03T19:59:39.806+07:00| host-4552| I005:   CC [M]  /tmp/modconfig-mQKPVG/vmmon-only/common/cpuid.o
2021-10-03T19:59:39.806+07:00| host-4552| I005:   CC [M]  /tmp/modconfig-mQKPVG/vmmon-only/common/crosspage.o
2021-10-03T19:59:39.806+07:00| host-4552| I005:   CC [M]  /tmp/modconfig-mQKPVG/vmmon-only/common/memtrack.o
2021-10-03T19:59:39.806+07:00| host-4552| I005:   CC [M]  /tmp/modconfig-mQKPVG/vmmon-only/common/phystrack.o
2021-10-03T19:59:39.806+07:00| host-4552| I005:   CC [M]  /tmp/modconfig-mQKPVG/vmmon-only/common/sharedAreaVmmon.o
2021-10-03T19:59:39.806+07:00| host-4552| I005:   CC [M]  /tmp/modconfig-mQKPVG/vmmon-only/common/statVarsVmmon.o
2021-10-03T19:59:39.806+07:00| host-4552| I005:   CC [M]  /tmp/modconfig-mQKPVG/vmmon-only/common/task.o
2021-10-03T19:59:39.806+07:00| host-4552| I005:   CC [M]  /tmp/modconfig-mQKPVG/vmmon-only/common/vmx86.o
2021-10-03T19:59:39.806+07:00| host-4552| I005: make[1]: Meninggalkan direktori '/usr/src/kernels/5.14.9-200.fc34.x86_64'
2021-10-03T19:59:39.806+07:00| host-4552| I005: make: Meninggalkan direktori '/tmp/modconfig-mQKPVG/vmmon-only'
2021-10-03T19:59:39.806+07:00| host-4552| I005: make: Memasuki direktori '/tmp/modconfig-mQKPVG/vmnet-only'
------

------
2021-10-03T19:59:39.816+07:00| host-4552| I005:       | 
2021-10-03T19:59:39.816+07:00| host-4552| I005: In file included from ./include/linux/pci.h:43,
2021-10-03T19:59:39.816+07:00| host-4552| I005:                  from /tmp/modconfig-mQKPVG/vmnet-only/compat_netdevice.h:27,
2021-10-03T19:59:39.816+07:00| host-4552| I005:                  from /tmp/modconfig-mQKPVG/vmnet-only/bridge.c:52:
2021-10-03T19:59:39.816+07:00| host-4552| I005: ./include/linux/pci_ids.h:2270: catatan: ini adalah lokasi dari definisi sebelumnya
2021-10-03T19:59:39.816+07:00| host-4552| I005:  2270 | #define PCI_DEVICE_ID_VMWARE_VMXNET3    0x07b0
2021-10-03T19:59:39.816+07:00| host-4552| I005:       | 
2021-10-03T19:59:39.816+07:00| host-4552| I005: Skipping BTF generation for /tmp/modconfig-mQKPVG/vmnet-only/vmnet.ko due to unavailability of vmlinux
2021-10-03T19:59:39.816+07:00| host-4552| I005: Unable to install all modules.  See log for details.
2021-10-03T19:59:39.816+07:00| host-4552| I005:

But when I use old kernel.x86_64 5.13.19-200.fc34 is working flawlessly and normally.

The question is, Is this bug from VMware Workstation modul or bug from new kernel, kernel.x86_64 5.14.9-200.fc34?

Thanks You in Advance
Best regards,
Afiadi

Run this in the terminal:
Sudo vmware-modconfig --console --install-all

Then start the VMWare again. This might solve the issue.

1 Like

I’ve just tried but it doesn’t works
Unable to install all modules. See log for details.

Try the solution mentioned in this thread. This might help you.

1 Like

No, I thinks your share link it’s doesn’t works, because It’s only happen with new kernel 5.14.9, I use Vmware workstation almost a year and there is no problem while compiling vmware modul even i upgrade to new kernel. if I use old kernel VMWare is working flawlessly in my fedora 34 system. Btw thanks you for your link and your help, maybe this is bug in kernel 5.14.9?

I do think so it is a bug in kernal

Yes, because I use fedora 34 since a year ago, the same with I use WMware workstation, and if you use Vmware workstation, after you’re updating the kernel, and run WMware workstation, it’s always show pop up message with title VMware Kernel Modul Updater(look at SS below) and then klik Install and it’s always succesfully compiled VMware workstation module until i upgrade the kernel to 5.14.9 and VMWare workstation failde to compile. This way I think this is bug on that kernel because I never been face this problem before until I upgrade to kernel 5.14.9

1 Like

Vmware always is a pain, when a new kernel come, some trick should be done, but is an easy problem you can resolve follow this guide:

https://docs.fedoraproject.org/en-US/quick-docs/how-to-use-vmware/

Hovewer you can have another alternatives:

  • KVM
  • GNOME-BOXES

Regards.,

4 Likes

Thanks it works

2 Likes

Yes, vmware 16.1.2 doesn’t support kernel 5.14 and higher.

You need to use an older kernel or use mkubecek modules.

It will probably be that way until workstation 17.x is released.

2 Likes

Thank you All, because no link or any tutorial can solved this problem, I decided to remove and block kernel 5.14.9 for being updated and installed to my linux system and waiting for new update kernel. For now I use the old kernel, kernel 5.13.19-200.fc34.x86_64 and with this kernel everything works fine.

1 Like

I think the links above should solve the problem but here are more specific instructions since kernel 5.13 will soon be EOL if it isn’t already.

First boot onto the latest kernel and ensure that git is installed. Then run these commands

git clone https://github.com/mkubecek/vmware-host-modules.git
cd vmware-host-modules
git checkout workstation-16.1.2
make
sudo make install
sudo systemctl restart vmware.service

If you are running a different version of vmware replace workstation-16.1.12 with your specific version.

1 Like

I suspect kernel 5.13 is already EOL on fedora since both 34 and 35 are currently at 5.14.9

It’s doesn’t works, It’s still failed to compile
make: *** [Makefile:21: vmmon-only] Error 2

This is the output from your sugestion:

afiadi@fedora ~]$ cd Unduhan/
[afiadi@fedora Unduhan]$ git clone https://github.com/mkubecek/vmware-host-modules.git
Kloning ke 'vmware-host-modules'...
remote: Enumerating objects: 2968, done.
remote: Counting objects: 100% (431/431), done.
remote: Compressing objects: 100% (365/365), done.
remote: Total 2968 (delta 212), reused 277 (delta 66), pack-reused 2537
Menerima objek: 100% (2968/2968), 1.28 MiB | 1.27 MiB/s, done.
Menguraikan delta: 100% (2231/2231), done.
[afiadi@fedora Unduhan]$ cd vmware-host-modules/
[afiadi@fedora vmware-host-modules]$ vmware --version
VMware Workstation 16.1.1 build-17801498
[afiadi@fedora vmware-host-modules]$ git checkout workstation-16.1.1
Branch 'workstation-16.1.1' set up to track remote branch 'workstation-16.1.1' from 'origin'.
Ganti ke cabang baru 'workstation-16.1.1'
[afiadi@fedora vmware-host-modules]$ make
*-----------------------------------------------------------------------------
* Branch workstation-16.1.1 has been retired on 2021-06-28 and has not been
* receiving any updates since. Please switch to latest 16.1.x version
* available.
*
* Latest kernel version this branch is intended to work with is 5.13.
*-----------------------------------------------------------------------------
make -C vmmon-only 
make[1]: Memasuki direktori '/home/afiadi/Unduhan/vmware-host-modules/vmmon-only'
Using kernel build system.
make -C /lib/modules/5.14.9-200.fc34.x86_64/build/include/.. M=$PWD SRCROOT=$PWD/. \
  MODULEBUILDDIR= modules
make[2]: Memasuki direktori '/usr/src/kernels/5.14.9-200.fc34.x86_64'
  CC [M]  /home/afiadi/Unduhan/vmware-host-modules/vmmon-only/linux/driver.o
  CC [M]  /home/afiadi/Unduhan/vmware-host-modules/vmmon-only/linux/driverLog.o
  CC [M]  /home/afiadi/Unduhan/vmware-host-modules/vmmon-only/linux/hostif.o
/home/afiadi/Unduhan/vmware-host-modules/vmmon-only/linux/hostif.c: Dalam fungsi ‘HostIF_WakeUpYielders’:
/home/afiadi/Unduhan/vmware-host-modules/vmmon-only/linux/hostif.c:478:20: error: ‘struct task_struct’ has no member named ‘state’; did you mean ‘__state’?
  478 |       if (t && (t->state & TASK_INTERRUPTIBLE)) {
      |                    ^~~~~
      |                    __state
/home/afiadi/Unduhan/vmware-host-modules/vmmon-only/linux/hostif.c: Dalam fungsi ‘HostIF_SemaphoreWait’:
/home/afiadi/Unduhan/vmware-host-modules/vmmon-only/linux/hostif.c:2583:13: error: ‘struct task_struct’ has no member named ‘state’; did you mean ‘__state’?
 2583 |    current->state = TASK_INTERRUPTIBLE;
      |             ^~~~~
      |             __state
/home/afiadi/Unduhan/vmware-host-modules/vmmon-only/linux/hostif.c:2590:13: error: ‘struct task_struct’ has no member named ‘state’; did you mean ‘__state’?
 2590 |    current->state = TASK_RUNNING;
      |             ^~~~~
      |             __state
/home/afiadi/Unduhan/vmware-host-modules/vmmon-only/linux/hostif.c: Dalam fungsi ‘HostIF_SemaphoreForceWakeup’:
/home/afiadi/Unduhan/vmware-host-modules/vmmon-only/linux/hostif.c:2672:20: error: ‘struct task_struct’ has no member named ‘state’; did you mean ‘__state’?
 2672 |       if (t && (t->state & TASK_INTERRUPTIBLE)) {
      |                    ^~~~~
      |                    __state
make[3]: *** [scripts/Makefile.build:271: /home/afiadi/Unduhan/vmware-host-modules/vmmon-only/linux/hostif.o] Error 1
make[2]: *** [Makefile:1858: /home/afiadi/Unduhan/vmware-host-modules/vmmon-only] Error 2
make[2]: Meninggalkan direktori '/usr/src/kernels/5.14.9-200.fc34.x86_64'
make[1]: *** [Makefile:117: vmmon.ko] Error 2
make[1]: Meninggalkan direktori '/home/afiadi/Unduhan/vmware-host-modules/vmmon-only'
make: *** [Makefile:21: vmmon-only] Error 2

Thank you for your sugestion.

Woookeh mantap banget. Thank you very much, I must update first to VMware Workstation 16.1.2 then I reboot and ran again your sugestion and it work like a charm. So this is confirm not a bug in kernel 5.14.9 but I must update first the version of VMware wokstation…
This is all output:

[afiadi@fedora ~]$ cd Unduhan/
[afiadi@fedora Unduhan]$ git clone https://github.com/mkubecek/vmware-host-modules.git
Kloning ke 'vmware-host-modules'...
remote: Enumerating objects: 2968, done.
remote: Counting objects: 100% (431/431), done.
remote: Compressing objects: 100% (365/365), done.
remote: Total 2968 (delta 212), reused 277 (delta 66), pack-reused 2537
Menerima objek: 100% (2968/2968), 1.28 MiB | 2.13 MiB/s, done.
Menguraikan delta: 100% (2231/2231), done.
[afiadi@fedora Unduhan]$ vmware --version
VMware Workstation 16.1.2 build-17966106
[afiadi@fedora Unduhan]$ cd vmware-host-modules/
[afiadi@fedora vmware-host-modules]$ git checkout workstation-16.1.2
Branch 'workstation-16.1.2' set up to track remote branch 'workstation-16.1.2' from 'origin'.
Ganti ke cabang baru 'workstation-16.1.2'
[afiadi@fedora vmware-host-modules]$ make
make -C vmmon-only 
make[1]: Memasuki direktori '/home/afiadi/Unduhan/vmware-host-modules/vmmon-only'
Using kernel build system.
make -C /lib/modules/5.14.9-200.fc34.x86_64/build/include/.. M=$PWD SRCROOT=$PWD/. \
  MODULEBUILDDIR= modules
make[2]: Memasuki direktori '/usr/src/kernels/5.14.9-200.fc34.x86_64'
  CC [M]  /home/afiadi/Unduhan/vmware-host-modules/vmmon-only/linux/driver.o
  CC [M]  /home/afiadi/Unduhan/vmware-host-modules/vmmon-only/linux/driverLog.o
  CC [M]  /home/afiadi/Unduhan/vmware-host-modules/vmmon-only/linux/hostif.o
  CC [M]  /home/afiadi/Unduhan/vmware-host-modules/vmmon-only/common/apic.o
  CC [M]  /home/afiadi/Unduhan/vmware-host-modules/vmmon-only/common/comport.o
  CC [M]  /home/afiadi/Unduhan/vmware-host-modules/vmmon-only/common/cpuid.o
  CC [M]  /home/afiadi/Unduhan/vmware-host-modules/vmmon-only/common/crosspage.o
  CC [M]  /home/afiadi/Unduhan/vmware-host-modules/vmmon-only/common/memtrack.o
  CC [M]  /home/afiadi/Unduhan/vmware-host-modules/vmmon-only/common/phystrack.o
  CC [M]  /home/afiadi/Unduhan/vmware-host-modules/vmmon-only/common/sharedAreaVmmon.o
  CC [M]  /home/afiadi/Unduhan/vmware-host-modules/vmmon-only/common/statVarsVmmon.o
  CC [M]  /home/afiadi/Unduhan/vmware-host-modules/vmmon-only/common/task.o
  CC [M]  /home/afiadi/Unduhan/vmware-host-modules/vmmon-only/common/vmx86.o
  CC [M]  /home/afiadi/Unduhan/vmware-host-modules/vmmon-only/vmcore/moduleloop.o
  CC [M]  /home/afiadi/Unduhan/vmware-host-modules/vmmon-only/bootstrap/bootstrap.o
  CC [M]  /home/afiadi/Unduhan/vmware-host-modules/vmmon-only/bootstrap/monLoader.o
  CC [M]  /home/afiadi/Unduhan/vmware-host-modules/vmmon-only/bootstrap/monLoaderVmmon.o
  CC [M]  /home/afiadi/Unduhan/vmware-host-modules/vmmon-only/bootstrap/vmmblob.o
  LD [M]  /home/afiadi/Unduhan/vmware-host-modules/vmmon-only/vmmon.o
  MODPOST /home/afiadi/Unduhan/vmware-host-modules/vmmon-only/Module.symvers
  CC [M]  /home/afiadi/Unduhan/vmware-host-modules/vmmon-only/vmmon.mod.o
  LD [M]  /home/afiadi/Unduhan/vmware-host-modules/vmmon-only/vmmon.ko
  BTF [M] /home/afiadi/Unduhan/vmware-host-modules/vmmon-only/vmmon.ko
Skipping BTF generation for /home/afiadi/Unduhan/vmware-host-modules/vmmon-only/vmmon.ko due to unavailability of vmlinux
make[2]: Meninggalkan direktori '/usr/src/kernels/5.14.9-200.fc34.x86_64'
make -C $PWD SRCROOT=$PWD/. \
  MODULEBUILDDIR= postbuild
make[2]: Memasuki direktori '/home/afiadi/Unduhan/vmware-host-modules/vmmon-only'
make[2]: 'postbuild' sudah baru.
make[2]: Meninggalkan direktori '/home/afiadi/Unduhan/vmware-host-modules/vmmon-only'
cp -f vmmon.ko ./../vmmon.o
make[1]: Meninggalkan direktori '/home/afiadi/Unduhan/vmware-host-modules/vmmon-only'
make -C vmnet-only 
make[1]: Memasuki direktori '/home/afiadi/Unduhan/vmware-host-modules/vmnet-only'
Using kernel build system.
make -C /lib/modules/5.14.9-200.fc34.x86_64/build/include/.. M=$PWD SRCROOT=$PWD/. \
  MODULEBUILDDIR= modules
make[2]: Memasuki direktori '/usr/src/kernels/5.14.9-200.fc34.x86_64'
  CC [M]  /home/afiadi/Unduhan/vmware-host-modules/vmnet-only/driver.o
  CC [M]  /home/afiadi/Unduhan/vmware-host-modules/vmnet-only/hub.o
  CC [M]  /home/afiadi/Unduhan/vmware-host-modules/vmnet-only/userif.o
  CC [M]  /home/afiadi/Unduhan/vmware-host-modules/vmnet-only/netif.o
  CC [M]  /home/afiadi/Unduhan/vmware-host-modules/vmnet-only/bridge.o
  CC [M]  /home/afiadi/Unduhan/vmware-host-modules/vmnet-only/procfs.o
  CC [M]  /home/afiadi/Unduhan/vmware-host-modules/vmnet-only/smac_compat.o
  CC [M]  /home/afiadi/Unduhan/vmware-host-modules/vmnet-only/smac.o
  CC [M]  /home/afiadi/Unduhan/vmware-host-modules/vmnet-only/vnetEvent.o
  CC [M]  /home/afiadi/Unduhan/vmware-host-modules/vmnet-only/vnetUserListener.o
  LD [M]  /home/afiadi/Unduhan/vmware-host-modules/vmnet-only/vmnet.o
  MODPOST /home/afiadi/Unduhan/vmware-host-modules/vmnet-only/Module.symvers
  CC [M]  /home/afiadi/Unduhan/vmware-host-modules/vmnet-only/vmnet.mod.o
  LD [M]  /home/afiadi/Unduhan/vmware-host-modules/vmnet-only/vmnet.ko
  BTF [M] /home/afiadi/Unduhan/vmware-host-modules/vmnet-only/vmnet.ko
Skipping BTF generation for /home/afiadi/Unduhan/vmware-host-modules/vmnet-only/vmnet.ko due to unavailability of vmlinux
make[2]: Meninggalkan direktori '/usr/src/kernels/5.14.9-200.fc34.x86_64'
make -C $PWD SRCROOT=$PWD/. \
  MODULEBUILDDIR= postbuild
make[2]: Memasuki direktori '/home/afiadi/Unduhan/vmware-host-modules/vmnet-only'
make[2]: 'postbuild' sudah baru.
make[2]: Meninggalkan direktori '/home/afiadi/Unduhan/vmware-host-modules/vmnet-only'
cp -f vmnet.ko ./../vmnet.o
make[1]: Meninggalkan direktori '/home/afiadi/Unduhan/vmware-host-modules/vmnet-only'
[afiadi@fedora vmware-host-modules]$ sudo make install
[sudo] password for afiadi: 
Sorry, try again.
[sudo] password for afiadi: 
install -D -t /lib/modules/5.14.9-200.fc34.x86_64/misc vmmon-only/vmmon.ko vmnet-only/vmnet.ko
strip --strip-debug /lib/modules/5.14.9-200.fc34.x86_64/misc/vmmon.ko /lib/modules/5.14.9-200.fc34.x86_64/misc/vmnet.ko
if test -z ""; then /sbin/depmod -a 5.14.9-200.fc34.x86_64; fi
[afiadi@fedora vmware-host-modules]$ sudo systemctl restart vmware.service 
[afiadi@fedora vmware-host-modules]$ systemctl status vmware.service 
● vmware.service - SYSV: This service starts and stops VMware services
     Loaded: loaded (/etc/rc.d/init.d/vmware; generated)
     Active: active (running) since Tue 2021-10-05 18:21:25 WIB; 10s ago
       Docs: man:systemd-sysv-generator(8)
    Process: 6713 ExecStart=/etc/rc.d/init.d/vmware start (code=exited, status=>
      Tasks: 6 (limit: 3986)
     Memory: 9.6M
        CPU: 346ms
     CGroup: /system.slice/vmware.service
             ├─6768 /usr/bin/vmnet-bridge -s 6 -d /var/run/vmnet-bridge-0.pid ->
             ├─6779 /usr/bin/vmnet-netifup -s 6 -d /var/run/vmnet-netifup-vmnet>
             ├─6789 /usr/bin/vmnet-dhcpd -s 6 -cf /etc/vmware/vmnet1/dhcpd/dhcp>
             ├─6792 /usr/bin/vmnet-natd -s 6 -m /etc/vmware/vmnet8/nat.mac -c />
             ├─6794 /usr/bin/vmnet-netifup -s 6 -d /var/run/vmnet-netifup-vmnet>
             └─6801 /usr/bin/vmnet-dhcpd -s 6 -cf /etc/vmware/vmnet8/dhcpd/dhcp>

Okt 05 18:21:25 fedora vmnet-natd[6792]: RTM_NEWROUTE: index:3
Okt 05 18:21:25 fedora vmnet-natd[6792]: RTM_NEWADDR: index:2, addr:192.168.1.9
Okt 05 18:21:25 fedora vmnet-natd[6792]: RTM_NEWADDR: index:3, addr:192.168.1.14
Okt 05 18:21:25 fedora vmnet-natd[6792]: RTM_NEWADDR: index:4, addr:192.168.200>
Okt 05 18:21:25 fedora vmnet-natd[6792]: RTM_NEWADDR: index:5, addr:192.168.100>
Okt 05 18:21:25 fedora vmware[6713]:    Virtual ethernet[  OK  ]
Okt 05 18:21:25 fedora vmware[6713]:    VMware Authentication Daemon[  OK  ]

Thank you :heart_eyes: :pray:

1 Like

You need to upgrade vmware to 16.1.2 first.

1 Like

sudo grub2-set-default 1 to go to a previous Kernel. Zero is the first kernel and 2 the last kernel of the three available kernels.

My problem was solved, Btw thank you for your sugestion.