Error VMware vmmon y vmnet

Hace unos días, me encontré con un error de VirtualBox que prácticamente inhabilitaba las máquinas virtuales. Ahora me pasó lo mismo pero con VMware y por fortuna, la resolución es prácticamente la misma, aunque la forma en que se leen los módulos cambia un poco. Ahora veremos cómo resolver el error VMware vmmon y vmnet.

El problema

Antes de iniciar, mi versión de Kernel es Linux 6.4.12-200.fc38.x86_64. En Fedora y GNOME 44.4.

Cuando abres VMware (aunque antes te haya funcionado), te pide compilar dos módulos: vmmon y vmnet, sin embargo, al dar “Install” comienza el proceso y pero termina por dar un error:

Unable to install all modules. See log /tmp/vmware...
vmware kernel module updater
vmware kernel module updater vmmon vmnet
unable to install all modules vmware

Nos salen estos mensajes, sin mayor opción. Pero ahí tenemos el archivo de log que luego veremos.

Si vas a la consola y ejecutas el siguiente comando te da el mismo resultado (error) pero con un poco más de detalle. Recomendado para que luego vayas a buscar el detalle en Google.

sudo vmware-modconfig --console --install-all
error vmware modconfig console install-all

Por ahí vemos iluminado skb_sgo_segment, que es la clave para poder encontrar el error y resolverlo.

2023-09-06T01:51:07.298Z In(05) host-63922 /tmp/modconfig-acJwaN/vmnet-only/bridge.c:1413:11: error: implicit declaration of function ‘skb_gso_segment’; did you mean ‘tcp_gso_segment’? [-Werror=implicit-function-declaration]

Este es el error con más detalle que se encuentra en el archivo de log que nos aparece en el mensaje del principio: /tmp/vmware-manuelhdez/vmware-68709.log.

Resolver Error VMware vmmon y vmnet

Como ya lo mencioné antes, la solución es muy parecida a la del error de VirtualBox, con un par de pasos extra. Sigue esto paso a paso y seguro que se arregla.

Primero accedemos al directorio de donde VMware toma los archivos que va a compilar:

cd /usr/lib/vmware/modules/source

Vamos a extraer el contenido del directorio vmnet para modificar un archivo:

tar -xvf vmnet.tar
tar -xvf vmnet.tar

Ahora abrimos el archivo /usr/lib/vmware/modules/source/vmnet-only/bridge.c.

vmware vmnet-only bridge.c.

En este archivo, agregamos después de la línea 29 lo siguiente:

#include <net/gso.h>

Guardamos y luego debemos empaquetar de nuevo el directorio con el archivo ya modificado:

# Creamos una copia (por si luego algo sale raro)
mv vmnet.tar vmnet.tar.original

# Empaquetamos de nuevo
tar -cf vmnet.tar vmnet-only

Ejecutamos de nuevo el comando:

vmware-modconfig --console --install-all
vmware-modconfig --console --install-all

Con esto se va el error y por fin ha compilado los módulos.

vmware workstation

Listo. Gracias por leer.

Fuente: https://communities.vmware.com/t5/VMware-Workstation-Pro/Cannot-compile-vmnet-kernel-module-on-kernel-6-4-10/td-p/2982156.


Posted

in

, , , ,

by