UPDATE: These patches are obsoleted by Workstatioin 7.1.4, for which only a BKL-less kernel needs any patch (to vmnet).
Attached is the patch for VMware Workstation 7.1.3 on Linux Kernel 2.6.37. Tested against Ubuntu Natty 11.04 2.6.37-2-generic.
The patch also includes the necessary change for 2.6.36, and should work with both kernels, since the 2.6.37 change is protected by a version check. The plain 2.6.36 patch, which does not support 2.6.37 is available here.
List of changes:
define VMW_HAVE_UNLOCKED_IOCTL in vmmon's driver.c as required for 2.6.36
the semaphore patch for 2.6.37, applied only to those modules that actually need it: vmci, vmnet, and vsock.
[UPDATE: The attached patch is updated to work through 2.6.37-11]
Updated to reflect Workstation 7.1.4.
You are the best in the worlddddddddddddddddddddddddd...
vmware-player don't work... SMACK
I've installed my system using the ubuntu natty live nightly build of 02-03-2011. I''m able to compile the modules just fine using the provided patches for 2.6.37-9-generic. Natty is using:
2.6.38-5-generic (uname -r)
Now although the modules have compiled without error vmware workstation 7.1.3 doesn't load at all. When started from the commandline I get no errors, just the usual summary of system info. After the summary, I'm simple dropped to the cli again.
Anybody have any idea for a solution?
p.s. I'm seriously considering to move to either KVM or Virtualbox if vmware doesn't fix this kernel stuff. If a database company can, why can't a multi billion dollar pure virtualisation company????
I can confirm that this is a bug in Natty as of yesterday. I experienced exactly the same behavior. If you check your /var/log/apport you'll see an error indicating that vmware couldn't start "because the app has crashed twice".
As to your "p.s" i share your frustration but Natty is currently alpha. By your logic you should change to Windows or OSX not Virtualbox. Vmware didn't change, Ubuntu did.
As of today you can:
- rollback to ububtu 10.10 or natty alpha2 as it is on the DVD dist (just don't install updates!). I went back to 10.10, redid the patch above, and was up an running in vmware in 20 mins (it pays to keep /home on a separate partition!)
- closely monitor Natty for updates that'll address this.
- Log a bug with Ubuntu and contribute to the community by troubleshooting
In any case it looks like vmware does not work with Natty as of yesterday. Same behavior with vmplayer and vmware-workstation.
I understand that Natty is alpha right now, it's just frustrating that companies like vmware, nvidia and ATI don't like to play the linux game. They just bend the rules of other platforms to a point that it mostly works for linux . If vmware where to play the linux game, like intel mostly does, it would work all the time even through alpha and beta releases. I'm not even going to start to consider changing an OS for one application, I'll change the application.
Ubuntu maverick is also not supported by vmware, it's supported by community patches. I have vmware workstation 7.1.3. working with Maverick using community provided patches. (Using a seperate home partition does work, I'm even using btrfs subvolumes for this)
I'm simply testing Vmware Workstation on Natty and while testing vmware doesn't work. If I invested more time in getting a good vm running with kvm i'd have no trouble upgrading to the latest unstable of just about any distro. I'm just saying there's a big contrast there.
So as to the remark: "Vmware didn't change, Ubuntu did." I completely agree on this. The pace of change is one of my main reasons for using ubuntu/linux. It's why I test the latest versions and why I, sometime,upgrade to soon. I'm simply stating that I am not satisfied with the way vmware support my main platform and that the alternatives are getting better fast. Once the other virtualisation systems provide me with the functionality I need while staying compatible with kernel releases vmware won't be worth the money or trouble for me. KVM with virt-manager is getting close enough for me to consider it. I'm don't think I'm an average user so there's no los there for vmware, just one small customer. I just really liked vmware's desktop offering over the years. I still think it's a great company and their product are mostly "industry best".
If the mallfunctioning package was maintained by ubuntu I would file a bug there. But since it's the only package so far that crashes on me and it is not maintained by ubuntu and vmware owns all code I don't see how this is an ubuntu bug. My first annalysis is that the software, Vmware Workstation, is not compatible with some packaged software in ubuntu. If vmware wants to support ubuntu they need to be ready for it's release. They need to investigate this behaviour.
I would be happy to help vmware solve this by providing logs, and time for doing tests. Does anybody know where I could file a vmware bug and maybe upload some log files. (Maybe there allready is a bug somewhere??) I must confes that I haven't yet really looked into it.
For now I'm just going to keep using vmware on maverick which work very well after appling the patches.
(I'm affraid I/we've hijacked the thread, not my intension here sorry.)
wout-lnx wrote:
Now although the modules have compiled without error vmware workstation 7.1.3 doesn't load at all (with Ubuntu 11.04/natty).
That would be this thread.
Hi! (First of all, sorry for my ugly english).
Well, I have the same problem. (I'm very happy with my new OpenSUSE 11.4 x86_64 on Dell E6410, but.... wmplayer don't work )
I read the following links about this topic.
http://ubuntuforums.org/showthread.php?t=1703774
http://communities.vmware.com/thread/293321?start=0&tstart=0
And I tried to apply this patch ( I'm not sure how to do it, but I followed some steps from this link ( http://www.linuxinsight.com/vmware-workstation-7.1.3-runs-great-on-linux-kernel-2.6.37.html )
Painfully, don't worked in my case, but i don't know if the patch is bad or I gave some step on the wrong way.
I really appreciate that somebody, that can do it to work please tell us "how to " (for dummies )
Best Regards
Alejandro
For openSUSE 11.4 i found it
and here:
Make sure that you have the "patch" package installed.
Hi GJE. (first of all, sorry for my ugly english...)
Thank you for your comments, I'm very happy to announce that finally worked!
I follow another link of the community ( http://communities.vmware.com/message/1715789 ) so I don't test your solution.
But, I really appreciate, your time and effort to reply.
Once again, many thanks
Regards.
Alejandro
There is no "i" in team.... Long live the community
Noel thanks for this. I upgraded to kernel-2.6.38 yesterday and your patch works!
Vmware Worksation 7.1.3 Ubuntu Natty 2.6.38-7. x64 editions.
For waht its worth to Noel and other developers (should be to VMware Inc instead). Installed the bundle cleawn than ran patch shell for 2.3.37 immediately afterword. All moduels compiled and services were starated without error. GUI or command line failed to lauch.
Output from ps -A however:
5522 ? 00:00:00 vmware-usbarbit
5591 ? 00:00:00 vmnet-bridge
5599 ? 00:00:00 vmnet-dhcpd
5610 ? 00:00:00 vmnet-netifup
5614 ? 00:00:00 vmnet-dhcpd
5617 ? 00:00:00 vmnet-natd
5621 ? 00:00:00 vmnet-netifup
Output from running /usr/bin/vmware was suprising (what would lthis mean?/)
ilename: /lib/modules/2.6.38-7-generic/misc/vmmon.ko
supported: external
license: GPL v2
description: VMware Virtual Machine Monitor.
author: VMware, Inc.
srcversion: 2CA8C26F679E3F53C1E4054
depends:
vermagic: 2.6.38-7-generic SMP mod_unload modversions
filename: /lib/modules/2.6.38-7-generic/misc/vmnet.ko
supported: external
license: GPL v2
description: VMware Virtual Networking Driver.
author: VMware, Inc.
srcversion: BA27D4B9C3E68236B5A0426
depends:
vermagic: 2.6.38-7-generic SMP mod_unload modversions
filename: /lib/modules/2.6.38-7-generic/misc/vmblock.ko
supported: external
version: 1.1.2.0
license: GPL v2
description: VMware Blocking File System
author: VMware, Inc.
srcversion: 400149ED038D22A87322D56
depends:
vermagic: 2.6.38-7-generic SMP mod_unload modversions
parm: root:The directory the file system redirects to. (charp)
filename: /lib/modules/2.6.38-7-generic/misc/vmci.ko
supported: external
license: GPL v2
description: VMware Virtual Machine Communication Interface (VMCI).
author: VMware, Inc.
srcversion: A010E9D2C04943FA8178682
depends:
vermagic: 2.6.38-7-generic SMP mod_unload modversions
filename: /lib/modules/2.6.38-7-generic/misc/vsock.ko
supported: external
license: GPL v2
version: 1.0.0.0
description: VMware Virtual Socket Family
author: VMware, Inc.
srcversion: 45F038041BE5F706D964C8D
depends: vmci
vermagic: 2.6.38-7-generic SMP mod_unload modversions
filename: /lib/modules/2.6.38-7-generic/misc/vmmon.ko
supported: external
license: GPL v2
description: VMware Virtual Machine Monitor.
author: VMware, Inc.
srcversion: 2CA8C26F679E3F53C1E4054
depends:
vermagic: 2.6.38-7-generic SMP mod_unload modversions
VMpalyer player had simiilar outputs. Uninstalled producat and patch by sudo /ur/bin/vmware-insatller -u vmware-workstation and sudo rm -fr /usr/lib/moduesl and sudo rm -fr /tmpvm*. There could be other files around but the same isntall and lpatch process finished "successfully" again.
I'm not a softwware developer but possibly this might be of interest to Noel and the others.
Marty
moebiusstrip wrote:
I replaced deprecated lock_kernel/unlock_kernel functions with private mutexes.Hope it helps.
Thanks! I knew that was the necessary change, but hadn't had time to make it. I'm sure it will help, although it seems that we may still have an issue with the new X Server. I'll test it against Natty later today.
Debian unstable, kernel 2.6.38-1 patch vmware-7.1.3-2.6.38-1-generic.patch does not work. Log:
root@uuk-nb-deb:/tmp/vmware-root# vmware-modconfig --console --install-all
Stopping VMware services:
VMware USB Arbitrator done
VM communication interface socket family done
Virtual machine communication interface done
Virtual machine monitor done
Blocking file system done
Using 2.6.x kernel build system.
make: Entering directory `/tmp/vmware-root/modules/vmmon-only'
make -C /lib/modules/2.6.38-1-686/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. \
MODULEBUILDDIR= modules
make[1]: Entering directory `/usr/src/linux-headers-2.6.38-1-686'
CC [M] /tmp/vmware-root/modules/vmmon-only/linux/driver.o
/tmp/vmware-root/modules/vmmon-only/linux/driver.c: In function ‘LinuxDriver_Ioctl’:
/tmp/vmware-root/modules/vmmon-only/linux/driver.c:1736: error: implicit declaration of function ‘unlock_kernel’
/tmp/vmware-root/modules/vmmon-only/linux/driver.c:1742: error: implicit declaration of function ‘lock_kernel’
make[4]: *** [/tmp/vmware-root/modules/vmmon-only/linux/driver.o] Error 1
make[3]: *** [_module_/tmp/vmware-root/modules/vmmon-only] Error 2
make[2]: *** [sub-make] Error 2
make[1]: *** [all] Error 2
make[1]: Leaving directory `/usr/src/linux-headers-2.6.38-1-686'
make: *** [vmmon.ko] Error 2
make: Leaving directory `/tmp/vmware-root/modules/vmmon-only'
Unable to install vmmon
root@uuk-nb-deb:/tmp/vmware-root#
Hi Uukrul,
are you sure you successfully applied the patch?
Your log contains errors about functions this patch completely removes from vmmon and vmnet.
Please, try this way (It worked for me on Debian Unstable):
- copy the patch in /usr/lib/vmware/modules/source
- cd /usr/lib/vmware/modules/source
- ls *.tar | xargs -n 1 tar xvf # extract all tar archives
- patch -p1 < vmware-7.1.3-2.6.38-1-generic.patch # apply the patch
- re-create the archives:
tar cf vmblock.tar vmblock-only
tar cf vmci.tar vmci-only
tar cf vmmon.tar vmmon-only
tar cf vmnet.tar vmnet-only
tar cf vsock.tar vsock-only
- vmware-modconfig --console --install-all
Ok, I'm working, I just applied the patch on the already patched version for kernel 2.6.37-2. After replacing the module to the original patch is applied correctly, the modules are compiled without errors.
PS: For a quick overlay patch, I changed the script a little patch-modules_v61.sh, which now can be run: ./patch-modules_v62.sh ./vmware-7.1.3-2.6.38-1-generic.patch Thanks to the author of the initial script
Still no luck but I think you may very well be right and it is the new X swerver.
Ubuntu Natty 2.6.38-7-generic WS 7.1.3
Compile output
patching file vmci-only/include/compat_semaphore.h
patching file vmmon-only/linux/driver.c
patching file vmnet-only/compat_semaphore.h
patching file vmnet-only/driver.c
patching file vsock-only/shared/compat_semaphore.h
Stopping VMware services:
VMware USB Arbitrator done
VM communication interface socket family done
Virtual machine communication interface done
Virtual machine monitor done
Blocking file system done
Using 2.6.x kernel build system.
make: Entering directory `/tmp/vmware-root/modules/vmmon-only'
make -C /lib/modules/2.6.38-7-generic/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. \
MODULEBUILDDIR= modules
make[1]: Entering directory `/usr/src/linux-headers-2.6.38-7-generic'
CC [M] /tmp/vmware-root/modules/vmmon-only/linux/driver.o
CC [M] /tmp/vmware-root/modules/vmmon-only/linux/driverLog.o
CC [M] /tmp/vmware-root/modules/vmmon-only/linux/hostif.o
/tmp/vmware-root/modules/vmmon-only/linux/hostif.c: In function ‘HostIFReadUptimeWork’:
/tmp/vmware-root/modules/vmmon-only/linux/hostif.c:2004:37: warning: ‘newUpBase’ may be used uninitialized in this function
CC [M] /tmp/vmware-root/modules/vmmon-only/linux/iommu.o
CC [M] /tmp/vmware-root/modules/vmmon-only/common/comport.o
CC [M] /tmp/vmware-root/modules/vmmon-only/common/cpuid.o
CC [M] /tmp/vmware-root/modules/vmmon-only/common/hashFunc.o
CC [M] /tmp/vmware-root/modules/vmmon-only/common/memtrack.o
CC [M] /tmp/vmware-root/modules/vmmon-only/common/phystrack.o
CC [M] /tmp/vmware-root/modules/vmmon-only/common/task.o
CC [M] /tmp/vmware-root/modules/vmmon-only/common/vmx86.o
CC [M] /tmp/vmware-root/modules/vmmon-only/vmcore/moduleloop.o
LD [M] /tmp/vmware-root/modules/vmmon-only/vmmon.o
Building modules, stage 2.
MODPOST 1 modules
CC /tmp/vmware-root/modules/vmmon-only/vmmon.mod.o
LD [M] /tmp/vmware-root/modules/vmmon-only/vmmon.ko
make[1]: Leaving directory `/usr/src/linux-headers-2.6.38-7-generic'
make -C $PWD SRCROOT=$PWD/. \
MODULEBUILDDIR= postbuild
make[1]: Entering directory `/tmp/vmware-root/modules/vmmon-only'
make[1]: `postbuild' is up to date.
make[1]: Leaving directory `/tmp/vmware-root/modules/vmmon-only'
cp -f vmmon.ko ./../vmmon.o
make: Leaving directory `/tmp/vmware-root/modules/vmmon-only'
Built vmmon module
Using 2.6.x kernel build system.
make: Entering directory `/tmp/vmware-root/modules/vmnet-only'
make -C /lib/modules/2.6.38-7-generic/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. \
MODULEBUILDDIR= modules
make[1]: Entering directory `/usr/src/linux-headers-2.6.38-7-generic'
CC [M] /tmp/vmware-root/modules/vmnet-only/driver.o
CC [M] /tmp/vmware-root/modules/vmnet-only/hub.o
CC [M] /tmp/vmware-root/modules/vmnet-only/userif.o
CC [M] /tmp/vmware-root/modules/vmnet-only/netif.o
CC [M] /tmp/vmware-root/modules/vmnet-only/bridge.o
CC [M] /tmp/vmware-root/modules/vmnet-only/filter.o
CC [M] /tmp/vmware-root/modules/vmnet-only/procfs.o
CC [M] /tmp/vmware-root/modules/vmnet-only/smac_compat.o
CC [M] /tmp/vmware-root/modules/vmnet-only/smac.o
CC [M] /tmp/vmware-root/modules/vmnet-only/vnetEvent.o
CC [M] /tmp/vmware-root/modules/vmnet-only/vnetUserListener.o
LD [M] /tmp/vmware-root/modules/vmnet-only/vmnet.o
Building modules, stage 2.
MODPOST 1 modules
CC /tmp/vmware-root/modules/vmnet-only/vmnet.mod.o
LD [M] /tmp/vmware-root/modules/vmnet-only/vmnet.ko
make[1]: Leaving directory `/usr/src/linux-headers-2.6.38-7-generic'
make -C $PWD SRCROOT=$PWD/. \
MODULEBUILDDIR= postbuild
make[1]: Entering directory `/tmp/vmware-root/modules/vmnet-only'
make[1]: `postbuild' is up to date.
make[1]: Leaving directory `/tmp/vmware-root/modules/vmnet-only'
cp -f vmnet.ko ./../vmnet.o
make: Leaving directory `/tmp/vmware-root/modules/vmnet-only'
Built vmnet module
Using 2.6.x kernel build system.
make: Entering directory `/tmp/vmware-root/modules/vmblock-only'
make -C /lib/modules/2.6.38-7-generic/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. \
MODULEBUILDDIR= modules
make[1]: Entering directory `/usr/src/linux-headers-2.6.38-7-generic'
CC [M] /tmp/vmware-root/modules/vmblock-only/linux/block.o
CC [M] /tmp/vmware-root/modules/vmblock-only/linux/control.o
CC [M] /tmp/vmware-root/modules/vmblock-only/linux/dbllnklst.o
CC [M] /tmp/vmware-root/modules/vmblock-only/linux/dentry.o
CC [M] /tmp/vmware-root/modules/vmblock-only/linux/file.o
CC [M] /tmp/vmware-root/modules/vmblock-only/linux/filesystem.o
CC [M] /tmp/vmware-root/modules/vmblock-only/linux/inode.o
CC [M] /tmp/vmware-root/modules/vmblock-only/linux/module.o
CC [M] /tmp/vmware-root/modules/vmblock-only/linux/stubs.o
CC [M] /tmp/vmware-root/modules/vmblock-only/linux/super.o
LD [M] /tmp/vmware-root/modules/vmblock-only/vmblock.o
Building modules, stage 2.
MODPOST 1 modules
CC /tmp/vmware-root/modules/vmblock-only/vmblock.mod.o
LD [M] /tmp/vmware-root/modules/vmblock-only/vmblock.ko
make[1]: Leaving directory `/usr/src/linux-headers-2.6.38-7-generic'
make -C $PWD SRCROOT=$PWD/. \
MODULEBUILDDIR= postbuild
make[1]: Entering directory `/tmp/vmware-root/modules/vmblock-only'
make[1]: `postbuild' is up to date.
make[1]: Leaving directory `/tmp/vmware-root/modules/vmblock-only'
cp -f vmblock.ko ./../vmblock.o
make: Leaving directory `/tmp/vmware-root/modules/vmblock-only'
Built vmblock module
Using 2.6.x kernel build system.
make: Entering directory `/tmp/vmware-root/modules/vmci-only'
make -C /lib/modules/2.6.38-7-generic/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. \
MODULEBUILDDIR= modules
make[1]: Entering directory `/usr/src/linux-headers-2.6.38-7-generic'
CC [M] /tmp/vmware-root/modules/vmci-only/linux/driver.o
CC [M] /tmp/vmware-root/modules/vmci-only/linux/driverLog.o
CC [M] /tmp/vmware-root/modules/vmci-only/linux/vmciKernelIf.o
CC [M] /tmp/vmware-root/modules/vmci-only/common/vmciContext.o
CC [M] /tmp/vmware-root/modules/vmci-only/common/vmciDatagram.o
CC [M] /tmp/vmware-root/modules/vmci-only/common/vmciDriver.o
CC [M] /tmp/vmware-root/modules/vmci-only/common/vmciDs.o
CC [M] /tmp/vmware-root/modules/vmci-only/common/vmciEvent.o
CC [M] /tmp/vmware-root/modules/vmci-only/common/vmciGroup.o
CC [M] /tmp/vmware-root/modules/vmci-only/common/vmciHashtable.o
CC [M] /tmp/vmware-root/modules/vmci-only/common/vmciProcess.o
CC [M] /tmp/vmware-root/modules/vmci-only/common/vmciQueuePair.o
CC [M] /tmp/vmware-root/modules/vmci-only/common/vmciResource.o
LD [M] /tmp/vmware-root/modules/vmci-only/vmci.o
Building modules, stage 2.
MODPOST 1 modules
CC /tmp/vmware-root/modules/vmci-only/vmci.mod.o
LD [M] /tmp/vmware-root/modules/vmci-only/vmci.ko
make[1]: Leaving directory `/usr/src/linux-headers-2.6.38-7-generic'
make -C $PWD SRCROOT=$PWD/. \
MODULEBUILDDIR= postbuild
make[1]: Entering directory `/tmp/vmware-root/modules/vmci-only'
make[1]: `postbuild' is up to date.
make[1]: Leaving directory `/tmp/vmware-root/modules/vmci-only'
cp -f vmci.ko ./../vmci.o
make: Leaving directory `/tmp/vmware-root/modules/vmci-only'
Built vmci module
Using 2.6.x kernel build system.
make: Entering directory `/tmp/vmware-root/modules/vsock-only'
make -C /lib/modules/2.6.38-7-generic/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. \
MODULEBUILDDIR= modules
make[1]: Entering directory `/usr/src/linux-headers-2.6.38-7-generic'
CC [M] /tmp/vmware-root/modules/vsock-only/linux/af_vsock.o
/tmp/vmware-root/modules/vsock-only/linux/af_vsock.c: In function ‘VSockVmciStreamConnect’:
/tmp/vmware-root/modules/vsock-only/linux/af_vsock.c:3172:4: warning: case value ‘255’ not in enumerated type ‘socket_state’
CC [M] /tmp/vmware-root/modules/vsock-only/linux/notify.o
CC [M] /tmp/vmware-root/modules/vsock-only/linux/stats.o
CC [M] /tmp/vmware-root/modules/vsock-only/linux/util.o
CC [M] /tmp/vmware-root/modules/vsock-only/linux/vsockAddr.o
CC [M] /tmp/vmware-root/modules/vsock-only/driverLog.o
LD [M] /tmp/vmware-root/modules/vsock-only/vsock.o
Building modules, stage 2.
MODPOST 1 modules
CC /tmp/vmware-root/modules/vsock-only/vsock.mod.o
LD [M] /tmp/vmware-root/modules/vsock-only/vsock.ko
make[1]: Leaving directory `/usr/src/linux-headers-2.6.38-7-generic'
make -C $PWD SRCROOT=$PWD/. \
MODULEBUILDDIR= postbuild
make[1]: Entering directory `/tmp/vmware-root/modules/vsock-only'
make[1]: `postbuild' is up to date.
make[1]: Leaving directory `/tmp/vmware-root/modules/vsock-only'
cp -f vsock.ko ./../vsock.o
make: Leaving directory `/tmp/vmware-root/modules/vsock-only'
Built vsock module
Starting VMware services:
VMware USB Arbitrator done
Virtual machine monitor done
Virtual machine communication interface done
VM communication interface socket family done
Blocking file system done
Virtual ethernet done
Shared Memory Available done
Processes while trying to bring up the GUI
The fact that t udevd is running ()twice) before all but one of the processes related to VMware is a good indication
9063 ? 00:00:00 vmware-usbarbit
9068 ? 00:00:00 udevd
9069 ? 00:00:00 udevd
9134 ? 00:00:00 vmnet-bridge
9143 ? 00:00:00 vmnet-dhcpd
9147 ? 00:00:00 vmnet-netifup
9157 ? 00:00:00 vmnet-dhcpd
9160 ? 00:00:00 vmnet-natd
9162 ? 00:00:00 vmnet-netifup
So it could just be that once again it is my video driver. Any possbile workaround in configuartion feil??
Marty
Works with Maverick on the 2.6.38-1 kernel from the mainline PPA. This appears to confirm what we already knew: the Natty problems are not kernel related.
Confirmed that the patch works great on 2.6.38-1 kernel in maverick
Newbie questions:
I've got 2.6.38.1 running on Maverick with the older 2.6.37 patch from Noel.
Would rebuilding VM with your newer patch be worthwhile? Or is the BKL not fully implemented in the Ubuntu ppa kernel (http://kernel.ubuntu.com/~kernel-ppa/mainline/v2.6.38.1-natty/)?
In other words, why does the older patch work?