Once again we are back to the infamous vmnet! Over the years, this module has definitely been a source of centention for many Linux users, and every time we think we have a fix, a new version of vmware or a new Linux kernel breaks the whole thing all over again.
Current compilations may result in something similar to the following:
/usr/bin/make -j -C /tmp/vmware-root/modules/vmnet-only auto-build SUPPORT_SMP=1 HEADER_DIR=/lib/modules/3.3.2-6.fc16.x86_64/build/include CC=/usr/lib64/ccache/gcc GREP=/usr/bin/make IS_GCC_3=no VMCCVER=4.6.3
Using 2.6.x kernel build system.
make: Entering directory `/tmp/vmware-root/modules/vmnet-only'
make -C /lib/modules/3.3.2-6.fc16.x86_64/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/.
MODULEBUILDDIR= modules
make[1]: Entering directory `/usr/src/kernels/3.3.2-6.fc16.x86_64'
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/filter.o
/tmp/vmware-root/modules/vmnet-only/userif.c: In Funktion »VNetCsumCopyDatagram«:
/tmp/vmware-root/modules/vmnet-only/userif.c:520:3: Fehler: Inkompatibler Typ für Argument 1 von »kmap«
include/linux/highmem.h:48:61: Anmerkung: »struct page *« erwartet, aber Argument hat Typ »const struct «
/tmp/vmware-root/modules/vmnet-only/userif.c:523:3: Fehler: Inkompatibler Typ für Argument 1 von »kunmap«
include/linux/highmem.h:54:60: Anmerkung: »struct page *« erwartet, aber Argument hat Typ »const struct «
make[2]: *** [/tmp/vmware-root/modules/vmnet-only/userif.o] Fehler 1
make[2]: *** Warte auf noch nicht beendete Prozesse...
/tmp/vmware-root/modules/vmnet-only/filter.c:60:16: Fehler: »THIS_MODULE« ist hier nicht deklariert (nicht in einer Funktion)
make[2]: *** [/tmp/vmware-root/modules/vmnet-only/filter.o] Fehler 1
/tmp/vmware-root/modules/vmnet-only/netif.c: In Funktion »VNetNetIfSetup«:
/tmp/vmware-root/modules/vmnet-only/netif.c:134:7: Fehler: unbekanntes Feld »ndo_set_multicast_list« in Initialisierung angegeben
/tmp/vmware-root/modules/vmnet-only/netif.c:134:7: Warnung: Initialisierung von inkompatiblem Zeigertyp [standardmäßig aktiviert]
/tmp/vmware-root/modules/vmnet-only/netif.c:134:7: Warnung: (nahe der Initialisierung für »vnetNetifOps.ndo_validate_addr«) [standardmäßig aktiviert]
make[2]: *** [/tmp/vmware-root/modules/vmnet-only/netif.o] Fehler 1
make[1]: *** [_module_/tmp/vmware-root/modules/vmnet-only] Fehler 2
make[1]: Leaving directory `/usr/src/kernels/3.3.2-6.fc16.x86_64'
make: *** [vmnet.ko] Fehler 2
make: Leaving directory `/tmp/vmware-root/modules/vmnet-only'
Well, here is the latest fix for the most recent combination of Linux and VMWare products:
- Download the patch from http://weltall.heliohost.org/wordpress/wp-content/uploads/2012/01/vmware802fixlinux320.tar.gz
-
Extract the tarball
$ tar -xzvf vmware802fixlinux320.tar.gz
- Edit the file patch-modules_3.2.0.sh
- Look for the line plreqver=4.0.2 and change it to plreqver=4.0.3
- Save the file
-
Finally, run it:
sudo ./patch-modules_3.2.0.sh
Now you should be working! Just power on your VMs and have at it!