mkubecek / vmware-host-modules

Patches needed to build VMware (Player and Workstation) host modules against recent kernels
GNU General Public License v2.0
2.31k stars 382 forks source link

Version mismatch with vmmon module WMware pro 17.16 #280

Open Titof86 opened 2 months ago

Titof86 commented 2 months ago

Hello,

i have this error with vmware Pro 17.16 :

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

Linux 69-31-17-125 6.10.6-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.10.6-1 (2024-08-19) x86_64 GNU/Linux

i try it:

git clone -b tmp/workstation-17.5.2-k6.9.1 https://github.com/nan0desu/vmware-host-modules.git cd vmware-host-modules/ tar -cf vmmon.tar vmmon-only tar -cf vmnet.tar vmnet-only sudo cp -v vmmon.tar vmnet.tar /usr/lib/vmware/modules/source/ sudo vmware-modconfig --console --install-all

mpkossen commented 2 months ago

Reinstall VMware Workstation, that fixes it.

bytium commented 2 months ago

You can try this patch:

https://github.com/bytium/vm-host-modules/

Follow the instructions!

qabpea commented 2 months ago

Nice, works well

mem0git commented 2 months ago

@bytium - Could not get this to work. Steps: 0) For testing purposes, installed Ubuntu 24.04 fully patched, VMware Workstation runs perfectly. 1) Reformat hard drive, Install fresh Fedora Linux 40 on laptop. 2) Update - Install RPM Fusion (both) - Update again. - 6.10.7-200.fc40.x86_64 3) Install all dependencies: group install all dependencies, dev libraries, etc. 4) Clone your repo, follow all instructions. Instructions are very simple. 5) Everything compiles. make; make install. 6) Workstation 40 refuses to run.

Titof86 commented 2 months ago

Hello,

i try install git modul vmware 17.6.

when i lunch my VM i have this error:

Unable to change virtual machine power state: Transport (VMDB) error -14: Pipe connection has been broken.

bytium commented 2 months ago

@bytium - Could not get this to work. Steps: 0) For testing purposes, installed Ubuntu 24.04 fully patched, VMware Workstation runs perfectly.

  1. Reformat hard drive, Install fresh Fedora Linux 40 on laptop.
  2. Update - Install RPM Fusion (both) - Update again. - 6.10.7-200.fc40.x86_64
  3. Install all dependencies: group install all dependencies, dev libraries, etc.
  4. Clone your repo, follow all instructions. Instructions are very simple.
  5. Everything compiles. make; make install.
  6. Workstation 40 refuses to run.

It was not tested on Fedora or other distros. Perhaps we need to modify the file location for other distros.

ja-jaa-org-uk commented 2 months ago

Just tested on fully updated F40. kernel 6.10.8-200.fc40.x86_64 I had to re-install WS 17.6.0 as I had been "playing" with getting it going. vmware-installer -u vmware-workstation VMware-Workstation-Full-17.6.0-24238078.x86_64.bundle A couple of warnings but compiled OK Ran a Windows 11 VM (not fully updated) for a very quick test. All seems well - many thanks - vital for me! John

mem0git commented 2 months ago

Just tested on fully updated F40. kernel 6.10.8-200.fc40.x86_64 I had to re-install WS 17.6.0 as I had been "playing" with getting it going. vmware-installer -u vmware-workstation VMware-Workstation-Full-17.6.0-24238078.x86_64.bundle A couple of warnings but compiled OK Ran a Windows 11 VM (not fully updated) for a very quick test. All seems well - many thanks - vital for me! John

Did you clone the repository (nan0desu) at the top of this thread and build the modules?

ja-jaa-org-uk commented 2 months ago

I used the bytium modules - details from my notes below. 2024_09_10-09.21 17.6.0 with kernel 6.10.8-200.fc40.x86_64 on monks Found https://github.com/mkubecek/vmware-host-modules/issues/280 <<<<<<<<<<<<<<<<<The forum https://github.com/bytium/vm-host-modules/ Ref https://bytium.com/ in Truro!

