You are not logged in.

#1 2014-08-26 02:11:52

Dyspareunia
Member
Registered: 2014-08-10
Posts: 20

VMware Workstation - Virtual machine communication interface - Failed

Hey All,

I originally posted this a few days ago in Newbie Corner, however nobody responded and I think it may not have been the best place to have posted this.

I recently installed VMWare Workstation and have a VM working well. I decided to finally conquer this little error however:

Starting VMware services:
   Virtual machine monitor                                             done
   Virtual machine communication interface                            failed
   VM communication interface socket family                            done
   Blocking file system                                                done
   Virtual ethernet                                                    done
   VMware Authentication Daemon                                        done

I checked out the wiki, and it does have a blurb on this, offering this as a solution:

# sed -i 's/mod=$(vmwareRealModName $vmci $vmci_alias)/mod=vmci/' /etc/init.d/vmware
# sed -i 's/mod=$(vmwareRealModName $vsock $vsock_alias)/mod=vsock/' /etc/init.d/vmware

When I use SED to insert this data however, VMWare fails to start completely. So I figured I'd check out this post to see if I could manually work through it. Sadly the instructions, at least to me seem rather unclear and I'd like to take a few moments to clarify what I'm missing here...

Now the above post said to modify 4 functions within /etc/init.d/vmware

First:
vmwareStartVmci()

vmwareStartVmci() {
   mod=$(vmwareRealModName $vmci $vmci_alias)

   # only load vmci if it's not already loaded
   if [ "`isLoaded "$mod"`" = 'no' ]; then
      vmwareLoadModule "$mod"
   fi
   vmware_rm_stale_node "$vmciNode"
   if [ ! -e "/dev/$vmciNode" ]; then
      local minor=`cat /proc/misc | grep $vmciNode | awk '{print $1}'`
      mknod --mode=666 "/dev/$vmciNode" c 10 "$minor"
   else
      chmod 666 "/dev/$vmciNode"
   fi

   return 0
}

Second:
vmwareStartVsock()

vmwareStartVsock() {
   mod=$(vmwareRealModName $vsock $vsock_alias)
   # only load vsock if it's not already loaded
   if [ "`isLoaded "$mod"`" = 'no' ]; then
      vmwareLoadModule "$mod"
   fi
   vmware_rm_stale_node "$vsockNode"
   # Give udev 5 seconds to create our node
   vmware_delay_for_node "/dev/$vsockNode" 5
   if [ ! -e "/dev/$vsockNode" ]; then
      local minor=`cat /proc/misc | grep $vsockNode | awk '{print $1}'`
      mknod --mode=666 "/dev/$vsockNode" c 10 "$minor"
   else
      chmod 666 "/dev/$vsockNode"
   fi

   return 0
}

Third:
vmwareStopVsock()

vmwareStopVsock() {
   mod=$(vmwareRealModName $vsock $vsock_alias)
   # only unload vsock if it's already loaded
   if [ "`isLoaded "$mod"`" = 'yes' ]; then
     vmwareUnloadModule "$mod"
   fi
   rm -f /dev/vsock
}

Forth:
vmwareStopVmci()

vmwareStopVmci() {
   # Hosted now has to interface with Tools.  vmhgfs could possibly be loaded, which
   # will interfere with the removal of vmci.  Only unload it if it's already
   # loaded.
   if [ "`isLoaded "$vmhgfs"`" = 'yes' ]; then
      vmwareUnloadModule "$vmhgfs"
   fi

   mod=$(vmwareRealModName $vmci $vmci_alias)

   # only unload vmci if it's already loaded
   if [ "`isLoaded "${mod}"`" = 'yes' ]; then
      vmwareUnloadModule "${mod}"
   fi
   rm -f "/dev/$vmciNode"
}

I did my best modifying these however I only accomplished breaking it and having to reverse my changes.

These are the changes I made, can someone tell me were I went wrong???

For vmwareStartVmci()

From:

vmwareLoadModule "$mod"

To:

vmwareLoadModule "$vmci"

For vmwareStartVsock()

From:

vmwareLoadModule "$mod"

To:

vmwareLoadModule "$vsock"

For vmwareStopVsock()

From:

vmwareUnloadModule "$mod"

To:

vmwareUnloadModule "$vsock"

For vmwareStopVmci()

From:

vmwareUnloadModule "${mod}"

To:

vmwareUnloadModule "${vmci}"

Thanks!

Offline

Board footer

Powered by FluxBB