Package Details: vmware-patch 12.0.0-4

Git Clone URL: https://aur.archlinux.org/vmware-patch.git (read-only)
Package Base: vmware-patch
Description: A post-install configuration solution for VMware Workstation (Pro) and Player (Plus and Pro)
Upstream URL: https://wiki.archlinux.org/index.php/VMware#Configuration
Licenses: GPL
Submitter: oliv
Maintainer: Det
Last Packager: Det
Votes: 178
Popularity: 1.796242
First Submitted: 2011-01-31 12:49
Last Updated: 2015-10-13 20:22

Required by (0)

Sources (24)

  • common-functions.sh
  • vmblock-11.1.2-4.2.patch
  • vmci-10.0.4-3.14.patch
  • vmci-10.0.6-3.19.patch
  • vmci-10.0.6-4.0.patch
  • vmci-12.0.0-4.2.patch
  • vmmon-10.0.4-3.14.patch
  • vmmon-10.0.5-3.14.patch
  • vmmon-11.1.2-4.2.patch
  • vmnet-10.0.1-3.13.patch
  • vmnet-10.0.4-3.14.patch
  • vmnet-10.0.6-3.17.patch
  • vmnet-11.1.0-3.19.patch
  • vmnet-11.1.2-4.2.patch
  • vmware-patch.sh
  • vmware-unpatch.sh
  • vmware-usbarbitrator.service
  • vmware-workstation.service
  • vmware.service
  • vsock-10.0.4-3.14.patch
  • vsock-10.0.6-3.15.patch
  • vsock-10.0.6-3.19.patch
  • vsock-10.0.6-4.1.patch
  • vsock-11.1.2-4.2.patch

Latest Comments

n17ikh commented on 2016-04-25 20:55

I did have to massage vmware-patch a bit to get Workstation 12.0.0 to build on kernel 4.5.0-1. I had to apply the patch detailed in ochiman's comment below; and I had trouble actually getting vmware to start (it would silently error out); I had to modify the library path:

echo /usr/lib/vmware/lib/libglibmm-2.4.so.1 | sudo tee /etc/ld.so.conf.d/vmware_workstation.conf
sudo ldconfig

jhsnyder666 commented on 2016-03-31 19:01

Doesn't seem to be a problem most people have, but Workstation 12 with NAT'd win7 guest, and if your host is on a network with a named domain rather than default localdomain (e.g. myveryowndomain vs localdomain) guest DNS is broken.

This seems to be because VMware actively attaches .localdomain to DNS resolution requests by default, so www.yahoo.com becomes www.yahoo.com.localdomain.

See e.g. https://communities.vmware.com/thread/527800

A hack that mostly works is to set the DNS server to something external to VMware ... I pointed guest DNS to my network router.

Seems like you'd want the domainname in /etc/vmware/vmnet8/dhcpd/dhcpd.conf to be either empty or set to the local network name, but the file warns against edits.

Det commented on 2016-02-21 13:31

You'd get the .service's and a cleanup of the previous modules.

Other than that, nothing. I haven't updated it in a while, and apparently neither the older VMwares nor the latest one (12) has needed any kind of additional patching.

rakotomandimby commented on 2015-12-15 18:02

I must have missed something, because Workstation 12 Pro (12.0.1 build-3160714) and kernel 4.2.5-1-ARCH, "vmware-modconfig --console --install-all" builds fine without this patch...
What is the point?

bobpaul commented on 2015-12-15 17:33

Because AUR comments eat whitespace, I re-created the patches per ochiman's instructions for Linux-4.3.2 and uploaded to pastbin: http://pastebin.com/bjLKfTyd

ochiman commented on 2015-12-07 00:13

To fix for kernel 4.3
use this patch > https://forums.gentoo.org/viewtopic-p-7841590.html?sid=3e09a55c4253da422e6c75915af3055a

i add to /usr/lib/vmware/modules/patches/vmci-12.0.0-4.2.patch
and /usr/lib/vmware/modules/patches/vmmon-12.0.0-4.2.patch

run vmware-patch

now vmware is starting

credits to agix from gentoo forum

-----------------------------------------------------

[ochi@ochinote patches]$ cat vmmon-12.0.0-4.2.patch
--- vmmon-only/linux/driver.c 2015-11-23 14:12:17.329780992 +0200
+++ vmmon-only/linux/driver.c 2015-11-23 14:18:46.159776291 +0200
@@ -400,9 +400,7 @@
#ifdef VMX86_DEVEL
unregister_chrdev(linuxState.major, linuxState.deviceName);
#else
- if (misc_deregister(&linuxState.misc)) {
- Warning("Module %s: error unregistering\n", linuxState.deviceName);
- }
+ misc_deregister(&linuxState.misc);
#endif

Log("Module %s: unloaded\n", linuxState.deviceName);

------------------------------------------------------------
[ochi@ochinote patches]$ cat vmci-12.0.0-4.2.patch
diff -ur a/vmci-only/linux/driver.c b/vmci-only/linux/driver.c
--- vmci-only/linux/driver.c 2015-05-31 16:01:25.000000000 +0300
+++ vmci-only/linux/driver.c 2015-08-08 00:42:47.000000000 +0300
@@ -26,13 +26,16 @@

#include <linux/file.h>
#include <linux/fs.h>
+#include <linux/vmalloc.h>
#include <linux/init.h>
+
#if defined(__x86_64__) && LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 12)
# include <linux/ioctl32.h>
/* Use weak: not all kernels export sys_ioctl for use by modules */
asmlinkage __attribute__((weak)) long
sys_ioctl(unsigned int fd, unsigned int cmd, unsigned long arg);
#endif
+
#include <linux/miscdevice.h>
#include <linux/moduleparam.h>
#include <linux/poll.h>
@@ -713,7 +716,7 @@

case IOCTL_VMCI_INIT_CONTEXT: {
VMCIInitBlock initBlock;
- VMCIHostUser user;
+ uid_t user;

retval = copy_from_user(&initBlock, (void *)ioarg, sizeof initBlock);
if (retval != 0) {
@@ -735,7 +738,11 @@
goto init_release;
}

+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 13, 0)
user = current_uid();
+#else
+ user = from_kuid(&init_user_ns, current_uid());
+#endif
retval = VMCIContext_InitContext(initBlock.cid, initBlock.flags,
0 /* Unused */, vmciLinux->userVersion,
&user, &vmciLinux->context);
@@ -1683,7 +1690,7 @@
/* This should be last to make sure we are done initializing. */
retval = pci_register_driver(&vmci_driver);
if (retval < 0) {
- vfree(data_buffer);
+ kvfree(data_buffer);
data_buffer = NULL;
return retval;
}
@@ -2470,7 +2477,7 @@

if (guestDeviceInit) {
pci_unregister_driver(&vmci_driver);
- vfree(data_buffer);
+ kvfree(data_buffer);
guestDeviceInit = FALSE;
}

diff -ur a/vmci-only/linux/vmciKernelIf.c b/vmci-only/linux/vmciKernelIf.c
--- vmci-only/linux/vmciKernelIf.c 2015-05-31 16:01:25.000000000 +0300
+++ vmci-only/linux/vmciKernelIf.c 2015-02-24 03:58:06.000000000 +0300
@@ -40,6 +40,7 @@
#include <linux/socket.h> /* For memcpy_{to,from}iovec(). */
#include <linux/vmalloc.h>
#include <linux/wait.h>
+#include <linux/skbuff.h>

#include "compat_highmem.h"
#include "compat_interrupt.h"
@@ -1196,21 +1197,21 @@
} else {
toCopy = size - bytesCopied;
}
-
+ /* Code cloned from kernels drivers/misc/vmw_vmci/vmci_queue_pair.c */
if (isIovec) {
- struct iovec *iov = (struct iovec *)src;
- int err;
+ struct msghdr *msg = (struct msghdr *)src;
+ int err;

- /* The iovec will track bytesCopied internally. */
- err = memcpy_fromiovec((uint8 *)va + pageOffset, iov, toCopy);
- if (err != 0) {
- if (kernelIf->host) {
- kunmap(kernelIf->u.h.page[pageIndex]);
+ /* The iovec will track bytes_copied internally. */
+ err = memcpy_from_msg((u8 *)va + pageOffset, msg, toCopy);
+ if (err != 0) {
+ if (kernelIf->host)
+ kunmap(kernelIf->u.h.page[pageIndex]);
+ return VMCI_ERROR_INVALID_ARGS;
}
- return VMCI_ERROR_INVALID_ARGS;
- }
- } else {
- memcpy((uint8 *)va + pageOffset, (uint8 *)src + bytesCopied, toCopy);
+ } else {
+ memcpy((u8 *)va + pageOffset,
+ (u8 *)src + bytesCopied, toCopy);
}

bytesCopied += toCopy;
@@ -1273,11 +1274,11 @@
}

if (isIovec) {
- struct iovec *iov = (struct iovec *)dest;
+ struct msghdr *msg = (struct msghdr *)dest;
int err;

/* The iovec will track bytesCopied internally. */
- err = memcpy_toiovec(iov, (uint8 *)va + pageOffset, toCopy);
+ err = memcpy_to_msg(msg, (uint8 *)va + pageOffset, toCopy);
if (err != 0) {
if (kernelIf->host) {
kunmap(kernelIf->u.h.page[pageIndex]);
diff -ur a/vmci-only/shared/vm_device_version.h b/vmci-only/shared/vm_device_version.h
--- vmci-only/shared/vm_device_version.h 2015-05-31 16:01:26.000000000 +0300
+++ vmci-only/shared/vm_device_version.h 2015-02-24 03:58:06.000000000 +0300
@@ -53,7 +53,9 @@
* VMware HD Audio codec
* VMware HD Audio controller
*/
+#ifndef PCI_VENDOR_ID_VMWARE
#define PCI_VENDOR_ID_VMWARE 0x15AD
+#endif
#define PCI_DEVICE_ID_VMWARE_SVGA2 0x0405
#define PCI_DEVICE_ID_VMWARE_SVGA 0x0710
#define PCI_DEVICE_ID_VMWARE_VGA 0x0711
--- vmci-only/linux/driver.c 2015-11-23 14:35:55.339763849 +0200
+++ vmci-only/linux/driver.c 2015-11-23 14:38:57.439761647 +0200
@@ -2484,12 +2484,7 @@

VMCI_HostCleanup();

- retval = misc_deregister(&linuxState.misc);
- if (retval) {
- Warning(LGPFX "Module %s: error unregistering\n", VMCI_MODULE_NAME);
- } else {
- Log(LGPFX"Module %s: unloaded\n", VMCI_MODULE_NAME);
- }
+ misc_deregister(&linuxState.misc);

hostDeviceInit = FALSE;
}

-------------------------------------------------------------------

reeling commented on 2015-12-03 15:00

I think there might be a new patch needed for the 4.2.5 kernel and VMware 12.

Kernel: 4.2.5-1
VMware Workstation 12.0.1 build-3160714


When I run this it says no patches required but then it errors with no clear reason. I tried compiling the modules manually using dkms according to the wiki https://wiki.archlinux.org/index.php/VMware#Using_DKMS_to_manage_the_modules. It errors. The full trace, as reported by dkms, is here http://pastebin.com/qbPUm9CA. I believe this is the relevant section

/tmp/modconfig-MdnX6F/vmnet-only/vmnetInt.h:84:40: error: too few arguments to function ‘sk_alloc’
# define compat_sk_alloc(_bri, _pri) sk_alloc(&init_net, \
^
/tmp/modconfig-MdnX6F/vmnet-only/bridge.c:952:17: note: in expansion of macro ‘compat_sk_alloc’
bridge->sk = compat_sk_alloc(bridge, GFP_ATOMIC);
^
In file included from /tmp/modconfig-MdnX6F/vmnet-only/compat_sock.h:23:0,
from /tmp/modconfig-MdnX6F/vmnet-only/bridge.c:35:
include/net/sock.h:1523:14: note: declared here
struct sock *sk_alloc(struct net *net, int family, gfp_t priority,
^
scripts/Makefile.build:258: recipe for target '/tmp/modconfig-MdnX6F/vmnet-only/bridge.o' failed


Det commented on 2015-10-10 08:22

You sohuld mention that in https://aur.archlinux.org/packages/ncurses5-compat-libs/, not here.

taggaara commented on 2015-10-10 08:13

I'm using http proxy with yaourt, provixy will give 404 when it's installing ncurses library, I have to manual downloading the file and asc from FTP(ftp://invisible-island.net)...

dejl13 commented on 2015-10-07 12:20

I fixed the "cannot install vmware-tools" issue by running:

sudo ln -s /usr/lib/libncursesw.so.6 /usr/lib/libncursesw.so.5

on vmware workstation 12 pro.

DJ_L commented on 2015-09-30 17:43

krobertson, for whatever reason, when downloading the zip, the patch linked is slightly malformed. Last hunk is listed as 120 lines, it was only 119 in the extracted file. Easily fixed, but thought I'd make you aware of it. Also, should probably bump the package revision so that no conflicts occur. Thanks for sharing your work, saved me a bit of a headache having already had it fixed and all.

tommyjcarpenter commented on 2015-09-29 21:51

Can someone please explain how to fix this using https://gist.github.com/krobertson/9a3ffa2d9429df63d724 or https://communities.vmware.com/thread/517279? How does one apply this patch since it is not yet updated on here?

tommyjcarpenter commented on 2015-09-29 21:50

Can someone please explain how to fix this using https://communities.vmware.com/thread/517279? How does one apply this patch since it is not yet updated on here?

dejl13 commented on 2015-09-29 20:35

workstation 12 pro

dejl13 commented on 2015-09-29 20:32

when trying to "download all components" (vmware tools) It fails:

User interface initialization failed. Exiting. Check the log for details.

There was a problem updating a software component. Try again later and if the problem persists, contact VMware Support or your system administrator.

(for all tool versions)

I've tried running "vmware" as root but still fails.
hostd.log says some permission issue but I'm running vmware and hostd as root?

krobertson commented on 2015-09-29 20:06

Was able to build the 11.1.2 modules on the 4.2 kernel using a patch from the VMware forums: https://communities.vmware.com/thread/517279

Updated vmware-patch to apply it and made the patch available here: https://gist.github.com/krobertson/9a3ffa2d9429df63d724

frat commented on 2015-09-29 00:50

Patching VMware Workstation v11.1.2 for kernel 4.2.1-1-ARCH..

scripts/Makefile.build:258: recipe for target '/tmp/modconfig-rnxvwn/vmnet-only/bridge.o' failed
make[2]: *** [/tmp/modconfig-rnxvwn/vmnet-only/bridge.o] Error 1
make[2]: *** waiting for unfinished work....
Makefile:1386: recipe for target '_module_/tmp/modconfig-rnxvwn/vmnet-only' failed
make[1]: *** [_module_/tmp/modconfig-rnxvwn/vmnet-only] Error 2
make[1]: Leaving directory '/usr/lib/modules/4.2.1-1-ARCH/build'
Makefile:120: recipe for target 'vmnet.ko' failed
make: *** [vmnet.ko] Error 2
make: Leaving directory '/tmp/modconfig-rnxvwn/vmnet-only'
Unable to install all modules. See log for details.

dbt816 commented on 2015-09-27 14:33

I had to apply the patch below for Workstation 12.0.0 on the 4.1.6 kernel to get the VMCI module to build. Seems like this one has been following us around from version to version for quite a while :)


--- vmciKernelIf.c.orig 2015-09-27 09:20:06.682944948 -0500
+++ vmciKernelIf.c 2015-09-27 09:18:40.509708867 -0500
@@ -38,6 +38,7 @@
#include <linux/mm.h> /* For vmalloc_to_page() and get_user_pages()*/
#include <linux/pagemap.h> /* For page_cache_release() */
#include <linux/socket.h> /* For memcpy_{to,from}iovec(). */
+#include <linux/skbuff.h> /* For memcpy_{to,from}_msg(). */
#include <linux/vmalloc.h>
#include <linux/wait.h>

@@ -1198,11 +1199,11 @@
}

if (isIovec) {
- struct iovec *iov = (struct iovec *)src;
+ struct msghdr *msg = (struct msghdr*)src;
int err;

- /* The iovec will track bytesCopied internally. */
- err = memcpy_fromiovec((uint8 *)va + pageOffset, iov, toCopy);
+ /* The msg will track bytesCopied internally. */
+ err = memcpy_from_msg((uint8*)va + pageOffset, msg, toCopy);
if (err != 0) {
if (kernelIf->host) {
kunmap(kernelIf->u.h.page[pageIndex]);
@@ -1273,11 +1274,11 @@
}

if (isIovec) {
- struct iovec *iov = (struct iovec *)dest;
+ struct msghdr *msg = (struct msghdr*)dest;
int err;

- /* The iovec will track bytesCopied internally. */
- err = memcpy_toiovec(iov, (uint8 *)va + pageOffset, toCopy);
+ /* The msg will track bytesCopied internally. */
+ err = memcpy_to_msg(msg, (uint8 *)va + pageOffset, toCopy);
if (err != 0) {
if (kernelIf->host) {
kunmap(kernelIf->u.h.page[pageIndex]);

Det commented on 2015-09-07 18:47

No, because they're not for that kernel.

dejl13 commented on 2015-09-07 11:18

@nasosnik
Getting that DNS, NAT issue as well, can get it to work by manually editing DNS in nic settings inside the VM though.

I'm thinking of switching to linux-lts kernel, anyone know If I need to remove vmware kernel modules or anything before switching?

nasosnik commented on 2015-09-02 11:49

It seems that there is an issue with DNS affecting NAT networking and Windows guests. The problem appears on VMware Workstation 11.1.2 and 12.0.0 and kernels 4.1.5 and 4.1.6.

It appears that the vmnet8 stack is not forwarding DNS requests from Windows guests. Please can anyone confirm the issue?

Det commented on 2015-08-30 07:27

Fixed support for 10.0.6. Couldn't reproduce the latter.

Det commented on 2015-08-30 06:32

Please use Pastebin next time.

Rainmaker commented on 2015-08-28 09:02

For me, the services would not start correctly. It would output:
Starting VMware services:
Virtual machine monitor done
Virtual machine communication interface failed
VM communication interface socket family failed
Blocking file system done
Virtual ethernet done
VMware Authentication Daemon done

Applied the following patch to make it work:
--- /etc/init.d/vmware.orig 2015-08-28 10:21:03.009457785 +0200
+++ /etc/init.d/vmware 2015-08-28 10:59:24.196657692 +0200
@@ -180,11 +180,12 @@

# Start the virtual machine communication interface kernel service
vmwareStartVmci() {
+echo "Called vmci"
mod=$(vmwareRealModName $vmci $vmci_alias)

# only load vmci if it's not already loaded
- if [ "`isLoaded "$mod"`" = 'no' ]; then
- vmwareLoadModule "$mod"
+ if [ "`isLoaded "$vmci"`" = 'no' ]; then
+ vmwareLoadModule "$vmci"
fi
vmware_rm_stale_node "$vmciNode"
if [ ! -e "/dev/$vmciNode" ]; then
@@ -233,8 +234,8 @@
mod=$(vmwareRealModName $vmci $vmci_alias)

# only unload vmci if it's already loaded
- if [ "`isLoaded "${mod}"`" = 'yes' ]; then
- vmwareUnloadModule "${mod}"
+ if [ "`isLoaded "${vmci}"`" = 'yes' ]; then
+ vmwareUnloadModule "${vmci}"
fi
rm -f "/dev/$vmciNode"
}
@@ -251,8 +252,8 @@
vmwareStartVsock() {
mod=$(vmwareRealModName $vsock $vsock_alias)
# only load vsock if it's not already loaded
- if [ "`isLoaded "$mod"`" = 'no' ]; then
- vmwareLoadModule "$mod"
+ if [ "`isLoaded "$vsock"`" = 'no' ]; then
+ vmwareLoadModule "$vsock"
fi
vmware_rm_stale_node "$vsockNode"
# Give udev 5 seconds to create our node
@@ -271,8 +272,8 @@
vmwareStopVsock() {
mod=$(vmwareRealModName $vsock $vsock_alias)
# only unload vsock if it's already loaded
- if [ "`isLoaded "$mod"`" = 'yes' ]; then
- vmwareUnloadModule "$mod"
+ if [ "`isLoaded "$vsock"`" = 'yes' ]; then
+ vmwareUnloadModule "$vsock"
fi
rm -f /dev/vsock
}

Rainmaker commented on 2015-08-28 09:01

For me, the services would not start correctly. It would output:
Starting VMware services:
Virtual machine monitor done
Virtual machine communication interface failed
VM communication interface socket family failed
Blocking file system done
Virtual ethernet done
VMware Authentication Daemon done

Applied the following patch to make it work:
--- /etc/init.d/vmware 2015-08-28 10:59:24.196657692 +0200
+++ /etc/init.d/vmware.orig 2015-08-28 10:21:03.009457785 +0200
@@ -180,12 +180,11 @@

# Start the virtual machine communication interface kernel service
vmwareStartVmci() {
-echo "Called vmci"
mod=$(vmwareRealModName $vmci $vmci_alias)

# only load vmci if it's not already loaded
- if [ "`isLoaded "$vmci"`" = 'no' ]; then
- vmwareLoadModule "$vmci"
+ if [ "`isLoaded "$mod"`" = 'no' ]; then
+ vmwareLoadModule "$mod"
fi
vmware_rm_stale_node "$vmciNode"
if [ ! -e "/dev/$vmciNode" ]; then
@@ -234,8 +233,8 @@
mod=$(vmwareRealModName $vmci $vmci_alias)

# only unload vmci if it's already loaded
- if [ "`isLoaded "${vmci}"`" = 'yes' ]; then
- vmwareUnloadModule "${vmci}"
+ if [ "`isLoaded "${mod}"`" = 'yes' ]; then
+ vmwareUnloadModule "${mod}"
fi
rm -f "/dev/$vmciNode"
}
@@ -252,8 +251,8 @@
vmwareStartVsock() {
mod=$(vmwareRealModName $vsock $vsock_alias)
# only load vsock if it's not already loaded
- if [ "`isLoaded "$vsock"`" = 'no' ]; then
- vmwareLoadModule "$vsock"
+ if [ "`isLoaded "$mod"`" = 'no' ]; then
+ vmwareLoadModule "$mod"
fi
vmware_rm_stale_node "$vsockNode"
# Give udev 5 seconds to create our node
@@ -272,8 +271,8 @@
vmwareStopVsock() {
mod=$(vmwareRealModName $vsock $vsock_alias)
# only unload vsock if it's already loaded
- if [ "`isLoaded "$vsock"`" = 'yes' ]; then
- vmwareUnloadModule "$vsock"
+ if [ "`isLoaded "$mod"`" = 'yes' ]; then
+ vmwareUnloadModule "$mod"
fi
rm -f /dev/vsock
}

Rainmaker commented on 2015-08-28 07:29

Getting this with Workstation 12.0.0 (2985596) and kernel 4.1.6-1-ARCH.

Anyone have any ideas?

CC [M] /tmp/modconfig-PMPsFm/vmci-only/linux/driver.o
CC [M] /tmp/modconfig-PMPsFm/vmci-only/linux/vmciKernelIf.o
CC [M] /tmp/modconfig-PMPsFm/vmci-only/common/vmciDriver.o
CC [M] /tmp/modconfig-PMPsFm/vmci-only/common/vmciResource.o
CC [M] /tmp/modconfig-PMPsFm/vmci-only/common/vmciRoute.o
In file included from /tmp/modconfig-PMPsFm/vmci-only/linux/driver.c:60:0:
/tmp/modconfig-PMPsFm/vmci-only/./shared/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:35:0,
from /tmp/modconfig-PMPsFm/vmci-only/./shared/compat_pci.h:27,
from /tmp/modconfig-PMPsFm/vmci-only/linux/driver.c:49:
include/linux/pci_ids.h:2251:0: note: this is the location of the previous definition
#define PCI_VENDOR_ID_VMWARE 0x15ad
^
/tmp/modconfig-PMPsFm/vmci-only/linux/vmciKernelIf.c: In function ‘__VMCIMemcpyToQueue’:
/tmp/modconfig-PMPsFm/vmci-only/linux/vmciKernelIf.c:1205:16: error: implicit declaration of function ‘memcpy_fromiovec’ [-Werror=implicit-function-declaration]
err = memcpy_fromiovec((uint8 *)va + pageOffset, iov, toCopy);
^
/tmp/modconfig-PMPsFm/vmci-only/linux/vmciKernelIf.c: In function ‘__VMCIMemcpyFromQueue’:
/tmp/modconfig-PMPsFm/vmci-only/linux/vmciKernelIf.c:1280:16: error: implicit declaration of function ‘memcpy_toiovec’ [-Werror=implicit-function-declaration]
err = memcpy_toiovec(iov, (uint8 *)va + pageOffset, toCopy);
^
CC [M] /tmp/modconfig-PMPsFm/vmci-only/common/vmciContext.o
CC [M] /tmp/modconfig-PMPsFm/vmci-only/common/vmciDatagram.o
cc1: some warnings being treated as errors
scripts/Makefile.build:258: recipe for target '/tmp/modconfig-PMPsFm/vmci-only/linux/vmciKernelIf.o' failed
make[2]: *** [/tmp/modconfig-PMPsFm/vmci-only/linux/vmciKernelIf.o] Error 1
make[2]: *** Waiting for unfinished jobs....
Makefile:1384: recipe for target '_module_/tmp/modconfig-PMPsFm/vmci-only' failed
make[1]: *** [_module_/tmp/modconfig-PMPsFm/vmci-only] Error 2
make[1]: Leaving directory '/usr/lib/modules/4.1.6-1-ARCH/build'
Makefile:120: recipe for target 'vmci.ko' failed
make: *** [vmci.ko] Error 2
make: Leaving directory '/tmp/modconfig-PMPsFm/vmci-only'
Unable to install all modules. See log for details.

sabrsorensen commented on 2015-08-26 20:55

http://pastebin.com/znuZ6RRL has just the diff, https://github.com/sabrsorensen/vmware-patch/archive/master.zip has the full repo.

Det commented on 2015-08-26 15:52

AUR doesn't support that, but you can post the diff or upload a tarball somewhere.

sabrsorensen commented on 2015-08-25 18:37

I've created a commit in my local copy containing the patches and PKGBUILD changes necessary to get VMWare Workstation 10.0.6 working on 4.1.6 kernel, would it be possible for me to submit those changes for review?

jgotts commented on 2015-06-02 00:10

Thanks, Kubax, for the patch! The following might get you up and running, pmedina. Note that I'm running Fedora 21 and a heavily patched VMWare 8.0.2, so your mileage may vary.

@@ -4279,7 +4279,7 @@
goto out;
}

- memcpy_fromiovec(VMCI_DG_PAYLOAD(dg), msg->msg_iov, len);
+ memcpy_from_msg(VMCI_DG_PAYLOAD(dg), msg, len);

dg->dst = VMCI_MAKE_HANDLE(remoteAddr->svm_cid, remoteAddr->svm_port);
dg->src = VMCI_MAKE_HANDLE(vsk->localAddr.svm_cid, vsk->localAddr.svm_port);

With this change and an earlier patch to af_vsock.c my modules build. I am running VMWare 8.0.2 with kernel 4.0.4-202.fc21.x86_64 right now and it seems towkr. I'm sure I'm the only person in the world with this combination. It feels like 1994 again.

pmedina commented on 2015-06-01 04:06

Unable to run script afer upgradingto 4.0.4 kernel, see below.

----------------------------------------8<-----------------------------------
cc1: some warnings being treated as errors
scripts/Makefile.build:258: recipe for target '/tmp/modconfig-plONOT/vsock-only/linux/af_vsock.o' failed
make[2]: *** [/tmp/modconfig-plONOT/vsock-only/linux/af_vsock.o] Error 1
Makefile:1390: recipe for target '_module_/tmp/modconfig-plONOT/vsock-only' failed
make[1]: *** [_module_/tmp/modconfig-plONOT/vsock-only] Error 2
make[1]: Leaving directory '/usr/lib/modules/4.0.4-2-ARCH/build'
Makefile:130: recipe for target 'vsock.ko' failed
make: *** [vsock.ko] Error 2
make: Leaving directory '/tmp/modconfig-plONOT/vsock-only'
Unable to install all modules. See log for details.

Det commented on 2015-05-29 00:35

LC_ALL=C when providing logs, so they're in English.

Det commented on 2015-05-29 00:34

LC?C when providing logs, so they're in English.

superdachs commented on 2015-05-28 08:02

patching failed :(

make[2]: *** [/tmp/modconfig-vu7Aza/vsock-only/linux/af_vsock.o] Fehler 1
Makefile:1390: die Regel für Ziel „_module_/tmp/modconfig-vu7Aza/vsock-only“ scheiterte
make[1]: *** [_module_/tmp/modconfig-vu7Aza/vsock-only] Fehler 2
make[1]: Verzeichnis „/usr/lib/modules/4.0.4-2-ARCH/build“ wird verlassen
Makefile:130: die Regel für Ziel „vsock.ko“ scheiterte
make: *** [vsock.ko] Fehler 2
make: Verzeichnis „/tmp/modconfig-vu7Aza/vsock-only“ wird verlassen
Unable to install all modules. See log for details.

Det commented on 2015-05-19 14:07

Of vmware-patch you mean.

Det commented on 2015-05-19 14:07

Of vwmare-patch you mean.

rko commented on 2015-05-19 14:06

==> Validating source files with md5sums...
vmware-patch ... FAILED

The checksums of the PKGBUILD needs to be updated.

Det commented on 2015-05-19 13:46

Changelog for vmware-patch 11.1.0-5:
  • Fix an unnecessary error message for VMware Player (Plus/Pro)

Det commented on 2015-05-19 13:42

It's an if clause, so if you had e.g.:

#!/bin/bash -e
if ls asd; then
  echo found.
else
  echo not found.
fi

..the result would be that the script just errors out, because a non-0 return value is unaccepted, even when specifically taken into account.

It _does_, however, need to prevent the message:

grep: /usr/bin/vmware: No such file or directory
sed: can't read /usr/bin/vmware: No such file or directory

Det commented on 2015-05-19 13:42

It's an if clause, so if you had e.g.:

#!/bin/bash -e
if ls asd; then
  echo found.
else
  echo not found.
fi

..the result would be that the script just errors out, because a non-0 return value is unaccepted, even when specificlaly taken into account.

It _does_, however, need to prevent the message:

grep: /usr/bin/vmware: No such file or directory
sed: can't read /usr/bin/vmware: No such file or directory

Det commented on 2015-05-19 13:40

It's an if clause, so if you had e.g.:

#!/bin/bash -e
if ls asd; then
  echo found.
else
  echo not found.
fi

..the result would be that the script just errors out. It _does_ however need to prevent the error:

grep: /usr/bin/vmware: No such file or directory
sed: can't read /usr/bin/vmware: No such file or directory

rko commented on 2015-05-19 13:27

I don't think the libcurl patch is entirely correct. For example, if you only installed vmplayer and not vmware, and because the the script is ran with #!/usr/bin/bash -e, then it will fail the grep and or sed on editing /usr/bin/vwmare and then the rest of the script will not continue. Maybe [[ -e /usr/bin/$script ]] && stuff is needed?

Det commented on 2015-05-19 10:00

Changelog for vmware-patch 11.1.0-4:
  • include patch for VMCI in Workstation 10 / Player (Plus) 6 for 4.0 kernels (credit: Kubax)
  • use VMware's bundeld libcurl.so.4 to prevent crashes at startup/checking for updates (credit: rko)
  • add "After=network.target" in vmware.service to prevent high CPU load, if network wasn't up (credit: adam900710)
  • move rest of functions to common-functions.sh
  • updated year on the copyright (vmware-patch -V)

Det commented on 2015-05-19 08:48

Changelog for vmware-patch 11.1.0-4:
  • include patch for VMCI in Workstation 10 / Player 7 for 4.0 kernels (credit: Kubax)
  • use VMware's bundeld libcurl.so.4 to prevent crashes at startup/checking for updates (credit: rko)
  • add "After=network.target" in vmware.service to prevent high CPU load, if network wasn't up (credit: adam900710)
  • move rest of functions to common-functions.sh
  • updated year on the copyright (vmware-patch -V)

adam900710 commented on 2015-05-14 06:46

Would you please add After=network.target to [Unit] of vmware.service?

As vmware.service will open vmnet interface, and if it starts before network-manager, it will cause vmnet-bridge to busy loop to set interface and race with NetworkManager, causing about 150% CPU usage (100% from vmnet-bridge and about 60~80% from NetworkManager).

Thanks.

soren121 commented on 2015-05-08 15:55

Kubax's patch also works great on Workstation 11.1.0 with kernel 4.0. The UI will constantly crash without it.

Det commented on 2015-05-07 14:06

https://wiki.archlinux.org/index.php/VMware#Installation

freak07 commented on 2015-05-07 14:05

while installing vmware it asks for system service scripts directory.I did not found /etc/init.d.which one is in arch

Kubax commented on 2015-05-06 07:25

Hi,

had to patch vmci.tar in addition to vmware-patch patches. the following patchfile works for me with Workstation 10.0.5 and Kernel 4.0.1.

https://gist.github.com/kubax/dcf3fed1ef556917c818

problem was with function "memcpy_fromiovec" wich had to be changed to "memcpy_from_msg" like the allready patched "memcpy_to_msg" wich is in vmware-patch included.

Please don't install the update to Workstation 10.0.6 because it screws up everything. Got it running once, but imedeatly crashes after start. Uninstalling and Installing 10.0.5 seems to work great.

marce commented on 2015-04-29 20:59

Add to /etc/pacman.conf

[multilib-testing]
SigLevel = PackageRequired
Include = /etc/pacman.d/mirrorlist

then sudo pacman -Syu

install GCC 5.1 from multilib-testing:
sudo pacman -S multilib-testing/gcc-multilib

Run vmware and compile modules.

Det commented on 2015-04-29 18:56

4.0.1-1 was moved from [testing], where it was compiled with 5.1, I assume.

rko commented on 2015-04-29 18:53

Okay, ignore what I was saying I am being stupid and ignorant.

VMware checks the GCC version (probably via /proc/version). So once I use a kernel compiled with GCC 5.1 (the official Arch that just hit stable) and installed GCC 5.1 by enabling test repositories again, and rebuild modules, VMware works again with internet and 3D acceleration.

My kernel GCC version and installed GCC version somehow got mismatched along the way.

rko commented on 2015-04-29 18:43

@dejl13

I was getting similar crashes, and the backtrace points to libcurl code. I could always reproduce it if I check for updates.

I applied the fix here: http://alexmufatti.it/2013/08/20/vmware-crash-on-startup-after-curl-update/

which patches the /usr/bin/vm(ware|player) launch scripts and it works for now.

Det commented on 2015-04-29 18:41

Or you downgrade the kernel, or you just install the new GCC?

rko commented on 2015-04-29 18:40

The GCC 5.1 issue has made me very sad since I can't patch it.

I found out that it doesn't detect GCC 5.1 and the code that does it is in /usr/lib/vmware/lib/libvmware-modconfig.so/libvmware-modconfig.so . I assume this is the file because it has the relevant strings.

I think this means that unless VMware release a new update, someone reverse engineers this, or we have a standalone gcc installer, we are out of luck?

dejl13 commented on 2015-04-29 17:17

I must have missed that, works now.

Will look into davehardy20's suggestion and see if that fixes the other issue.

Det commented on 2015-04-29 17:13

Well, you don't have to do it from source (takes a long time). We are Arch, not Gentoo, so the repos provide it for you: https://www.archlinux.org/packages/testing/x86_64/gcc/download/

dejl13 commented on 2015-04-29 17:12

From what I remember, you should compile kernel modules with the same version of GCC right?
I'm compiling gcc 5.1.0 from source for now, will see if I can get that to work

Det commented on 2015-04-29 17:09

Yes (https://www.archlinux.org/packages/testing/x86_64/gcc/), but it's a very weird error that it requires it. Maybe 4.0.1-1 was compiled with it, and it wants the same one? Dunno..

dejl13 commented on 2015-04-29 17:05

Could I just compile gcc 5.1.0 myself? or I could install from testing?

dejl13 commented on 2015-04-29 17:01

well, after updating to 4.0.1-1 kernel I get this now:
http://i.imgur.com/GnSRcC8.png

"gcc 5.1.0 was not found".

Tried running vmware-unpatch, vmware-patch -f and rebooted but still same message

davehardy20 commented on 2015-04-29 16:19

The updated package that makes workstation minimise to the tray is Mesa-10.5.4.1, role back to mesa-10.5.3-1 and mesa-libgl-10.5.3-1, all will be fine after.

dejl13 commented on 2015-04-27 22:18

"vmware" is crashing with something else now:

*** Error in `/usr/lib/vmware/bin/vmware': free(): invalid pointer: 0x00007ff8e46f3bf0 ***

I've re-installed VMWare Workstation 11 and still the same error. Stopping and Starting the "vmware.service" several times seems to work, so hmm..

Also, if i run sudo systemctl restart vmware.service instead of stop then start, it doesn't fix it, but this could be coincidence as stop/start doesn't always work either.

Trying to find a more useful log/error message

Det commented on 2015-04-25 10:30

I'm saying, it's some other updated package :).

dejl13 commented on 2015-04-25 10:30

It can't be gtkmm, that package was last updated in 2013 and VMWare Workstation worked fine weeks ago.

Det commented on 2015-04-25 10:12

$ sudo systemctl stop vmware.service
$ sudo systemctl start vmware.service

is actually the same as:

$ sudo systemctl stop vmware
$ sudo systemctl start vmware

or even:

$ sudo systemctl restart vmware

Googling reveals someone with the same error, caused by updated gtkmm: https://bbs.archlinux.org/viewtopic.php?id=164110

dejl13 commented on 2015-04-25 10:06

I'm getting this error (vmware does not start)
" vmui| I120: IPC Manager: Error while connecting socket client: No such file or directory"

If i run "sudo systemctl stop vmware.service" and "sudo systemctl start vmware.service" I can then open the UI but when i start a VM the window closes and I see this error in the logs again, reopening the UI again shows the VM

superdachs commented on 2015-04-15 14:13

Tried to patch the modules with the patches from this package for kernel 4.0 which, expectedly, failed.
Will there be a patch for the new Kernel soon? :)

Det commented on 2015-04-14 13:36

Probably fails for Workstation 10 / Player (Plus) 7, yes. The patches from the package are located in /usr/lib/vmware/modules/patches/, if that's what you mean.

superdachs commented on 2015-04-14 13:33

Tried to patch for kernel 4.0.0-2 (it's still in arch testing but will be standard soon) and it failes for vmci.
This behavior I've ssen several times in history with kernel 3.18 and 3.19.
Every time it's only vmci which fails.
It would be nice if I could patch Kernel 4.0.0-2 soon with this package. :)
I would try to figure out what to patch in special but I don't know where to find the original patches.

JohnRobson commented on 2015-04-12 19:03

Thank you guys, you helped my life.

jskier commented on 2015-04-12 12:30

Kernel 3.18.6 works still, I'll just stick with that.

Det commented on 2015-04-11 14:43

Well, I have no idea what's that about. I justed booted to Arch, downgraded to 10.0.5, and the modules build just fine:

┌┌(det@Archlinux)┌(437/pts/2)┌(05:31:04/11/15)┌-
└┌(%:~/Stuff)┌- lsmod | grep v
vmnet 54343 13
vsock 30817 0
vmci 84362 0
vmmon 81573 0
evdev 21544 9

┌┌(det@Archlinux)┌(441/pts/2)┌(05:32:04/11/15)┌-
└┌(%:~/Stuff)┌- vmware-installer -l
Product Name Product Version
==================== ====================
vmware-workstation 10.0.5.2443746

Are you sure you installed it correctly? This is pretty similar: https://bbs.archlinux.org/viewtopic.php?id=160622

jskier commented on 2015-04-11 11:29

Ok, good to know. Regardless, it doesn't appear to do anything with version 10.

Det commented on 2015-04-08 06:25

vmware-patch actually already does the functions of vmware-unpatch.

jskier commented on 2015-04-08 00:23

That's easy enough, nothing happens. Tried un-patching, uninstalling, and re-installing (only one with output), re-patching (forcing, select kernel, verbose), nothing is sent to output.

Det commented on 2015-04-07 02:58

Could you also post 'vmware-patch -v'?

jskier commented on 2015-04-06 23:25

Log from VMware: http://pastebin.com/SCBGdgpf

jskier commented on 2015-04-06 23:13

@Det, yes, not working with vmware-patch 11.1.0-3 and VMware 10.0.5 (will post more details, pastebin is under heavy load at the moment).

Det commented on 2015-04-05 04:17

Workstation 10 doesn't need to build the modules, but in Arch and Gentoo it can't handle the kernel's built-in modules appropriately (worked in Ubuntu). This was fixed in 11.

However, @Morebikethanman just said that the VMCI/VSOCK 10.0.5 patches I put in there work fine for him. Are you saying they don't?

jskier commented on 2015-04-04 21:35

The latest version of 11.1.0 works at work now, no modules attempt to install. However, version 10 at home does not work anymore, it insists upon compiling VMCI/VSOCK modules as others have stated happens in the earlier versions of 11. It won't start until it can actually satisfy this requirement, so it is not usable even if, as @Det has stated repeatedly, it doesn't need these modules built. This is the problem.

sp1d3rmxn commented on 2015-04-02 17:30

Basically I cannot start vmware 11 because it doesn't compile the vmci. Nothing has changed on my system in which that was working other than issuing the upgrade command and after reboot (yes vmware service enabled to take care of module building) this started. Unable to find much except for the vague reference about vmci not being needed, which is fine except not telling me how that may be done or even if I am having to do it or does it get decided upon by the vmware-patch or what.

sp1d3rmxn commented on 2015-04-02 17:27

According to this => https://wiki.archlinux.org/index.php/VMware#Configuration

" Note: Due to Workstation 11/Player (Pro) 7 taking advantage of the mainlined kernel modules, patching the VMCI/VSOCK sources is no longer required. "

Since I have vmware 11 and I am trying to use vmware-patch, why is vmci still being attempted to compile? How would one go about disabling this? Since the wiki above is not clear whether the user is to disable vmci or it does it by itself. Everything was working fine per 11.0.1 of vmware-patch, upgraded and got introduced to this.

Morebikethanman commented on 2015-03-24 21:27

Current version works perfectly, thanks.

Sorry about the pastebin - I'm new to this.

Det commented on 2015-03-24 04:39

Well, that's what I mean about the VSOCK patches (the module that's failing to build), but does VMNET work/build fine for you?

Also, please, please, Pastebin....

Morebikethanman commented on 2015-03-24 04:31

Sorry - I'm not sure I understand your last post. I don't know if the old patches are still required along with the additional vmci patch.

I updated my vmware-workstation to 10.0.5 and tried the updated version of this patch (vmware-patch 11.1.0-2) and it failed with the following error:

==> Patching VMware Workstation v10.0.5 for kernel 3.19.2-1-ARCH..
-> Backing up..
-> [vmci]
-> Extracting archives..
-> Patching..
can't find file to patch at input line 5
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff --git vmci-only/linux/vmciKernelIf.c vmci-only/linux/vmciKernelIf.c
|index a51bef8..8143425 100644
|--- a/vmci-only/linux/vmciKernelIf.c
|+++ b/vmci-only/linux/vmciKernelIf.c
--------------------------
No file to patch. Skipping patch.
2 out of 2 hunks ignored

This particular error can be eliminated if the a/ and b/ are removed from the start of the patch paths.

The other patches applied fine but the compilation failed with error:
make[1]: Entering directory '/usr/lib/modules/3.19.2-1-ARCH/build'
CC [M] /tmp/modconfig-QQNSll/vsock-only/linux/vsockAddr.o
CC [M] /tmp/modconfig-QQNSll/vsock-only/linux/af_vsock.o
CC [M] /tmp/modconfig-QQNSll/vsock-only/linux/notifyQState.o
/tmp/modconfig-QQNSll/vsock-only/linux/af_vsock.c: In function ‘VSockVmciDgramSendmsg’:
/tmp/modconfig-QQNSll/vsock-only/linux/af_vsock.c:4288:45: error: ‘struct msghdr’ has no member named ‘msg_iov’
memcpy_fromiovec(VMCI_DG_PAYLOAD(dg), msg->msg_iov, len);
^
/tmp/modconfig-QQNSll/vsock-only/linux/af_vsock.c: In function ‘VSockVmciStreamSendmsg’:
/tmp/modconfig-QQNSll/vsock-only/linux/af_vsock.c:4648:50: error: ‘struct msghdr’ has no member named ‘msg_iov’
written = vmci_qpair_enquev(vsk->qpair, msg->msg_iov,
^
/tmp/modconfig-QQNSll/vsock-only/linux/af_vsock.c: In function ‘VSockVmciDgramRecvmsg’:
/tmp/modconfig-QQNSll/vsock-only/linux/af_vsock.c:4745:4: error: implicit declaration of function ‘skb_copy_datagram_iovec’ [-Werror=implicit-function-declaration]
err = skb_copy_datagram_iovec(skb, sizeof *dg, msg->msg_iov, payloadLen);
^
/tmp/modconfig-QQNSll/vsock-only/linux/af_vsock.c:4745:54: error: ‘struct msghdr’ has no member named ‘msg_iov’
err = skb_copy_datagram_iovec(skb, sizeof *dg, msg->msg_iov, payloadLen);
^
/tmp/modconfig-QQNSll/vsock-only/linux/af_vsock.c: In function ‘VSockVmciStreamRecvmsg’:
/tmp/modconfig-QQNSll/vsock-only/linux/af_vsock.c:4891:52: error: ‘struct msghdr’ has no member named ‘msg_iov’
read = vmci_qpair_peekv(vsk->qpair, msg->msg_iov, len - copied, 0);
^
/tmp/modconfig-QQNSll/vsock-only/linux/af_vsock.c:4893:53: error: ‘struct msghdr’ has no member named ‘msg_iov’
read = vmci_qpair_dequev(vsk->qpair, msg->msg_iov, len - copied, 0);
^
cc1: some warnings being treated as errors
scripts/Makefile.build:257: recipe for target '/tmp/modconfig-QQNSll/vsock-only/linux/af_vsock.o' failed
make[2]: *** [/tmp/modconfig-QQNSll/vsock-only/linux/af_vsock.o] Error 1
make[2]: *** Waiting for unfinished jobs....
Makefile:1382: recipe for target '_module_/tmp/modconfig-QQNSll/vsock-only' failed
make[1]: *** [_module_/tmp/modconfig-QQNSll/vsock-only] Error 2
make[1]: Leaving directory '/usr/lib/modules/3.19.2-1-ARCH/build'
Makefile:130: recipe for target 'vsock.ko' failed
make: *** [vsock.ko] Error 2
make: Leaving directory '/tmp/modconfig-QQNSll/vsock-only'
Unable to install all modules. See log for details.

I haven't tracked this down because when I then start vmware, the modules compile and it works as desired.


Det commented on 2015-03-24 03:13

Updated, but you don't need the vmnet or vsock patches?:

- vmnet: http://pastie.org/pastes/9934018/download
- vsock: http://keiblo.com/?wpdmdl=1171

Morebikethanman commented on 2015-03-23 02:55

This patch continues to work for vmnet but no lower works for vmci on vmware workstation 10.0.4. The problem seems to be that the function memcpy_toiovec was removed from the kernel 3.19. A solution is given here:

http://forums.gentoo.org/viewtopic-p-7705932.html

In particular, the patch which seems to fix the vmci problem is here

http://keiblo.com/?wpdmdl=1172

In case that link goes away, the patch is:

diff --git a/vmci-only/linux/vmciKernelIf.c b/vmci-only/linux/vmciKernelIf.c
index a51bef8..8143425 100644
--- a/vmci-only/linux/vmciKernelIf.c
+++ b/vmci-only/linux/vmciKernelIf.c
@@ -40,7 +40,7 @@
#include <linux/socket.h> /* For memcpy_{to,from}iovec(). */
#include <linux/vmalloc.h>
#include <linux/wait.h>
-
+#include <linux/skbuff.h>
#include "compat_highmem.h"
#include "compat_interrupt.h"
#include "compat_mm.h"
@@ -1300,11 +1300,11 @@ __VMCIMemcpyFromQueue(void *dest, // OUT:
}

if (isIovec) {
- struct iovec *iov = (struct iovec *)dest;
+ struct msghdr *msg = dest;
int err;

/* The iovec will track bytesCopied internally. */
- err = memcpy_toiovec(iov, (uint8 *)va + pageOffset, toCopy);
+ err = memcpy_to_msg(msg, (uint8 *)va + pageOffset, toCopy);
if (err != 0) {
if (!kernelIf->isDataMapped) {
kunmap(kernelIf->page[pageIndex]);

Det commented on 2015-03-23 02:53

@Morebikethanman, why?

Det commented on 2015-03-11 14:05

I moved that to the top in the post_install/_upgrade.

Just read the install notes, because they are only put there for the valuable information they often contain.

Det commented on 2015-03-11 13:51

No, it's not VMCI you want to be using. The module already included in the kernel is called 'vmw_vmci' (background: http://www.phoronix.com/scan.php?page=news_item&px=MTI3MTE).

To start the modules automatically on boot, you need to enable the vmware.service.

jskier commented on 2015-02-27 19:31

Confirmed 11.1.0 not able to build vmci. Reverting to 11.0 still builds and works fine, albeit out of date and some security vulns.

jskier commented on 2015-02-24 14:00

Upgraded to 11.1.0 at work, re-applied vmware-patch, now that is complaining when powering on:
Failed to open device "/dev/vmci": No such file or directory
Please make sure that the kernel module 'vmci' is loaded.

rko commented on 2015-02-10 15:15

I updated to the latest and everything seems to work fine on 3.19.0

Sadface because I have to boot up the VM for work stuff only the realize that I have to investigate and patch kernel module code ;-)

Det commented on 2015-02-10 12:12

Now it should work out-of-the-box. Don't know about 3.19.x kernels, though.

ReLaxLex commented on 2015-02-10 11:57

Hi Det,

I'm running Workstation 10.0.5 build-2443746 with kernel 3.18.6-1-ARCH and after removing patch files:
/usr/lib/vmware/modules/patches/vmci-10.0.5-3.14.patch
/usr/lib/vmware/modules/patches/vsock-10.0.5-3.14.patch

Modules compile without errors and services startup and Workstation is running fine.

Det commented on 2015-02-10 06:06

Thanks very much for the patch(!), but why the sadface? Since vmnet and vmmon are not upstreamed, they'll still break once in a while, but less freqeuntly than vmci/vsock.

rko commented on 2015-02-09 20:55

https://gist.github.com/raymond-w-ko/eed0e56ae71303eb4bae

Sight, another kernel release, another broken VMware :-(
This fixes seem non-trivial, and one part requiring a similar but different function altogether (I think, no kernel dev experience). It was pieced together by reading the following blog:

http://rglinuxtech.com/?p=1281

Anyways, testing on Windows 8.1 seems to indicate that the Internet works, so I'm calling it a day.

Det commented on 2015-02-09 20:04

You don't actually need to run 'vmware-unpatch' separately (the process is included in 'vmware-patch'), but you're saying you're running Workstation 10.0.5, kernel 3.18.x/3.19.x, and it's working just fine?

ReLaxLex commented on 2015-02-09 20:01

Thanks for the hint Det!

After removing the two files:
/usr/lib/vmware/modules/patches/vmci-10.0.5-3.14.patch
/usr/lib/vmware/modules/patches/vsock-10.0.5-3.14.patch

And running
1) sudo vmware-unpatch
2) sudo vmware-patch -v
All services started again;

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

Det commented on 2015-02-08 02:18

Absolutely. It was really just the tweak that was only meant for Workstation 10.0.x / Player (Plus) 6.0.x and lower, which I forgot to disable (read: revert, since it was already done) for the latest releases.

vinadoros commented on 2015-02-08 01:45

My issue seems to be fixed, the service is working, and VMWare 11 is loading the kernel module just fine. Thanks a lot for maintaining this package.

jskier commented on 2015-02-08 01:28

Still spits out an error after removing the patch file.
App is usable, just booted up a VM. Will wait for patches, thanks for jumping on this.

Det commented on 2015-02-08 01:14

But it worked before? In that case, does (re)moving /usr/lib/vmware/modules/patches/vmci-10.0.5-3.14.patch help?

If not, then we'll just have to wait for patches to arrive.

Det commented on 2015-02-08 01:13

But it worked before? In that case, does removing/renaming /usr/lib/vmware/modules/patches/vmci-10.0.5-3.14.patch help?

If not, then we'll just have to wait for patches to arrive.

jskier commented on 2015-02-08 01:10

Something with vmci is now failing, I have changed the pastebin to latest output. http://pastebin.com/1f99kq4J
On the plus side, the VMware application will build the modules without error and load now.

Det commented on 2015-02-08 00:58

I'm doing this all from Windows, but if we're lucky:

1) The md5sums will match.
2) The patches will apply.
3) Workstation 10.0.5 will build successfully.

Each level represents a whole new era of success.

jskier commented on 2015-02-08 00:39

Certainly. Let me know if you would like logs in addition to the verbose output.
http://pastebin.com/1f99kq4J

Det commented on 2015-02-08 00:32

1 out of 1 for how many? There are more than 1 in some of them.

Can you post the whole output with '-v' to Pastebin?: http://pastebin.com/

jskier commented on 2015-02-08 00:28

It's worse now, all patches fail (1 out of 1 hunk FAILED for all).

Det commented on 2015-02-07 23:56

Is it working now for both of you?

vinadoros commented on 2015-02-07 16:53

For those of you using VMWare Workstation 11, has any of you noticed that the vmware.service (and thus the vmware init file) seems to exit without being able to load the in-kernel vmci module, and thus Vmware fails with a "Failed to open device "/dev/vmci": No such file or directory" error? It seems like the module that VMWare wants is called vmw_vmci, instead of vmci. I changed all instances of mod=vmci in the vmware init file to mod=vmw_vmci, and the vmware service seems to work just fine now. May or may not be relevant to this patch (since it is really a VMWare init script problem), but just thought I'd throw it out there. Just as an FYI, I'm using the stock arch kernel.

jskier commented on 2015-02-07 03:49

Only thing that fails:
Virtual ethernet failed

Det commented on 2015-02-07 03:36

Can you post the "Starting VMware services:" output of "# vmware-modconfig --console --install-all" or "$ ls /usr/lib/modules/$(uname -r)/misc/", so that I know which modules don't build?

jskier commented on 2015-02-07 03:32

10.0.5 does not work on 3.18, several vsock errors.

Det commented on 2015-02-03 16:39

You're gonna have to try, but it probably supports kernels up to 3.18 already.

davehardy20 commented on 2015-02-03 10:32

Hi Does this new version support the patching of Workstation 10.0.5?

Dave

Det commented on 2015-01-30 12:33

Right, it's trying to build the VMCI module that's already bundled into the kernel. Not really an error, but I've hid it for now.

Det commented on 2015-01-30 12:30

Right, it's trying to build the VMCI module that's already bundled into the kernel. I've worked around it.

fanningert commented on 2015-01-19 16:27

Here are the outputs.

$ uname -r
3.18.2-2-ARCH
$ zcat /proc/config.gz | grep VMCI
CONFIG_VMWARE_VMCI_VSOCKETS=m
CONFIG_VMWARE_VMCI=m

Det commented on 2015-01-18 16:51

Can you post:

1) $ uname -r
2) $ zcat /proc/config.gz | grep VMCI

Please.

fanningert commented on 2015-01-18 16:44

@Det
When I run vmware-patch with VmWare Workstation 11, I get no error. But the job failed. When I run it with the parameter "verbose", the message at the end looks like this.

Starting VMware services:
Virtual machine monitor done
Virtual machine communication interface failed
VM communication interface socket family done
Blocking file system done
Virtual ethernet done
VMware Authentication Daemon done
Unable to start services
==> error: Unable to build. See:
* /tmp/vmware-root/vmware-modconfig-*.log

In the directory /tmp/vmware-root/ is no file.

fanningert commented on 2015-01-18 16:43

@Det
When I run vmware-patch with VmWare Workstation 11, I get no error. But the job failed. When I run it with the parameter "verbose", the message at the end looks like this. Sorry but I am using German as system language.

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: Verzeichnis „/tmp/modconfig-iYp8NJ/vmmon-only“ wird betreten
Using kernel build system.
/sbin/make -C /lib/modules/3.18.2-2-ARCH/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. \
MODULEBUILDDIR= modules
make[1]: Verzeichnis „/usr/lib/modules/3.18.2-2-ARCH/build“ wird betreten
CC [M] /tmp/modconfig-iYp8NJ/vmmon-only/linux/driverLog.o
CC [M] /tmp/modconfig-iYp8NJ/vmmon-only/linux/driver.o
CC [M] /tmp/modconfig-iYp8NJ/vmmon-only/common/memtrack.o
CC [M] /tmp/modconfig-iYp8NJ/vmmon-only/linux/hostif.o
CC [M] /tmp/modconfig-iYp8NJ/vmmon-only/common/apic.o
CC [M] /tmp/modconfig-iYp8NJ/vmmon-only/common/hashFunc.o
CC [M] /tmp/modconfig-iYp8NJ/vmmon-only/common/vmx86.o
CC [M] /tmp/modconfig-iYp8NJ/vmmon-only/common/cpuid.o
CC [M] /tmp/modconfig-iYp8NJ/vmmon-only/common/task.o
CC [M] /tmp/modconfig-iYp8NJ/vmmon-only/common/comport.o
CC [M] /tmp/modconfig-iYp8NJ/vmmon-only/common/phystrack.o
CC [M] /tmp/modconfig-iYp8NJ/vmmon-only/vmcore/moduleloop.o
/tmp/modconfig-iYp8NJ/vmmon-only/linux/driver.c:1332:1: Warnung: always_inline könnte nicht als inline erzeugt werden [-Wattributes]
LinuxDriverSyncReadTSCs(uint64 *delta) // OUT: TSC max - TSC min
^
LD [M] /tmp/modconfig-iYp8NJ/vmmon-only/vmmon.o
Building modules, stage 2.
MODPOST 1 modules
CC /tmp/modconfig-iYp8NJ/vmmon-only/vmmon.mod.o
LD [M] /tmp/modconfig-iYp8NJ/vmmon-only/vmmon.ko
make[1]: Verzeichnis „/usr/lib/modules/3.18.2-2-ARCH/build“ wird verlassen
/sbin/make -C $PWD SRCROOT=$PWD/. \
MODULEBUILDDIR= postbuild
make[1]: Verzeichnis „/tmp/modconfig-iYp8NJ/vmmon-only“ wird betreten
make[1]: „postbuild“ ist bereits aktuell.
make[1]: Verzeichnis „/tmp/modconfig-iYp8NJ/vmmon-only“ wird verlassen
cp -f vmmon.ko ./../vmmon.o
make: Verzeichnis „/tmp/modconfig-iYp8NJ/vmmon-only“ wird verlassen
make: Verzeichnis „/tmp/modconfig-iYp8NJ/vmnet-only“ wird betreten
Using kernel build system.
/sbin/make -C /lib/modules/3.18.2-2-ARCH/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. \
MODULEBUILDDIR= modules
make[1]: Verzeichnis „/usr/lib/modules/3.18.2-2-ARCH/build“ wird betreten
CC [M] /tmp/modconfig-iYp8NJ/vmnet-only/hub.o
CC [M] /tmp/modconfig-iYp8NJ/vmnet-only/driver.o
CC [M] /tmp/modconfig-iYp8NJ/vmnet-only/netif.o
CC [M] /tmp/modconfig-iYp8NJ/vmnet-only/userif.o
CC [M] /tmp/modconfig-iYp8NJ/vmnet-only/procfs.o
CC [M] /tmp/modconfig-iYp8NJ/vmnet-only/bridge.o
CC [M] /tmp/modconfig-iYp8NJ/vmnet-only/smac_compat.o
CC [M] /tmp/modconfig-iYp8NJ/vmnet-only/smac.o
In file included from include/linux/pci.h:34:0,
from /tmp/modconfig-iYp8NJ/vmnet-only/compat_netdevice.h:27,
from /tmp/modconfig-iYp8NJ/vmnet-only/netif.c:43:
include/linux/pci_ids.h:2248:0: Warnung: »PCI_VENDOR_ID_VMWARE« redefiniert
#define PCI_VENDOR_ID_VMWARE 0x15ad
^
In file included from /tmp/modconfig-iYp8NJ/vmnet-only/net.h:38:0,
from /tmp/modconfig-iYp8NJ/vmnet-only/vnetInt.h:26,
from /tmp/modconfig-iYp8NJ/vmnet-only/netif.c:42:
/tmp/modconfig-iYp8NJ/vmnet-only/vm_device_version.h:56:0: Anmerkung: dies ist die Stelle der vorherigen Definition
#define PCI_VENDOR_ID_VMWARE 0x15AD
^
CC [M] /tmp/modconfig-iYp8NJ/vmnet-only/vnetEvent.o
In file included from /tmp/modconfig-iYp8NJ/vmnet-only/net.h:38:0,
from /tmp/modconfig-iYp8NJ/vmnet-only/vnetInt.h:26,
from /tmp/modconfig-iYp8NJ/vmnet-only/bridge.c:52:
/tmp/modconfig-iYp8NJ/vmnet-only/vm_device_version.h:56:0: Warnung: »PCI_VENDOR_ID_VMWARE« redefiniert
#define PCI_VENDOR_ID_VMWARE 0x15AD
^
In file included from include/linux/pci.h:34:0,
from /tmp/modconfig-iYp8NJ/vmnet-only/compat_netdevice.h:27,
from /tmp/modconfig-iYp8NJ/vmnet-only/bridge.c:51:
include/linux/pci_ids.h:2248:0: Anmerkung: dies ist die Stelle der vorherigen Definition
#define PCI_VENDOR_ID_VMWARE 0x15ad
^
CC [M] /tmp/modconfig-iYp8NJ/vmnet-only/vnetUserListener.o
LD [M] /tmp/modconfig-iYp8NJ/vmnet-only/vmnet.o
Building modules, stage 2.
MODPOST 1 modules
CC /tmp/modconfig-iYp8NJ/vmnet-only/vmnet.mod.o
LD [M] /tmp/modconfig-iYp8NJ/vmnet-only/vmnet.ko
make[1]: Verzeichnis „/usr/lib/modules/3.18.2-2-ARCH/build“ wird verlassen
/sbin/make -C $PWD SRCROOT=$PWD/. \
MODULEBUILDDIR= postbuild
make[1]: Verzeichnis „/tmp/modconfig-iYp8NJ/vmnet-only“ wird betreten
make[1]: „postbuild“ ist bereits aktuell.
make[1]: Verzeichnis „/tmp/modconfig-iYp8NJ/vmnet-only“ wird verlassen
cp -f vmnet.ko ./../vmnet.o
make: Verzeichnis „/tmp/modconfig-iYp8NJ/vmnet-only“ wird verlassen
Starting VMware services:
Virtual machine monitor done
Virtual machine communication interface failed
VM communication interface socket family done
Blocking file system done
Virtual ethernet done
VMware Authentication Daemon done
Unable to start services
==> error: Unable to build. See:
* /tmp/vmware-root/vmware-modconfig-*.log

In the directory /tmp/vmware-root/ is no file.

Det commented on 2015-01-13 08:16

Yeah, couldn't reproduce your problem. After downgrading Workstation 11 -> 10, the patches apply just fine for both 3.17 and 3.18 kernels.

Also, again, "makepkg -si" is a better practice than "makepkg; pacman -U" (-s: install dependencies, -i: install resulting package).

jhsnyder666 commented on 2015-01-11 23:43

about workstation 11, I'll take your word for it, but I will have to buy the upgrade to benefit.

incidentally, wrt my (somewhat) earlier posts recommending renaming / deleting kernel mods for vmw_.*vsock in the kernel tree, doing so (unsurprisingly) eliminates syslog error messages, contrary to my posts. Guessing I had failed to rmmod vsock when I saw those errors.

jhsnyder666 commented on 2015-01-11 23:33

Sorry, didn't think to update status.

Thoughtless of me.

The usual makepkg; sudo pacman -U applied none of the patches.

I'm willing to believe that that's my fault, but if so, I don't know what I did wrong.

I edited in your patches manually (not via your script) and I'm running workstation 10.0.4 without a problem.

Again, thanks for your time and effort.

Det commented on 2015-01-10 14:45

I'll have a look at why the patches wouldn't be applying. Runninng makepkg -si (same as "makepkg; pacman U", btw) runs vmware-patch with no arguments, which should be no different from running it with no arguments directly.

However, as mentioned, Workstation 11 [1] /Player (Pro) 7 [2] are capable of using the upstreamed modules [3] directly from the kernel, so they will only require patching vmmon and vmnet whenever those break (which is much less frequently):

[1] = http://www.vmware.com/products/workstation
[2] = https://my.vmware.com/web/vmware/free#desktop_end_user_computing/vmware_player/7_0
[3] = http://www.phoronix.com/scan.php?page=news_item&px=MTI3MTE

jhsnyder666 commented on 2015-01-10 14:32

Hmm, looks like neither .../vmci-only/shared/vm_assert.h nor .../vmci-only/linux/driver.c was patched when I ran pacman -U.

Looking downthread, I guess I should have run vmware-patch directly, eh?

And thanks for maintaining this ... it makes life a lot easier on the rest of us.

jhsnyder666 commented on 2015-01-10 14:24

Installing on a new laptop running 3.17.6-1, vmware 10.0.4 cleanly unbundled onto the machine, and running your patch out of the box this time (with makepkg; sudo pacman -U *.xz), I see the following compile error:

/tmp/modconfig-ugLfG0/vmci-only/linux/driver.c: In function ‘LinuxDriver_Ioctl’:
/tmp/modconfig-ugLfG0/vmci-only/linux/driver.c:740:12: error: incompatible types when assigning to type ‘VMCIHostUser’ from type ‘kuid_t’
user = current_uid();
^
scripts/Makefile.build:257: recipe for target '/tmp/modconfig-ugLfG0/vmci-only/linux/driver.o' failed
make[2]: *** [/tmp/modconfig-ugLfG0/vmci-only/linux/driver.o] Error 1
make[2]: *** Waiting for unfinished jobs....

Any idea what this is about?

Det commented on 2015-01-06 07:33

This package's intention isn't to fix internal bugs in Workstation, but to allow the modules to build, and to automate a few things.

Unless you're a bit more specific with the 'non-trivial' things you do (kernel upgrade?), and _how_ is Workstation actually 'breaking', I can't help you. I can only assume vmci/vsock are broken in the 3.18 series, and there's no patch for them.

And the reason for that is because Workstation 11/Player (Pro) 7 finally fixed the issue of not being able to use the kernel's own modules on Arch and Gentoo, which _don't_ require separate patching, and hence don't even need this package.

earlz commented on 2015-01-05 22:24

every single time I do anything non-trivial to my system vmware workstation 10 breaks, and everytime it does I try this patch hoping it'll fix it and it never actually does.

Ba7a7chy commented on 2014-12-30 09:24

@Det

After looking around I figured out that by changing /etc/init.d/vmware line 183 from "mod=vmci" to "mod=vmw_vmci" this is working as it should.

Det commented on 2014-12-24 13:55

@Ba7a7chy, as I just said, you can use the .service, too.

Ba7a7chy commented on 2014-12-24 08:33

@jaylittle

I'm looking for /etc/modules-load.d/vmware.conf
But I don't have this file, I'm using Workstation 11 and too have the vmci issue.
Do I need to install some other package or something ?

Thanks,

Det commented on 2014-12-15 01:19

@jaylittle, you could also use the service:

# systemctl enable vmware

jaylittle commented on 2014-12-12 19:28

Hmmmm... I seem to have bypassed the issue by commenting out the "vmci" line in:

/etc/modules-load.d/vmware.conf

and adding a "vmw_vmci" line. Things seem to be working now. Thanks!

jaylittle commented on 2014-12-12 19:19

eomarjee,

How is VMWare 11 supposed to work? I've got it installed along with this package and VMWare machines won't start due to a missing /dev/vmci device error.

eomarjee commented on 2014-12-06 20:13

My apologies, I didn't read your last comment. I thought the package needed to be updated for version 11. Sorry about that.

Det commented on 2014-12-06 19:45

@eomarjee, what's the issue?

Det commented on 2014-12-02 12:59

Seems like Workstation 11/Player (Pro) 7 will actually finally be able to take advantage of the built-in kernel modules, so this package might only be useful for the vmmon/vmnet modules, and Workstation 10/Player (Plus) 6 and lower anymore:

┌┌(det@Archlinux)┌(917/pts/3)┌(02:45:12/02/14)┌-
└┌(%:~/Downloads)┌- lsmod | grep v
vmnet 54302 13
vmw_vsock_vmci_transport 29950 0
vsock 30817 1 vmw_vsock_vmci_transport
vmw_vmci 59559 1 vmw_vsock_vmci_transport
vmmon 85347 0

That would be _fantastic_.

Det commented on 2014-12-02 12:47

It seems like Workstation 11/Player (Pro) 7 will actually be able to take advantage of the built-in kernel modules, so this package might just be useful only for Workstation 10/Player (Plus) 6 and lower anymore:

┌┌(det@Archlinux)┌(917/pts/3)┌(02:45:12/02/14)┌-
└┌(%:~/Downloads)┌- lsmod | grep v
vmnet 54302 13
vmw_vsock_vmci_transport 29950 0
vsock 30817 1 vmw_vsock_vmci_transport
vmw_vmci 59559 1 vmw_vsock_vmci_transport
vmmon 85347 0

It would be _fantastic_.

Det commented on 2014-12-02 06:05

Well, well, well. If it isn't VMware Workstation 11 up on the corner: http://www.vmware.com/products/workstation/features.html

Det commented on 2014-11-15 01:50

Bumped to v10.0.4, sanitized the patch names, and added a couple of new flags:

0 ✓ det@Archlinux ~/Desktop/vmware-patch $ vmware-patch -h
Usage: vmware-patch [-f|-v|-V|-h]
Automate the compilation of VMware modules for Arch Linux.

Available options:
-a, --all Build for all kernels
-f, --force Force reinstallation even, if modules already built
-k, --kernel Select which kernel(s) to build to
-v, --verbose Use verbose output (patching, vmware-modconfig)
-V, --version Print version information
-h, --help Print this help

Please tell me what doesn't work.

jhsnyder666 commented on 2014-11-10 15:52

Sorry, one more comment. (I can't figure out how to edit earlier comments.)

Since the symbol versioning errors are emitted *even* *though* the correct vsock is loaded (and the vmw_vsock_vmci_transport module is *not* loaded), it is *not* *true* (contrary to what I stated earlier) that loading the wrong vsock module causes the errors. (I don't know what does ... I'd think static symbol tables, but if that were the case, why are the errors not emitted *until* I log into the guest OS? If anyone knows, please leave a comment.)

If you are running an archlinux host OS, VMware 10 patched with the package on this page, and think you might be running the wrong modules, the three commands to run are:

$ lsmod | grep vsock
vsock 51054 0
vmci 84319 2 vsock
$

(the critical point is that vsock depends on vmci; the numbers will probably differ.)

$ lsmod | grep vmw_vsock_vmci_transport
$

(ie vmw_vsock_vmci_transport should not be loaded)

and

$ modinfo vsock
filename: /lib/modules/3.17.2-1-ARCH/misc/vsock.ko
...
$

(the filename should point to .../misc/vsock.ko, not to .../kernel/.../vsock.ko.gz.)

jhsnyder666 commented on 2014-11-10 15:23

(Extending my previous comment)

I still see symbol disagreement errors, e.g.:

Nov 10 10:16:18 labrea kernel: vmw_vsock_vmci_transport: disagrees about version of symbol vmci_qpair_dequev
Nov 10 10:16:18 labrea kernel: vmw_vsock_vmci_transport: Unknown symbol vmci_qpair_dequev (err -22)
Nov 10 10:16:18 labrea kernel: vmw_vsock_vmci_transport: Unknown symbol vsock_add_pending (err 0)
Nov 10 10:16:18 labrea kernel: vmw_vsock_vmci_transport: disagrees about version of symbol vmci_qpair_enquev
Nov 10 10:16:18 labrea kernel: vmw_vsock_vmci_transport: Unknown symbol vmci_qpair_enquev (err -22)
Nov 10 10:16:18 labrea kernel: vmw_vsock_vmci_transport: Unknown symbol __vsock_create (err 0)
Nov 10 10:16:18 labrea kernel: vmw_vsock_vmci_transport: disagrees about version of symbol vmci_event_unsubscribe
Nov 10 10:16:18 labrea kernel: vmw_vsock_vmci_transport: Unknown symbol vmci_event_unsubscribe (err -22)
Nov 10 10:16:18 labrea kernel: vmw_vsock_vmci_transport: disagrees about version of symbol vmci_get_context_id
Nov 10 10:16:18 labrea kernel: vmw_vsock_vmci_transport: Unknown symbol vmci_get_context_id (err -22)

Since the in-kernel vmw_vsock_vmci_transport module is not loaded, I am guessing that this is just an irrelevant warning (as long as the correct vsock is loaded)...

jhsnyder666 commented on 2014-11-10 15:18

Further to my comments on 31 Oct, the symbol errors are a result of the in-kernel vsock module being loaded rather than the package module:

# modinfo vsock
filename: /lib/modules/3.17.2-1-ARCH/kernel/net/vmw_vsock/vsock.ko.gz
license: GPL v2
version: 1.0.1.0-k
description: VMware Virtual Socket Family
author: VMware, Inc.
srcversion: DEF0E4AC6D739CEE581C08F
depends:
intree: Y
vermagic: 3.17.2-1-ARCH SMP preempt mod_unload modversions
#

Rather annoyingly, after

# rmmod vsock

(to remove the in-kernel vsock module)

# insmod /lib/modules/3.17.2-1-ARCH/misc/vsock.ko

re-loads the in-kernel module (which means either that the manpage for insmod is wrong, or else I misunderstand the manpage.)

I had to rename the in-kernel module and run 'depmod -a' to get the correct vsock to load. Here's modinfo for the package vsock:

# modinfo vsock
filename: /lib/modules/3.17.2-1-ARCH/misc/vsock.ko
supported: external
alias: vmware_vsock
license: GPL v2
version: 9.5.7.0
description: VMware Virtual Socket Family
author: VMware, Inc.
srcversion: 9DBC44216C8CFA199B00D3A
depends: vmci
vermagic: 3.17.2-1-ARCH SMP preempt mod_unload modversions
#

FWIW, I've had problems running the patch script, so I ran the patches etc by hand, which probably means that I did this to myself. That said, I see no code in vmware-patch which prevents insmod from reloading the in-kernel vsock, so if anyone knows where it's done, and cares, I'd be grateful for a pointer.

Will post results in a new comment.

Kwpolska commented on 2014-11-08 09:18

The patches also work for the new Player 6.0.4 release, they should be made applicable.

davehardy20 commented on 2014-11-06 09:14

Hi, it seems there's a new VMware Workstation release 10.0.4.
Will 'vmware-patch', patch this latest version?

Thanks

Dave

jhsnyder666 commented on 2014-10-31 19:04

My statement that "I don't see these error msgs on the laptop" is incorrect.

I see these errors / warnings on the laptop as well (via journalctl -fa).

I rarely leave the laptop up for days (as I do the desktop), so it's possible that the laptop VM would eventually fall over and die just like the desktop VM... but the laptop VM seems *much* faster even though the Athlon is arguably 4x faster and has twice as much RAM.

Again, the hosts are running archlinux, the guests are running win7. The error / warning messages are from the host's linux kernel.

jhsnyder666 commented on 2014-10-31 17:50

Working on a 64b core 2 duo laptop host, 3.17.1-1, with a 32b win7pro guest and sorta-working on a 64b AMD FX4100 desktop host, 3.17.1-1, with a 64 win7homepremium guest.

I've patched and built on both machines. Both guests boot and initially work, but eventually (~days) the AMD guest dies with a page table fault.

I see the following error msgs on the AMD desktop - *only* on the AMD desktop - when I log in:

Oct 31 12:50:50 kernel: vmw_vsock_vmci_transport: disagrees about version of symbol vmci_qpair_get_consume_indexes
Oct 31 12:50:50 kernel: vmw_vsock_vmci_transport: Unknown symbol vmci_qpair_get_consume_indexes (err -22)
Oct 31 12:50:50 kernel: vmw_vsock_vmci_transport: disagrees about version of symbol vmci_qpair_consume_free_space
Oct 31 12:50:50 kernel: vmw_vsock_vmci_transport: Unknown symbol vmci_qpair_consume_free_space (err -22)
Oct 31 12:50:50 kernel: vmw_vsock_vmci_transport: disagrees about version of symbol vmci_qpair_peekv
Oct 31 12:50:50 kernel: vmw_vsock_vmci_transport: Unknown symbol vmci_qpair_peekv (err -22)
Oct 31 12:50:50 kernel: vmw_vsock_vmci_transport: disagrees about version of symbol vmci_is_context_owner
Oct 31 12:50:50 kernel: vmw_vsock_vmci_transport: Unknown symbol vmci_is_context_owner (err -22)

and many, many more. This link gives very similar errors:

https://bbs.archlinux.org/viewtopic.php?id=178582

There are a few other online posts, but I have found nothing useful.

Both arch hosts and the win7 guests are fully patched. I've been seeing these errors for >1year with several kernels dating back to 3.14, possibly earlier. They might have appeared with Workstation 10.

Over time the AMD guest slows to a crawl and eventually reboots after a page table fault. Online discussions suggest that page table faults occur mostly with bad memory, but since the host is rock-solid, I doubt the memory is bad.

As said, the VMware guest works fine on the core 2 duo laptop.

Both laptop & desktop are running vmware-workstation 10.0.3.1895310.

I copied patched VMware module source from the laptop to the desktop, so the modules are (or should be) compiled off identical (patched) source.

The laptop guest is 32b Win7pro with VMware Tools 9.6.2-1688356, fully patched; desktop guest is 64b win7homepremium with VMware Tools 9.6.2-1688356, fully patched.

Desktop VM hardware compatibility is VMware Workstation 9, laptop VM hardware compatibility is 10.
_______________________

The errors appear shortly after I login. (Guessing that's because no shared folders until I log in.)

Any idea what might be going on, or where to look?

Happy to provide additional information if that will help. I realize that there's not much to go on, but the only error indications I see are the error messages above, so not sure what to provide.

wisecrick commented on 2014-10-26 00:55

It seems not working on 3.17, should it be upgraded?

Det commented on 2014-10-22 17:25

RAM can at least be capped in Edit -> Preferences -> Memory, but if it's all VMs doing that, you should just ask in the forums.

igordcard commented on 2014-10-22 16:46

It is allocating too much RAM, although "cached" only. CPU usage of vmware-vmx constantly shoots even when the guest isn't doing any hard work at all. Swap is enabled but doesn't get eaten too much (at most 20 MB).

Det commented on 2014-10-22 16:31

If it's not eating your CPU or allocating too much RAM, I'd imagine, it's swapping too hard?

They have some kind of Knowledge Base articles on those as well[1][2], but you'd probably be better off asking in the forums: https://communities.vmware.com/community/vmtn/workstation/content?filterID=contentstatus[published]~objecttype~objecttype[thread]

[1] = http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1008360
[2] = http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=69

igordcard commented on 2014-10-22 15:51

Anybody else noticing slower and slower system performance when running VMs? RAM seems to be depleting faster than ever. VMware must be the only major application open if it is running a 2GB guest on my 8GB host. I don't dare having web browsers running on the host, for example. It seems to have become more like this around the latest 1 or 2 months.

Det commented on 2014-10-10 00:41

Yeah, I remember. I don't know why that simple thing is taking me so long. I never seem to get around to it.

alyst commented on 2014-10-10 00:39

The updated vmware-patch that allows specifying kernel version: https://www.diffchecker.com/5r2867ja

Det commented on 2014-10-10 00:32

Thanks for the patch. The previous VMnet patch's function is only to suppress pointless warnings in the vmware-modconfig output (this can be seen with "-v|--verbose").

rko commented on 2014-10-07 13:52

Linux 3.17 has broken this package as usual, but this time, the usual renaming does not fix it, as a function has changed the number of arguments.

Here is a (mostly comlete) patch to update the package to fix:
https://gist.github.com/raymond-w-ko/fb791b78ebaad9e0a4bd/raw/b4c8a426e2078377ee34ebfa3c6129fe673f8326/vmware-patch-linux-3.17

Basically, I:
1. renamed every patch to include 3.17 EXCEPT vmnet-10.0.3-10.0.2-10.0.1-10.0.0-6.0.3-6.0.2-6.0.1-6.0.0-3.16-3.15-3.14.patch
2. From here, https://communities.vmware.com/message/2425189 , created vmnet-10.0.3-10.0.2-10.0.1-10.0.0-6.0.3-6.0.2-6.0.1-6.0.0-3.17.patch and applied the fix found there.
3. I think vmnet-10.0.1-10.0.0-6.0.1-6.0.0-3.16-3.15-3.14-3.13.patch might also need the above two steps, although I don't have this version, so I can't test this.

Test with an Windows 8 VM indicates that networking, shared folders work, which is good enough for me.

Det commented on 2014-09-03 22:17

There shouldn't actually be directories in that location - only tarballs.

julthon commented on 2014-09-03 22:16

After updating to the latest kernel release I got an error:
cp: Directory "source-10.0.3/vmci-only" skipped (translated from german)
To solve the problem I added a "-r" parameter in your "vmware-patch" script to the second "cp" call (line 177)!

Maybe you should add it to the script.

Det commented on 2014-08-21 17:42

v6.0.1 might not be compatible with the patches/3.16 kernel after all.

The latest one is 6.0.3.

Bazon commented on 2014-08-21 07:22

I get:

Patching VMware Player (Plus) v6.0.1 for kernel 3.16.1-1-ARCH..
-> Backing up..
-> [vmci]
1 out of 1 hunk FAILED -- saving rejects to file vmci-only/linux/driver.c.rej
1 out of 1 hunk FAILED -- saving rejects to file vmci-only/shared/vm_assert.h.rej
==> error: Failed to apply 'vmci-10.0.3-10.0.2-10.0.1-10.0.0-6.0.3-6.0.2-6.0.1-6.0.0-3.16-3.15-3.14.patch'


any ideas?

Det commented on 2014-08-19 18:14

Indeed.

E: also added patch for vmnet to remove redundant verbosity when building with '-v'.

@alyst, I haven't forgotten about you. Just a bit busy.

Det commented on 2014-08-19 17:48

Indeed.

jgr commented on 2014-08-19 13:01

for kernel 3.16.1-1 apply the following patches manually:
vmci-10.0.3-10.0.2-10.0.1-10.0.0-6.0.3-6.0.2-6.0.1-6.0.0-3.15-3.14.patch
vsock-10.0.3-10.0.2-10.0.1-10.0.0-6.0.3-6.0.2-6.0.1-6.0.0-3.15-3.14.patch
vsock-10.0.3-10.0.2-10.0.1-10.0.0-6.0.3-6.0.2-6.0.1-6.0.0-3.15.patch

Seems to work fine.

Det commented on 2014-08-14 12:18

Pastebin. Need new patches.

davehardy20 commented on 2014-08-14 10:40

I have just tried to run vmware-patch with workstation 10.0.3 build-1895310 and kernel 3.16.0-2.
I get the following output;-

==> Running 'vmware-patch' for the first time..
==> No patching required.
==> Installing modules..
==> error: Unable to build. Re-run with '-v' (--verbose) or see:
* /tmp/vmware-root/vmware-modconfig-10688.log
* /tmp/vmware-root/vmware-modconfig-12769.log
* /tmp/vmware-root/vmware-modconfig-15013.log
* /tmp/vmware-root/vmware-modconfig-18404.log
* /tmp/vmware-root/vmware-modconfig-2402.log
* /tmp/vmware-root/vmware-modconfig-3917.log
* /tmp/vmware-root/vmware-modconfig-5506.log
* /tmp/vmware-root/vmware-modconfig-624.log
* /tmp/vmware-root/vmware-modconfig-8625.log

==> Note #1: To patch VMware sources in the future re-run the script 'vmware-patch' as root.
Changes can be reverted with 'vmware-unpatch' (only required before applying
other patching methods).
==> Note #2: The deprecated rc.d script 'vmwared' has been replaced by the service files:
* vmware.service (the main service),
* vmware-usbarbitrator.service (for USB access) and
* vmware-workstation.service (additional Workstation Server service).
==> Note #3: Enabling the main service will take care of the USB Arbitrator service too:
# systemctl enable vmware
==> Note #4: For further reading see the relevant sections in the Wiki:
https://wiki.archlinux.org/index.php/Vmware#Tips_and_tricks
https://wiki.archlinux.org/index.php/Vmware#Troubleshooting

Det commented on 2014-08-07 12:59

Diff for reference: http://www.diffchecker.com/q3e9xrbd

Basically, if you just wanted to build for the updated version, you could use uname to cat /usr/lib/modules/extramodules-*/version, but I might think of bringing up a menu, so you wouldn't have to manually fetch the name.

alyst commented on 2014-07-29 12:39

Maybe you'll find it useful, I've added -k|--kernel parameter to the vmware-patch script that allows specifying which linux kernel should be patched. Convenient, if the kernel package is updated, but the system is not restarted yet, so "uname -r" points to the removed previous kernel headers. The modified version is here: http://pastebin.com/UiUEwHFT.

DarkMind commented on 2014-07-10 22:50

Starting VMware services:
Virtual machine monitor done
Virtual machine communication interface failed
VM communication interface socket family failed
Blocking file system done
Virtual ethernet done
VMware Authentication Daemon done
Unable to start services

Linux tarro 3.15.4-1-ARCH #1 SMP PREEMPT Mon Jul 7 07:42:54 CEST 2014 x86_64 GNU/Linux


VMware-Workstation-Full-10.0.2-1744117.x86_64

Det commented on 2014-07-03 12:06

So it still insists on compiling the bundled VMCI module, ignoring the already loeaded in-kernel driver (vmw_vmci), then after the compilation fails it settles for the mainlined one (happens every time), whereas with things like Ubuntu there's no such issue.

igordcard commented on 2014-07-03 10:17

If that is what's run by the GUI, yes. All steps were successful.

Ba7a7chy commented on 2014-07-03 10:11

@igordcard

what do you mean ? it worked using "vmware-modconfig --install-all --console
" ?

igordcard commented on 2014-07-03 09:09

Ba7a7chy, same with me.
Worked by running the program and letting it build the modules by itself.

Ba7a7chy commented on 2014-07-03 08:09

Well, upgraded to 10.0.3, getting this :

/etc/init.d/vmware stop
Stopping VMware services:
VMware Authentication Daemon done
VM communication interface socket family failed
Virtual machine communication interface done
Virtual machine monitor done
Blocking file system done

When trying to patch (I changed the file names to include version 10.0.3):

vmware-patch -f
==> Patching VMware Workstation v10.0.3 for kernel 3.15.2-1-ARCH..
-> [vmci]
-> [vmmon]
-> [vsock]
==> Installing modules..
==> ERROR: Unable to build. Re-run with '-v' (--verbose) or see:
* /tmp/vmware-root/vmware-modconfig-10068.log
* /tmp/vmware-root/vmware-modconfig-10235.log
* /tmp/vmware-root/vmware-modconfig-10623.log

Ba7a7chy commented on 2014-07-03 08:07

Well, upgraded to 10.0.3, getting this :

/etc/init.d/vmware stop
Stopping VMware services:
VMware Authentication Daemon done
VM communication interface socket family failed
Virtual machine communication interface done
Virtual machine monitor done
Blocking file system done

When trying to patch (I changed the file names to include version 10.0.3):

vmware-patch -fv
==> Patching VMware Workstation v10.0.3 for kernel 3.15.2-1-ARCH..
-> [vmci]
-> Untarring..
-> Patching..
patching file vmci-only/linux/driver.c
patching file vmci-only/shared/vm_assert.h
-> Re-tarring..
-> [vmmon]
-> Untarring..
-> Patching..
patching file vmmon-only/include/vm_assert.h
patching file vmmon-only/linux/driver.c
-> Re-tarring..
-> [vsock]
-> Untarring..
-> Patching..
patching file vsock-only/linux/af_vsock.c
patching file vsock-only/shared/vm_assert.h
-> Patching..
patching file vsock-only/linux/notify.c
patching file vsock-only/linux/notifyQState.c
-> Re-tarring..
==> Installing modules..
Stopping VMware services:
VMware Authentication Daemon done
VM communication interface socket family failed
Virtual machine communication interface done
Virtual machine monitor done
Blocking file system done

Det commented on 2014-07-02 20:59

Yeah, the vmnet patch is only for 10.0.0 and 10.0.1. It was fixed upstream in .2, and if it didn't work, it would mean something else has changed.

rko commented on 2014-07-02 14:28

VMware released Workstation 10.0.3 and Player 6.0.3

I don't have Workstation, just Player, and got it work by just renaming the 1 vmci patch and 2 vsock patches to include 6.0.3 in the filename.

Win8 VM seems to startup fine with network access.

joaolvcm commented on 2014-07-02 07:18

Vmware-patch was working till the last update, now i get:
==> Patching VMware Workstation v10.0.2 for kernel 3.14.8-1-MANJARO..
-> [vmci]
-> Untarring..
-> Patching..
patching file vmci-only/linux/driver.c
Hunk #1 FAILED at 737.
1 out of 1 hunk FAILED -- saving rejects to file vmci-only/linux/driver.c.rej
patching file vmci-only/shared/vm_assert.h
Hunk #1 FAILED at 256.
1 out of 1 hunk FAILED -- saving rejects to file vmci-only/shared/vm_assert.h.rej
==> ERROR: Failed to apply 'vmci-10.0.2-10.0.1-10.0.0-6.0.2-6.0.1-6.0.0-3.15-3.14.patch'
-> Continue? (Y/n) Y
-> Re-tarring..
-> [vmmon]
-> Untarring..
-> Patching..
patching file vmmon-only/include/vm_assert.h
Hunk #1 FAILED at 256.
1 out of 1 hunk FAILED -- saving rejects to file vmmon-only/include/vm_assert.h.rej
patching file vmmon-only/linux/driver.c
Hunk #1 FAILED at 1338.
1 out of 1 hunk FAILED -- saving rejects to file vmmon-only/linux/driver.c.rej
==> ERROR: Failed to apply 'vmmon-10.0.2-10.0.1-10.0.0-6.0.2-6.0.1-6.0.0-3.15-3.14.patch'
-> Continue? (Y/n) Y
-> Re-tarring..
-> [vsock]
-> Untarring..
-> Patching..
patching file vsock-only/linux/af_vsock.c
Hunk #1 FAILED at 2869.
1 out of 1 hunk FAILED -- saving rejects to file vsock-only/linux/af_vsock.c.rej
patching file vsock-only/shared/vm_assert.h
Hunk #1 FAILED at 256.
1 out of 1 hunk FAILED -- saving rejects to file vsock-only/shared/vm_assert.h.rej
==> ERROR: Failed to apply 'vsock-10.0.2-10.0.1-10.0.0-6.0.2-6.0.1-6.0.0-3.15-3.14.patch'
-> Continue? (Y/n) n
==> Reverting..
==> Done.
---------------------------

After reinstall of vmware:
==> No patching required.
==> Installing modules..
Stopping VMware services:
VMware Authentication Daemon done
VM communication interface socket family failed
Virtual machine communication interface done
Virtual machine monitor done
Blocking file system done
Unable to stop services
==> ERROR: Unable to build. See:
* /tmp/vmware-root/vmware-modconfig-15791.log
http://pastie.org/9345864
* /tmp/vmware-root/vmware-modconfig-21209.log
http://pastie.org/9345869
* /tmp/vmware-root/vmware-modconfig-22868.log
http://pastie.org/9345871
* /tmp/vmware-root/vmware-modconfig-24583.log
http://pastie.org/9345873
* /tmp/vmware-root/vmware-modconfig-24899.log
http://pastie.org/9345877
* /tmp/vmware-root/vmware-modconfig-25122.log
http://pastie.org/9345880
* /tmp/vmware-root/vmware-modconfig-25351.log
http://pastie.org/9345881
* /tmp/vmware-root/vmware-modconfig-25580.log
http://pastie.org/9345884
* /tmp/vmware-root/vmware-modconfig-25975.log
http://pastie.org/9345885



joaolvcm commented on 2014-07-02 07:03

Vmware-patch was working till the last update, now i get:
==> Patching VMware Workstation v10.0.2 for kernel 3.14.8-1-MANJARO..
-> [vmci]
-> Untarring..
-> Patching..
patching file vmci-only/linux/driver.c
Hunk #1 FAILED at 737.
1 out of 1 hunk FAILED -- saving rejects to file vmci-only/linux/driver.c.rej
patching file vmci-only/shared/vm_assert.h
Hunk #1 FAILED at 256.
1 out of 1 hunk FAILED -- saving rejects to file vmci-only/shared/vm_assert.h.rej
==> ERROR: Failed to apply 'vmci-10.0.2-10.0.1-10.0.0-6.0.2-6.0.1-6.0.0-3.15-3.14.patch'
-> Continue? (Y/n) Y
-> Re-tarring..
-> [vmmon]
-> Untarring..
-> Patching..
patching file vmmon-only/include/vm_assert.h
Hunk #1 FAILED at 256.
1 out of 1 hunk FAILED -- saving rejects to file vmmon-only/include/vm_assert.h.rej
patching file vmmon-only/linux/driver.c
Hunk #1 FAILED at 1338.
1 out of 1 hunk FAILED -- saving rejects to file vmmon-only/linux/driver.c.rej
==> ERROR: Failed to apply 'vmmon-10.0.2-10.0.1-10.0.0-6.0.2-6.0.1-6.0.0-3.15-3.14.patch'
-> Continue? (Y/n) Y
-> Re-tarring..
-> [vsock]
-> Untarring..
-> Patching..
patching file vsock-only/linux/af_vsock.c
Hunk #1 FAILED at 2869.
1 out of 1 hunk FAILED -- saving rejects to file vsock-only/linux/af_vsock.c.rej
patching file vsock-only/shared/vm_assert.h
Hunk #1 FAILED at 256.
1 out of 1 hunk FAILED -- saving rejects to file vsock-only/shared/vm_assert.h.rej
==> ERROR: Failed to apply 'vsock-10.0.2-10.0.1-10.0.0-6.0.2-6.0.1-6.0.0-3.15-3.14.patch'
-> Continue? (Y/n) n
==> Reverting..
==> Done.

joaolvcm commented on 2014-07-02 07:00

Vmware-patch was working till the last update, now i get:
==> Patching VMware Workstation v10.0.2 for kernel 3.14.8-1-MANJARO..
-> [vmci]
1 out of 1 hunk FAILED -- saving rejects to file vmci-only/linux/driver.c.rej
1 out of 1 hunk FAILED -- saving rejects to file vmci-only/shared/vm_assert.h.rej
==> ERROR: Failed to apply 'vmci-10.0.2-10.0.1-10.0.0-6.0.2-6.0.1-6.0.0-3.15-3.14.patch'
-> Continue? (Y/n) Y
-> [vmmon]
1 out of 1 hunk FAILED -- saving rejects to file vmmon-only/include/vm_assert.h.rej
1 out of 1 hunk FAILED -- saving rejects to file vmmon-only/linux/driver.c.rej
==> ERROR: Failed to apply 'vmmon-10.0.2-10.0.1-10.0.0-6.0.2-6.0.1-6.0.0-3.15-3.14.patch'
-> Continue? (Y/n) Y
-> [vsock]
1 out of 1 hunk FAILED -- saving rejects to file vsock-only/linux/af_vsock.c.rej
1 out of 1 hunk FAILED -- saving rejects to file vsock-only/shared/vm_assert.h.rej
==> ERROR: Failed to apply 'vsock-10.0.2-10.0.1-10.0.0-6.0.2-6.0.1-6.0.0-3.15-3.14.patch'
-> Continue? (Y/n) n

Det commented on 2014-07-02 01:38

10.0.2-6:

- Introduced the following options:
| -f, --force | Force reinstallation even, if modules already built |
| -v, --verbose | Use verbose output (patching, vmware-modconfig) |
| -V, --version | Print version information |
| -h, --help | Print this help |

- Fixed patching VMware Player (blooper in assignment of $ver)

- When 'vmware-modconfig' dies, suggest re-running with '-v' and print out the log paths despite the flags used

- Fix old warning about /usr/src in 'vmware-unpatch'

- More consistency in the scripts

Report all problems that I keep slipping in at once.

Det commented on 2014-07-01 19:35

No to the first, exactly to the second.

The 'vmware-modconfig' output is completely redundant, and I'll leave it behind a separate flag (-v|--verbose) for those who really want it. The problem with just redirecting STDOUT to /dev/null is that the output will still get clogged by the definition deprecation warnings, and it'll be easier to just link to the /tmp/vmware-root/vmware-modconfig*.log's or suggest the -v|--verbose flag, in case of failed builds.

ThecaTTony commented on 2014-07-01 19:08

Are you saying that in the same way, yaourt compiler output (for example), is impractical and redundant? I personally do not hide them, but hey, it's not my decision.
Another thing that would help is to evaluate the output signal of vmware-modconfig when end's nonzero.
Thanks and bye!"

Det commented on 2014-07-01 14:33

That's not the mistake. The mistake is not providing an option to show the output and always ending with a "Done."

Polluting the sequence with a 'vmware-modconfig' output that's 99% time supposed to be redundant is impractical.

ThecaTTony commented on 2014-07-01 12:10

I really dont know about Perl regex, but the next command solve the problem:

vmware-installer -l |& grep -Po "player *\K(\d+\.){2}\d+|workstation *\K(\d+\.){2}\d+"

Bye!"

ThecaTTony commented on 2014-07-01 11:56

Hi, with kernel 3.15.2-1-ARCH and VMware Player 6.0.2.1744117 the modules fail to patch (and build). I think the error maybe in the $ver variable, because not contain any number:

[guillermo@florencia ~]$ ver=$(vmware-installer -l |& grep -Po "player|workstation *\K(\d+\.){2}\d+")
[guillermo@florencia ~]$ echo $ver
player

Also, sending the output of the vmware-modconfig command to /dev/null is a huge mistake. Its hides from the user any error when making the modules, ending always with a "Done" message.
Thanks.

Vaporeon commented on 2014-06-26 00:35

@thieh

Are you using VMware Player? I was having the same issue but I switched to Workstation and it worked.

Det commented on 2014-06-21 16:07

All right. Thanks.

igordcard commented on 2014-06-21 16:07

3.15.1 here, no problems at all.

Det commented on 2014-06-21 16:05

Then, if even "# vmware-patch -f" doesn't help, that might mean there's some additional patching required to be done for 3.15.1.

thieh commented on 2014-06-21 15:50

Still cannot compile the vmci properly (when I tried to run vmware after installing the package) and output says no patching required as of the commit on 2014-06-21 15:07.

Det commented on 2014-06-21 15:09

Fixed the "No such file or directory" error.

Please both of you cut down on the amount of *Add Comment* clicks. My (and anyone's subscribed) mailbox will repeatedly annoy me on all of these.

Anarconda commented on 2014-06-21 15:03

Problem solved uninstalling and installing once again. Very different /etc/vmware/config file now.

thieh commented on 2014-06-21 14:47

If anyone need them, output of $ ls -lR /usr/lib/vmware/modules/
http://pastebin.ca/2813444

Anarconda commented on 2014-06-21 14:24

In my vmware-apploader log file I can read:
2014-06-21T16:05:14.059+01:00| appLoader| I120: libdir entry was not present in /etc/vmware/config.
2014-06-21T16:05:14.059+01:00| appLoader| W110: Unable to lookup library directory.

and maybe is true because in /etc/vmware/config there's only an encoding line. Can somebody share this config file as a reference?

TIA.

Anarconda commented on 2014-06-21 14:12

I can't start vmware workstation since June 16th and systemctl says:

http://pastebin.ca/2813436

Can somebody help me to fix the problem? I don't know where to look.

TIA.

thieh commented on 2014-06-21 14:11

content of vmware-modconfig-3637.log
(when I attempt to run vmware-player)
http://pastebin.ca/2813434

thieh commented on 2014-06-21 14:06

output of # pacman -U vmware-patch-10.0.2-4-x86_64.pkg.tar.xz
http://pastebin.ca/2813427

output of $ ls /usr/lib/vmware/modules/
http://pastebin.ca/2813428

Det commented on 2014-06-21 13:55

Does it work now?

If not, post the results of: $ ls /usr/lib/vmware/modules/

thieh commented on 2014-06-21 13:37

Somehow the package does not want to patch the files. Please let me know what other output/files to include.

output of uname-r:
3.15.1-1-ARCH

output of "sudo vmware-patch -f":
http://pastebin.ca/2813228

rko commented on 2014-06-09 13:59

linux-3.15 has broken this (as usual). Here is a patch below that fixes and makes it work. Quick testing indicates that my Windows VM start correctly and has network accesss.

https://gist.github.com/raymond-w-ko/cbc866e8acb220dd94bf

2 changes:
1. vmci-10.0.2-10.0.1-10.0.0-6.0.2-6.0.1-6.0.0-3.14.patch renamed to vmci-10.0.2-10.0.1-10.0.0-6.0.2-6.0.1-6.0.0-3.15-3.14.patch. Patch works as is and just added 3.15 to filename
2. added vsock-10.0.2-10.0.1-10.0.0-6.0.2-6.0.1-6.0.0-3.15.patch, which is based on a fix found here:

https://oldpapyrus.wordpress.com/2014/05/28/vmware-player-6-0-2-ubuntu-14-04-kernel-3-15-0-rc7/

Det commented on 2014-06-06 16:10

The vmci/vsock init.d fix is finally included..

haagch commented on 2014-05-02 20:19

You might want to add a patch for 3.15 that removes the second argument from calls that were previously to sk_data_ready(sk, skb->len):

https://github.com/torvalds/linux/commit/676d23690fb62b5d51ba5d659935e9f7d9da9f8e

weckx commented on 2014-05-02 13:57

Using VMWare 10.0.2 and kernel 3.14.2 the vmnet module is no longer patched and does not compile. I renamed the file vmnet-10.0.1-10.0.0-6.0.1-6.0.0-3.14-3.13.patch to vmnet-10.0.2-10.0.0-6.0.1-6.0.0-3.14-3.14.patch and it now it patches and compiles correctly.

Ba7a7chy commented on 2014-05-02 11:56

No need, gcc 4.9 just went live on regular repos, after upgrade all seems to be in order.

Thanks @Pandor

Pandor commented on 2014-05-02 10:01

I can confirm that upgrading to testing repo (effectivly installing gcc 4.9) fixes build problems.

so eighter wait for gcc or enable testing repo.

Pandor commented on 2014-05-01 22:29

@Ba7a7chy

https://mailman.archlinux.org/pipermail/arch-general/2014-May/036065.html

Pandor commented on 2014-05-01 20:12

Patch for Vmware Workstation 10.0.2 build-1744117 / kernel 3.14.2
http://pastebin.com/8zKDdjUE

Ba7a7chy commented on 2014-05-01 14:23

Issue with new Kernel 3.14.2-1-ARCH, Vmware gives those errors when vmware-modconfig --install-all --console:

http://pastebin.com/SJt2LxpB

igordcard commented on 2014-05-01 14:13

Ba7a7chy, please replace your comment with one that makes use of http://pastebin.com/.

Ba7a7chy commented on 2014-05-01 13:11

Issue with new Kernel 3.14.2-1-ARCH, Vmware gives those errors when vmware-modconfig --install-all --console

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-Qdjg7q/vmmon-only'
Using 2.6.x kernel build system.
/sbin/make -C /lib/modules/3.14.2-1-ARCH/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. \
MODULEBUILDDIR= modules
make[1]: Entering directory '/usr/lib/modules/3.14.2-1-ARCH/build'
Makefile:615: Cannot use CONFIG_CC_STACKPROTECTOR_STRONG: -fstack-protector-strong not supported by compiler
CC [M] /tmp/modconfig-Qdjg7q/vmmon-only/linux/driverLog.o
gcc: error: unrecognized command line option ‘-fstack-protector-strong’
CC [M] /tmp/modconfig-Qdjg7q/vmmon-only/linux/driver.o
scripts/Makefile.build:308: recipe for target '/tmp/modconfig-Qdjg7q/vmmon-only/linux/driverLog.o' failed
make[2]: *** [/tmp/modconfig-Qdjg7q/vmmon-only/linux/driverLog.o] Error 1
make[2]: *** Waiting for unfinished jobs....
gcc: error: unrecognized command line option ‘-fstack-protector-strong’
CC [M] /tmp/modconfig-Qdjg7q/vmmon-only/linux/hostif.o
scripts/Makefile.build:308: recipe for target '/tmp/modconfig-Qdjg7q/vmmon-only/linux/driver.o' failed
make[2]: *** [/tmp/modconfig-Qdjg7q/vmmon-only/linux/driver.o] Error 1
CC [M] /tmp/modconfig-Qdjg7q/vmmon-only/common/memtrack.o
gcc: error: unrecognized command line option ‘-fstack-protector-strong’
scripts/Makefile.build:308: recipe for target '/tmp/modconfig-Qdjg7q/vmmon-only/linux/hostif.o' failed
make[2]: *** [/tmp/modconfig-Qdjg7q/vmmon-only/linux/hostif.o] Error 1
gcc: error: unrecognized command line option ‘-fstack-protector-strong’
scripts/Makefile.build:308: recipe for target '/tmp/modconfig-Qdjg7q/vmmon-only/common/memtrack.o' failed
make[2]: *** [/tmp/modconfig-Qdjg7q/vmmon-only/common/memtrack.o] Error 1
Makefile:1274: recipe for target '_module_/tmp/modconfig-Qdjg7q/vmmon-only' failed
make[1]: *** [_module_/tmp/modconfig-Qdjg7q/vmmon-only] Error 2
make[1]: Leaving directory '/usr/lib/modules/3.14.2-1-ARCH/build'
Makefile:130: recipe for target 'vmmon.ko' failed
make: *** [vmmon.ko] Error 2
make: Leaving directory '/tmp/modconfig-Qdjg7q/vmmon-only'
make: Entering directory '/tmp/modconfig-Qdjg7q/vmnet-only'
Using 2.6.x kernel build system.
/sbin/make -C /lib/modules/3.14.2-1-ARCH/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. \
MODULEBUILDDIR= modules
make[1]: Entering directory '/usr/lib/modules/3.14.2-1-ARCH/build'
Makefile:615: Cannot use CONFIG_CC_STACKPROTECTOR_STRONG: -fstack-protector-strong not supported by compiler
CC [M] /tmp/modconfig-Qdjg7q/vmnet-only/driver.o
CC [M] /tmp/modconfig-Qdjg7q/vmnet-only/userif.o
CC [M] /tmp/modconfig-Qdjg7q/vmnet-only/hub.o
gcc: error: unrecognized command line option ‘-fstack-protector-strong’
scripts/Makefile.build:308: recipe for target '/tmp/modconfig-Qdjg7q/vmnet-only/driver.o' failed
make[2]: *** [/tmp/modconfig-Qdjg7q/vmnet-only/driver.o] Error 1
make[2]: *** Waiting for unfinished jobs....
gcc: error: unrecognized command line option ‘-fstack-protector-strong’
scripts/Makefile.build:308: recipe for target '/tmp/modconfig-Qdjg7q/vmnet-only/userif.o' failed
make[2]: *** [/tmp/modconfig-Qdjg7q/vmnet-only/userif.o] Error 1
CC [M] /tmp/modconfig-Qdjg7q/vmnet-only/netif.o
gcc: error: unrecognized command line option ‘-fstack-protector-strong’
scripts/Makefile.build:308: recipe for target '/tmp/modconfig-Qdjg7q/vmnet-only/hub.o' failed
make[2]: *** [/tmp/modconfig-Qdjg7q/vmnet-only/hub.o] Error 1
gcc: error: unrecognized command line option ‘-fstack-protector-strong’
scripts/Makefile.build:308: recipe for target '/tmp/modconfig-Qdjg7q/vmnet-only/netif.o' failed
make[2]: *** [/tmp/modconfig-Qdjg7q/vmnet-only/netif.o] Error 1
Makefile:1274: recipe for target '_module_/tmp/modconfig-Qdjg7q/vmnet-only' failed
make[1]: *** [_module_/tmp/modconfig-Qdjg7q/vmnet-only] Error 2
make[1]: Leaving directory '/usr/lib/modules/3.14.2-1-ARCH/build'
Makefile:130: recipe for target 'vmnet.ko' failed
make: *** [vmnet.ko] Error 2
make: Leaving directory '/tmp/modconfig-Qdjg7q/vmnet-only'
make: Entering directory '/tmp/modconfig-Qdjg7q/vmci-only'
Using 2.6.x kernel build system.
/sbin/make -C /lib/modules/3.14.2-1-ARCH/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. \
MODULEBUILDDIR= modules
make[1]: Entering directory '/usr/lib/modules/3.14.2-1-ARCH/build'
Makefile:615: Cannot use CONFIG_CC_STACKPROTECTOR_STRONG: -fstack-protector-strong not supported by compiler
CC [M] /tmp/modconfig-Qdjg7q/vmci-only/linux/driver.o
CC [M] /tmp/modconfig-Qdjg7q/vmci-only/linux/vmciKernelIf.o
gcc: error: unrecognized command line option ‘-fstack-protector-strong’
CC [M] /tmp/modconfig-Qdjg7q/vmci-only/common/vmciDatagram.o
scripts/Makefile.build:308: recipe for target '/tmp/modconfig-Qdjg7q/vmci-only/linux/driver.o' failed
make[2]: *** [/tmp/modconfig-Qdjg7q/vmci-only/linux/driver.o] Error 1
make[2]: *** Waiting for unfinished jobs....
gcc: error: unrecognized command line option ‘-fstack-protector-strong’
gcc: error: unrecognized command line option ‘-fstack-protector-strong’
scripts/Makefile.build:308: recipe for target '/tmp/modconfig-Qdjg7q/vmci-only/linux/vmciKernelIf.o' failed
make[2]: *** [/tmp/modconfig-Qdjg7q/vmci-only/linux/vmciKernelIf.o] Error 1
scripts/Makefile.build:308: recipe for target '/tmp/modconfig-Qdjg7q/vmci-only/common/vmciDatagram.o' failed
make[2]: *** [/tmp/modconfig-Qdjg7q/vmci-only/common/vmciDatagram.o] Error 1
CC [M] /tmp/modconfig-Qdjg7q/vmci-only/common/vmciDriver.o
gcc: error: unrecognized command line option ‘-fstack-protector-strong’
scripts/Makefile.build:308: recipe for target '/tmp/modconfig-Qdjg7q/vmci-only/common/vmciDriver.o' failed
make[2]: *** [/tmp/modconfig-Qdjg7q/vmci-only/common/vmciDriver.o] Error 1
Makefile:1274: recipe for target '_module_/tmp/modconfig-Qdjg7q/vmci-only' failed
make[1]: *** [_module_/tmp/modconfig-Qdjg7q/vmci-only] Error 2
make[1]: Leaving directory '/usr/lib/modules/3.14.2-1-ARCH/build'
Makefile:130: recipe for target 'vmci.ko' failed
make: *** [vmci.ko] Error 2
make: Leaving directory '/tmp/modconfig-Qdjg7q/vmci-only'
Unable to install all modules. See log for details.

Det commented on 2014-04-29 22:51

At least we have some helpful comments in the installer scripts, as to why life is so hard for us:

if not INITSCRIPTDIR or not scriptFile.exists():
# TODO: Raise a dialog informing the user that we are unable to add init script links.
# TODO: This can take the place of Workstation's current message for Gentoo and Arch
# TODO: systems.
return

But I find it fantastic that they actually (at the very least) acknowledge us.

Det commented on 2014-04-23 13:28

Continuing with my previous findings, on Ubuntu Workstation doesn't even attempt to build the 'vmci' or 'vsock' modules, in favor of the in-kernel versions ('vmw_vmci' and 'vsock').

We could basically just disable these in "/etc/vmware/config", but I'll look into it some more.

Ba7a7chy commented on 2014-04-22 08:26

@xvoprsalek True ! thanks all working now ;)

xvoprsalek commented on 2014-04-22 08:24

@Ba7a7chy: Have you tried https://wiki.archlinux.org/index.php/VMware#vmci.2Fvsock_modules_not_loading_automatically? Helped me with 10.0.1, might help you too.

Ba7a7chy commented on 2014-04-22 08:21

Just installed version 10.0.2

I ran the patch:

vmware-patch -f
==> Reinstalling modules..
==> Patching VMware Workstation v10.0.2 for kernel 3.14.1-1-ARCH..
-> [vmci]
-> [vmmon]
-> [vsock]
==> Installing modules..
==> Done.

then started and got a VMCI error, I did a manual install:

vmware-modconfig --install-all --console

Starting VMware services:
Virtual machine monitor done
Virtual machine communication interface failed
VM communication interface socket family failed
Blocking file system done
Virtual ethernet done
VMware Authentication Daemon done
Unable to start services

Any clues ?

Det commented on 2014-04-18 21:59

Updated. The patches still have the ugly names, but the vmblock ones are gone and 'fuse' has been upgraded to dependencies (VMware seems to insist on using the 'vmware-vmblock-fuse' service, unless CONFIG_FUSE_FS is disabled in the kernel).

E: I'll also try to make the init.d workaround (https://wiki.archlinux.org/index.php/Vmware#vmci.2Fvsock_modules_not_loading_automatically) automatic when I have time. The problem is with the "isLoaded()" function, where the 'awk' command doesn't accept multiple lines for $module:

$ /sbin/lsmod | awk 'BEGIN {n = "no";} {if ($1 == "'"$module"'") n = "yes";} END {print n;}'
awk: cmd. line:1: BEGIN {n = "no";} {if ($1 == "vmw_vmci
awk: cmd. line:1: ^ unterminated string
awk: cmd. line:1: BEGIN {n = "no";} {if ($1 == "vmw_vmci
awk: cmd. line:1: ^ syntax error

At least for VMCI this is caused by the inclusion of the in-kernel module vmw_vmci:

$ /sbin/modprobe -R 'pci:v000015ADd00000740sv*sd*bc*sc*i*'
vmw_vmci
vmci

I have no idea how isn't this present in other distributions.

Det commented on 2014-04-18 21:45

Updated. The patches still have the ugly names but vmblock patches are gone and fuse moved to dependencies (VMware seems to insist on using the 'vmware-vmblock-fuse' service, unless CONFIG_FUSE_FS is disabled in the kernel).

rko commented on 2014-04-18 14:41

VMware has release Player 6.0.2 which does not work with this patch.

For now, I renamed all the patches with 6.0.1 to include version 6.0.2 (except vmnet, it seems 6.0.2 has the fix incorporated internally) and was able to compile and get things working.

Internet and copy and paste works inside the VM.

igordcard commented on 2014-04-17 13:19

I once messed up when editing /etc/init.d/vmware and had to reinstall the program as I didn't know where it was messed up.
So I leave you with my current, working /etc/init.d/vmware: http://pastebin.com/8vPCJQWL.

xvoprsalek commented on 2014-04-17 11:37

Yes, I am running VMware Workstation 10.0.1 build-1379776, 3.14.1-1-ARCH, glibc 2.19-3.

https://wiki.archlinux.org/index.php/VMware#vmci.2Fvsock_modules_not_loading_automatically && vmware-patch -f allows me to work with Workstation nicely.

igordcard commented on 2014-04-17 11:28

matteoguglielmi,

Same as you:
VMware Workstation 10.0.1 (almost expired)
3.14.1-1-ARCH
glibc 2.19-3

It is working perfectly here.

Try running vmware-patch -f.
I remember I also did this: https://wiki.archlinux.org/index.php/VMware#vmci.2Fvsock_modules_not_loading_automatically some time ago, but I'm not sure if it's still required with the current version of vmware-patch.

matteoguglielmi commented on 2014-04-16 22:26

Who has a working vmware workstation (version 10.0.1) on arch linux?

It's almost a month that I'm stuck with a broken vmware binary no matter what kernel patches are applied (see my posts below).

I tried to roll back to an earlier version of glibc but I got too many packages that require the current verision of glibc, therefore I basically gave up since I'm afraid to break the whole system.

Current kernel and glibc versions are:

3.14.1-1-ARCH
glibc 2.19-3

josiahzimm commented on 2014-04-16 00:27

Any Chance of this working with Workstation 9.0.2 on Kernel 3.14.1-1?

Det commented on 2014-04-06 04:58

Updated to 3.14 and removed old patches (VMware 8.0.x or kernels less than 3.10).

I'll also be simplifying the patch names later, so that things like 'vmnet-10.0.1-10.0.0-6.0.1-6.0.0-3.14-3.13.patch' would become 'vmnet|10.0.1-|3.13+.patch'.

Det commented on 2014-04-05 18:29

Thanks for the Github link, but that VMware Communities guy is actually me, and I only went there _after_ having a look at rglinuxtech.com.

So, before there's no patch for vmci (and I won't be coming up with a way to force the use of the mainline version (vmw_vmci)), this isn't out-of-date.

alyst commented on 2014-04-05 15:33

The current version is not compatible with linux 3.14 due to changes in VMCI struct in the kernel. It looks like vmware-modules-dkms have initial support for 3.14. See also [1], [2], [3].

[1] https://github.com/kitech/vmware-modules
[2] https://communities.vmware.com/thread/474178
[3] http://rglinuxtech.com/?p=1027

P.S. Sorry if this is not relevant, I'm just a user of VMware.

Det commented on 2014-03-21 11:43

That'd be a first...

Yeah, that's the idea.

matteoguglielmi commented on 2014-03-21 11:40

Sorry for that but I did not use it because I don't know how to use it.

Would this work?

http://pastebin.com/HBkFyJPR

Det commented on 2014-03-21 11:24

My god you guys. It is very lovely that you are just trying to help, but please, USE PASTEBIN! You are making it extremely hard to follow not only your own posts but anyone else's.

Now, from this moment forwards every time I see a post that is 20+ lines the next update will be delayed for a week.

igordcard commented on 2014-03-21 11:21

Guys, what the hell? Use a Pastebin like Det said, so you don't flood this page.
Here's a link for the lazy: http://pastebin.com/.

matteoguglielmi commented on 2014-03-21 11:17

Here is mine:

[matteo@pulsar:~]$ gdb /usr/lib/vmware/bin/vmware
GNU gdb (GDB) 7.7
Copyright (C) 2014 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-unknown-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from /usr/lib/vmware/bin/vmware...(no debugging symbols found)...done.
(gdb) run
Starting program: /usr/lib/vmware/bin/vmware
warning: Could not load shared library symbols for linux-vdso.so.1.
Do you need "set solib-search-path" or "set sysroot"?
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib/libthread_db.so.1".

Program received signal SIGILL, Illegal instruction.
0x00007ffff77b613b in __lll_lock_elision () from /usr/lib/libpthread.so.0
(gdb)

dark_wolf commented on 2014-03-21 07:12

here the Backtrace:
# gdb ./usr/lib/vmware/bin/vmware
GNU gdb (GDB) 7.7
Copyright (C) 2014 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-unknown-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from ./usr/lib/vmware/bin/vmware...(no debugging symbols found)...done.
(gdb) run
Starting program: /usr/lib/vmware/bin/vmware
warning: Could not load shared library symbols for linux-vdso.so.1.
Do you need "set solib-search-path" or "set sysroot"?
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib/libthread_db.so.1".
vmware: ../nptl/pthread_mutex_lock.c:350: __pthread_mutex_lock_full: Assertion `(-(e)) != 3 || !robust' failed.

Program received signal SIGABRT, Aborted.
0x00007ffff721c389 in raise () from /usr/lib/libc.so.6
(gdb) bt
#0 0x00007ffff721c389 in raise () from /usr/lib/libc.so.6
#1 0x00007ffff721d788 in abort () from /usr/lib/libc.so.6
#2 0x00007ffff72154a6 in __assert_fail_base () from /usr/lib/libc.so.6
#3 0x00007ffff7215552 in __assert_fail () from /usr/lib/libc.so.6
#4 0x00007ffff77aace1 in __pthread_mutex_lock_full () from /usr/lib/libpthread.so.0
#5 0x00007ffff29130c1 in g_type_init_with_debug_flags () from /usr/lib/vmware/lib/libgobject-2.0.so.0/libgobject-2.0.so.0
#6 0x00007fffed8e3d18 in gvmomi_init () from /usr/lib/vmware/lib/libgvmomi.so.0/libgvmomi.so.0
#7 0x00007fffec62a247 in gvmomi::InitGVmomi() () from /usr/lib/vmware/lib/libvmwareui.so.0/libvmwareui.so.0
#8 0x00007fffeb52e055 in ui::App::Init(int, char**) () from /usr/lib/vmware/lib/libvmware.so/libvmware.so
#9 0x00007fffeb52fb54 in ui::App::App(int, char**) () from /usr/lib/vmware/lib/libvmware.so/libvmware.so
#10 0x00007fffeb565071 in main () from /usr/lib/vmware/lib/libvmware.so/libvmware.so
#11 0x0000555555572917 in main ()
(gdb) q
A debugging session is active.

Det commented on 2014-03-19 11:58

Pastebin.

matteoguglielmi commented on 2014-03-19 11:11

I've managed to manually patch & build vmblock following the
arch-linux vmware installation instructions (dirty way... I'd
much prefer to keep using vmware-patch for that)... and now I
realize that the problem seems to be way more serious:

the vmware binary itself dumps a core file!

Some recent package upgrade (which one???) broke vmware.

###

[matteo@pulsar:~]$ /usr/bin/vmware

Logging to /tmp/vmware-matteo/vmware-modconfig-4539.log

(vmware-modconfig:4539): Gtk-WARNING **: Unable to locate theme engine in module_path: "xfce",

(vmware-modconfig:4539): Gtk-WARNING **: Unable to locate theme engine in module_path: "xfce",

(vmware-modconfig:4539): Gtk-WARNING **: Unable to locate theme engine in module_path: "xfce",

(vmware-modconfig:4539): Gtk-WARNING **: Unable to locate theme engine in module_path: "xfce",
Aborted (core dumped)

[matteo@pulsar:~]$ /usr/lib/vmware/bin/vmware

Aborted (core dumped)

matteoguglielmi commented on 2014-03-19 10:19

vmware-modconfig --console --build-mod vmblock

make: Entering directory '/tmp/modconfig-1Anx8K/vmblock-only'
Using 2.6.x kernel build system.
/sbin/make -C /lib/modules/3.13.6-1-ARCH/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. \
MODULEBUILDDIR= modules
make[1]: Entering directory '/usr/lib/modules/3.13.6-1-ARCH/build'
CC [M] /tmp/modconfig-1Anx8K/vmblock-only/linux/filesystem.o
CC [M] /tmp/modconfig-1Anx8K/vmblock-only/linux/file.o
CC [M] /tmp/modconfig-1Anx8K/vmblock-only/linux/stubs.o
CC [M] /tmp/modconfig-1Anx8K/vmblock-only/linux/block.o
CC [M] /tmp/modconfig-1Anx8K/vmblock-only/linux/super.o
CC [M] /tmp/modconfig-1Anx8K/vmblock-only/linux/module.o
CC [M] /tmp/modconfig-1Anx8K/vmblock-only/linux/control.o
CC [M] /tmp/modconfig-1Anx8K/vmblock-only/linux/inode.o
CC [M] /tmp/modconfig-1Anx8K/vmblock-only/linux/dentry.o
/tmp/modconfig-1Anx8K/vmblock-only/linux/dentry.c:38:4: warning: initialization from incompatible pointer type [enabled by default]
.d_revalidate = DentryOpRevalidate,
^
/tmp/modconfig-1Anx8K/vmblock-only/linux/dentry.c:38:4: warning: (near initialization for ‘LinkDentryOps.d_revalidate’) [enabled by default]
/tmp/modconfig-1Anx8K/vmblock-only/linux/dentry.c: In function ‘DentryOpRevalidate’:
/tmp/modconfig-1Anx8K/vmblock-only/linux/dentry.c:104:7: warning: passing argument 2 of ‘actualDentry->d_op->d_revalidate’ makes integer from pointer without a cast [enabled by default]
return actualDentry->d_op->d_revalidate(actualDentry, nd);
^
/tmp/modconfig-1Anx8K/vmblock-only/linux/dentry.c:104:7: note: expected ‘unsigned int’ but argument is of type ‘struct nameidata *’
/tmp/modconfig-1Anx8K/vmblock-only/linux/control.c: In function ‘SetupProcDevice’:
/tmp/modconfig-1Anx8K/vmblock-only/linux/control.c:211:4: error: implicit declaration of function ‘create_proc_entry’ [-Werror=implicit-function-declaration]
controlProcEntry = create_proc_entry(VMBLOCK_CONTROL_DEVNAME,
^
/tmp/modconfig-1Anx8K/vmblock-only/linux/control.c:211:21: warning: assignment makes pointer from integer without a cast [enabled by default]
controlProcEntry = create_proc_entry(VMBLOCK_CONTROL_DEVNAME,
^
/tmp/modconfig-1Anx8K/vmblock-only/linux/control.c:221:20: error: dereferencing pointer to incomplete type
controlProcEntry->proc_fops = &ControlFileOps;
^
/tmp/modconfig-1Anx8K/vmblock-only/linux/control.c: In function ‘ExecuteBlockOp’:
/tmp/modconfig-1Anx8K/vmblock-only/linux/control.c:285:9: warning: assignment from incompatible pointer type [enabled by default]
name = getname(buf);
^
/tmp/modconfig-1Anx8K/vmblock-only/linux/control.c:296:4: warning: passing argument 1 of ‘putname’ from incompatible pointer type [enabled by default]
putname(name);
^
In file included from include/linux/proc_fs.h:8:0,
from /tmp/modconfig-1Anx8K/vmblock-only/linux/control.c:28:
include/linux/fs.h:2108:13: note: expected ‘struct filename *’ but argument is of type ‘char *’
extern void putname(struct filename *name);
^
/tmp/modconfig-1Anx8K/vmblock-only/linux/inode.c:49:4: warning: initialization from incompatible pointer type [enabled by default]
.lookup = InodeOpLookup,
^
/tmp/modconfig-1Anx8K/vmblock-only/linux/inode.c:49:4: warning: (near initialization for ‘RootInodeOps.lookup’) [enabled by default]
cc1: some warnings being treated as errors
/tmp/modconfig-1Anx8K/vmblock-only/linux/inode.c: In function ‘InodeOpFollowlink’:
/tmp/modconfig-1Anx8K/vmblock-only/linux/inode.c:224:4: error: implicit declaration of function ‘vfs_follow_link’ [-Werror=implicit-function-declaration]
ret = vfs_follow_link(nd, iinfo->name);
^
scripts/Makefile.build:308: recipe for target '/tmp/modconfig-1Anx8K/vmblock-only/linux/control.o' failed
make[2]: *** [/tmp/modconfig-1Anx8K/vmblock-only/linux/control.o] Error 1
make[2]: *** Waiting for unfinished jobs....
cc1: some warnings being treated as errors
/tmp/modconfig-1Anx8K/vmblock-only/linux/file.c:240:4: error: unknown field ‘readdir’ specified in initializer
.readdir = FileOpReaddir,
^
/tmp/modconfig-1Anx8K/vmblock-only/linux/file.c:240:4: warning: initialization from incompatible pointer type [enabled by default]
/tmp/modconfig-1Anx8K/vmblock-only/linux/file.c:240:4: warning: (near initialization for ‘RootFileOps.owner’) [enabled by default]
scripts/Makefile.build:308: recipe for target '/tmp/modconfig-1Anx8K/vmblock-only/linux/inode.o' failed
make[2]: *** [/tmp/modconfig-1Anx8K/vmblock-only/linux/inode.o] Error 1
scripts/Makefile.build:308: recipe for target '/tmp/modconfig-1Anx8K/vmblock-only/linux/file.o' failed
make[2]: *** [/tmp/modconfig-1Anx8K/vmblock-only/linux/file.o] Error 1
Makefile:1249: recipe for target '_module_/tmp/modconfig-1Anx8K/vmblock-only' failed
make[1]: *** [_module_/tmp/modconfig-1Anx8K/vmblock-only] Error 2
make[1]: Leaving directory '/usr/lib/modules/3.13.6-1-ARCH/build'
Makefile:130: recipe for target 'vmblock.ko' failed
make: *** [vmblock.ko] Error 2
make: Leaving directory '/tmp/modconfig-1Anx8K/vmblock-only'

matteoguglielmi commented on 2014-03-18 16:59

kernel: 3.13.6-1-ARCH

vmware-patch does not build kernel module "vmblock" therefore
vmware does not start.

### tail /tmp/vmware-matteo/vmware-modconfig-3117.log ###

2014-03-18T17:57:19.508+01:00| vthread-3| I120: Reading in info for the vmblock module.
2014-03-18T17:57:19.508+01:00| vthread-3| I120: Reading in info for the vmci module.
2014-03-18T17:57:19.508+01:00| vthread-3| I120: Reading in info for the vsock module.
2014-03-18T17:57:19.508+01:00| vthread-3| I120: Setting vsock to depend on vmci.
2014-03-18T17:57:19.508+01:00| vthread-3| I120: Invoking modinfo on "vmmon".
2014-03-18T17:57:19.509+01:00| vthread-3| I120: "/sbin/modinfo" exited with status 0.
2014-03-18T17:57:19.509+01:00| vthread-3| I120: Invoking modinfo on "vmnet".
2014-03-18T17:57:19.511+01:00| vthread-3| I120: "/sbin/modinfo" exited with status 0.
2014-03-18T17:57:19.511+01:00| vthread-3| I120: Invoking modinfo on "vmblock".
2014-03-18T17:57:19.512+01:00| vthread-3| I120: "/sbin/modinfo" exited with status 256.
2014-03-18T17:57:19.512+01:00| vthread-3| I120: Invoking modinfo on "vmci".
2014-03-18T17:57:19.513+01:00| vthread-3| I120: "/sbin/modinfo" exited with status 0.
2014-03-18T17:57:19.513+01:00| vthread-3| I120: Invoking modinfo on "vsock".
2014-03-18T17:57:19.515+01:00| vthread-3| I120: "/sbin/modinfo" exited with status 0.

Det commented on 2014-02-21 18:20

Well, it detects the 'netfilter-10.0.1-6.0.1-10.0.0-6.0.0-3.13.patch', but then tries to look for other patches for your setup, which are not found.

I suppressed the error output, so now it should be fine.

davehardy20 commented on 2014-02-21 18:07

I just upgraded to the new kernel 3.13.4-1 x86_64

and rebooted and then ran vmware patch, and got this output

[root@arch-inqu1s1t0r dave]# vmware-patch -f
==> Reinstalling modules..
==> Patching VMware Workstation v10.0.1 for kernel 3.13.4-1-ARCH..
-> Workaround for CONFIG_NETFILTER
ls: cannot access ../patches/v*10.0.1*3.13*.patch: No such file or directory
==> Installing modules..
==> Done.

Not sure if the ls: cannot access ../patches....... is an issue

Ran VMware workstation 10.0.1 build-1379776 and all seems OK, but would like some feedback if possible.

Thanks

Dave

Det commented on 2014-01-27 14:50

Added a patch for CONFIG_NETFILTER: http://rglinuxtech.com/?p=1008

Det commented on 2014-01-27 12:22

Now I will keep it like this forever.

rEnr3n commented on 2014-01-27 04:44

Sorry Det. I accidentally flagged it. T_T

xtraroot commented on 2014-01-10 09:25

Thanks for doing this!

Det commented on 2013-12-21 20:01

Fixed.

Det commented on 2013-12-21 09:43

Right. I reorganized the patches and the md5sums no longer are in the correct order.

Just skip them for now (makepkg (-s) --skipinteg).

magicfish1990 commented on 2013-12-21 07:23

Validating source files with md5sums...
vmware-patch ... FAILED
vmnet-9.0.2-5.0.2-3.12-3.11-3.10.patch ... FAILED
vmblock-9.0.2-5.0.2-9.0.1-5.0.1-9.0.0-5.0.0-3.9-3.8-3.7-3.6.patch ... FAILED
vmci-9.0.1-5.0.1-3.9-3.8.patch ... FAILED
vmmon-9.0.0-5.0.0-3.7-3.6-3.5.patch ... FAILED

Det commented on 2013-12-20 14:34

Probably something to do with https://bbs.archlinux.org/viewtopic.php?id=169472

xatiya commented on 2013-12-19 15:48

well.. the rename I did only works when compiling. Now I got another error trying to resume a machine:

Unable to change virtual machine power state: Failed to power on '/path/to/my/machine.vmx'.
Transport (VMDB) error -14: Pipe connection has been broken.

xatiya commented on 2013-12-19 15:41

vmnet was not compiling for me, having VMware Workstation 9.0.2 and Linux 3.12

What I did is rename vmnet-9.0.2-5.0.2-3.11-3.10.patch to vmnet-9.0.2-5.0.2-3.12-3.11-3.10.patch and worked.

I dunno if you forgot to add 3.12 or vmnet should work without patching in Linux 3.12.

Det commented on 2013-12-08 15:49

I remain unconviced those patches even manage to do anything with 10.0.x/6.0.x, hence I've left them only for 9.0.2/6.0.2.

flyn commented on 2013-11-27 14:19

Fix for vmblock not compiling on 3.12:
(Source https://bugs.gentoo.org/show_bug.cgi?id=488072)

vmblock-9.0.2-5.0.2-3.12.patch:


diff -Naur a/linux/inode.c b/linux/inode.c
--- vmblock-only/linux/inode.c 2013-10-03 04:29:47.471339204 -0400
+++ vmblock-only/linux/inode.c 2013-10-03 04:31:56.607334636 -0400
@@ -36,7 +36,7 @@

/* Inode operations */
static struct dentry *InodeOpLookup(struct inode *dir,
- struct dentry *dentry, struct nameidata *nd);
+ struct dentry *dentry, unsigned int flags);
static int InodeOpReadlink(struct dentry *dentry, char __user *buffer, int buflen);
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 13)
static void *InodeOpFollowlink(struct dentry *dentry, struct nameidata *nd);
@@ -75,7 +75,7 @@
static struct dentry *
InodeOpLookup(struct inode *dir, // IN: parent directory's inode
struct dentry *dentry, // IN: dentry to lookup
- struct nameidata *nd) // IN: lookup intent and information
+ unsigned int flags) // IN: lookup intent and information
{
char *filename;
struct inode *inode;
@@ -221,7 +221,7 @@
goto out;
}

- ret = vfs_follow_link(nd, iinfo->name);
+ nd_set_link(nd, iinfo->name);

out:
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 13)

[adam@adam-laptop patches]$

Det commented on 2013-11-24 08:32

Well, it should and it shouldn't.

yukixz commented on 2013-11-24 05:25

.install: post_upgrade() should run `vmware-patch` with `-f` arg.

cybertron commented on 2013-11-18 14:10

any updates for kernel 3.12?

Det commented on 2013-10-27 09:29

Wrong version number.

acfrazier commented on 2013-10-26 03:18

VMWare Workstation 10.0.1 is out.

Det commented on 2013-10-11 21:57

The percentage of insults in my answer would far outweigh the benefit of the response so I'd rather leave it at that.

netskink commented on 2013-10-09 06:10

Will this help with vmware workstation 9 and kernel 3.11?

Det commented on 2013-09-27 16:31

Yeah, you've already manually patched your sources. And since there's apparently no backup in /usr/lib/vmware/modules/ (since it'd be automatically used), the only "automating" dirty trick you can do is to remove the patch in question, /usr/lib/vmware/modules/patches/vmblock-10.0.0-9.0.2-6.0.0-5.0.2-3.11-3.10.patch (and maybe even /usr/lib/vmware/modules/patches/vmblock-10.0.0-9.0.2-6.0.0-5.0.2-3.11.patch), so it won't get applied twice.

webjipe commented on 2013-09-26 09:46

I've got an error when running with linux 3.11.1:

2 out of 2 hunks FAILED -- saving rejects to file vmblock-only/linux/control.c.rej
==> ERROR: Failed to apply 'vmblock-10.0.0-9.0.2-6.0.0-5.0.2-3.11-3.10.patch'

Any idea ?

Det commented on 2013-09-21 09:52

That patch _is_ already included (vmnet-9.0.2-5.0.2-3.11-3.10.patch).

I don't know why it wouldn't work for you but there's something wrong with your installation, if it really doesn't.

Maybe try 'vmware-patch -f'?

E: Scratch that bullshit, it was a problem with my script. Fixed now.

Det commented on 2013-09-21 09:38

That patch _is_ already included (vmnet-9.0.2-5.0.2-3.11-3.10.patch).

I don't know why it wouldn't work for you but there's something wrong with your installation, if it really doesn't.

Maybe try 'vmware-patch -f'?

Anonymous comment on 2013-09-21 00:54

Further investigation: vmnet works after manually applying the patch found in the second post here: https://communities.vmware.com/thread/446113?start=0&tstart=0 . Maybe you can include it?

Anonymous comment on 2013-09-21 00:40

Not working with 9.0.2 on 3.11.1 kernel:

/tmp/modconfig-rkrOte/vmnet-only/hub.c:366:28: error: dereferencing pointer to incomplete type
jack->procEntry->read_proc = VNetHubProcRead;
^
/tmp/modconfig-rkrOte/vmnet-only/hub.c:367:28: error: dereferencing pointer to incomplete type
jack->procEntry->data = jack;
^
make[2]: *** [/tmp/modconfig-rkrOte/vmnet-only/hub.o] Error 1
make[1]: *** [_module_/tmp/modconfig-rkrOte/vmnet-only] Error 2
make[1]: Leaving directory `/usr/src/linux-3.11.1-1-ARCH'
make: *** [vmnet.ko] Error 2

Det commented on 2013-09-20 20:07

Everybody happy?

webjipe commented on 2013-09-20 08:39

Not working on 3.11

BinaryMn commented on 2013-09-16 04:16

Does not work with Workstation 10 and 3.10.10-1 due to create_proc_entry being deprecated.

Code changes can be found at https://gist.github.com/xaitax/6001609. Worked for me.

Det commented on 2013-09-06 19:57

Didn't even see your comments lol.

Bump to Workstation 10 / Player (Plus) 6 / kernel 3.11.

mango commented on 2013-09-06 17:51

From here
http://mysticalzero.blogspot.ru/2013/07/vmblock-patch-for-linux-311-rc1-vmware.html

mango commented on 2013-09-06 17:09

pls add patch for 3.11

Det commented on 2013-08-25 12:58

beli3ver, what the hell?

Det commented on 2013-07-05 16:59

Added the vmblock patch for 3.10.

Det commented on 2013-06-22 20:27

You just define your own ass.

Anonymous comment on 2013-06-22 20:13

The warning function is not written in the vmware-patch file.
You should define it

Det commented on 2013-06-19 11:26

Simplified the patch loop ouput, added a notification about gtkmm 2.24.3-1 along with some other minor stuff.

A real color hell, if you have that thing installed.

Det commented on 2013-05-31 18:13

A bump to prepare for filesystem 2013.05-1, that is, the /bin, /sbin, /usr/sbin -> /usr/bin move: https://mailman.archlinux.org/pipermail/arch-dev-public/2013-May/024908.html.

The deprecated 7.x/3.x stuff is gone as well.

gnomus commented on 2013-05-28 14:55

I upgraded to Kernel 3.9.4-1 today and the vmci Module won't build anymore.

Does anyone have a solution or can reproduce this?

travis.hegner commented on 2013-05-23 19:18

This has become a vmware support mini-community of sorts, and Since this was the first place I looked for a solution, here you go:

If after recent updates your vmware product core dumps, it could be related to a broken gtkmm upgrade: https://bugs.archlinux.org/task/35254

A downgrade to gtkmm-2.24.2-2 fixes the issue fixes the issue for me.

Travis

Det commented on 2013-05-21 23:50

patch_*. I just don't know how well my cuts and greps can handle the rc kernel strings.

Will be removing the 7.x/3.x patches soon, by the way.

haagch commented on 2013-05-21 18:10

3.10 patches: http://communities.vmware.com/message/2239207#2239207

eliasson commented on 2013-05-19 20:09

1. Awesome!
2. I see. I had no idea why we need these patches to begin with. That also explains why I could install Workstation 9.0.2 without any patching.
3. I like to be overly specific in my bug reports. Sometimes just documenting the issue is enough to help me figure out the solution on my own.
4. Of course. I read the output from vmware-patch but my mind failed to parse it. It all makes sense now!

Det commented on 2013-05-19 19:52

@eliasson, that's nothing to be amazed about. It didn't patch your 3.9 kernel because the file name didn't include it. It does now.

And the reason for that is that whenever a new version is released it natively supports the latest kernels. I _rarely_ bump those "in between" ones, unless maybe if the patch didn't change for the latest release either.

By the way, I thought it was quite funny that you ran "vmware-unpatch" twice and then actually posted it here. Lol.

Also, it doesn't do anything that it doesn't say it does. The patching is done as a loop and the output is printed for everyone involved. Hence diffing the entire dirs in case it might have forgotten it is a little unnecessary.

igordcard commented on 2013-05-19 19:28

parpagnas,
Is this the issue? https://bugs.archlinux.org/task/35254

eliasson commented on 2013-05-19 19:26

Something is terribly wrong here. On my system, the only file in /usr/lib/vmware/modules/source that gets updated is vmblock.tar:

$ uname -a
Linux riven 3.9.2-1-ARCH #1 SMP PREEMPT Sat May 11 20:31:08 CEST 2013 x86_64 GNU/Linux
$ sudo vmware-unpatch
==> Reverting VMware Workstation v9.0.1 module sources..
-> Removing /usr/lib/vmware/modules/source/
-> Renaming backup: /usr/lib/vmware/modules/source-9.0.1/ -> /usr/lib/vmware/modules/source/
==> Done.
$ sudo vmware-unpatch
==> No backups found.
$ sudo vmware-patch
==> Creating a backup..
==> Patching VMware Workstation v9.0.1 for kernel 3.9.2-1-ARCH..
-> [vmblock] Patching..
-> Successfully patched.
==> Installing modules..
==> Done.
$ ls /usr/lib/vmware/modules/source*
/usr/lib/vmware/modules/source:
vmblock.tar vmci.tar vmmon.tar vmnet.tar vsock.tar

/usr/lib/vmware/modules/source-9.0.1:
vmblock.tar vmci.tar vmmon.tar vmnet.tar vsock.tar
$ diff -r /usr/lib/vmware/modules/source*
Binary files /usr/lib/vmware/modules/source/vmblock.tar and /usr/lib/vmware/modules/source-9.0.1/vmblock.tar differ

Checksumming the files confirms my suspicions. This causes `vmware-modconfig --console --install-all` to fail while building vmci-only because of http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=2050666 which should have been patched by now.

If I manually untar vmci.tar, apply vmci-9.0.1-5.0.1-3.8.patch and run `/usr/bin/make -j4 -C /tmp/vmci/vmci-only auto-build HEADER_DIR=/lib/modules/3.9.2-1-ARCH/build/include CC=/usr/bin/gcc IS_GCC_3=no`, vmci builds fine.

Det commented on 2013-05-15 19:01

I can't reproduce that here, because I'm such a magnificent guy to use the term "reproduce".

What's the exact error and the name/version of your kernel/VMware app?

Det commented on 2013-05-15 19:01

I can't reproduce that here, because I'm such a magnificent guy to use the term "reproduce".

What's the exact error and the name/version of your kernel/VMware app.

Anonymous comment on 2013-05-15 17:12

The patch seems to be broken since today's update. I'm not sure the issue commes from the patch though. Thanks in advance

Det commented on 2013-05-08 11:10

Done.

rumpelsepp commented on 2013-05-08 08:56

Hi, please update checksums. :)

igordcard commented on 2013-05-03 23:00

Little typo: "Succesfully" at "-> Succesfully patched".

Det commented on 2013-05-02 22:35

By the way, so 7.x/3.x are okay to go?

Det commented on 2013-04-24 17:08

Well, the problem with that is that we'd then end up having a lot of untracked files in /usr/src/, which I'd probably just end up having to clean myself in both vmware-patch/-unpatch in addition to the backups in /usr/lib/vwmare/modules/.

E: As fugly as it is, now it's doing that as well. Including for the module dirs in /usr/lib/modules/. My beautiful pkgrel is reaching heavens.

Det commented on 2013-04-24 12:57

Well, the problem with that is that we'd then end up having a lot of untracked files in /usr/src/, which I'd probably just end up having to clean myself in both vmware-patch/-unpatch in addition to the backups in /usr/lib/vwmare/modules/.

--E: Forget that crap, it can't be done..--

Det commented on 2013-04-24 12:35

Well, the problem with that is that we'd then end up having a lot of untracked files in /usr/src/, which I'd probably just end up having to clean myself in both vmware-patch/-unpatch in addition to the backups in /usr/lib/vwmare/modules/.

One solution is to just forget the symlinks and modify the scripts directly, but then if things like VMware VSX need that to be done as well it just gets too complicated.

But then, I'm not here to support VMware VSX, I'm here to support Workstation and Player.

gleira commented on 2013-04-24 06:38

Please, don't drop support for old versions, at least for the "not so old". I can't upgrade to Workstation 9, and your package is very useful.

I'm not very sure, but I think that it is not recommended to make links from the package. It should be part of the vmware-patch script. I 've seen that I had to create the version.h link after the last kernel update, and then run vmware-patch again. It's just a suggestion, it works like a charm as is.

Det commented on 2013-04-23 17:56

Thanks. I'll let them float around for a couple of weeks, then probably get rid of them.

travis.hegner commented on 2013-04-23 17:46

If it's any help, I am typically on the latest versions of VMWare Workstation, and the latest kernel. I would only sit on an older version if the new one was horribly broken for whatever reason.

Count me as a +1 for dropping old version support if you want.

Thanks,

Travis

Det commented on 2013-04-23 17:21

Added the putname() patch and the ability to reinstall modules with -f.

Anonymous comment on 2013-04-23 05:38

Further to my comment below, found this:
https://bugs.archlinux.org/task/33835
There is a patch there that changes putname() to __putname(); hope you can incorporate that for a fix.

Anonymous comment on 2013-04-23 05:25

Many thanks, Det, for this package. I'm installing it with
$ vmplayer -v
VMware Player 5.0.2 build-1031769
$ uname -r
3.8.7-1-ARCH

and getting some problems related to 'putname(.)' during module build for 'vmblock', as below:

/tmp/modconfig-zfNQ98/vmblock-only/linux/control.c:296:4: warning: passing argument 1 of ‘putname’ from incompatible pointer type [enabled by default]
putname(name);
^
In file included from include/linux/proc_fs.h:5:0,
from /tmp/modconfig-zfNQ98/vmblock-only/linux/control.c:28:
include/linux/fs.h:2039:13: note: expected ‘struct filename *’ but argument is of type ‘char *’
extern void putname(struct filename *name);
.....

WARNING: "putname" [/tmp/modconfig-zfNQ98/vmblock-only/vmblock.ko] undefined!

And I can see that if I try
modprobe vmblock
tells me that symbol 'putname' is missing. Thanks for any tips/solutions to this.

Det commented on 2013-04-21 21:54

By the way, how many of you guys actually use those old 7.x/3.x and 8.x/4.x Workstation/Player versions?

I'll be glad to support them, if you do, but if you don't, I'd be even more glad to take them out.

Det commented on 2013-04-18 13:12

Added the new line and a query after a failed patch attempt.

It's so quick anyway so I guess I'll bump the pkgrel also.

Ghouli commented on 2013-04-18 08:06

Thank you so much for taking the time clean this up! :)

However, I'm getting this error as I'm trying to install:

==> Running 'vmware-patch' for the first time..
==> Creating a backup..
==> Patching VMware Player v5.0.1 for kernel 3.8.7-1-ARCH..
-> Patching vmci..
patch unexpectedly ends in middle of line
3 out of 3 hunks FAILED -- saving rejects to file vmci-only/linux/driver.c.rej
==> ERROR: [vmci] Failed to apply 'vmci-9.0.1-5.0.1-3.8.patch'.
==> Reverting..
==> Done.

I have tried cleaning up and downloading again, but this had no effect.

Det commented on 2013-04-17 21:27

Lol. All right.

igordcard commented on 2013-04-17 21:25

Lol... By merge I mean "demessing" the mess.

Det commented on 2013-04-17 21:20

@igordcard, hmm, are you sure you mean "merge" then :)? As in 'added' to the package?

Det commented on 2013-04-17 21:18

Added the comment about 'updpkgsums' just before the checksums, since that thing is just so damn wonderful.

igordcard commented on 2013-04-17 21:18

There is no mess anymore now that it's been merged.

Det commented on 2013-04-17 21:00

:). I'm assuming you mean "mess" in its most positive sense?

Det commented on 2013-04-17 21:00

:). I'm assuming you mean "mess" in it's most positive sense?

igordcard commented on 2013-04-17 19:55

Thank you Det for merging all this "mess".

Det commented on 2013-04-17 14:15

Also, for the changelog which will be buried by this message anyway: http://pastebin.com/DaarURNq

Det commented on 2013-04-17 14:13

@igorcard, they've never been automatic. Unless you specified your daemons in rc.conf or ran "vmware-modconfig --console --install-all" you _always_ had to manually run "/etc/rc.d/vmware start", which later became simply "rc.d start vmware". The only exception was Windows, where even there changing the services from "Automatic" to "Manual" would render VMware totally unusable. This app has always relied on its services to be already running.

Now that we have systemd this command became "systemctl start vmware". To enable it on boot it's "systemctl enable vmware" (as instructed in the .install). This also invalidated the need for a 'VMware-USBArbitrator', which is an _rc.d_ script that has been replaced by 'vmware-usbarbitrator.service'. All it does is run "/usr/bin/vmware-usbarbitrator" and it will be automatically pulled in by 'vmware.service'.

@travis.hegner, it's what I do.

travis.hegner commented on 2013-04-17 13:05

Det,

Thank you! Thank you! For taking the time to automate all of this! Great Work!

Travis

igordcard commented on 2013-04-17 10:05

I just noticed that after a clean install I have to manually start vmware from systemd or VMware won't play the machines. Also, it doesn't seem to be loading up VMware-USBArbitrator...

Det commented on 2013-04-17 01:04

Lol, if it's just some web interface we're talking about, then we don't need to worry about it.

I excluded all that other vCloud/vSphere stuff as well, since I think Workstation and Player are the only two things people care about anyway (I don't even know if those other things actually install anything in /usr/lib/vmware/modules/source/).

Anyway, both scripts should now remove all the crap backups and replace them with a decent one.

Det commented on 2013-04-17 00:09

As I figured :e.

I need to implement a solution that works for multiple installations, which is gonna be a bit more difficult.

Workstation and Player conflict with each other anyway, so I thought I'd get off easy.

igordcard commented on 2013-04-16 23:40

Here's your answer:

[mask@mask-as-arch ~]$ vmware-installer -l
Product Name Product Version
==================== ====================
vmware-wsx 1.0.2.928297
vmware-player 5.0.2-1031769

I have also installed VMware WSX.

Here are the current outputs:

[mask@mask-as-arch ~]$ sudo vmware-unpatch
/usr/bin/vmware-unpatch: line 39: [: source-1.0.2: binary operator expected
==> No backups found.
[mask@mask-as-arch ~]$ sudo vmware-patch
grep: 5.0.2/: No such file or directory
==> ERROR: VMware modules already installed. Exiting..

Det commented on 2013-04-16 23:32

By me fixing it. Funny how somebody always manages to find something wrong.

The 'linux-lts' thing was easy but why exactly do you need to rebuild your modules? That's the whole idea that you _don't_ need to do that.

E: Well, I moved the build check towards the end so that the leftovers get removed even if the user _has_ built. This should make 'vmware-unpatch' work for you as well, but I'm a little concerned by your "1.0.2" versioning there, as this is neither a Player or a Workstation version.

E2: Lol. Yeah. Go ahead.

Det commented on 2013-04-16 23:31

By me fixing it. Funny how somebody always manages to find something wrong.

The 'linux-lts' thing was easy but why exactly do you need to rebuild your modules? That's the whole idea that you _don't_ need to do that.

E: Well, I moved the build check towards the end so that the leftovers get removed even if the user _has_ built. This should make 'vmware-unpatch' work for you as well, but I'm a little concerned by your "1.0.2" versioning there, as this is neither a Player or a Workstation version.

igordcard commented on 2013-04-16 23:28

I installed the package, and it automatically said the modules were installed. I wanted to see your package installing the modules to be sure everything was consistent.

Det commented on 2013-04-16 23:22

By me fixing it. Funny how somebody always manages to find something wrong.

The 'linux-lts' thing was easy but why exactly do you need to rebuild your modules? That's the whole idea that you _don't_ need to do that.

igordcard commented on 2013-04-16 23:06

[After removing the remainings of linux-lts and installing vmware-patch...]

==> Running 'vmware-patch' for the first time..
==> ERROR: VMware modules already installed. Exiting..

(...)

[Trying to unpatch just to see what happens...]
[mask@mask-as-arch ~]$ sudo vmware-unpatch
/usr/bin/vmware-unpatch: line 39: [: source-1.0.2: binary operator expected
==> No backups found.


Question: How can I force vmware-patch to reinstall the VMware modules?

igordcard commented on 2013-04-16 22:59

error: failed to commit transaction (conflicting files)
vmware-patch: /usr/src/linux-3.0.73-1-lts/include/linux/version.h exists in filesystem

Det commented on 2013-04-16 16:46

Surprise.

Full changelog:
~~~~~~~~~~~

General:
- Basically rewrite the entire thing
- Convert to Systemd
- Remove duplicated patches
- Add colors (simplified color functions [NEW!])

PKGBUILD:
- pkgver: Follow Workstation instead of kernels
- Decide about the /sbin symlinks in 7 lines instead of 33
- Remove all that ln/patch stuff, since we're not leaving a million files in /usr/lib/vmware/patches/ anymore (this is done much more efficiently simply by including all the supported major kernel/vmware versions in the file names and using wildcards in 'vmware-patch')
- Install the 'version.h' symlink, in case we have kernel above 3.5 and Workstation/Player less than 9.0.2/5.0.2, respectively
- Add warning() builtins about non-installed symlinks (file exists) - we don't _care_, if they were installed OK, only if they weren't
- Do the whole package() thing more efficiently
- Some tiny fixes like reorganize source=(), pkgdesc, dependencies, etc. that nobody notices anyway

vwmare-patch:
- Check first, if any products to actually install to
- Run "vmware-modconfig --console --install-all (&>/dev/null)" automatically
- Never patch or install more than once
- Auto-update '/etc/arch-release' and 'vmware.service'
- Auto-revert sources before patching (invalidate the need for 'vmware-unpatch')
- Remove/convert old/duplicated backups (..and make it work [NEW!])
- Don't backup, either if already installed or one exists [NEW!]
- Simplify variables and remove ${VMWARE}/${BAKDIR}[NEW!]
- Improve comments [NEW!]

vmware-unpatch:
- Leave just a single folder [NEW!]
- Simplify variables

.install:
- Run 'vmware-patch' automatically on install/upgrade
- Clarify the current benefit of 'vmware-unpatch' (or lack of) [NEW!]
- Notify about the untracked backup in '/usr/lib/vmware/modules/' after uninstall

Changes since the tarball I was demanded of ([NEW!]):
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

- Bump the pkgrel
- Simplify Backup/Rename/Convert process (cut 173 lines of 'vmware-patch' down to 158 (-15)) (including single line things like grep instead of egrep, basename instead of basename/ls and sed instead of grep/readlink/head)

Det commented on 2013-04-16 16:38

Surprise.

Full changelog:
~~~~~~~~~~~~~~~

General:
- Basically rewrite the entire thing
- Convert to Systemd
- Remove duplicated patches
- Add colors (simplified color functions [NEW!])

PKGBUILD:
- pkgver: Follow Workstation instead of kernels
- Decide about the /sbin symlinks in 7 lines instead of 33
- Remove all that ln/patch stuff, since we're not leaving a million files in /usr/lib/vmware/patches/ anymore (this is done much more efficiently simply by including all the supported major kernel/vmware versions in the file names and using wildcards in 'vmware-patch')
- Install the 'version.h' symlink, in case we have kernel above 3.5 and Workstation/Player less than 9.0.2/5.0.2, respectively
- Add warning() builtins about non-installed symlinks (file exists) - we don't _care_, if they were installed OK, only if they weren't
- Do the whole package() thing more efficiently
- Some tiny fixes like reorganize source=(), pkgdesc, dependencies, etc. that nobody notices anyway

vwmare-patch:
- Check first, if any products to actually install to
- Run "vmware-modconfig --console --install-all (&>/dev/null)" automatically
- Never patch or install more than once
- Auto-update '/etc/arch-release' and 'vmware.service'
- Auto-revert sources before patching (invalidate the need for 'vmware-unpatch')
- Remove/convert old/duplicated backups (..and make it work [NEW!])
- Don't backup, either if already installed or one exists [NEW!]
- Simplify variables and remove ${VMWARE}/${BAKDIR}[NEW!]
- Improve comments [NEW!]

vmware-unpatch:
- Leave just a single folder [NEW!]
- Simplify variables

.install:
- Run 'vmware-patch' automatically on install/upgrade
- Clarify the current benefit of 'vmware-unpatch' (or lack of) [NEW!]
- Notify about the untracked backup in '/usr/lib/vmware/modules/' after uninstall

Changes since the tarball I was demanded of ([NEW!]):
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

- Bump the pkgrel
- Simplify Backup/Rename/Convert process (cut 173 lines of 'vmware-patch' down to 158 (-15)) (including single line things like grep instead of egrep, basename instead of basename/ls and sed instead of grep/readlink/head)

Det commented on 2013-04-09 09:58

Lol yea I, just need to make sure it doesn't produce an error when there's only a single backup folder.

It should be otherwise just fine: http://www4.zippyshare.com/v/25598834/file.html

igordcard commented on 2013-04-09 09:45

How long until it is uploaded?

igordcard commented on 2013-04-02 20:56

Oh, amazing! I'm looking forward to test it out.

Det commented on 2013-04-02 16:00

I think I'm about done with this. Only took me about, what, 4 weeks?

The reason it did is probably because I basically had to rewrite the entire package and incorporate things like vmware-usbarbitrator (https://aur.archlinux.org/packages/vmware-usbarbitrator/).

Anyway this thing's now gonna take into account a lot of corner cases, refuse to patch if already done so, automatically run 'vmware-patch' and install the modules on install/upgrade, inform about leftover backups on uninstall, use colored messages, remove old backups, _not_ create a zillion symlinks in /usr/lib/vmware/patches/, etc.

I'll be testing out with this and doing some final touches. Gonna be the last project in a long time I'm gonna spend so much of my time with.

Det commented on 2013-03-20 11:05

Taking a bit longer than I wanted it to but should be done soonish lol.

Det commented on 2013-03-14 11:47

Adopting myself. Trying to clean up this thing a bit.

Det commented on 2013-03-13 10:07

Yeah. Disowned.

Anybody wanna adopt this mess?

igordcard commented on 2013-03-12 13:51

oliv, consider dropping the package so somebody can update it...

haagch commented on 2013-03-11 14:30

Well, it's not trivial figuring out how that thing works, so here it is for 3.9.

wget http://ompldr.org/vaHEwdg -O vmware-patch.tar.gz

Didn't include 3.8 because I only had 3.9 to test and didn't want to reboot.

Det commented on 2013-02-05 12:15

Oliv? Could you please update?

Anonymous comment on 2013-02-01 20:05

Could we please have this patch for vmware workstation 9 and kernel 3.8rc4 added? :)
http://communities.vmware.com/thread/432897

Thanks in advance.

travis.hegner commented on 2013-01-23 18:36

If you have issues compiling the modules and vmware-workstation complains about missing kernel headers, try this:

cd /usr/src/linux-`uname -r`/include/linux
sudo ln -s ../generated/uapi/linux/version.h

Then retry. Apparently vmware is relying on an outdated file location for version.h, and the latest kernel headers moved it.

Perhaps this vmware-patch package can do this automatically for us in the future?

Thanks,
Travis Hegner

pernix commented on 2012-11-26 11:00

Ok, I've solved. I've gone back to vmplayer 5.0.0 and I could patch the module. The problem now is that it chrashes the host system even if it's patched correctly...

pernix commented on 2012-11-25 21:57

I've linked patch for 5.0.1 to the file given for vmplayer 5.0.0 and kernel 3.6.7. This is the output:
No protocol specified
No protocol specified
Patching vmware 5.0.1 for kernel 3.6.7
Patching vmware modules source code:
* Patching vmmon ...
patching file linux/hostif.c
Hunk #1 succeeded at 71 with fuzz 1 (offset 23 lines).
Hunk #2 FAILED at 3587.
1 out of 2 hunks FAILED -- saving rejects to file linux/hostif.c.rej
[vmmon-only] Failed to apply patch

pernix commented on 2012-11-25 21:32

I receive this error with 5.0.1 and kernel 3.6.7:
No protocol specified
No protocol specified
Patching vmware 5.0.1 for kernel 3.6.7
Patching vmware modules source code:
ls: impossible to access *-5.0.1-*3.6.7.diff: Inexistent file o directory

OrdinaryMagician commented on 2012-11-10 15:53

Workstation 9.0.1 is out now, and apparently vmmon no longer needs patching.

OrdinaryMagician commented on 2012-11-10 15:47

Workstation 9.0.1 out now.

Anonymous comment on 2012-11-09 22:05

vmplayer-5.0.1 seems to run well without any patches using kernel 3.6.4-1

oliv commented on 2012-11-07 12:27

- Fixed the bug encountered by zhobbs (if another package created lsmod/insmod... links, making the package vmware-patch will skip the symlinks creation)
- Added symlinks for kernel 3.6 and vmware 8.0.4/9.0.0
- Added installation message to fix potential USB arbitrator error (found in ArchWiki)

Still some problems:
- Are symlinks still required to patch vmware 9.0.1 (crashes with fedora guests)

oliv commented on 2012-11-05 14:35

I'm updating the packet to generate symlinks for kernel 3.6.

Anyway, they are apparently only required to avoid crash when running Fedora virtual machines.

blubber commented on 2012-10-30 11:57

For anyone troubling, using this patch still works:
http://communities.vmware.com/servlet/JiveServlet/download/2103172-94260/vmware9_kernel35_patch.tar.bz2

blubber commented on 2012-10-29 09:00

Missing .diff file error:
Patching vmware 5.0.0 for kernel 3.6.3
Patching vmware modules source code:
ls: cannot access *-5.0.0-*3.6.3.diff: No such file or directory

Anonymous comment on 2012-10-27 23:47

uninstalling netextender works, but not working for me on 3.6.2

Anonymous comment on 2012-10-27 23:35

I get:

Checking if it is necessary to create symlink for insmod
error: No package owns /sbin/insmod
Symlink has been created manually... Not creating /sbin/insmod symlink
Checking if it is necessary to create symlink for lsmod
/sbin/lsmod is owned by netextender 4.0.665-1
==> ERROR: A failure occurred in package().

Anonymous comment on 2012-10-22 09:09

I got kernel errors when trying to run Workstation 9 on kernel 3.6.2. I followed the instructions on this wikipage:
https://wiki.archlinux.org/index.php/Vmware#3.5_.2F_3.6_kernels

and now I'm able to start my VMs again - so it would be nice with an update to this script :)

ThecaTTony commented on 2012-10-20 02:21

On 3.6.2 kernel fail to patch, but vmware was able to build all modules with no errors... VMWare Player 5. Its seems like don't need the patch anymore, only the symlinks for rc.d/init system. I'am right?

Anonymous comment on 2012-10-19 11:49

I'd support a update to 3.6 also, might be that some guys might be able to adapt it by thereselfes but some might not.

pernix commented on 2012-10-17 20:52

This is my output of vmware-patch:

No protocol specified
No protocol specified
Patching vmware 5.0.0 for kernel 3.6.2
Patching vmware modules source code:
ls: cannot access *-5.0.0-*3.6.2.diff: Non-existent file or directory

t3ddy commented on 2012-10-17 10:58

It works fine with 3.6

pernix commented on 2012-10-15 18:06

Shouldn't it be updated to kernel 3.6?

oliv commented on 2012-09-01 11:53

@ThecaTTony: thanks, I updated the PKGBUILD

ThecaTTony commented on 2012-09-01 08:11

If any (like me) has updated this package and kernel before update vmplayer to version 5, will need to "ln -s" this:

vmblock-8.0.4-4.0.4-3.5.x.diff -> /usr/lib/vmware/patches/vmblock-8.0.3-4.0.3-3.4.diff
vmnet-8.0.4-4.0.4-3.5.x.diff -> /usr/lib/vmware/patches/vmnet-8.0.2-4.0.2-3.2.1.diff

After that, update vmware player :-D

PD: Thanks for the pkg!

Anonymous comment on 2012-08-31 11:56

@oliv
Tested on kernel 3.5 and workstation 9. Works great. Thanks.

oliv commented on 2012-08-31 07:25

Thanks man, I just uploaded your patch, but I'm not able to test it yet (I have to update my vmware).

I only patch vmmon for kernel 3.5 and vmware 9.0.0/5.0.0.

This patch is apparently optional and can be applied only if you use a fedora guest.

Det commented on 2012-08-26 11:27

Hey, man. Just finished updating the wiki for 9 and 5 and the only thing 'required' for the 3.5 and 3.6rc kernels is the Fedora guest patch: https://wiki.archlinux.org/index.php/VMware#3.5_.2F_3.6rc_kernels, http://communities.vmware.com/message/2092356#2092356 (remains to be seen whether this really only affects Fedora kernels).

Just probably something you wanna include in this thing.

yetAnotherZero commented on 2012-07-30 16:53

@FrankCastle I haven't run `vmware-patch` on 3.5, but I was able to simply recompile the vmware modules from the previous time I ran the patch.

Anonymous comment on 2012-07-30 10:58

Anyone test it with kernel 3.5 yet?

Anonymous comment on 2012-07-20 21:11

same error @ZDragon. But can't find kernel-headers (linux-headers)

ZDragon commented on 2012-07-15 18:41

I'm also getting an error on 3.4.4:
Patching vmware 8.0.1 for kernel 3.4.4
Patching vmware modules source code:
ls: cannot access *-8.0.1-*3.4.4.diff: No such file or directory

Anonymous comment on 2012-07-11 11:52

@airhins it works for me just fine on 3.4.4-3 (running testing) - What is your issue exactly?

Anonymous comment on 2012-07-11 08:18

please update for kernel 3.4.4

n17ikh commented on 2012-06-25 18:22

Oliv,
I'm pleased to report that the patch works fine with kernel 3.4 and VMware 7.1.5. Thanks for the good work!

Anonymous comment on 2012-06-25 11:32

Hi oliv,

You're probably right. I did it with symlinks:

ln -s vmblock-8.0.3-4.0.3-3.4.diff vmblock-8.0.4-4.0.4-3.4.3.diff
ln -s vmnet-8.0.2-4.0.2-3.2.1.diff vmnet-8.0.4-4.0.4-3.4.3.diff

... and then copy the symlinks and real files in /usr/lib/vmware/patches/

I thought that rename real files would be a bit a easier, but apparently I was wrong.

Sorry if I mislead somebody.

oliv commented on 2012-06-25 07:00

Hello simply,

Actually, the current version of vmware-patch didn't worked for you ? because the files you mentionned should already be there:

$ pwd
/usr/lib/vmware/patches

$ md5sum vmblock-8.0.3-4.0.3-3.4.diff
a8d9b98570344514eda185a8115b2c32 vmblock-8.0.3-4.0.3-3.4.diff
$ md5sum vmblock-8.0.4-4.0.4-3.4.3.diff
a8d9b98570344514eda185a8115b2c32 vmblock-8.0.4-4.0.4-3.4.3.diff

$ md5sum vmnet-8.0.2-4.0.2-3.2.1.diff
edea711dca63399b7f47b53e50444c09 vmnet-8.0.2-4.0.2-3.2.1.diff
$ md5sum vmnet-8.0.4-4.0.4-3.4.3.diff
edea711dca63399b7f47b53e50444c09 vmnet-8.0.4-4.0.4-3.4.3.diff

Anonymous comment on 2012-06-23 14:16

For kernel 3.4.3, vmplayer 4.0.4 / workstation 8.0.4 do following:
cp vmblock-8.0.3-4.0.3-3.4.diff vmblock-8.0.4-4.0.4-3.4.3.diff
cp vmnet-8.0.2-4.0.2-3.2.1.diff vmnet-8.0.4-4.0.4-3.4.3.diff
Copy new files to /usr/lib/vmware/patches/ and start vmware-patch

This works perfectly for me.

oliv commented on 2012-06-22 07:20

This should works for the whole kernel 3.4.* branch (maybe I should change the version number to only reflect major branches?)

If it does not works for you, can you send the error messages you got when running vmware-patch ?

Anonymous comment on 2012-06-21 15:38

update please! 3.4.3!

oliv commented on 2012-06-19 11:29

Hello n17ikh,

The patch est almost the same except that the vmware 8 patch is more portable (there is a C macro to check the kernel version).

In consequence, I kept the patch but I slightly modified the PKGBUILD in order to make it working with older kernel versions. Hopefully I didn't make any mistake...

Can you try it please (I don't have any 7.1.5 version...). Thanks a lot for the support.

n17ikh commented on 2012-06-18 14:14

Some things need to be done to make VMware WS 7.1.5 build against kernel 3.4.2. See my changes here: http://pastebin.ca/2162545

I added a loop in the PKGBUILD to make the symlinks to 3.4.2 and some additional patching is needed against filesystem.c to get vmblock to build. The same patch is probably also necessary for vmware 8 but I don't have vmware 8 to test against..

* I got the patch from http://weltall.heliohost.org/wordpress/2012/04/01/vmware-workstation-8-0-2player-4-0-2-and-7-1-x3-1-x-fix-for-linux-kernel-3-4-0/ so the patch info for vmware 8 is there as well

oliv commented on 2012-06-18 08:07

- Updated for vmware player 4.0.4 / workstation 8.0.4
- Fixed vmware-unpatch when additional vmware products are used

oliv commented on 2012-06-18 07:22

@dash

A possible problem is that you tried to compile the package several times. Try deleting src/ and pkg/ directories.

Anonymous comment on 2012-06-17 17:11

Patching vmware 4.0.4 for kernel 3.4.2
Patching vmware modules source code:
ls: cannot access *-4.0.4-*3.4.2.diff: No such file or directory

Anonymous comment on 2012-06-16 13:43

I can confirm the following:

"@notorca - much appreciated. that worked for me. Not sure why but the pkgbuild didn't but I manually performed lines 100 to 110 and now everything compiles."

http://pastebin.com/e23g8Be9

Linux marvin 3.4.2-2-ARCH #1 SMP PREEMPT Mon Jun 11 22:27:17 CEST 2012 x86_64 GNU/Linux

VMware Workstation 8.0.2 build-591240

travis.hegner commented on 2012-06-15 12:46

VMWare Workstation 8.0.4, kernel 3.4.2 quick fix:

Edit your PKGBUILD and paste the following near the other similar loops:

# For Linux 3.4 (workstation 8.0.4)
ln -s vmnet-8.0.2-4.0.2-3.2.1.diff vmnet-8.0.4-4.0.3-3.4.diff
# For Linux 3.4.1 until 3.4.15 (workstation 8.0.4)
for i in {0..15};
do
ln -s vmblock-8.0.3-4.0.3-3.4.diff vmblock-8.0.4-4.0.3-3.4.${i}.diff
ln -s vmnet-8.0.2-4.0.2-3.2.1.diff vmnet-8.0.4-4.0.3-3.4.${i}.diff
done

I didn't touch the vmware player part, so if vmware player is updated you'll have to change the ln lines accordingly. I'm sure this isn't ideal, but it worked for me.

Travis Hegner
http://travishegner.com/

ShyPixie commented on 2012-06-14 18:00

Patching vmware 4.0.4 for kernel 3.3.8
Patching vmware modules source code:
ls: cannot access *-4.0.4-*3.3.8.diff: No such file or directory

uke-eda commented on 2012-06-13 19:11

Thanks Oliv for this package!

msx commented on 2012-06-10 22:41

Hi guys, I'm having this error while running the script:

No protocol specified
No protocol specified
Patching vmware 8.0.1 for kernel 3.4.2
Patching vmware modules source code:
ls: cannot access *-8.0.1-*3.4.2.diff: No such file or directory

I did run the script with stock Arch kernel 3.3.8 and got the same message. Ideas?

Sys & app specs:
Linux heybeavis 3.4.2-1-lqx #1 ZEN SMP PREEMPT Sun Jun 10 05:18:54 ART 2012 x86_64 GNU/Linux
VMware-Workstation-Full-8.0.1-528992.x86_64.bundle

msx commented on 2012-06-10 22:38

Hi guys, I'm having this error while running the script:

No protocol specified
No protocol specified
Patching vmware 8.0.1 for kernel 3.4.2
Patching vmware modules source code:
ls: cannot access *-8.0.1-*3.4.2.diff: No such file or directory

I did run the script with stock Arch kernel 3.3.8 and got the same message. Ideas?

Anonymous comment on 2012-06-05 11:17

Oliv, thanks for the update. Tested it out this morning against kernel 3.4.1 and it works perfectly.

Anonymous comment on 2012-05-30 17:27

@notorca - much appreciated. that worked for me. Not sure why but the pkgbuild didn't but I manually performed lines 100 to 110 and now everything compiles.

VMware Workstation 8.0.3 w/ Linux kernel 3.4

notorca commented on 2012-05-24 10:07

Tested verion of PKGBUILD for kernel 3.4 http://pastebin.com/q0a7ebnG

oliv commented on 2012-05-24 07:42

Uploaded new patche for kernel 3.4.

I still have to test it but I do not have the kernel 3.4.

yetAnotherZero commented on 2012-05-21 20:43

BTW, it looks like it all works with the old patch except for the vmblock module

yetAnotherZero commented on 2012-05-21 20:39

@oliv,

Will we be seeing 3.4 patches soon, or will you wait until 3.4 hits [core]?

Anonymous comment on 2012-05-10 08:58

Thank you Oliv, with VMWare Player 4.0.3 and Kernel 3.3.5-1 ARCH works properly.

oliv commented on 2012-05-10 07:27

Actually, it only deals with some combinations of kernel version/vmware version, not all of them.

From what I can see from your output, you use vmware player 4.0.0 ?

Considering your kernel version, vmware-patch should work for vmware player 4.0.2 and 4.0.3.

Generally, patches are available for the last vmware version on the last kernels.


Anonymous comment on 2012-05-09 20:16

Kernel 3.3.4-2-ARCH, VMWare Player 4.

# sudo vmware-patch
# Patching vmware 4.0.0 for kernel 3.3.4
# Patching vmware modules source code:
# ls: cannot access *-4.0.0-*3.3.4.diff: No such file or directory

I have this problem. Does it depend on vmware-patch?

oliv commented on 2012-05-09 12:23

Small fix:
- to ensure that lsmod/insmod... programs in /sbin/ are detected correctly
- to ensure that vmware-patch detect correctly the version of player or workstation products (instead of the other vmware products)

oliv commented on 2012-05-09 12:13

Small fix to ensure that lsmod/insmod... programs in /sbin/ are detected correctly.

travis.hegner commented on 2012-05-08 12:08

I removed my symlink, unpatched, re-patched and re-ran the compilation. Seems to work perfectly. Thanks for the quick update!

oliv commented on 2012-05-08 08:34

Thanks for the info.

I uploaded a new version with symlinks creation for vmware workstation 8.0.3.

For reference, I added the line 94 in the PKGBUILD:
ln -s vmnet-8.0.2-4.0.2-3.2.1.diff vmnet-8.0.3-4.0.3-3.3.${i}.diff

This way it should find the patch for kernel versions 3.3.x

travis.hegner commented on 2012-05-07 16:45

Vmware Workstation 8.0.3 kernel 3.3.4 quick fix:

# cd /usr/lib/vmware/patches
# ln -s vmnet-8.0.2-4.0.2-3.2.1.diff vmnet-8.0.3-4.0.2-3.3.4.diff
# vmware-patch
# vmware-modconfig --console --install-all

May not be optimal, but it works. Once someone updates this package, you may have to manually intervene in order to remove the link we just created.

travis.hegner commented on 2012-05-07 16:44

Vmware Workstation 8.0.3 kernel 3.3.4 quick fix:

[code]
# cd /usr/lib/vmware/patches
# ln -s vmnet-8.0.2-4.0.2-3.2.1.diff vmnet-8.0.3-4.0.2-3.3.4.diff
# vmware-patch
# vmware-modconfig --console --install-all
[/code]

oliv commented on 2012-04-25 09:57

Yes, I think the dependency was necessary for detecting new USB devices to be mounted inside guest. VMWare seems to check new devices through dbus and hal I think.

I don't know if it is still necessary, it should be checked.

webmonarch commented on 2012-04-25 02:51

Does anyone know a reason to have the dependency on hal in the vmwared rc.d script?

If not, trivial patch:

diff --git a/vmware-patch/vmware-rc b/vmware-patch/vmware-rc
index 4660ecd..702322a 100755
--- a/vmware-patch/vmware-rc
+++ b/vmware-patch/vmware-rc
@@ -29,7 +29,6 @@ fi

case "$1" in
start)
- ck_daemon hal && /etc/rc.d/hal start
stat_busy "Starting VMware Host"
if $VMWARECTL start ; then
add_daemon $daemon_name

oliv commented on 2012-04-20 07:33

As a temporary fix, you can update your kernel to 3.3.1 if possible. It should work for this version.

Strangely, the numbering convention for the kernel seems to be:
3.3
3.3.1
3.3.2
3.3.3
...

This makes things quite complicated. I'll try to handle these cases in the future.

There was a binary patch for some vmware tools that did not handle linux 3.0 numbering convention, but I disabled this patch since this time. I will check if it is still necessary or if vmware fixed this issue.

lockheed commented on 2012-04-19 20:10

It doesn't work for me:
$ sudo vmware-patch
Patching vmware 8.0.2 for kernel 3.3
Patching vmware modules source code:
* Patching vmnet ...
/usr/bin/vmware-patch: line 31: ../vmnet-*8.0.2*-3.3.diff: No such file or directory
[vmnet-only] Failed to apply patch

oliv commented on 2012-03-28 08:03

Updated to create symlinks for linux 3.3. (the patch for linux 3.2 and 3.3 are apparently identical).

Not tested anyway... (I'm still running 3.2).

Det commented on 2012-03-08 09:43

By the way, the backslashes ('\') at the end of the 'source' lines aren't needed.

oliv commented on 2012-03-05 17:59

Yeah, I'm just lazy as I was creating the lsmod symlink from the beginning anyway.

Det commented on 2012-03-05 16:46

Ok then. I guess I could mention that in the Wiki.

It just seems that some people are really against symlinks so maybe seding is the way to go - the only problem being that when VMware updates the user has to realize to redo it.

Det commented on 2012-03-05 16:46

Ok then. I guess I could mention that in the Wiki.

It just seems that some people are really against symlinks so maybe seding is the way to go - the only problem being that when VMware updates the user has to realize to redo it).

oliv commented on 2012-03-05 09:01

Thanks, I fixed this. Hope it now works for 7.1.5.

About the symlinks, it is not a feature, it is a bugfix. I try to propose one of them by default (symlinks or sed). The goal is that it does not interfere with user manual interventions, and that without intervention, to have vmware working almost 'out of the box'.

Maybe I will change for sed in the future anyway, depending on how broken my solution is.

n17ikh commented on 2012-03-02 19:50

Oliv: The patch is broken (as gleira found out), you missed a line.
Line 37 is currently:
@@ -35,6 +35,10 @@
It should be:
@@ -35,6 +35,11 @@

Since there was an extra line in the diff, the patch function won't work with the old line specification.

Det commented on 2012-03-01 22:47

Actually, why create the symlinks at all? If the user just follows the current steps in the Wiki, then he could choose whether to do that or just edit the scripts with perl/sed - instead of possibly being forced to use both.

gleira commented on 2012-03-01 19:59

I can't patch 7.1.5 with this version:

patching file linux/iommu.c
patch: **** malformed patch at line 48: struct pci_dev *pdev;

[vmmon-only] Failed to apply patch

oliv commented on 2012-03-01 16:00


- I tried to update my symlink check function. Now it should not trigger a fatal error, but I was not triggering one before for me anyway. Please give feedback if it does not work.

@n17ikh sorry I didn't tried the patch for workstation 7.1.5 at all, I fix this the way you suggested (hopefully it is the only problem... maybe a typo as I edited the patch by hand...)

oliv commented on 2012-03-01 15:19

Sorry, I'm quite busy at the moment. I'll try to update it tomorrow.

@n17ikh sorry I didn't tried the patch for workstation 7.1.5 at all, I will fix this the way you suggested (hopefully it is the only problem... maybe a typo as I edited the patch by hand...)

For the symlink... I'll check that.

Det commented on 2012-03-01 11:16

It doesn't work well. If you have symlinks to sbin it's supposed to realize that and not just fail to build.

ThecaTTony commented on 2012-02-29 20:14

This works well. If you have the symlinks to sbin, rm to them and update vmware-path.

The files /usr/bin/vmplayer and /etc/rc.d/vmware must be by default, pointing to /sbin/*

ThecaTTony commented on 2012-02-29 20:05

This works well. If you have the symlinks to sbin, rm to them and update vmware-path.

Det commented on 2012-02-28 20:15

Hmm, I'll flag this thing. These are two real issues preventing the users from building this.

And if at least the second one is true, then this truly is out-of-date.

n17ikh commented on 2012-02-28 16:22

I was having a problem building the modules for VMware Workstation 7.1.5 on kernel 3.2.6:
CC [M] /tmp/vmware-root/modules/vmmon-only/linux/iommu.o
/tmp/vmware-root/modules/vmmon-only/linux/iommu.c:39:10: error: #include expects "FILENAME" or <FILENAME>
make[2]: *** [/tmp/vmware-root/modules/vmmon-only/linux/iommu.o] Error 1

I'm not sure if it's because I haven't rebooted since installing the new 3.2.7 kernel, but I copied /lib/modules/3.2.6-ARCH and /usr/src/linux-3.2.6-2-ARCH out of their package files to the correct locations on my system and so theoretically it shouldn't be a problem.

To fix it, I used a hunk out of the patch for VMware WS 8:

diff vmmon-7.1.5-0.0.0-3.2.6.diff.orig vmmon-7.1.5-0.0.0-3.2.6.diff
37c37
< @@ -35,6 +35,10 @@
---
> @@ -35,6 +35,11 @@
42c42,43
< +#include #define iommu_found() iommu_present(&pci_bus_type)
---
> +#include <linux/pci.h>
> +#define iommu_found() iommu_present(&pci_bus_type)

Da_Coynul commented on 2012-02-27 18:13

@Det - thanks, point taken. Anyway, I hope oliv will update the PKGBUILD so the package will at least build for everyone.

Det commented on 2012-02-27 16:44

@Da_Coynul, just wanted to remind that using /usr/bin/kmod won't do, as already explained. Just use the same files in the new directory.

acfrazier commented on 2012-02-27 14:45

I agree that it is fairly pointless to create all of those symlinks. What I did was just use sed on the vmware init script and replaced all instances of /sbin/ with /usr/bin and it worked.

Da_Coynul commented on 2012-02-27 12:21

This won't build for me.

error: No package owns /sbin/rmmod
error: No package owns /sbin/rmmod
==> ERROR: A failure occurred in package().
Aborting...
==> ERROR: Makepkg was unable to build vmware-patch.

BTW, wouldn't it be better to just patch the vmware init script so it looks for /usr/bin/kmod instead of creating those symlinks?


oliv commented on 2012-02-27 08:49

@Figo.zhang I uploaded the patches for vmware workstation 7.1.5 but I didn't tested these patches

- Fixed a bug in vmware-unpatch
- Fixed kmod changes by creating symlinks in /sbin for lsmod,insmod,modinfo,.. if these files have not been already created

Det commented on 2012-02-16 09:54

@juan_arg, a couple of things:
1) the version of VMware Workstation is "8.0.2" - not "8.0.0.2"
2) symlinking everything with "/usr/bin/kmod" won't do, since the options of "kmod" are not the same as those of eg. "insmod" or "modinfo" (already mentioned in the threads you linked)
3) the mod tools (lsmod, modinfo, etc.) don't reside in "/sbin/" so renaming them as "*.back" won't work (it's also not necessary)
4) the 13 lines you posted could've just as easily been mentioned in just 2 lines, eg. (though, still, not the way to go): http://pastebin.com/KnUZf25i
5) such long posts should make use of PasteBin
6) no need to put separate instructions here - the Wiki already covers everything as far as I'm aware: https://wiki.archlinux.org/index.php/Vmware
7) "rc.d restart vmware" is better than using the full path of the daemon.

@vbouchaud, I already told this in the Wiki.

Det commented on 2012-02-16 09:53

@juna_arg, a couple of things:
1) the version of VMware Workstation is "8.0.2" - not "8.0.0.2"
2) symlinking everything with "/usr/bin/kmod" won't do, since the options of "kmod" are not the same as those of eg. "insmod" or "modinfo" (already mentioned in the threads you linked)
3) the mod tools (lsmod, modinfo, etc.) don't reside in "/sbin/" so renaming them as "*.back" won't work (it's also not necessary)
4) the 13 lines you posted could've just as easily been mentioned in just 2 lines, eg. (though, still, not the way to go): http://pastebin.com/KnUZf25i
5) such long posts should make use of PasteBin
6) no need to put separate instructions here - the Wiki already covers everything as far as I'm aware: https://wiki.archlinux.org/index.php/Vmware
7) "rc.d restart vmware" is better than using the full path of the daemon.

@vbouchaud, I already told this in the Wiki.

vianney commented on 2012-02-15 10:45

Work for me.

Please note that we have to edit /usr/bin/vmware to replace, l.90, /sbin/modinfo by /usr/bin/modinfo; (maybe only modinfo) ?

Anyway, thanks ! :)

Anonymous comment on 2012-02-14 20:30

work for me...

uninstall vmware 8.0.0.2 (clean config)

# rm -fr /usr/lib/vmwar*

# mv /sbin/modinfo /sbin/modinfo.back
# mv /sbin/lsmod /sbin/lsmod.back
# mv /sbin/insmod /sbin/insmod.back
# mv /sbin/rmmod /sbin/rmmod.back
# ln -s /usr/bin/kmod /sbin/modinfo
# ln -s /usr/bin/kmod /sbin/lsmod
# ln -s /usr/bin/kmod /usr/bin/insmod
# mv /usr/bin/insmod /usr/bin/insmod.back
# ln -s /usr/bin/kmod /usr/bin/insmod
# mv /usr/bin/rmmod /usr/bin/rmmod.back
# ln -s /usr/bin/kmod /usr/bin/rmmod
# ln -s /usr/bin/kmod /sbin/insmod
# ln -s /usr/bin/kmod /sbin/rmmod

install vmware 8.0.0.2
download and aply patch patch http://weltall.heliohost.org/wordpress/2012/01/26/vmware-workstation-8-0-2-player-4-0-2-fix-for-linux-kernel-3-2-and-3-3/

# /etc/rc.d/vmware restart

and work again

source: https://bbs.archlinux.org/viewtopic.php?id=135672
source2: https://bbs.archlinux.org/viewtopic.php?id=135681

Det commented on 2012-02-13 15:23

Hey. You should also update this thing according to the changes I made in the wiki (and the changes that were made in kmod 5-2).

Anonymous comment on 2012-02-12 04:05

[figo@figo-desktop vmware-patch]$ sudo vmware-patch
Patching vmware 7.1.5 for kernel 3.2.4
Patching vmware modules source code:
ls: cannot access *-7.1.5-*3.2.4.diff: No such file or directory
[figo@figo-desktop vmware-patch]$

oliv commented on 2012-01-28 11:37

- Fixed the /sbin/lsmod problem (hopefully)

Anonymous comment on 2012-01-28 00:24

kernel 3.2.2 came out today, though the patch works for that one as well, not sure if you want to bump the version number just for consistencys sake or not

yetAnotherZero commented on 2012-01-27 18:10

I think the lsmod section is broken...

It died because /sbin/lsmod was already linked to /bin/lsmod and pacman -Qo errored off with "no package owns /sbin/lsmod"

I removed the /sbin/lsmod and it built just fine

oliv commented on 2012-01-27 10:09

Thanks for your links.

I updated and tested with vmware workstation 8.0.2 kernel 3.2.1.

Some changes:
- The link /sbin/lsmod is now created if necessary (I you already created it manually, it will skip the link creation)
- The vmware-patch is now able to use different patches depending on your vmware version

Comments are welcome.

Known bugs:
- /etc/rc.d/vmwared does not start vmware-server in case you install vmware workstation. Personally, I don't use it anyway.
- vmware-authdl is automatically started on port 902 (bind for 0.0.0.0) but is apparently not required if vmware-server is not used ?

oliv commented on 2012-01-27 10:02

Thanks for your links.

I updated and tested with vmware workstation 8.0.2 kernel 3.2.1.

Some changes:
- The link /sbin/lsmod is now created if necessary (I you already created it manually, it will skip the link creation)
- The vmware-patch is now able to use different patches depending on your vmware version
- Improved /etc/rc.d/vmwared

Comments are welcome.

Anonymous comment on 2012-01-27 00:32

http://weltall.heliohost.org/wordpress/2012/01/26/vmware-workstation-8-0-2-player-4-0-2-fix-for-linux-kernel-3-2-and-3-3/

webmonarch commented on 2012-01-26 01:37

Does anyone know if there ARE patches for kernel 3.2.1 and vmware 8.0.2? I wasn't able to get anything to work.

Anonymous comment on 2012-01-25 16:45

patch needs to be updated for kernel 3.2.1 and vmware 8.0.2

travis.hegner commented on 2012-01-23 14:12

This works for me.

VMware Workstation: 8.0.1 build-528992
on
3.2.1-1-ARCH

oliv commented on 2012-01-17 11:10

Yes, in fact the MAKEPKG script creates symlinks.

This should work for makepkg/pacman users.

Thanks for testing.

Anonymous comment on 2012-01-16 20:06

Works here.

copied vmnet-3.2.0.diff to vmnet-3.2.1.diff

root@hawk:/home/kprims/src/vmware/vmware-patch# ./vmware-patch
Patching vmware 4.0.1.528992 for kernel 3.2.1
./vmware-patch: line 18: cd: /usr/lib/vmware/patches/: No such file or directory
Not patching vmware modconfig libraries (not required since vmware player/workstation 8.0)
Patching vmware modules source code:
* Patching vmnet ...
patching file compat_netdevice.h
patching file filter.c
patching file netif.c
Hunk #3 succeeded at 616 (offset -13 lines).
patching file userif.c
[vmnet-only] Patch applied successfully


kprims@hawk:~$ uname -a
Linux hawk 3.2.1 #1 SMP Mon Jan 16 11:07:13 MST 2012 x86_64 AMD Phenom(tm) II X6 1090T Processor AuthenticAMD GNU/Linux

Slackware64-13.37

Thank you

oliv commented on 2012-01-16 14:03

I uploaded some patches for kernel 3.2, but I'm not able to test it.

If somebody can test it for me and gives feedback here...

Thanks in advance.

DarkMind commented on 2012-01-15 12:34

not work here

uname -a :

Linux tarro 3.2.1-2-ck #1 SMP PREEMPT Fri Jan 13 05:46:57 EST 2012 x86_64 AMD Phenom(tm) II X4 955 Processor AuthenticAMD GNU/Linux

DarkMind commented on 2012-01-15 12:33

not work here:

uname -a:

[code]Linux tarro 3.2.1-2-ck #1 SMP PREEMPT Fri Jan 13 05:46:57 EST 2012 x86_64 AMD Phenom(tm) II X4 955 Processor AuthenticAMD GNU/Linux[/code]

Det commented on 2012-01-12 10:19

3.2 :).

oliv commented on 2012-01-12 09:27

Some notes about this tool and the versioning:

- vmware-patch 3.1.5 means that it has been tested for kernel 3.1.5.
- vmware-patch may work until kernel 3.1.9
- do not run vmware-patch if driver are compiled successfully when running $ sudo vmplayer
- run vmware-unpatch before running vmware-patch if the patching process fails (it will clean-up your previous patches)

Please leave a comment when you flag the package as Out-of-date. If not, I don't know why it is out of date.

sa1 commented on 2012-01-03 11:58

For some time I thought I hadn't patched properly. :) This should be an upstream dependency but then no archlinux package exists upstream.

oliv commented on 2012-01-03 09:34

I added a dependency to linux-headers thanks to sa1 comments.

sa1 commented on 2011-12-30 19:08

I get "C header files matching your running kernel were not found. Refer to your distribution's documentation for installation instructions." I have 3.1.5-1-ARCH

oliv commented on 2011-12-01 08:21

Updated with links until kernel 3.1.9. I think the patch will only have to be changed with new major kernel version (3.2?).

Anonymous comment on 2011-11-29 13:34

The patch doesn't support kernel 3.1.2, however just create a symbolic link from vmnet-3.1.0.diff to vmnet-3.1.2.diff and it works ;)

oliv commented on 2011-11-22 16:50

I updated this package to work with kernels 3.1.0 and 3.1.1 and fixed several issues.

Please ensure that you use the Vmware version 8 or Vmware player 4.

For Vmware player 4.0.1, no patch is required for kernel 3.1.1.
For Vmware workstation 8.0.1, no patch is required for kernel 3.1.1.

Fixed issues:
- When using vmware-unpatch, patches are reverted only if the user use the same player/workstation version than when he applied the patch.
Reason: reverting patches is not required after an upgrade because all modules sources have been overwritten by the installer.
- USB arbitrator is also started when running /etc/rc.d/vmwared start
Reason: Since player 4.0 and workstation 8.0, the usbarbitrator must be started as a separate script for an unknown reason.

Vmware player 4 and workstation 8 installation recommandation:
- Create manually your rc?.d and init.d directory script in /etc/rc.d/vmware.d
- Ensure all vmware configuration files have been deleted
- Install vmware with the following command:
$ sudo ./VMware-Player-4.0.1-528992.x86_64.bundle --console --custom -I

You can accept all defaults except for :
System service runlevel directory (contains rc?.d directories). Use
an empty directory if your system does not support rc?.d style
directories: /etc/rc.d/vmware.d

System service scripts directory (commonly /etc/init.d)
[/etc/rc.d/vmware.d/init.d]: /etc/init.d

Don't ask my why you need to set /etc/init.d, its a bug because the installer always install things in this directory, whatever option you use.

PS: If there are errors, you can probably ignore these (that's why you used the -I switch)
- Now you need to compile the vmware modules. run from a console :
$ sudo vmplayer

You can close the windows once the compilation finished
- If you got errors in the previous step, try:
$ sudo vmware-patch
$ sudo vmplayer

Then pry, because there are no guarantees. You can send me a notification, wait for an update of the vmware-patch package, or get into the wiki for manual patching informations.

Vmware player 4 startup recommandation:
- Use /etc/rc.d/vmwared start (or stop) to start vmware daemons. It should search for the right startup scripts and start it correctly.
- Run vmplayer from your user account.


As always, feedback is welcome.

oliv commented on 2011-11-22 16:33

I updated this package to work with kernels 3.1.0 and 3.1.1 and fixed several issus.

Please ensure that you use the Vmware version 8 or Vmware player 4.

For Vmware player 4.0.1, No patch is required.

Fixed issues:
- When using vmware-unpatch, patches are reverted only if the user use the same player/workstation version than when he applied the patch.
Reason: reverting patches is not required after an upgrade because all modules sources have been overwritten by the installer.
- USB arbitrator is also started when running /etc/rc.d/vmwared start
Reason: Since player 4.0 and workstation 8.0, the usbarbitrator must be started as a separate script for an unknown reason.

Vmware player 4 installation recommandation:
- Create manually your rc?.d and init.d directory script in /etc/rc.d/vmware.d
- Ensure all vmware configuration files have been deleted
- Install vmware with the following command:
$ sudo ./VMware-Player-4.0.1-528992.x86_64.bundle --console --custom -I

You can accept all defaults except for :
System service runlevel directory (contains rc?.d directories). Use
an empty directory if your system does not support rc?.d style
directories: /etc/rc.d/vmware.d

System service scripts directory (commonly /etc/init.d)
[/etc/rc.d/vmware.d/init.d]: /etc/init.d

Don't ask my why you need to set /etc/init.d, its a bug because the installer always install things in this directory, whatever option you use.

PS: If there are errors, you can probably ignore these (that's why you used the -I switch)
- Now you need to compile the vmware modules. run from a console :
$ sudo vmplayer

You can close the windows once the compilation finished
- If you got errors in the previous step, try:
$ sudo vmware-patch
$ sudo vmplayer

Then pry, because there are no guarantees. You can send me a notification, wait for an update of the vmware-patch package, or get into the wiki for manual patching informations.

Vmware player 4 startup recommandation:
- Use /etc/rc.d/vmwared start (or stop) to start vmware daemons. It should search for the right startup scripts and start it correctly.
- Run vmplayer from your user account.


As always, feedback is welcome.

oliv commented on 2011-11-21 14:33

I updated this package to work with kernels 3.1.0 and 3.1.1.

Please ensure that you use the Vmware version 8 or Vmware player 4.

For Vmware player 4.0.1, I don't know if the patch is required.

Known issues:
- For users of this package that upgraded their player or workstation versions, do not use vmware-unpatch because it will revert to the old sources (before the upgrade).

Anonymous comment on 2011-11-14 13:15

Workstation 8 with Linux 3.1.0 only requires the patching of compat_netdevice.h in vmnet. All of the rest of the patches can be removed.

Anonymous comment on 2011-11-01 15:23

really thank you for this patch

Det commented on 2011-10-29 08:59

The version of the [testing] linux is actually 3.1.0(-2-ARCH) - not 3.1. You should rename the files.

oliv commented on 2011-09-25 13:14

Hi,

I tried to upload the package, adding the changes requested by roondar, but I also added all the patches for the previous kernel release.

Now, if VMware workstation 8 is new, they probably fixed all problems found in vmware-player for the kernel 3.0.

If it is the case, I need your support because I don't have vmware workstation. In order to help me, can you perform the following things and send me all the output you can (by email if you prefer):

# uname -a
# vmware-installer --list-components
# vmware-installer --list-products

Then remove all files saved by vmware-patch using the following command:
# sudo rm /usr/lib/vmware/modules/source/*.tar-*
(I need to fix this problem in the future)

Then reinstall vmware-workstation (don't use vmware-patch at that time), and send me the output of the command.
Then run vmware workstation as root in a console, and send me the output of the console (I want to see the output of the module building process).
Then you can try to patch using vmware-patch and see if it works better...

Thanks in advance for your help.
Oliv.

oliv commented on 2011-09-25 13:14

Hi,

I tried to upload the package, adding the changes requested by roondar, but I also added all the patches for the previous kernel release.

Now, if VMware workstation 8 is new, they probably fixed all problems found in vmware-player for the kernel 3.0.

If it is the case, I need your support because I don't have vmware workstation. In order to help me, can you perform the following things and send me all the output you can (by email if you prefer):

# uname -a
# vmware-installer --list-components
# vmware-installer --list-products

Then remove all files saved by vmware-patch using the following command:
# sudo rm /usr/lib/vmware/modules/source/*.tar-*
(I need to fix this problem in the future)

Then reinstall vmware-workstation (don't use vmware-patch at that time), and send me the output of the command.
Then run vmware workstation as root in a console, and send me the output of the console (I want to see the output of the module building process).
Then you can try to patch using vmware-patch and see if it works better...

Thanks in advance for your help.
Oliv.




, is VMware workstationHere is the testing process I would follow for new vmware versions


cota, can you give me the kernel you are running (uname -a) ?

oliv commented on 2011-09-25 13:13

Hi,

I tried to upload the package, adding the changes requested by roondar, but I also added all the patches for the previous kernel release.

Now, if VMware workstation 8 is new, they probably fixed all problems found in vmware-player for the kernel 3.0.

If it is the case, I need your support because I don't have vmware workstation. In order to help me, can you perform the following things and send me all the output you can (by email if you prefer):

# uname -a
# vmware-installer --list-components
# vmware-installer --list-products

Then remove all files saved by vmware-patch using the following command:
# sudo rm /usr/lib/vmware/modules/source/*.tar-*
(I need to fix this problem in the future)

Then reinstall vmware-workstation (don't use vmware-patch at that time), and send me the output of the command.
Then run vmware workstation as root in a console, and send me the output of the console (I want to see the output of the module building process).
Then you can try to patch using vmware-patch and see if it works better...

Thanks in advance for your help.
Oliv.




, is VMware workstationHere is the testing process I would follow for new vmware versions


cota, can you give me the kernel you are running (uname -a) ?

Anonymous comment on 2011-09-22 19:35

Fails when patching one module for me (VMware-Workstation-Full-8.0.0-471780.x86_64.bundle):

Patching vmware modconfig libraries:
* Patching libvmware-modconfig-console.so...
Patch success
* Patching libvmware-modconfig.so...
Patch success
Patching vmware modules source code:
* Patching vmblock ...
patching file linux/dentry.c
Hunk #1 FAILED at 104.
1 out of 1 hunk FAILED -- saving rejects to file linux/dentry.c.rej
patching file linux/filesystem.c
Hunk #1 FAILED at 44.
Hunk #2 FAILED at 66.
Hunk #3 succeeded at 343 (offset 7 lines).
Hunk #4 FAILED at 537.
Hunk #5 succeeded at 589 (offset 33 lines).
Hunk #6 succeeded at 600 (offset 33 lines).
3 out of 6 hunks FAILED -- saving rejects to file linux/filesystem.c.rej
[vmblock-only] Failed to apply patch

Anonymous comment on 2011-09-20 09:53

It's possible to add this script http://88.191.137.189/vmware3.1rc.sh for 3.1rc kernel with VMware Workstation 8 ?
Thanks.

Det commented on 2011-08-21 15:24

No, thank _you_. Starting to look really nice.

oliv commented on 2011-08-16 10:42

Updated in order to support Det requests:

FIXED: /sbin/lsmod link is created only if it doesn't exists on the host that creates the package (makepkg).
FIXED: The script vmware-patch check if the kernel is 3.X before patching vmware libraries.
FIXED: The arch linux daemon script (wrapper) is now called vmwared in order to avoid any conflict with the file created by vmware.
ADDED: Detection of /etc/rc.d/vmware or /etc/rc.d/vmware.d/init.d/vmware in the arch linux daemon script
ADDED: package install script

Thanks again for your contribution.

oliv commented on 2011-08-14 15:33

Thanks, I will upload your changes as soon as I manage to add the kernel 3.0 checks.

Concerning the rc.d wrapper, I think I installed vmware using the following command line:

sudo ./VMware-Player-3.1.4-385536.x86_64.bundle --console --custom

There you can answer the question : where do you install your init.d scripts ?

Renaming it and checking for both location doesn't cost much. I'll do this.

Thanks for your help and your testing.

Det commented on 2011-08-13 08:54

A nice package. Here's some improvements (including an .install file, a check for already existing /sbin/lsmod, etc.): http://www63.zippyshare.com/v/38251095/file.html

* It's still not working, though. The 'main vmware service' in Arch should by default be installed into '/etc/rc.d/'. You've obviously placed it in the directory the installer suggests, which is '/etc/rc.d/vmware.d/init.d/'.

This makes the installation fail because your own wrapper in '/etc/rc.d/' conflicts with the already existing 'vmware'. So maybe you could just rename your wrapper and look for the 'main vmware service' in both '/etc/rc.d' and '/etc/rc.d/vmware.d/init.d/'?

* Also, the kernel 3.0 sed fix doesn't affect any other kernel versions, right? Otherwise you would require some check for 3.0 users.

oliv commented on 2011-08-12 10:38

Updated in order to support linux kernel 3.0.

Do not forget to run vmware-unpatch before vmware-patch if you already patched vmware using this tool.

ADDED: /usr/bin/vmware-patch and /usr/bin/vmware-unpatch now patch (or restore) vmware libraries in order to handle the new kernel version layout (3.X instead of 2.X.X)
see https://bbs.archlinux.org/viewtopic.php?id=123695

ADDED: Patches for linux kernel 3.0 found on http://weltall.heliohost.org/wordpress/2011/05/14/running-vmware-workstation-player-on-linux-2-6-39-updated/

Testing and feedback is welcome...

oliv commented on 2011-07-01 08:43

This package is a set of scripts and patches to make vmware-player running smoothly.

It will install the following:
- /etc/rc.d/vmware. If you call sudo /etc/rc.d/vmware start, it will try to start /etc/rc.d/vmware.d/init.d/vmware. It will also automatically try to stop vmware services when shutting down the computer.
- /sbin/lsmod. This is a simple softlink as /sbin/lsmod is required by vmware player but does not exist.k
- /usr/bin/vmware-patch and /usr/bin/vmware-unpatch which can be used to apply the necessary patches or revert to vmware initial sources
- /usr/lib/vmware/patches which contains all patches that can be applyed on vmware.

Once installed, the command sudo vmware-patch and sudo vmware-unpatch can be used to apply necessary patches to vmware player modules, depending on the current kernel. After that, starting vmplayer as root should compile the patched modules...

oliv commented on 2011-07-01 08:27

Tests with VMware Player 3.1.4.385536 and Kernel 2.6.39-ARCH

- Several patches are required (provided in this package)
- It compile with some warnings, and seems to works correctly.

oliv commented on 2011-03-31 14:48

Tests with VMware Player 3.1.4 build-385536 and Kernel 2.6.37-ARCH:

- No patches are necessary
- You can still install the packet vmware-patch in order to handle lsmod issues and to add /etc/rc.d/vmware
- Don't forget to remove the .ko and .o files from /lib/modules/2.6.37-ARCH/misc/ if you want to compile the modules again using the player 3.1.4 codebase

oliv commented on 2011-03-31 14:47

Tests with VMware Player 3.1.4 build-385536 and Kernel 2.6.37-ARCH:

- No patches are necessary
- You can still install the packet vmware-patch in order to handle lsmod issues and to add /etc/rc.d/vmware
- Don't forget to remove the .ko and .o files from /lib/modules/2.6.37-ARCH/misc/ if you want to compile the module using the source installed by player 3.1.4

oliv commented on 2011-02-17 10:42

Do you mean, I should remove it ?

ponsfoot commented on 2011-02-08 14:12

The following patch in vmmon-2.6.37.diff is in reverse.

--- vmmon-only/linux/driver.c 2011-01-31 12:41:29.236666671 +0100
+++ vmmon-only/linux/driver.c.orig 2010-11-11 21:37:22.000000000 +0100
@@ -145,7 +145,7 @@
#endif
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 0) && \
(defined(CONFIG_SMP) || defined(CONFIG_PREEMPT))
-# define kernel_locked_by_current() (current->lock_depth >= 0)
+# define kernel_locked_by_current() kernel_locked()
#else
# define kernel_locked_by_current() 0
#endif

oliv commented on 2011-01-31 13:09

This package is a set of scripts and patches to make vmware-player running smoothly.

Once installed the tools vmware-patch and vmware-unpatch can be used to apply necessary patches to vmware player modules, depending on the current kernel. After that, starting vmplayer as root should compile the patched modules...

This tool also fix the lsmod problem by adding a soft-link and install /etc/rc.d/vmware which is used to chain /etc/rc.d/vmware.d/init.d/vmware.