VMware
6 Replies Last post: Jan 16, 2008 8:50 PM by hitchhiker  

Strange vmxnet issue in Linux VM after patch ESX3199476 posted: Mar 19, 2007 8:49 AM

Click to view wally's profile Hot Shot 147 posts since
Nov 25, 2004
We're having a very strange issue with the new vmtools for linux (so far seems reproducible with FC5/6 and RHEL4/5) that comes with (critical) patch ESX3199476.

vmware -v : VMware ESX Server 3.0.1 build-39823
vpxa -v: VMware VirtualCenter Agent Daemon 2.0.1 build-40644
Virtual Infrastructure Client 2.0.1 build 40644
Virtual Infrastructure Server 2.0.1 build 40644
Physical hardware: HP DL385G1/Intel Pro 1000GT (quad port)

We use an installation/recovery .iso that uses the pcnet32 driver.

- When we boot our .iso on this VM we have NO network connection (pcnet32 driver)
(- Edit settings remove/add network adapter does not fix this)
- We boot with the .iso -> WORKING network connection (pcnet32 driver)

So somehow installation of the new vmtools seem to mess with the virtual (nic) hardware. Strange enough this can (only?) be undone with a revert to snapshot but this snapshot does not involve the .iso from which we boot so I have no clear vision about what is going on, except that it appears that something about the virtual (nic) hardware or vmtools version is stored in the VM's vmdk file.

Click to view aciarlotta's profile Lurker 4 posts since
Jan 15, 2008
Was this issue ever resolved?

I've been fighting with Linux guests in VI 2 since day one. After running vmware-config-tools.pl, the network doesn't work. I run the commands suggested by the script to remove the pcnet32 driver and load the vmxnet driver, and STILL no network.

Reboot. No network.

Remove the VMwareTools RPM, reinstall, run vmware-config-tools.pl again. YAY! Network.

Reboot. No network. WTH is going on?

This is currently happening to me on a guest that was cloned from one that was working perfectly, although it's also happened with a brand new guest. I have to fight with it, uninstall, reinstall, manually nuke the module file, re-run the config tools multiple times until it finally decides to stick.

I never had these problems in GSX server or the updated VMware Server.

VI Version 2.0.2, build 62327
The VMware Tools it provides when using "Install vmware tools" is VMwareTools-3.0.2-55869, which doesn't seem right.
RedHat ES 4 Update 6 - No kernel or other OS customizations of any kind.

Ideas?


UPDATE: I gave up on the RPM after messing with this virtual for 45 minutes. I unpacked the tarball instead, and then ran the vmware-install.pl script there. It detected an existing install of vmware, so I interrupted it and manually deleted every single vmware file I could find on the OS, then re-ran the vmware-install.pl script.

FINALLY I have a working network connection, even after multiple reboots. It seems to have picked vmxnet this time as well.

Frustrating.

Click to view hitchhiker's profile Enthusiast 23 posts since
Jan 8, 2008

You can always force the virtual adapter to either vmxnet / pcnet32 or e1000 by editing the guest's config (.vmx) file.

"EthernetX.virtualDev = vmxnet", will force it to vmxnet (where X is the adapter number).

"EthernetX.virtualDev = vlance" to pcnet32 and "EthernetX.virtualDev = e1000" to e1000.


Click to view aciarlotta's profile Lurker 4 posts since
Jan 15, 2008
Sure I could, but cloning a perfectly working guest should produce another perfectly working guest.
Click to view hitchhiker's profile Enthusiast 23 posts since
Jan 8, 2008
One would think nothing would chnage, but it's a little bit tricky. When you move to different platform, the virtual device emulation underneath the changes, which your older driver might not be prepared for. Also likely, the oder in which devices are enumerated has changed, which may cause a different load ordering inside the guest. It's hard to say without looking at the guest.
Click to view aciarlotta's profile Lurker 4 posts since
Jan 15, 2008
While creating another RH ES 4 guest today, I had more problems with the network. I forced it to use e1000 as the driver, and the problems disappeared.

Unfortunately, there isn't a way to change it from the Virtual Center GUI like there was in GSX/VMware Server. The only option is "flexible", which has proven to be quite flexible in terms of whether it feels like working or not.

As much as a headache as this has been, I suppose it's not that big of a deal.
Click to view hitchhiker's profile Enthusiast 23 posts since
Jan 8, 2008

Yeah, "fliexible" isn't all that flexible in Linux at times. If I remember correctly, the thinking behind this whole thing went something like this... one would not have to switch adapters after an install - the "flexible" adapter would show up as pcnet32 and would would then switch to vmxnet when the vmxnet driver was loaded. All that works fine if the load order of modules is just that - pcnet32 followed by vmxnet. But in Linux, it's is not all that well controlled and if your guest gets the order wrong, you end up with a vmxnet adapter and pcnet32 driver - which doesn't work. I wish they would just force the adapter to vmxnet by default after tools install and forget about the magic transformation from pcnet32 to vmxnet...

Complain and complain loudly if you have a support contract.


VMware Developer

SDKs, APIs, Videos, Learn and much more in the Developer community.

Learn More

Developer Sample Code

Increase your developer productivity with VMware API sample code.

Learn More

VMworld Sessions & Labs

Online access to the latest VMworld Sessions & Labs and online services.

Learn more

Purchase PSO Credits Online

Purchase credits to redeem training and consulting services online.

Buy Now

Community Hardware Software

View reported configurations or report your own.

Learn More

VMware vSphere

Come witness the next giant leap in virtualization.

Register Today

Communities