Knowledge Base

The VMware Knowledge Base provides support solutions, error messages and troubleshooting guides
 
Search the VMware Knowledge Base (KB)   View by Article ID
 

VMware Tools installation on vSphere 5.1 Update 1 might fail to configure VMCI driver on Linux Kernel 3.8 or later (2050666)

Details

When you install VMware Tools on vSphere 5.1 Update 1, the configuration of Virtual Machine Communication Interface (VMCI) driver on Linux Kernel 3.8 or later might fail with error messages similar to the following:


/tmp/modconfig-aUhrK6/vmci-only/linux/driver.c:127:4: error: implicit declaration of function ‘__devexit_p’ [-Werror=implicit-function-declaration]
/tmp/modconfig-aUhrK6/vmci-only/linux/driver.c:127:4: error: initializer element is not constant
/tmp/modconfig-aUhrK6/vmci-only/linux/driver.c:127:4: error: (near initialization for ‘vmci_driver.remove’)
/tmp/modconfig-aUhrK6/vmci-only/linux/driver.c:1754:1: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘vmci_probe_device’
/tmp/modconfig-aUhrK6/vmci-only/linux/driver.c:1982:1: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘vmci_remove_device’
....
make[2]: *** [/tmp/modconfig-aUhrK6/vmci-only/linux/driver.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [_module_/tmp/modconfig-aUhrK6/vmci-only] Error 2
make[1]: Leaving directory `/usr/src/linux-headers-3.8.0-16-generic'
make: *** [vmci.ko] Error 2
make: Leaving directory `/tmp/modconfig-aUhrK6/vmci-only'


Also, you might not be able to load the VMCI driver after VMware Tools installation is complete.
This issue occurs with Ubuntu 13.04 guest operating system.

Solution

Workaround:


  1. Change to the directory vmware-tools-distrib, where VMware Tools are extracted.
  2. Run the command cd ./lib/modules/source, tar -xvf vmci.tar.
  3. Open and edit ./vmci-only/linux/driver.c
    • On line 127, replace .remove = __devexit_p(vmci_remove_device), with .remove = vmci_remove_device,.
    • On line 1753, replace static init __devinit vmci_probe_device(struct pci_dev *pdev, const struct pci_device_id *id) with static int vmci_probe_device(struct pci_dev *pdev, const struct pci_device_id *id).
    • On line 1981, replace static void __devexit vmci_remove_device(struct pci_dev* pdev) with static void vmci_remove_device(struct pci_dev* pdev).
  4. Close and save ./vmci-only/linux/driver.c.
  5. Run the command tar -cf vmci.tar vmci-only.
  6. Run the installer vmware-install.pl to install and configure VMware Tools. The VMCI driver can be successfully configured and the driver gets loaded after VMware Tools installation is complete.

Note: This workaround is only applicable for vSphere 5.1 Update 1.

Request a Product Feature

To request a new product feature or to provide feedback on a VMware product, please visit the Request a Product Feature page.

Feedback

  • 7 Ratings

Did this article help you?
This article resolved my issue.
This article did not resolve my issue.
This article helped but additional information was required to resolve my issue.
What can we do to improve this information? (4000 or fewer characters)
  • 7 Ratings
Actions
KB: