Cатсн²² (in)sесuяitу / ChrisJohnRiley

Because we're damned if we do, and we're damned if we don't!

vmxnet spoiling the show

vmware

Originally written March ’08

Just a quick note to try and cover some of the problems I’ve had recently with the VMware vmxnet driver under Linux. As I’m running Debian linux as a guest under VMware server, I opted to install the VMware-tools package to ensure complete compatibility. Oh what fun that was. After getting the tar, extracting and manually building the modules against the kernel (not the latest one though, as 2.6.24 doesn’t seem to compile at the moment with vmware-tools) I was ready to roll. One reboot later and I was left wondering why I’d bothered. Suddenly the VMware-tools package was seeing my pcnet32 (NIC driver) and rmmoding it in favour of it’s own vmxnet version… which didn’t work.

Oh joy I thought as I did the following to test .:

/etc/init.d/networking stop
rmmod vmxnet
rmmod pcnet32
depmod -a
insmod pcnet32
/etc/init.d/networking start

Wonderous I thought… it works again, of course until I reboot the machine. So I searched for the off switch in the VMware tools… and searched, and searched and then turned to my favourite tool (next to my trust hammer) VI. the /etc/init.d/vmware-tools file is what does all the magic (and tragic) for the vmware guest. A quick search through and this section was found .:

if [ “`is_vmxnet_needed`” = ‘yes’ ]; then
vmware_exec ‘Guest vmxnet fast network device:’ vmware_start_vmxnet
exitcode=$(($exitcode + $?))
fi

Now all you need to do is comment out this section, like so .:

#if [ “`is_vmxnet_needed`” = ‘yes’ ]; then
# vmware_exec ‘Guest vmxnet fast network device:’ vmware_start_vmxnet
# exitcode=$(($exitcode + $?))
#fi

and on the next reboot vmxnet won’t be bothering you anymore….. Let’s just hope they fix it sometime so we can enjoy the wonders of vmxnet drivers without these sort of issues. Still I guess VMware server is still in BETA… so who can complain about free software eh 😉

Comments are closed.

%d bloggers like this: