Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

vmware modversion is wrong #2

Closed
xevilstar opened this issue Oct 20, 2017 · 32 comments
Closed

vmware modversion is wrong #2

xevilstar opened this issue Oct 20, 2017 · 32 comments
Labels

Comments

@xevilstar
Copy link

Help me save my job please :)

I am using 4.13.0-1-amd64 #1 SMP Debian 4.13.4-1 (2017-10-01) x86_64 GNU/Linux and bumped into the memory bug:
The virtual machine is unable to reserve memory. If selecting Retry does not work, try closing programs on the host machine to free memory first.
For more information about this error, see "http://vmware.com/info?id=19".

applying your patches I get

Version mismatch with vmmon module: expecting 329.0, got 308.0.
You have an incorrect version of the 'vmmon' kernel module.
Try reinstalling VMware Workstation.

Failed to initialize monitor device.

@xevilstar
Copy link
Author

vmmon.zip

@mkubecek
Copy link
Owner

VMMOD_VERSION is 329 in 14.0.0 and 308 in 12.5.7. So my guess would be that you built the module from workstation-12.5.7 branch but are trying to use it with Workstation 14.0.0.

@xevilstar
Copy link
Author

I have uninstalled completely vmware and reinstalled it from scratch .... same issue
just after your patch. When I start the vm I get just the

The virtual machine is unable to reserve memory. If selecting Retry does not work, try closing programs on the host machine to free memory first.
For more information about this error, see "http://vmware.com/info?id=19".

the version error comes up when I apply your patches

@xevilstar
Copy link
Author

as you can see I even tried to remove the tars before reinstalling so ...

cd source/
root@azrael:/usr/lib/vmware/modules/source# ls -la
totale 5448
drwxr-xr-x 2 root root 4096 ott 20 15:52 .
drwxr-xr-x 3 root root 4096 ott 20 15:52 ..
-rw-r--r-- 1 root root 870400 ott 20 15:52 vmblock.tar
-rw-r--r-- 1 root root 1341440 ott 20 15:52 vmci.tar
-rw-r--r-- 1 root root 1443840 ott 20 15:52 vmmon.tar
-rw-r--r-- 1 root root 768000 ott 20 15:52 vmnet.tar
-rw-r--r-- 1 root root 1136640 ott 20 15:52 vsock.tar

@xevilstar
Copy link
Author

xevilstar commented Oct 20, 2017

the patch installs an old version I guess

@xevilstar
Copy link
Author

if you want I can give you the whole zipped tarball of the source dir

@mkubecek
Copy link
Owner

For 14.0.0, you need the module source from branch workstation-14.0.0, not workstation-12.5.7.

@xevilstar
Copy link
Author

source.zip

@xevilstar
Copy link
Author

Those sources reappeared right after I removed them and reinstalled vmware workstation from scratch

@xevilstar
Copy link
Author

the error is now

The virtual machine is unable to reserve memory. If selecting Retry does not work, try closing programs on the host machine to free memory first.
For more information about this error, see "http://vmware.com/info?id=19".

@xevilstar
Copy link
Author

if I install the ones from your git the version error appears

@xevilstar
Copy link
Author

please help

@xevilstar
Copy link
Author

xevilstar commented Oct 20, 2017

vmware

cannot even close even pressing cancel

@mkubecek
Copy link
Owner

Flooding me with more and more comments doesn't help anything. Please read what I already wrote to you and use the source from the branch matching your VMware version.

@rubyjedi
Copy link

Try downloading the 14.0.0 sources as a zipfile instead, using this link:

https://github.com/mkubecek/vmware-host-modules/archive/workstation-14.0.0.zip

.. Or have a look at the one-step installer script in the pull-request section, set VMWARE_PRODUCT="workstation-14.0.0" to make it match your product, and run that.

@mrf2357
Copy link

mrf2357 commented Dec 25, 2017

Hi @rubyjedi

  I am experiencing the exact error messages viz

Version mismatch with vmmon module: expecting 329.0, got 308.0.
You have an incorrect version of the 'vmmon' kernel module.
Try reinstalling VMware Workstation.

Failed to initialize monitor device.


Only I am using VMware WS 14.1 which was recently released. My host is Debian Sid but with kernel 4.12.

I'm wondering if you have made a zipfile of the sources for this release or can provide me a link to the one step installer you mentioned.

TIA

Marty Felker

@mkubecek
Copy link
Owner

Branches for Workstation and Player 14.1.0 are available now (tested against 4.9, 4.12, 4.13, 4.14 and 4.15-rc5).

@stefanbaur
Copy link

Hi, I am using Workstation 12.5.9 on Ubuntu Xenial with Kernel 4.13.0-26-generic.

I tried to apply the patches from the 12.5.8 branch, as there is no 12.5.9 yet, but end up with the same

The virtual machine is unable to reserve memory. If selecting Retry does not work, try closing programs on the host machine to free memory first.
For more information about this error, see "http://vmware.com/info?id=19".

error message as the original poster.

This is after cloning and checking out the branch, and running

tar -cf /usr/lib/vmware/modules/source/vmmon.tar vmmon-only/
tar -cf /usr/lib/vmware/modules/source/vmnet.tar vmnet-only/
vmware # automatically starts and completes the build process

The error only appears when trying to start a VM.

If I try to build the modules manually, make throws these warnings for vmmon, but builds seemingly just fine.

Using kernel build system.
make -C /lib/modules/4.13.0-26-generic/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. \
  MODULEBUILDDIR= modules
make[1]: Entering directory '/usr/src/linux-headers-4.13.0-26-generic'
  CC [M]  /root/vmwarepatch/vmware-host-modules/vmmon-only/linux/driverLog.o
  CC [M]  /root/vmwarepatch/vmware-host-modules/vmmon-only/linux/driver.o
/root/vmwarepatch/vmware-host-modules/vmmon-only/linux/driver.c:1288:1: warning: always_inline function might not be inlinable [-Wattributes]
 LinuxDriverSyncReadTSCs(uint64 *delta) // OUT: TSC max - TSC min
 ^
/root/vmwarepatch/vmware-host-modules/vmmon-only/linux/driver.c: In function 'LinuxDriver_Ioctl':
/root/vmwarepatch/vmware-host-modules/vmmon-only/linux/driver.c:1983:1: warning: the frame size of 1168 bytes is larger than 1024 bytes [-Wframe-larger-than=]
 }
 ^
  CC [M]  /root/vmwarepatch/vmware-host-modules/vmmon-only/linux/hostif.o
  CC [M]  /root/vmwarepatch/vmware-host-modules/vmmon-only/common/memtrack.o
  CC [M]  /root/vmwarepatch/vmware-host-modules/vmmon-only/common/apic.o
  CC [M]  /root/vmwarepatch/vmware-host-modules/vmmon-only/common/vmx86.o
  CC [M]  /root/vmwarepatch/vmware-host-modules/vmmon-only/common/cpuid.o
  CC [M]  /root/vmwarepatch/vmware-host-modules/vmmon-only/common/task.o
  CC [M]  /root/vmwarepatch/vmware-host-modules/vmmon-only/common/hashFunc.o
  CC [M]  /root/vmwarepatch/vmware-host-modules/vmmon-only/common/comport.o
  CC [M]  /root/vmwarepatch/vmware-host-modules/vmmon-only/common/phystrack.o
  CC [M]  /root/vmwarepatch/vmware-host-modules/vmmon-only/vmcore/moduleloop.o
  LD [M]  /root/vmwarepatch/vmware-host-modules/vmmon-only/vmmon.o
  Building modules, stage 2.
  MODPOST 1 modules
  CC      /root/vmwarepatch/vmware-host-modules/vmmon-only/vmmon.mod.o
  LD [M]  /root/vmwarepatch/vmware-host-modules/vmmon-only/vmmon.ko
make[1]: Leaving directory '/usr/src/linux-headers-4.13.0-26-generic'
make -C $PWD SRCROOT=$PWD/. \
  MODULEBUILDDIR= postbuild
make[1]: Entering directory '/root/vmwarepatch/vmware-host-modules/vmmon-only'
make[1]: 'postbuild' is up to date.
make[1]: Leaving directory '/root/vmwarepatch/vmware-host-modules/vmmon-only'
cp -f vmmon.ko ./../vmmon.o

when, after building manually, I rmmod vmmon and insmod ./vmmon.ko, then try to start a VM, I get

Version mismatch with vmmon module: expecting 309.0, got 308.0.
You have an incorrect version of the 'vmmon' kernel module.
Try reinstalling VMware Workstation.

Searching for 308 in the source, I found the file include/iocontrols.h
changing #define VMMON_VERSION (308 << 16 | 0) to #define VMMON_VERSION (309 << 16 | 0) in that file, followed by

make clean
make
rmmod vmmon
./vmmon.ko

gives me

The initialization of the VMware Workstation device driver has failed. Execution of this virtual machine cannot continue.

Please check the system log for details of the failure.

Failure code: -1

when trying to start a VM.

Any chance of getting this resolved in the near future, maybe in a 12.5.9 branch? Or do I need to fall back to 12.5.8 (or shell out the $$$ for WS Pro 14, which seems to work out of the box)?

Kind Regards,
Stefan Baur

@stefanbaur
Copy link

err, of course that's "insmod ./vmmon.ko" in the last code block, not "./vmmon.ko".

@mkubecek
Copy link
Owner

I'll prepare a branch for 12.5.9 this weekend but I can't test it (except for build) as don't have 12.5.9 installed anywhere.

@stefanbaur
Copy link

12.5.9 is a free upgrade to previous 12.5 releases; but if you don't have any 12.5 around, I'm willing and able to test. :)

