VMware Communities
paolol
Enthusiast
Enthusiast
Jump to solution

fedora 30 kernel 5.1 vmmon fail to biuld

Hi,

I just find out that with the new kernel 5.1.5-300.fc30.x86_64 th vmmon is not building

If I run

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

I get a lot of errors, but all works fine if I start with the old 5.0.xx kernel.

I also try downloading and reinstalling from fresh, same issue.

let me know if you need the logs to fix this issue.

Thanks,

paolo

1 Solution

Accepted Solutions
mkubecek
Hot Shot
Hot Shot
Jump to solution

You need patched version of the host modules (only two latest patches are strictly necessary but I would recommend building from branch head anyway).

View solution in original post

19 Replies
CitizenVM
Contributor
Contributor
Jump to solution

I have the same exact issue with Fedora 30.

It seems every time a new kernel is released...Workstation breaks.

VMware should incorporate a new system to ensure this doesn't happen almost every time a kernel is released....

mkubecek
Hot Shot
Hot Shot
Jump to solution

You need patched version of the host modules (only two latest patches are strictly necessary but I would recommend building from branch head anyway).

paolol
Enthusiast
Enthusiast
Jump to solution

@

paolol
Enthusiast
Enthusiast
Jump to solution

Installed but still no vmmon when I run the VM, think you need to update your code.

Let me know if you I can help.

Reply
0 Kudos
mkubecek
Hot Shot
Hot Shot
Jump to solution

The patched module builds against anything up to current mainline (as of this morning). If it does not build for you, please show the error(s).

Reply
0 Kudos
paolol
Enthusiast
Enthusiast
Jump to solution

Hi, no no errors on building the modules all seem OK but when I start the VM I still get the error on vmmon not loaded.

thanks

Reply
0 Kudos
mkubecek
Hot Shot
Hot Shot
Jump to solution

Did you run "/etc/init.d/vmware restart" after rebuilding the module and installing it to the right place? You can also use "lsmod" to check if the module is loaded and if it is, compare srcversion from /sys/module/vmmon/srcversion with one shown by "modinfo vmmon" or modinfo applied to vmmon.ko you just built.

paolol
Enthusiast
Enthusiast
Jump to solution

Thanks mkubecek, for you help.

I did a new rebuild and now it works fine, think is my fault but no idea how happen.

Paolo

Reply
0 Kudos
JackShaftoe
Contributor
Contributor
Jump to solution

I had a somewhat related (oddball) FC30 issue recently that was due to my kernel-devel package being one minor release higher than my other kernel-* packages. I'm guessing that they were out of sync in the repo for a bit, since it resolved itself after checking for new updates (which included the matching kernel-* packages). This is probably not a likely scenario, but it may be worth checking to see if your kernel-* packages are behaving properly.
Reply
0 Kudos
JackShaftoe
Contributor
Contributor
Jump to solution

VMware should incorporate a new system to ensure this doesn't happen almost every time a kernel is released....

this. times eleventybillion.

Reply
0 Kudos
VijayNehaOm
Contributor
Contributor
Jump to solution

Sorry to bother you but I am very new to Linux and am still having difficulty getting Workstation to run.  I am getting  a Version mismatch with vmmom module: expecting 361.0, got 360.0  You have an incorrect version of the vmmon kernel module.  try reinstalling.  I am running Fedora 30 5.1.6-300.fc30.x86_64 with Workstation 15.1.0

​Do you have an idiots guide to make this work?  Please?

​Vijay

mkubecek
Hot Shot
Hot Shot
Jump to solution

it may be worth checking to see if your kernel-* packages are behaving properly

That would certainly be useful but it's not clear (to me) how to do it. Maybe by trying to build a trivial "hello, world" module which would be so simple that it would be rarely (if ever) affected by changes in kernel API. I'll think about it.

Reply
0 Kudos
mkubecek
Hot Shot
Hot Shot
Jump to solution

I am getting  a Version mismatch with vmmom module: expecting 361.0, got 360.0

This means that you are trying to run newer VMware binary while vmmon module intended for an older version is loaded. Two most likely reasons are:

  • you used wrong branch for build (in this case, version 360 means 15.0.0 through 15.0.4)
  • you either forgot to install the new module or did not reload it (/etc/init.d/vmware restart)
Reply
0 Kudos
mkubecek
Hot Shot
Hot Shot
Jump to solution

VMware should incorporate a new system to ensure this doesn't happen almost every time a kernel is released....

First of all, as long as the host modules are developed as out-of-tree, this is going to happen. Linux kernel does not maintain stable API for modules; in-tree modules are naturally updated when such API change happens but out-of-tree ones are on their own. So the best solution would be upstreaming the remaining two host modules like the three which have been in mainline since quite some time (3.9 or so, IIRC). But that would require some work and maybe also some changes (some design decision in vmnet might be questioned and even in vmmon which is not my area of expertise I've seen things that would raise some eyebrows). That would be the ideal long term solution.

In less ideal - but still much better - world, VMware would be providing updated module sources, at least as source tarballs (if not a git repository). But first someone would have to decide it's worth the effort for them. Aparently noone did, I suspect that big part of it is that VMware, as a big company, thinks in the scheme of "supported host systems", not kernel versions. Therefore they feel no need to support a new mainline kernel version until there is a major distribution release with it so that they can add a new entry to the list of "supported host systems". "Rolling" distributions or even people running latest mainline kernel, that's still a foreign concept for them and they simply don't care enough.

As for having a Workstation/Player release updated to work with new kernel release as soon as it is out, I'm afraid it's unrealistic to expect. This time, they did not support even the new Window 10 update at the time it was released. The 15.1.0 release timing was apparently determined by disclosure of latest batch of Intel CPU vulnerabilities and everything else was secondary. What is sad is that even if 15.1.0 was released after kernel 5.1, they didn't include build fixes for it even if they were trivial and problems had been known for almost two months - I doubt their QA process takes that long. But that's the same problem as in previous paragraph, thinking in the terms of "supported host systems" rather than kernel versions.

VijayNehaOm
Contributor
Contributor
Jump to solution

Can you point me to the exact URL  the correct branch?  I know I installed and restarted but I did not realize there was another branch.

Thanks,

Vijay

Reply
0 Kudos
JackShaftoe
Contributor
Contributor
Jump to solution

That would certainly be useful but it's not clear (to me) how to do  it. Maybe by trying to build a trivial "hello, world" module which would  be so simple that it would be rarely (if ever) affected by changes in  kernel API. I'll think about it.

Determine what kernel version package you are running:

$ uname -r

Match that with the kernel devel, headers, modules packages:

$ rpm -qa | grep kernel- | sort

Note: you may have multiple versions installed. Unless you have uniquely configured your build environment, you only need to look for the latest version that matches your uname output.

Reply
0 Kudos
VijayNehaOm
Contributor
Contributor
Jump to solution

Here is what i see.

ocalhost ~]$ uname -r

5.1.6-300.fc30.x86_64

localhost ~]$ rpm -qa | grep kernel- | sort

kernel-5.0.9-301.fc30.x86_64

kernel-5.1.5-300.fc30.x86_64

kernel-5.1.6-300.fc30.x86_64

kernel-core-5.0.9-301.fc30.x86_64

kernel-core-5.1.5-300.fc30.x86_64

kernel-core-5.1.6-300.fc30.x86_64

kernel-devel-5.1.5-300.fc30.x86_64

kernel-devel-5.1.6-300.fc30.x86_64

kernel-headers-5.1.5-300.fc30.x86_64

kernel-modules-5.0.9-301.fc30.x86_64

kernel-modules-5.1.5-300.fc30.x86_64

kernel-modules-5.1.6-300.fc30.x86_64

kernel-modules-extra-5.0.9-301.fc30.x86_64

kernel-modules-extra-5.1.5-300.fc30.x86_64

kernel-modules-extra-5.1.6-300.fc30.x86_64

@localhost ~]$

Reply
0 Kudos
VijayNehaOm
Contributor
Contributor
Jump to solution

Thanks for everyone's help.

My mistake was using git clone and trying to build. (also selecting the right branch)

i downloaded locally and it built fine.

wget https://github.com/mkubecek/vmware-host-modules/archive/workstation-15.1.0.tar.gz

tar -xzf workstation-15.1.0.tar.gz

make

sudo make install

/etc/init.d/vmware restart

Everything worked fine.  Thanks again.

Vijay

Reply
0 Kudos
paolol
Enthusiast
Enthusiast
Jump to solution

I have the same kernel

uname -r

5.1.5-300.fc30.x86_64

and ai follow the @VijayNehaOm steps as per mkubecek git repo suggestion.

And it works fine, just do it and restart.

Make sure you don't run

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

this will reload the original package.

On mkubecek​ git repo you will find also how to replace the origina tar with the new one.

Hope this help.

Smiley Happy

Reply
0 Kudos