su dnf install git As ja cd /global/db/sw/VMware_17/17.6.0/Module_Fix on monks ja@monks Module_Fix 2$ git clone https://github.com/bytium/vm-host-modules.git ja@monks Module_Fix 3$ cd vm-host-modules ja@monks vm-host-modules 4$ git checkout 17.6 Already on '17.6' Your branch is up to date with 'origin/17.6'. ja@monks vm-host-modules 5$ make A couple of warnings but compiled OK su [root@monks:/global/db/sw/VMware_17/17.6.0/Module_Fix/vm-host-modules]$ make install Still a problem when starting vmware, therefore re-installed WS 17.6.0 and tried again

vmware-installer -u vmware-workstation [root@monks:/global/db/sw/VMware_17/17.6.0]$ ./VMware-Workstation-Full-17.6.0-24238078.x86_64.bundle git clone https://github.com/bytium/vm-host-modules.git ... This time it worked perfectly. Tested both w2k & w11.

bytium commented 2 months ago

@bytium - Could not get this to work. Steps: 0) For testing purposes, installed Ubuntu 24.04 fully patched, VMware Workstation runs perfectly.

  1. Reformat hard drive, Install fresh Fedora Linux 40 on laptop.
  2. Update - Install RPM Fusion (both) - Update again. - 6.10.7-200.fc40.x86_64
  3. Install all dependencies: group install all dependencies, dev libraries, etc.
  4. Clone your repo, follow all instructions. Instructions are very simple.
  5. Everything compiles. make; make install.
  6. Workstation 40 refuses to run.

Tested on Latest Fedora. Work perfectly!

bytium commented 2 months ago

I used the bytium modules - details from my notes below. 2024_09_10-09.21 17.6.0 with kernel 6.10.8-200.fc40.x86_64 on monks Found #280 <<<<<<<<<<<<<<<<<The forum https://github.com/bytium/vm-host-modules/ Ref https://bytium.com/ in Truro!

su dnf install git As ja cd /global/db/sw/VMware_17/17.6.0/Module_Fix on monks ja@monks Module_Fix 2$ git clone https://github.com/bytium/vm-host-modules.git ja@monks Module_Fix 3$ cd vm-host-modules ja@monks vm-host-modules 4$ git checkout 17.6 Already on '17.6' Your branch is up to date with 'origin/17.6'. ja@monks vm-host-modules 5$ make A couple of warnings but compiled OK su [root@monks:/global/db/sw/VMware_17/17.6.0/Module_Fix/vm-host-modules]$ make install Still a problem when starting vmware, therefore re-installed WS 17.6.0 and tried again

vmware-installer -u vmware-workstation [root@monks:/global/db/sw/VMware_17/17.6.0]$ ./VMware-Workstation-Full-17.6.0-24238078.x86_64.bundle git clone https://github.com/bytium/vm-host-modules.git ... This time it worked perfectly. Tested both w2k & w11.

Thank you for posting the instructions. I hope it helps others!

Another details instruction was published at https://bytium.com/vmware-workstation-host-module-patch-for-debian-and-ubuntu/

torehl commented 2 months ago

I followed ja-jaa-org-uk's suggestion, but is getting:

[ 1483.689840] /dev/vmmon[26229]: PTSC: initialized at 2904005000 Hz using TSC, TSCs are synchronized. [ 1483.934834] /dev/vmmon[26229]: Monitor IPI vector: 0 [ 1483.934846] /dev/vmmon[26229]: HV IPI vector: 0 [ 1493.058916] ------------[ cut here ]------------ [ 1493.058925] UBSAN: array-index-out-of-bounds in /home/torel/workspace/VMware-Workstations/vm-host-modules-17.6.0/vmmon-only/common/moduleloop.c:342:49 [ 1493.058935] index 0 is out of range for type 'MSRReply [*]' [ 1493.058940] CPU: 1 PID: 26338 Comm: vmx-vcpu-0 Tainted: P OE 6.10.9-100.fc39.x86_64 #1 [ 1493.058950] Hardware name: Dell Inc. Precision 5530/XXXXXX, BIOS 1.37.0 04/10/2024 [ 1493.058954] Call Trace: [ 1493.058960] [ 1493.058968] dump_stack_lvl+0x64/0x80 [ 1493.058986] ubsan_handle_out_of_bounds+0x98/0xd0 [ 1493.059003] Vmx86_RunVM+0x403/0x7c0 [vmmon] [ 1493.059044] LinuxDriver_Ioctl+0xabc/0x1310 [vmmon] [ 1493.059077] ? ioctl_has_perm.constprop.0.isra.0+0xda/0x130 [ 1493.059093] ? x64_sys_ioctl+0x94/0xd0 [ 1493.059101] x64_sys_ioctl+0x94/0xd0 [ 1493.059109] do_syscall_64+0x82/0x160 [ 1493.059120] ? syscall_exit_to_user_mode+0x72/0x220 [ 1493.059132] ? do_syscall_64+0x8e/0x160 [ 1493.059149] ? ioctl_has_perm.constprop.0.isra.0+0xda/0x130 [ 1493.059164] ? syscall_exit_to_user_mode+0x72/0x220 [ 1493.059174] ? do_syscall_64+0x8e/0x160 [ 1493.059182] ? syscall_exit_to_user_mode+0x72/0x220 [ 1493.059192] ? do_syscall_64+0x8e/0x160 [ 1493.059200] ? do_syscall_64+0x8e/0x160 [ 1493.059207] ? count_memcg_events+0x75/0x130 [ 1493.059220] ? count_memcg_events.constprop.0+0x1a/0x30 [ 1493.059230] ? handle_mm_fault+0xae/0x320 [ 1493.059239] ? do_user_addr_fault+0x33a/0x6c0 [ 1493.059250] ? exc_page_fault+0x7e/0x180 [ 1493.059260] entry_SYSCALL_64_after_hwframe+0x76/0x7e [ 1493.059272] RIP: 0033:0x7fe9d212f3ed [ 1493.059317] Code: 04 25 28 00 00 00 48 89 45 c8 31 c0 48 8d 45 10 c7 45 b0 10 00 00 00 48 89 45 b8 48 8d 45 d0 48 89 45 c0 b8 10 00 00 00 0f 05 <89> c2 3d 00 f0 ff ff 77 1a 48 8b 45 c8 64 48 2b 04 25 28 00 00 00 [ 1493.059324] RSP: 002b:00007fe7ae9ff820 EFLAGS: 00000246 ORIG_RAX: 0000000000000010 [ 1493.059335] RAX: ffffffffffffffda RBX: 000055aa2dbabe78 RCX: 00007fe9d212f3ed [ 1493.059340] RDX: 0000000000000000 RSI: 00000000000007d8 RDI: 000000000000000f [ 1493.059346] RBP: 00007fe7ae9ff870 R08: 0035533cd0153f00 R09: 0000000000000001 [ 1493.059351] R10: 00007fe9d27db080 R11: 0000000000000246 R12: 0000000000000138 [ 1493.059356] R13: 00007fe9c3de9388 R14: 00007fe9c3de93a0 R15: 00007ffced529860 [ 1493.059368] [ 1493.059371] ---[ end trace ]---

torehl commented 2 months ago

Suggestions? Kernel 6.10.9-100.fc39.x86 on FC39.

ja-jaa-org-uk commented 2 months ago

Hmmm - I was happy things appeared to be working! I have tried harder, ...

2024_09_12-09.25

[root@monks:~]$ systemctl restart vmware.service gives lots of these type errors but eventually seems to run OK

UBSAN: array-index-out-of-bounds in /global/db/sw/VMware_17/17.6.0/Module_Fix/vm-host-modules/vmmon-only/common/vmx86.c:3658:38 Sep 12 09:26:52 monks.jaa.org.uk kernel: index 1 is out of range for type 'MSRReply [*]' //--------------------------------------- Running vmware starts OK but when a VM is started gives lots of