@mkubecek
Copy link
Owner

Branches workstation-12.5.9 and player-12.5.9 are ready now. It seems VMware is not going to fix build against recent kernels in 12.5.x as the only differences between 12.5.8 seem to be related to Meltdown/Spectre (and cleanup of unused files). In other words, unpatched 12.5.9 modules are broken with >= 4.13 (in less severe form since 4.9) and do not build with >= 4.14.

Note: 12.5.9 branches are only build tested (I'm using only 14.x on my machines) but as the changes between 12.5.8 and 12.5.9 are unrelated, I'm quite confident there should be no problems (or at least no new problems).

@freddyflintstone
Copy link

freddyflintstone commented Jan 18, 2018

Hi

I have the same problem with 12.5.9 and 4.13.0-26-generic

(4.13.0-26-generic #29~16.04.2-Ubuntu SMP Tue Jan 9 22:00:44 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux)

"Version mismatch with vmmon module: expecting 309.0, got 308.0.
You have an incorrect version of the 'vmmon' kernel module.
Try reinstalling VMware Workstation."

So I followed the steps:

  1. I took hostif.c from here:

https://github.com/mkubecek/vmware-host-modules/blob/workstation-12.5.9/vmmon-only/linux/hostif.c

  1. Replaced the vmmon-only/linux/host_if.c

  2. here is the diff:

$ diff -pu vmmon-only/linux/hostif.c  vmmon-only/linux/hostif.c.orig
--- vmmon-only/linux/hostif.c	2018-01-18 10:06:31.000000000 +0000
+++ vmmon-only/linux/hostif.c.orig	2017-06-20 03:54:38.000000000 +0100
@@ -99,37 +99,6 @@
 #include "vmmonInt.h"
 #include "versioned_atomic.h"
 
-#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 14, 0)
-#   define global_zone_page_state global_page_state
-#endif
-
-static unsigned long get_nr_slab_unreclaimable(void)
-{
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 13, 0)
-   return global_node_page_state(NR_SLAB_UNRECLAIMABLE);
-#else
-   return global_page_state(NR_SLAB_UNRECLAIMABLE);
-#endif
-}
-
-static unsigned long get_nr_unevictable(void)
-{
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 8, 0)
-   return global_node_page_state(NR_UNEVICTABLE);
-#else
-   return global_page_state(NR_UNEVICTABLE);
-#endif
-}
-
-static unsigned long get_nr_anon_mapped(void)
-{
- #if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 8, 0)
-   return global_node_page_state(NR_ANON_MAPPED);
- #else
-   return global_page_state(NR_ANON_PAGES);
- #endif
-}
-
 /*
  * Determine if we can use high resolution timers.
  */
