Sep 292011
 

UPDATE2: I’ve changed the patch to support the weird versioning in the fedora kernels.

UPDATE: I’ve added in the list of supported versions 8.0.1 and 4.0.1 for vmware player, so the script will run with no modifications but remember that when vmware releases a new minor most probably changing the version at the top of the script (or applying the patch manually) will work fine.

Even though vmware just released vmware workstation 8.0 it seems that also this time they didn’t look forward to the kernel which is going to come out in just some weeks. So users again this time will have to rely soon on patches in order to get vmware to work on their linux boxes.

At least this time the fix was quite easier to make.

You can find it here togheter with the script to patch it automatically: vmware8linux31fix.tar

Attached Files:

  • vmware8linux31fix.tar

    Patch and script to fix the build of kernel modules from vmware on linux 3.1 and newer

  76 Responses to “vmware workstation/player fix for linux 3.1”

  1. I’m sorry, but how can I apply this patch?

  2. extract the archive and run the sh script as root

  3. Thanks! Your patch works great on my Gentoo system.

  4. [...] Weltall's blog Tweet Categoría: virtualizacion Etiquetas: Virtualizacion, vmware noviembre 10th, 2011 No comments yet Raist ¿Algo que añadir? o cancela tu respuesta [...]

  5. Don’t work for me!!!
    When I try to run a VM an error appear.

    “Version mismatch with vmmon module: expecting 264.0, got 238.0.
    You have an incorrect version of the `vmmon` kernel module.
    Try reinstalling VMware Workstation.”

    Linux Kernel 3.1.0-7.fc16.x86_64
    Workstation 8.0.0-471780.x86_64

    • I’d go for the suggestion of the message and clean up also the vmware modules folder in /lib/modules (be careful there are also other modules there)

  6. works perfectly – fedora16

    • Works perfectly in Fedora 16? How did you do it? I can’t install VmWare Workstation 8 in Fedora 16, ehwn i run the patch works fine and do not throw me any error, but when i try to run my VMware Workstation throw me the error of GCC 4.6.2.
      Sorry for my english, i’m from Mexico. Thank you and i hope you can help me.

  7. You’ve made my Fedora 16 upgrade complete. Thank you.

  8. Thanks! This patch worked for me on Fedora 16 with VMware Player.

  9. Thanks!, works great on Fedora 16!.

  10. Ok, gracias me ha servido mucho, estoy usando Fedora 16 “Verne” y ha compilado bien, ahora a cargar las imágenes.

    • Que onda mi buen! Oye cómo le hiciste que a mi no me sale, ya corrí el parche pero me sigue mandando el error de GCC 4.6.2… espero me puedas ayudar, y cuales fueron los pasos que seguiste para instalar de forma correcta en Fedora 16. Gracias

  11. Thanks! Your patch works on Ubuntu 10.04LTS 64 bit.

  12. Great work, although it didn’t initially work for me and I tracked the problem down to this line of the patch script:

    find “$basedir” -name “*.tar” -exec tar xf ‘{}’ \; || exit 4

    I think when you upgrade VMWare, you end up with old tar files in /usr/lib/vmware/modules/source. At least I had files from last year there in vmmon-orig.tar and vsock-orig.tar. Since this script blindly extracts *.tar, those ended up overwriting the contents of the newer files and caused a compile failure later.

    Perhaps the script could be written to only extract the required .tar files by name. Or, users can just be sure to check their /usr/lib/vmware/modules/source before running the patch script to ensure that there are no extraneous tar files.

    Anyway, thanks for writing the patch!

  13. Hello from Japan!
    It worked for me, too.
    Thank you sir.

  14. Thank you again for your services to the community. Might you reproduce your previous feat of providing a patch for the VMware Tools for Linux Guests, or suggest how this WS/Player patch for Linux Hosts could be suitably modified.

    • do you have a live cd suggestion to try this fast? if it includes 3.2 it would be even better. (also I’ve 8.x now)

    • Thank you so much for this patch. It works perfectly every time. At most I have to change 8.0.0 to 8.0.1 for the very small WS 8 upgrade. Shame on VMware for not including this patch in the product.

  15. Hi

    When I try to run the file, I keep getting

    ./patch-modules_3.1.0.sh: line 41: patch: command not found

    I am running Fedora 16 with Kernel 3.1.1-1.fc16.x86_64

    Both files where extracted to the same folder.

    Please help.

    • Hi.

      No problems. There is no cure for being stupid. It struck me 2 minutes past 12 this morning, i never installed ‘patch.’

      The patch works excellent.

  16. I just tried to install vmware 8 on SUSE 12.1 (just released today) and got an error that was SOLVED by this patch.
    Thanks !

  17. Patch worked for me. Excellent work!

  18. Works very well for me with kernel 3.1.1 on Fedora 16 x86_64. Thanks!

  19. Thanks! It works great on openSUSE 12.1 (Kernel 3.1.0)

  20. Hello,

    seems to be that i´m the first with opensuse 12.1
    Patch did work as expected and so a very great thank you for helping me to get vmware 8 running on opensuse 12.1

  21. Hello, Thanks for the guide. Unfortunately, I loaded up fedora today, and updated the system…well, it updated the kernel to 3.1.1-1 and this isn’t working for that kernel. Any pointers on getting this to work on 3.1.1-1?

    Thanks!

    Nathan

  22. It’s working now in 3.1.1-1. I must have missed something. Thanks for the response!

  23. hi,
    i have fresh install of fedora 16 64bit i would like can install vmware workstation 8 with kernel headers 3.1.1-1.fc16.x8664 but i start script_fix it errors generate in my terminal ” ./patch-modules_3.1.0.sh:line 41:patch:command not found”.

    thanks for your response,

  24. hi, I lauch it, i’m restart with previous kernel and i use your patch’s and reboot with new kernel(3.1.1) ,launch vmware in terminal it compil himself and run.

    thanks

  25. Oh, i downloaded and installed VMWare Player, took me 3 hours on my bad connection – just for other people who got a bad conn like me – this patch is for 4.0.0 only and wont work on 4.0.1.

  26. With the VMware Workstation update released November 17th, I had to change the version required variable to 8.0.1 at the top of the script. Prior to that, it failed with a note that Player 4.0 or Workstation 8.0 were required. Hope this is helpful until it is updated. After this, the patch works well.

    Will the patch work with 3.1.1 kernels? Haven’t tried that.

    Maybe there could be a vmreqver >= 8

    vmreqver=8.0.1

    best,
    fellow

  27. Could you help? I downloaded kernel 2.6.41.1-1.fc15.x86_64 and then couldn’t get workstation v8 modules to compile. I downloaded v8.0.1 and got the same message. I applied your patch (modifying the script to allow for 8.0.1) and started the workstation, and it still tells me I have to compile the modules — and that fails again.

    What am I missing?

  28. [...] downloaded a patch from Weltall’s blog: vmware8linux31fix.tar.gz.  Then, I extracted and ran the [...]

  29. Hmm….tried that patch and, while the patch succeeds, attempting to launch vmware afterward results in:

    Logging to /tmp/vmware-root/modconfig-17061.log
    filename: /lib/modules/3.1.0-1.2-desktop/misc/vmmon.ko
    supported: external
    license: GPL v2
    description: VMware Virtual Machine Monitor.
    author: VMware, Inc.
    srcversion: 4E51C099E8EEF1FB26DE021
    depends:
    vermagic: 3.1.0-1.2-desktop SMP preempt mod_unload modversions
    filename: /lib/modules/3.1.0-1.2-desktop/misc/vmnet.ko
    supported: external
    license: GPL v2
    description: VMware Virtual Networking Driver.
    author: VMware, Inc.
    srcversion: 84ED6E3E54EBA64005781F5
    depends:
    vermagic: 3.1.0-1.2-desktop SMP preempt mod_unload modversions
    filename: /lib/modules/3.1.0-1.2-desktop/misc/vmblock.ko
    supported: external
    version: 1.1.2.0
    license: GPL v2
    description: VMware Blocking File System
    author: VMware, Inc.
    srcversion: 41F3B88F064DD85BCE8AFCC
    depends:
    vermagic: 3.1.0-1.2-desktop SMP preempt mod_unload modversions
    parm: root:The directory the file system redirects to. (charp)
    filename: /lib/modules/3.1.0-1.2-desktop/misc/vmci.ko
    supported: external
    license: GPL v2
    version: 9.1.18.0
    description: VMware Virtual Machine Communication Interface (VMCI).
    author: VMware, Inc.
    srcversion: F659B534EA5CC5FFD4A08BF
    alias: pci:v000015ADd00000740sv*sd*bc*sc*i*
    depends:
    vermagic: 3.1.0-1.2-desktop SMP preempt mod_unload modversions
    parm: disable_host:Disable driver host personality - (default=0) (bool)
    parm: disable_guest:Disable driver guest personality - (default=0) (bool)
    parm: disable_msi:Disable MSI use in driver - (default=0) (bool)
    parm: disable_msix:Disable MSI-X use in driver - (default=0) (bool)
    filename: /lib/modules/3.1.0-1.2-desktop/misc/vsock.ko
    supported: external
    alias: vmware_vsock
    license: GPL v2
    version: 9.1.1.0
    description: VMware Virtual Socket Family
    author: VMware, Inc.
    srcversion: 5A37036862692504058A712
    depends: vmci
    vermagic: 3.1.0-1.2-desktop SMP preempt mod_unload modversions
    filename: /lib/modules/3.1.0-1.2-desktop/misc/vmmon.ko
    supported: external
    license: GPL v2
    description: VMware Virtual Machine Monitor.
    author: VMware, Inc.
    srcversion: 4E51C099E8EEF1FB26DE021
    depends:
    vermagic: 3.1.0-1.2-desktop SMP preempt mod_unload modversions
    process 17056: Attempt to remove filter function 0x7fcbf4fe0980 user data 0x7fcc07657640, but no such filter has been added
    D-Bus not built with -rdynamic so unable to print a backtrace
    Aborted

    Log file contents:

    2011-12-01T09:05:25.720+12:00| vthread-3| I120: Log for VMware Workstation pid=17061 version=8.0.0 build=build-471780 option=Release
    2011-12-01T09:05:25.720+12:00| vthread-3| I120: The process is 64-bit.
    2011-12-01T09:05:25.720+12:00| vthread-3| I120: Host codepage=ISO-8859-1 encoding=ISO-8859-1
    2011-12-01T09:05:25.720+12:00| vthread-3| I120: Host is Linux 3.1.0-1.2-desktop openSUSE 12.1 (x86_64)
    2011-12-01T09:05:25.720+12:00| vthread-3| I120: Msg_Reset:
    2011-12-01T09:05:25.720+12:00| vthread-3| I120: [msg.dictionary.load.openFailed] Cannot open file "/usr/lib/vmware/settings": No such file or directory.
    2011-12-01T09:05:25.720+12:00| vthread-3| I120: ----------------------------------------
    2011-12-01T09:05:25.720+12:00| vthread-3| I120: PREF Optional preferences file not found at /usr/lib/vmware/settings. Using default values.
    2011-12-01T09:05:25.720+12:00| vthread-3| I120: Msg_Reset:
    2011-12-01T09:05:25.720+12:00| vthread-3| I120: [msg.dictionary.load.openFailed] Cannot open file "/home/root/.vmware/config": No such file or directory.
    2011-12-01T09:05:25.720+12:00| vthread-3| I120: ----------------------------------------
    2011-12-01T09:05:25.720+12:00| vthread-3| I120: PREF Optional preferences file not found at /home/root/.vmware/config. Using default values.
    2011-12-01T09:05:25.720+12:00| vthread-3| I120: Msg_Reset:
    2011-12-01T09:05:25.720+12:00| vthread-3| I120: [msg.dictionary.load.openFailed] Cannot open file "/home/root/.vmware/preferences": No such file or directory.
    2011-12-01T09:05:25.720+12:00| vthread-3| I120: ----------------------------------------
    2011-12-01T09:05:25.720+12:00| vthread-3| I120: PREF Failed to load user preferences.
    2011-12-01T09:05:25.720+12:00| vthread-3| W110: Logging to /tmp/vmware-root/modconfig-17061.log
    2011-12-01T09:05:25.829+12:00| vthread-3| I120: System distribution is SuSE
    2011-12-01T09:05:25.829+12:00| vthread-3| I120: System version is 12.1
    2011-12-01T09:05:25.829+12:00| vthread-3| I120: modconf query interface initialized
    2011-12-01T09:05:25.829+12:00| vthread-3| I120: modconf library initialized

  30. The script worked, Thanks!

  31. Didn’t work with:

    vmware-player: 4.0.1.528992
    kernel: 3.1.5-1.fc16.x86_64

  32. Thanks! Worked perfect with:

    debian packages:
    linux-image-3.1.0-1-amd64
    linux-headers-3.1.0-1-amd64

    vmware download:
    VMware-Workstation-Full-8.0.1-528992.x86_64.bundle

    I had to change the check in the install script from 8.0.0 to 8.0.1 though.

  33. Ok for VMware Wokstation 8.0.1, just changed in script : patch-modules_3.1.0.sh

    fpatch=vmware3.1.0.patch
    vmreqver=8.0.1
    plreqver=4.0.1
    vmreqver2=8.0.1
    plreqver2=4.0.1

  34. Hello, with fedora 16 I get

    [root@localhost vmware8linux31fix]# ./patch-modules_3.1.0.sh
    ./patch-modules_3.1.0.sh: line 45: patch: command not found

    with
    Package kernel-devel-3.1.6-1.fc16.x86_64 already installed and latest version
    Package kernel-headers-3.1.6-1.fc16.x86_64 already installed and latest version
    Package gcc-4.6.2-1.fc16.x86_64 already installed and latest version
    Package 1:make-3.82-8.fc16.x86_64 already installed and latest version

    please help me!
    :(

  35. [...] VMware workstation-8 or VMplayer-4 take a look at this On my older build I had hit issues with libglib causing problems with the VMware interface and it [...]

  36. I’m getting this error. Any help?

    root@debian:/home/home# ./patch-modules_3.1.0.sh
    patching file vmnet-only/compat_netdevice.h
    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 failed
    Unable to stop services

    All done, you can now run VMWare WorkStation.
    Modules sources backup can be found in the ‘/usr/lib/vmware/modules/source-workstation8.0.0-2012-01-05-21:04:40-backup’ directory
    root@debian:/home/home#

  37. Is there a patch for VMware Tools installed on fedora 16 kernel 3.2.1 guest?

    • would need to be tested. anyway most of the patches needed are in the host patch. so they can be ported over.

  38. Thanks for this – saved both my head and my table! Now working perfectly.

    Ubuntu 11.10 & VMware WS 7.1.5 (changed the patch to vmreqver=7.1.5)

  39. it didnt work for me,when i run it it says it is made for vmware player 4.0.0 and mine is 4.0.2 …..any patch for vmware player 4.0.2

  40. Stuck here:

    /tmp/vmware-root/modules/vmmon-only/linux/iommu.c: In function ‘IOMMU_AdjustMappings’:
    /tmp/vmware-root/modules/vmmon-only/linux/iommu.c:180: error: implicit declaration of function ‘iommu_found’
    /tmp/vmware-root/modules/vmmon-only/linux/iommu.c: In function ‘IOMMU_RegisterDevice’:
    /tmp/vmware-root/modules/vmmon-only/linux/iommu.c:415: error: too few arguments to function ‘iommu_domain_alloc’
    make[2]: *** [/tmp/vmware-root/modules/vmmon-only/linux/iommu.o] Error 1
    make[2]: *** Waiting for unfinished jobs….
    make[1]: *** [_module_/tmp/vmware-root/modules/vmmon-only] Error 2
    make[1]: Leaving directory `/usr/src/linux-source-3.2.6′
    make: *** [vmmon.ko] Error 2
    make: Leaving directory `/tmp/vmware-root/modules/vmmon-only’
    Unable to install vmmon

    uname -r –> 3.2.6

    Any idea?

    • wrong vmware version or old modules in vmware folders. do a clean reinstall (and be sure to remove all files remaining in /usr/lib/vmware). iommu.c is not part of the last version of vmware modules.

  41. Thanks!!!!!!! works great!

  42. Thanks for the patch, unfortunately it didn’t work for me (VMWare Workstation 8.0.2) – stuck at:

    /tmp/vmware-root/modules/vmnet-only/userif.c: In function ‘VNetCsumCopyDatagram’:
    /tmp/vmware-root/modules/vmnet-only/userif.c:520:3: error: incompatible type for argument 1 of ‘kmap’
    include/linux/highmem.h:48:61: note: expected ‘struct page *’ but argument is of type ‘const struct ’
    /tmp/vmware-root/modules/vmnet-only/userif.c:523:3: error: incompatible type for argument 1 of ‘kunmap’
    include/linux/highmem.h:54:60: note: expected ‘struct page *’ but argument is of type ‘const struct ’
    make[2]: *** [/tmp/vmware-root/modules/vmnet-only/userif.o] Error 1
    make[2]: *** Waiting for unfinished jobs….
    /tmp/vmware-root/modules/vmnet-only/netif.c: In function ‘VNetNetIfSetup’:
    /tmp/vmware-root/modules/vmnet-only/netif.c:134:7: error: unknown field ‘ndo_set_multicast_list’ specified in initializer
    /tmp/vmware-root/modules/vmnet-only/netif.c:134:7: warning: initialization from incompatible pointer type [enabled by default]
    /tmp/vmware-root/modules/vmnet-only/netif.c:134:7: warning: (near initialization for ‘vnetNetifOps.ndo_validate_addr’) [enabled by default]
    /tmp/vmware-root/modules/vmnet-only/filter.c:60:16: error: ‘THIS_MODULE’ undeclared here (not in a function)
    make[2]: *** [/tmp/vmware-root/modules/vmnet-only/netif.o] Error 1
    make[2]: *** [/tmp/vmware-root/modules/vmnet-only/filter.o] Error 1
    make[1]: *** [_module_/tmp/vmware-root/modules/vmnet-only] Error 2
    make[1]: Leaving directory `/usr/src/kernels/3.3.0-8.fc16.x86_64′
    make: *** [vmnet.ko] Error 2
    make: Leaving directory `/tmp/vmware-root/modules/vmnet-only’
    Unable to install vmnet

    Anyone any ideas or solutions? :-(

    • Kernel with bogus version (did fedora release more of those?)
      Patch failed applying
      Sources are dirty. Start from a clean install.

  43. Same issue as Matthias. Tried starting from a clean install but didn’t help. Any thoughts?

    Some background info:

    uname -a
    Linux 3.3.1-3.fc16.x86_64 #1 SMP Wed Apr 4 18:08:51 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux

    Fedora 16

    vmware player 4.0.2

    Thanks

  44. Can not seem to patch VMware player.

    Kernal is Ver 3.3.2-1
    VMware Player 4.0.2

    This is a new clean install.
    Dependncies installed.

    The modules are not compling. If I start VMware Player all I get is a Messages to sat there is a problem in Nautilus. and nothing.

    Have tried the patch above but get a message to say:

    Sorry, this script is only for VMWare WorkStation 8.0.0 or VMWare Player 4.0.0. Exiting

    Any ideas please?

  45. Looks like version 8.0.3 released May 3 2012 sometime has the same problem, can the 8.0.2 patch be reused and/or quickly modified to resolve what looks to be a repeat issue?

  46. Script failing on (more?) version errors?

    # vmware-installer -l | awk ‘/vmware-/{print $1substr($2,1,5)}’
    vmware-player4.0.2

    Are you only checking for 4.0.0…. and any idea if it works with 4.02?

    (TIA) Dave

  47. Usable in 4.0.3 too. Simply change max version on script vars from “4.0.2″ to “4.0.3″

  48. I’m running vmware Workstation 7.1.6 on kernel version 3.0.0-21-generic. Applying only this patch only failed, but this patch along with the 2.6.39 version patch worked!

    To get this to go, I first ran this patch, with vmreqver=7.1.6 and vmreqver2=7.1.6 then did sudo rm /usr/lib/vmware/modules/source/.patched and ran the 2.6.39 patch with vmreqver=7.1.6 and plreqver=3.0.0 set.

    Not sure if this is the recommended scheme, but it works!

  49. Tried to apply your patch(es) concerning vmware 7.1.6 with Suse 12.1 (i.e kernel 3.1.10-default) but I’m getting an error telling :
    /tmp/vmware-root/modules/vmmon-only/linux/iommu.c:47:44: error: ‘SPIN_LOCK_UNLOCKED’ undeclared here (not in a function)

    Remarks : Your patch worked fine with vmware 7.1.4
    with vmware 8.0.4 I don’t need any patch, but I should have payed for this new version.

    • i didn’t make them but you should be able to replace the SPIN_LOCK_UNLOCKED with the definitions you should see in older patches.

 Leave a Reply

(required)

(required)

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>