Sep 12 09:30:14 monks.jaa.org.uk kernel: UBSAN: array-index-out-of-bounds in /global/db/sw/VMware_17/17.6.0/Module_Fix/vm-host-modules/vmmon-only/linux/hostif.c:2826:60 Sep 12 09:30:14 monks.jaa.org.uk kernel: index 0 is out of range for type 'CPUIDReply []' and Sep 12 09:30:14 monks.jaa.org.uk kernel: UBSAN: array-index-out-of-bounds in /global/db/sw/VMware_17/17.6.0/Module_Fix/vm-host-modules/vmmon-only/common/vmx86.c:2975:31 Sep 12 09:30:14 monks.jaa.org.uk kernel: index 0 is out of range for type 'MSRReply []'

The VM appears to work perfectly. //--------------------------------------- Re-starting the same VM or starting another does not give any errors. Stopping vmware gives no errors. Re-running vmware gives no errors Starting a VM again gives no errors. //--------------------------------------- Summary:

  1. Errors given when vmware.service runs
  2. Errors given when any one of several VM are run the first time.
  3. Once any VM has been run no errors are given until vmware.service is run again.
  4. Even with the errors neither the host or the VM seem to be damaged - so far!
ja-jaa-org-uk commented 2 months ago

Tried again!

I emphasise I have no idea of the significance of these changes and of possible consequences! Suggested here https://github.com/mkubecek/vmware-host-modules/issues/243

2024_09_13-09.43 Tried changing two include files from bytium before compiling /global/db/sw/VMware_17/17.6.0/Module_Fix_Mk2/vm-host-modules/vmmon-only/include/ x86cpuid.h and x86msr.h changed one line in each file typedef struct CPUIDQuery { uint32 eax; // IN uint32 ecx; // IN uint32 numLogicalCPUs; // IN/OUT CPUIDReply logicalCPUs[]; // OUT ja_hack [0] to [] } CPUIDQuery;

pragma pack(push, 1)

typedef struct MSRQuery { uint32 msrNum; // IN uint32 numLogicalCPUs; // IN/OUT MSRReply logicalCPUs[]; // OUT ja_hack [0] to [] } MSRQuery;

pragma pack(pop)

systemctl stop vwmare.service if running

then make; su; make install systemctl restart vwmare.service Not sure this is necessary vmware

No crashes and no apparent damage to host or VM

Only a very short test of W11 VM

mem0git commented 2 months ago

@bytium - Could not get this to work. Steps: 0) For testing purposes, installed Ubuntu 24.04 fully patched, VMware Workstation runs perfectly.

  1. Reformat hard drive, Install fresh Fedora Linux 40 on laptop.
  2. Update - Install RPM Fusion (both) - Update again. - 6.10.7-200.fc40.x86_64
  3. Install all dependencies: group install all dependencies, dev libraries, etc.
  4. Clone your repo, follow all instructions. Instructions are very simple.
  5. Everything compiles. make; make install.
  6. Workstation 40 refuses to run.

Tested on Latest Fedora. Work perfectly!

I cannot find the correct "mix." I repeat all the steps above: Reformat drive; Install fresh Fedora 40; Updates; RPM Fusion; Updates; Install all dependencies; Install VMWare WKS 17.6.0; Clone Bytium repo; Follow simple instructions; Make/Make install; Reboot; VMWare Workstation will not run. - Move to second computer, repeat steps, not working. - Go to third computer, repeat steps, not working. Current kernel version: 6.10.10-200. I am no novice at this. I don't know what I am missing.

ja-jaa-org-uk commented 2 months ago

Only thought - try a make clean before the make.

If that works the changes to x86cpuid.h and x86msr.h are probably a good idea.

penaivanalejandro commented 2 months ago

You can try this patch:

https://github.com/bytium/vm-host-modules/

Follow the instructions!

This Work for me... When I updated to 17.6.0 build-24238078 and mi Kernel is 6.9.3-76060903-generic (Pop OS!)

x6h057 commented 1 month ago

if u still loking to fix it here: https://github.com/x6h057/vm-host-modules-17.6.git