@@ -1625,11 +1594,16 @@ HostIF_EstimateLockedPageLimit(const VMD
    unsigned int reservedPages = MEMDEFAULTS_MIN_HOST_PAGES;
    unsigned int hugePages = (vm == NULL) ? 0 :
       BYTES_2_PAGES(vm->memInfo.hugePageBytes);
-   unsigned int lockedPages = global_zone_page_state(NR_PAGETABLE) +
-                              get_nr_slab_unreclaimable() +
-                              get_nr_unevictable() +
+   unsigned int lockedPages = global_page_state(NR_PAGETABLE) +
+                              global_page_state(NR_SLAB_UNRECLAIMABLE) +
+                              global_page_state(NR_UNEVICTABLE) +
                               hugePages + reservedPages;
-   unsigned int anonPages = get_nr_anon_mapped();
+   unsigned int anonPages =
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 8, 0)
+      global_page_state(NR_ANON_MAPPED);
+#else
+      global_page_state(NR_ANON_PAGES);
+#endif
    unsigned int swapPages = BYTES_2_PAGES(linuxState.swapSize);
 
    if (anonPages > swapPages) {

4 Tarred it up and reran:

 sudo tar cf vmmon.tar vmmon-only/
 sudo vmware-modconfig --console --install-all
  1. Output (it's rather long)
$ sudo vmware-modconfig --console --install-all
Stopping VMware services:
   VMware Authentication Daemon                                        done
   VM communication interface socket family                            done
   Virtual machine communication interface                             done
   Virtual machine monitor                                             done
   Blocking file system                                                done
make: Entering directory '/tmp/modconfig-nDKQVy/vmmon-only'
Using kernel build system.
/usr/bin/make -C /lib/modules/4.13.0-26-generic/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. \
  MODULEBUILDDIR= modules
make[1]: Entering directory '/usr/src/linux-headers-4.13.0-26-generic'
  CC [M]  /tmp/modconfig-nDKQVy/vmmon-only/linux/driver.o
  CC [M]  /tmp/modconfig-nDKQVy/vmmon-only/linux/hostif.o
  CC [M]  /tmp/modconfig-nDKQVy/vmmon-only/linux/driverLog.o
  CC [M]  /tmp/modconfig-nDKQVy/vmmon-only/common/cpuid.o
  CC [M]  /tmp/modconfig-nDKQVy/vmmon-only/common/memtrack.o
  CC [M]  /tmp/modconfig-nDKQVy/vmmon-only/common/vmx86.o
  CC [M]  /tmp/modconfig-nDKQVy/vmmon-only/common/task.o
  CC [M]  /tmp/modconfig-nDKQVy/vmmon-only/common/apic.o
  CC [M]  /tmp/modconfig-nDKQVy/vmmon-only/common/hashFunc.o
  CC [M]  /tmp/modconfig-nDKQVy/vmmon-only/common/comport.o
In file included from ./arch/x86/include/asm/processor.h:4:0,
                 from ./arch/x86/include/asm/cpufeature.h:4,
                 from ./arch/x86/include/asm/thread_info.h:63,
                 from ./include/linux/thread_info.h:37,
                 from ./arch/x86/include/asm/preempt.h:6,
                 from ./include/linux/preempt.h:80,
                 from ./include/linux/spinlock.h:50,
                 from ./arch/x86/include/asm/mmu.h:4,
                 from ./arch/x86/include/asm/desc.h:6,
                 from /tmp/modconfig-nDKQVy/vmmon-only/common/task.c:67:
./arch/x86/include/asm/processor-flags.h:37:0: warning: "CR3_PCID_MASK" redefined
 #define CR3_PCID_MASK 0xFFFull
 ^
In file included from /tmp/modconfig-nDKQVy/vmmon-only/./include/vm_asm_x86.h:41:0,
                 from /tmp/modconfig-nDKQVy/vmmon-only/./include/vm_asm_x86_64.h:39,
                 from /tmp/modconfig-nDKQVy/vmmon-only/./include/vm_asm.h:46,
                 from /tmp/modconfig-nDKQVy/vmmon-only/common/task.c:53:
/tmp/modconfig-nDKQVy/vmmon-only/./include/x86_basic_defs.h:65:0: note: this is the location of the previous definition
 #define CR3_PCID_MASK  0xFFF
 ^
In file included from ./arch/x86/include/asm/msr.h:4:0,
                 from ./arch/x86/include/asm/processor.h:20,
                 from ./arch/x86/include/asm/cpufeature.h:4,
                 from ./arch/x86/include/asm/thread_info.h:63,
                 from ./include/linux/thread_info.h:37,
                 from ./arch/x86/include/asm/preempt.h:6,
                 from ./include/linux/preempt.h:80,
                 from ./include/linux/spinlock.h:50,
                 from ./arch/x86/include/asm/mmu.h:4,
                 from ./arch/x86/include/asm/desc.h:6,
                 from /tmp/modconfig-nDKQVy/vmmon-only/common/task.c:67:
./arch/x86/include/asm/msr-index.h:569:0: warning: "MSR_MISC_FEATURES_ENABLES" redefined
 #define MSR_MISC_FEATURES_ENABLES 0x00000140
 ^
In file included from /tmp/modconfig-nDKQVy/vmmon-only/common/vmx86.h:32:0,
                 from /tmp/modconfig-nDKQVy/vmmon-only/common/task.c:51:
/tmp/modconfig-nDKQVy/vmmon-only/./include/x86msr.h:109:0: note: this is the location of the previous definition
 #define MSR_MISC_FEATURES_ENABLES            0x140
 ^
  CC [M]  /tmp/modconfig-nDKQVy/vmmon-only/common/phystrack.o
In file included from /tmp/modconfig-nDKQVy/vmmon-only/common/vmx86.h:32:0,
                 from /tmp/modconfig-nDKQVy/vmmon-only/common/vmx86.c:43:
/tmp/modconfig-nDKQVy/vmmon-only/./include/x86msr.h:109:0: warning: "MSR_MISC_FEATURES_ENABLES" redefined
 #define MSR_MISC_FEATURES_ENABLES            0x140
 ^
In file included from ./arch/x86/include/asm/msr.h:4:0,
                 from ./arch/x86/include/asm/processor.h:20,
                 from ./arch/x86/include/asm/cpufeature.h:4,
                 from ./arch/x86/include/asm/thread_info.h:63,
                 from ./include/linux/thread_info.h:37,
                 from ./arch/x86/include/asm/preempt.h:6,
                 from ./include/linux/preempt.h:80,
                 from ./include/linux/rcupdate.h:40,
                 from ./include/linux/rculist.h:10,
                 from ./include/linux/pid.h:4,
                 from ./include/linux/sched.h:13,
                 from /tmp/modconfig-nDKQVy/vmmon-only/common/vmx86.c:31:
./arch/x86/include/asm/msr-index.h:569:0: note: this is the location of the previous definition
 #define MSR_MISC_FEATURES_ENABLES 0x00000140
 ^
In file included from /tmp/modconfig-nDKQVy/vmmon-only/./include/vm_asm_x86.h:41:0,
                 from /tmp/modconfig-nDKQVy/vmmon-only/./include/vm_asm_x86_64.h:39,
                 from /tmp/modconfig-nDKQVy/vmmon-only/./include/vm_asm.h:46,
                 from /tmp/modconfig-nDKQVy/vmmon-only/common/vmx86.c:46:
/tmp/modconfig-nDKQVy/vmmon-only/./include/x86_basic_defs.h:65:0: warning: "CR3_PCID_MASK" redefined
 #define CR3_PCID_MASK  0xFFF
 ^
In file included from ./arch/x86/include/asm/irqflags.h:4:0,
                 from ./include/linux/irqflags.h:15,
                 from ./include/linux/rcupdate.h:39,
                 from ./include/linux/rculist.h:10,
                 from ./include/linux/pid.h:4,
                 from ./include/linux/sched.h:13,
                 from /tmp/modconfig-nDKQVy/vmmon-only/common/vmx86.c:31:
./arch/x86/include/asm/processor-flags.h:37:0: note: this is the location of the previous definition
 #define CR3_PCID_MASK 0xFFFull
 ^
  CC [M]  /tmp/modconfig-nDKQVy/vmmon-only/vmcore/moduleloop.o
In file included from /tmp/modconfig-nDKQVy/vmmon-only/./include/vm_asm.h:43:0,
                 from /tmp/modconfig-nDKQVy/vmmon-only/linux/hostif.c:83:
/tmp/modconfig-nDKQVy/vmmon-only/./include/x86msr.h:109:0: warning: "MSR_MISC_FEATURES_ENABLES" redefined
 #define MSR_MISC_FEATURES_ENABLES            0x140
 ^
In file included from ./arch/x86/include/asm/msr.h:4:0,
                 from ./arch/x86/include/asm/processor.h:20,
                 from ./arch/x86/include/asm/cpufeature.h:4,
                 from ./arch/x86/include/asm/thread_info.h:63,
                 from ./include/linux/thread_info.h:37,
                 from ./arch/x86/include/asm/preempt.h:6,
                 from ./include/linux/preempt.h:80,
                 from ./include/linux/spinlock.h:50,
                 from ./include/linux/mmzone.h:7,
                 from ./include/linux/gfp.h:5,
                 from ./include/linux/mm.h:9,
                 from /tmp/modconfig-nDKQVy/vmmon-only/./include/compat_page.h:23,
                 from /tmp/modconfig-nDKQVy/vmmon-only/linux/hostif.c:32:
./arch/x86/include/asm/msr-index.h:569:0: note: this is the location of the previous definition
 #define MSR_MISC_FEATURES_ENABLES 0x00000140
 ^
In file included from /tmp/modconfig-nDKQVy/vmmon-only/./common/vmx86.h:32:0,
                 from /tmp/modconfig-nDKQVy/vmmon-only/linux/driver.h:31,
                 from /tmp/modconfig-nDKQVy/vmmon-only/linux/driver.c:48:
/tmp/modconfig-nDKQVy/vmmon-only/./include/x86msr.h:109:0: warning: "MSR_MISC_FEATURES_ENABLES" redefined
 #define MSR_MISC_FEATURES_ENABLES            0x140
 ^
In file included from ./arch/x86/include/asm/msr.h:4:0,
                 from ./arch/x86/include/asm/processor.h:20,
                 from ./arch/x86/include/asm/cpufeature.h:4,
                 from ./arch/x86/include/asm/thread_info.h:63,
                 from ./include/linux/thread_info.h:37,
                 from ./arch/x86/include/asm/preempt.h:6,
                 from ./include/linux/preempt.h:80,
                 from ./include/linux/spinlock.h:50,
                 from ./include/linux/wait.h:8,
                 from ./include/linux/wait_bit.h:7,
                 from ./include/linux/fs.h:5,
                 from ./include/linux/highmem.h:4,
                 from /tmp/modconfig-nDKQVy/vmmon-only/linux/driver.c:25:
./arch/x86/include/asm/msr-index.h:569:0: note: this is the location of the previous definition
 #define MSR_MISC_FEATURES_ENABLES 0x00000140
 ^
In file included from /tmp/modconfig-nDKQVy/vmmon-only/./include/vm_asm_x86.h:41:0,
                 from /tmp/modconfig-nDKQVy/vmmon-only/./include/vm_asm_x86_64.h:39,
                 from /tmp/modconfig-nDKQVy/vmmon-only/./include/vm_asm.h:46,
                 from /tmp/modconfig-nDKQVy/vmmon-only/linux/hostif.c:83:
/tmp/modconfig-nDKQVy/vmmon-only/./include/x86_basic_defs.h:65:0: warning: "CR3_PCID_MASK" redefined
 #define CR3_PCID_MASK  0xFFF
 ^
In file included from ./arch/x86/include/asm/processor.h:4:0,
                 from ./arch/x86/include/asm/cpufeature.h:4,
                 from ./arch/x86/include/asm/thread_info.h:63,
                 from ./include/linux/thread_info.h:37,
                 from ./arch/x86/include/asm/preempt.h:6,
                 from ./include/linux/preempt.h:80,
                 from ./include/linux/spinlock.h:50,
                 from ./include/linux/mmzone.h:7,
                 from ./include/linux/gfp.h:5,
                 from ./include/linux/mm.h:9,
                 from /tmp/modconfig-nDKQVy/vmmon-only/./include/compat_page.h:23,
                 from /tmp/modconfig-nDKQVy/vmmon-only/linux/hostif.c:32:
./arch/x86/include/asm/processor-flags.h:37:0: note: this is the location of the previous definition
 #define CR3_PCID_MASK 0xFFFull
 ^
In file included from /tmp/modconfig-nDKQVy/vmmon-only/./include/vm_asm_x86.h:41:0,
                 from /tmp/modconfig-nDKQVy/vmmon-only/./include/vm_asm_x86_64.h:39,
                 from /tmp/modconfig-nDKQVy/vmmon-only/./include/vm_asm.h:46,
                 from /tmp/modconfig-nDKQVy/vmmon-only/linux/driver.c:50:
/tmp/modconfig-nDKQVy/vmmon-only/./include/x86_basic_defs.h:65:0: warning: "CR3_PCID_MASK" redefined
 #define CR3_PCID_MASK  0xFFF
 ^
In file included from ./arch/x86/include/asm/processor.h:4:0,
                 from ./arch/x86/include/asm/cpufeature.h:4,
                 from ./arch/x86/include/asm/thread_info.h:63,
                 from ./include/linux/thread_info.h:37,
                 from ./arch/x86/include/asm/preempt.h:6,
                 from ./include/linux/preempt.h:80,
                 from ./include/linux/spinlock.h:50,
                 from ./include/linux/wait.h:8,
                 from ./include/linux/wait_bit.h:7,
                 from ./include/linux/fs.h:5,
                 from ./include/linux/highmem.h:4,
                 from /tmp/modconfig-nDKQVy/vmmon-only/linux/driver.c:25:
./arch/x86/include/asm/processor-flags.h:37:0: note: this is the location of the previous definition
 #define CR3_PCID_MASK 0xFFFull
 ^
/tmp/modconfig-nDKQVy/vmmon-only/linux/driver.c:1291:1: warning: always_inline function might not be inlinable [-Wattributes]
 LinuxDriverSyncReadTSCs(uint64 *delta) // OUT: TSC max - TSC min
 ^
In file included from /tmp/modconfig-nDKQVy/vmmon-only/./common/vmx86.h:32:0,
                 from /tmp/modconfig-nDKQVy/vmmon-only/vmcore/moduleloop.c:35:
/tmp/modconfig-nDKQVy/vmmon-only/./include/x86msr.h:109:0: warning: "MSR_MISC_FEATURES_ENABLES" redefined
 #define MSR_MISC_FEATURES_ENABLES            0x140
 ^
In file included from ./arch/x86/include/asm/msr.h:4:0,
                 from ./arch/x86/include/asm/processor.h:20,
                 from ./arch/x86/include/asm/cpufeature.h:4,
                 from ./arch/x86/include/asm/thread_info.h:63,
                 from ./include/linux/thread_info.h:37,
                 from ./arch/x86/include/asm/preempt.h:6,
                 from ./include/linux/preempt.h:80,
                 from ./include/linux/rcupdate.h:40,
                 from ./include/linux/rculist.h:10,
                 from ./include/linux/pid.h:4,
                 from ./include/linux/sched.h:13,
                 from /tmp/modconfig-nDKQVy/vmmon-only/vmcore/moduleloop.c:31:
./arch/x86/include/asm/msr-index.h:569:0: note: this is the location of the previous definition
 #define MSR_MISC_FEATURES_ENABLES 0x00000140
 ^
/tmp/modconfig-nDKQVy/vmmon-only/linux/driver.c: In function ‘LinuxDriver_Ioctl’:
/tmp/modconfig-nDKQVy/vmmon-only/linux/driver.c:1986:1: warning: the frame size of 1168 bytes is larger than 1024 bytes [-Wframe-larger-than=]
 }
 ^
  LD [M]  /tmp/modconfig-nDKQVy/vmmon-only/vmmon.o
  Building modules, stage 2.
  MODPOST 1 modules
  CC      /tmp/modconfig-nDKQVy/vmmon-only/vmmon.mod.o
  LD [M]  /tmp/modconfig-nDKQVy/vmmon-only/vmmon.ko
make[1]: Leaving directory '/usr/src/linux-headers-4.13.0-26-generic'
/usr/bin/make -C $PWD SRCROOT=$PWD/. \
  MODULEBUILDDIR= postbuild
make[1]: Entering directory '/tmp/modconfig-nDKQVy/vmmon-only'
make[1]: 'postbuild' is up to date.
make[1]: Leaving directory '/tmp/modconfig-nDKQVy/vmmon-only'
cp -f vmmon.ko ./../vmmon.o
make: Leaving directory '/tmp/modconfig-nDKQVy/vmmon-only'
make: Entering directory '/tmp/modconfig-nDKQVy/vmnet-only'
Using kernel build system.
/usr/bin/make -C /lib/modules/4.13.0-26-generic/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. \
  MODULEBUILDDIR= modules
make[1]: Entering directory '/usr/src/linux-headers-4.13.0-26-generic'
  CC [M]  /tmp/modconfig-nDKQVy/vmnet-only/driver.o
  CC [M]  /tmp/modconfig-nDKQVy/vmnet-only/hub.o
  CC [M]  /tmp/modconfig-nDKQVy/vmnet-only/userif.o
  CC [M]  /tmp/modconfig-nDKQVy/vmnet-only/bridge.o
  CC [M]  /tmp/modconfig-nDKQVy/vmnet-only/procfs.o
  CC [M]  /tmp/modconfig-nDKQVy/vmnet-only/smac.o
  CC [M]  /tmp/modconfig-nDKQVy/vmnet-only/netif.o
  CC [M]  /tmp/modconfig-nDKQVy/vmnet-only/smac_compat.o
  CC [M]  /tmp/modconfig-nDKQVy/vmnet-only/vnetEvent.o
  CC [M]  /tmp/modconfig-nDKQVy/vmnet-only/vnetUserListener.o
In file included from ./include/linux/pci.h:36:0,
                 from /tmp/modconfig-nDKQVy/vmnet-only/compat_netdevice.h:27,
                 from /tmp/modconfig-nDKQVy/vmnet-only/netif.c:43:
./include/linux/pci_ids.h:2260:0: warning: "PCI_VENDOR_ID_VMWARE" redefined
 #define PCI_VENDOR_ID_VMWARE  0x15ad
 ^
In file included from /tmp/modconfig-nDKQVy/vmnet-only/net.h:38:0,
                 from /tmp/modconfig-nDKQVy/vmnet-only/vnetInt.h:26,
                 from /tmp/modconfig-nDKQVy/vmnet-only/netif.c:42:
/tmp/modconfig-nDKQVy/vmnet-only/vm_device_version.h:56:0: note: this is the location of the previous definition
 #define PCI_VENDOR_ID_VMWARE                    0x15AD
 ^
In file included from ./include/linux/pci.h:36:0,
                 from /tmp/modconfig-nDKQVy/vmnet-only/compat_netdevice.h:27,
                 from /tmp/modconfig-nDKQVy/vmnet-only/netif.c:43:
./include/linux/pci_ids.h:2261:0: warning: "PCI_DEVICE_ID_VMWARE_VMXNET3" redefined
 #define PCI_DEVICE_ID_VMWARE_VMXNET3 0x07b0
 ^
In file included from /tmp/modconfig-nDKQVy/vmnet-only/net.h:38:0,
                 from /tmp/modconfig-nDKQVy/vmnet-only/vnetInt.h:26,
                 from /tmp/modconfig-nDKQVy/vmnet-only/netif.c:42:
/tmp/modconfig-nDKQVy/vmnet-only/vm_device_version.h:73:0: note: this is the location of the previous definition
 #define PCI_DEVICE_ID_VMWARE_VMXNET3            0x07B0
 ^
In file included from /tmp/modconfig-nDKQVy/vmnet-only/net.h:38:0,
                 from /tmp/modconfig-nDKQVy/vmnet-only/vnetInt.h:26,
                 from /tmp/modconfig-nDKQVy/vmnet-only/bridge.c:52:
/tmp/modconfig-nDKQVy/vmnet-only/vm_device_version.h:56:0: warning: "PCI_VENDOR_ID_VMWARE" redefined
 #define PCI_VENDOR_ID_VMWARE                    0x15AD
 ^
In file included from ./include/linux/pci.h:36:0,
                 from /tmp/modconfig-nDKQVy/vmnet-only/compat_netdevice.h:27,
                 from /tmp/modconfig-nDKQVy/vmnet-only/bridge.c:51:
./include/linux/pci_ids.h:2260:0: note: this is the location of the previous definition
 #define PCI_VENDOR_ID_VMWARE  0x15ad
 ^
In file included from /tmp/modconfig-nDKQVy/vmnet-only/net.h:38:0,
                 from /tmp/modconfig-nDKQVy/vmnet-only/vnetInt.h:26,
                 from /tmp/modconfig-nDKQVy/vmnet-only/bridge.c:52:
/tmp/modconfig-nDKQVy/vmnet-only/vm_device_version.h:73:0: warning: "PCI_DEVICE_ID_VMWARE_VMXNET3" redefined
 #define PCI_DEVICE_ID_VMWARE_VMXNET3            0x07B0
 ^
In file included from ./include/linux/pci.h:36:0,
                 from /tmp/modconfig-nDKQVy/vmnet-only/compat_netdevice.h:27,
                 from /tmp/modconfig-nDKQVy/vmnet-only/bridge.c:51:
./include/linux/pci_ids.h:2261:0: note: this is the location of the previous definition
 #define PCI_DEVICE_ID_VMWARE_VMXNET3 0x07b0
 ^
  LD [M]  /tmp/modconfig-nDKQVy/vmnet-only/vmnet.o
  Building modules, stage 2.
  MODPOST 1 modules
  CC      /tmp/modconfig-nDKQVy/vmnet-only/vmnet.mod.o
  LD [M]  /tmp/modconfig-nDKQVy/vmnet-only/vmnet.ko
make[1]: Leaving directory '/usr/src/linux-headers-4.13.0-26-generic'
/usr/bin/make -C $PWD SRCROOT=$PWD/. \
  MODULEBUILDDIR= postbuild
make[1]: Entering directory '/tmp/modconfig-nDKQVy/vmnet-only'
make[1]: 'postbuild' is up to date.
make[1]: Leaving directory '/tmp/modconfig-nDKQVy/vmnet-only'
cp -f vmnet.ko ./../vmnet.o
make: Leaving directory '/tmp/modconfig-nDKQVy/vmnet-only'
Starting VMware services:
   Virtual machine monitor                                             done
   Virtual machine communication interface                             done
   VM communication interface socket family                            done
   Blocking file system                                                done
   Virtual ethernet                                                    done
   VMware Authentication Daemon                                        done
   Shared Memory Available                                             done
  1. At this point i rebooted but still get the version error

  2. Incidentally (just mention for completeness) I also had to patch bridge.c according to this post: https://communities.vmware.com/thread/568089. (I am guessing this is unrelated)


diff -Naur vmnet-only.orig/bridge.c vmnet-only/bridge.c
--- vmnet-only/bridge.c 2017-06-26 22:08:39.148034785 +1000
+++ vmnet-only/bridge.c 2017-07-16 11:37:01.325802125 +1000
@@ -636,7 +636,7 @@
         unsigned long flags;
         int i;
 
-        atomic_inc(&clone->users);
+        clone = skb_get(clone);
 
         clone->dev = dev;
         clone->protocol = eth_type_trans(clone, dev);

Update:

I've downgraded to 12.5.7 and applied your hostif.c patch for 12.5.7. vmware workstation starts up now. will report back if this solves my out of memory issue

@mkubecek
Copy link
Owner

mkubecek commented Feb 4, 2018

Picking one file from patched sources is rarely a good idea, I don't understand why some people give this kind of advice on various webs. Eiter pick a particular commit fixing your issue and apply it to the original sources from VMware or use complete patched sources from here. I added (into all active branches) a top level makefile and file INSTALL explaining how to use the repository.

Anyway... if anyone sees this message, it means he/she built their modules from wrong sources (based on module for a different version of Workstation / Player). It's possible, in theory, that I used wrong source tarball as a base for some branch but then everyone using that branch would encounter this kind of problem, not only some users.

@wcdeich4
Copy link

This issue is happening again. I think b/c the linux modules update soooo fast

@mkubecek
Copy link
Owner

mkubecek commented Aug 22, 2023

This is not an actual issue, this error message means the user used wrong module version meant for different Workstation/Player version. In other words, pure user mistake, not something to report here as an issue.

@wcdeich4
Copy link

ohhhhh your make file does not download the correct version of vmmon and vmnet, they have to be downloaded separately.

@mkubecek
Copy link
Owner

No, you just need to checkout the right branch depending on your Workstation/Player version. Please read the README and INSTALL files, it's all explained there.

@wcdeich4
Copy link

Well, I have VMware-Player-Full-17.0.2-21581411.x86_64.bundle and I switched to branch tmp/workstation-17.0.2-k6.5 but I still get an error.

I guess I need to switch to a newer version of VMWare :)

@rubyjedi
Copy link

There seems to be a disconnect here. Try the one-step bash installer script I submitted a while ago

ec63749

Set the vmware_product to "workstation-17.0.2" (this sets your branch) and run the script as root.

@wcdeich4
Copy link

@rubyjedi Thank you, that worked. Strange thing is, I had previously checked out branch workstation-17.0.2 before I tried tmp/workstation-17.0.2-k6.5. I do not really know why workstation-17.0.2 worked this time, but not before. But, thank you.

@wcdeich4
Copy link

I wish VMWare would release a flatpak version. Since I have Fedora, every single update breaks VMWare :(

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

7 participants