vmware / open-vm-tools

Official repository of VMware open-vm-tools project
http://sourceforge.net/projects/open-vm-tools/
2.23k stars 425 forks source link

vmware-user-suid-wrapper error: could not open proc/fs/vmblock/dev #48

Open budric opened 8 years ago

budric commented 8 years ago

Hi,

I'm using Ubuntu 14.04.03. I have tried open-vm-tools packages 9.4.0-1280544-5ubuntu6 and 9.10.2-2822639-1ubuntu4~14.04.0.

When trying to execute vmware-user-suid-wrapper, the process exits with could not open /proc/fs/vmblock/dev. I think because of this DnD and clipboard do not work.

I have tried mounting the vmblock filesystem using vmware-vmblock-fuse command as suggested by https://gist.github.com/lloeki/62239da19ec25f90f215 onto /var/run/vmblock-fuse and onto /tmp/VMwareDnD. In both cases it mounts (mount target have: blockdir, dev), but vmware-user-suid-wrapper still exits with same error about /proc/fs/vmblock (and DnD and clipboard don't work). I can't mount it into /proc filesystem the way vmware-user-suid-wrapper seems to want me to do.

oliverkurth commented 8 years ago

Thanks for reporting! I created an internal bug for investigation.

One question: does copy and paste work for you?

budric commented 8 years ago

Thanks.

No, copy and paste do not work.

ercanacar commented 8 years ago

same.

NHellFire commented 8 years ago

The vmblock module has failed to compile with recent kernels for quite a while. This is with open-vm-tools v10.0.5 and a 4.2 kernel:

root:/usr/src/open-vm-tools-10.0.5/vmblock# make KVERS=$(uname -r)
Using kernel build system.
make -C /lib/modules/4.2.0-16-generic/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. \
  MODULEBUILDDIR= modules
make[1]: Entering directory '/usr/src/linux-headers-4.2.0-16-generic'
  CC [M]  /usr/src/open-vm-tools-10.0.5/vmblock/linux/filesystem.o
/usr/src/open-vm-tools-10.0.5/vmblock/linux/filesystem.c: In function ‘Iget’:
/usr/src/open-vm-tools-10.0.5/vmblock/linux/filesystem.c:325:21: error: storage size of ‘actualNd’ isn’t known
    struct nameidata actualNd;
                     ^
/usr/src/open-vm-tools-10.0.5/vmblock/linux/filesystem.c:325:21: warning: unused variable ‘actualNd’ [-Wunused-variable]
scripts/Makefile.build:258: recipe for target '/usr/src/open-vm-tools-10.0.5/vmblock/linux/filesystem.o' failed
make[2]: *** [/usr/src/open-vm-tools-10.0.5/vmblock/linux/filesystem.o] Error 1
Makefile:1398: recipe for target '_module_/usr/src/open-vm-tools-10.0.5/vmblock' failed
make[1]: *** [_module_/usr/src/open-vm-tools-10.0.5/vmblock] Error 2
make[1]: Leaving directory '/usr/src/linux-headers-4.2.0-16-generic'
Makefile:120: recipe for target 'vmblock.ko' failed
make: *** [vmblock.ko] Error 2

This patch fixed it for me: https://gist.github.com/eru/f3352e728d6661491462/

ravindravmw commented 8 years ago

@NHellFire Thanks for your patch, but we are no longer maintaining vmblock driver for newer kernels, especially, for v3.0.0 and later. We prefer Fuse based implementation vmblock-fuse over vmblock driver. So, you should not need to build this driver anymore.

NHellFire commented 8 years ago

Then maybe it would be a good idea to remove the misleading error on kernel 3.0+ On 16 Mar 2016 18:03, "Ravindra Kumar" notifications@github.com wrote:

@NHellFire https://github.com/NHellFire Thanks for your patch, but we are no longer maintaining vmblock driver for newer kernels, especially, for v3.0.0 and later. We prefer Fuse based implementation vmblock-fuse over vmblock driver. So, you should not need to build this driver anymore.

— You are receiving this because you were mentioned. Reply to this email directly or view it on GitHub https://github.com/vmware/open-vm-tools/issues/48#issuecomment-197460379

iav commented 8 years ago

Fedora 24, esxi 5.5, drag and drop not working, can't change display resolution from 800x600. Trying to execute vmware-user-suid-wrapper, got /proc/fs/vmblock/dev. What to do?

ravindravmw commented 8 years ago

Fedora 24, esxi 5.5, drag and drop not working, can't change display resolution from 800x600.

@iav how do you use drag and drop on ESXi? Have you disabled the default isolation configuration in the VM's configuration file? Is copy/paste working for you? Could you please check if a process with a commad line similar to "vmtoolsd -n vmusr" is running in the guest or not? Is possible, please run lsof on its pid and grep for "plugins" and share the output ($ lsof -p | grep plugins).

It will also help if you could provide details of your environment when it was working and details of non-working environment, so that we can try to reproduce this in-house. Thanks!

ravindravmw commented 8 years ago

share the output ($ lsof -p | grep plugins).

Oops, github messed up the command, it should be "lsof -p PID | grep plugins".

iav commented 8 years ago

Will try on a week.

iav commented 8 years ago
 # lsof -p 1435|grep plugins
vmtoolsd 1435 root  mem       REG              253,0     27928 422254 /usr/lib64/open-vm-tools/plugins/vmusr/libresolutionSet.so
vmtoolsd 1435 root  mem       REG              253,0    340440 422253 /usr/lib64/open-vm-tools/plugins/vmusr/libdndcp.so
vmtoolsd 1435 root  mem       REG              253,0     15320 418865 /usr/lib64/open-vm-tools/plugins/vmusr/libdesktopEvents.so
vmtoolsd 1435 root  mem       REG              253,0    127288 420235 /usr/lib64/open-vm-tools/plugins/common/libvix.so
vmtoolsd 1435 root  mem       REG              253,0     11160 408898 /usr/lib64/open-vm-tools/plugins/common/libhgfsServer.so
iav commented 8 years ago

how do you use drag and drop on ESXi?

I don't

Have you disabled the default isolation configuration in the VM's configuration file?

I not perform any manual edition of a vm files

Is copy/paste working for you?

no

My main interest is to change vp video resolution up from 800x600 - now it not work.

iav commented 8 years ago

On a Fedora vm I havevmtoolsd -n vmusr process running, but on LinuxMint (ubuntu) I have only one vmtoolsdprocess rinning, without vmusr parameter.

dvdfreitag commented 8 years ago

A bit late to the game but I just recently experienced this issue, and I got a fix. Please check if /dev/fuse exists, if it does not try running sudo mknod /dev/fuse c 10 229. Once you have created /dev/fuse, run sudo /etc/init.d/fuse restart. After that, you should be able to run the commands listed in the above gist that was linked.

I have an initscript (/etc/init.d/vmware) that contains the following:

#! /sbin/openrc-run

start() {
        mknod /dev/fuse c 10 229
        /etc/init.d/fuse restart

        mkdir /var/run/vmblock-fuse
        su -l -c "vmware-vmblock-fuse -o subtype=vmware-vmblock,default_permissions,allow_other /var/run/vmblock-fuse"
}

Make sure to run sudo chmod 755 /etc/init.d/vmware and sudo chown root:root /etc/init.d/vmware. Then, I have a desktop launcher, /etc/xdg/autostart/vmware-user.desktop:

[Desktop Entry]
Type=Application
Encoding=UTF-8
Exec=/usr/bin/vmware-user-suid-wrapper
Name=VMware User Agent
X-KDE-autostart-phase=1

Make sure that at some point you run sudo chmod u+s /usr/bin/vmware-user-suid-wrapper otherwise it will not work.

I'm currently running the latest Alpine Linux with XFCE. This setup should work with stock Xubuntu, but I haven't tested. However you set it up, many of those commands (basically apart from vmware-user-suid-wrapper) need to be run as root. Also, please note, vmware-user-suid-wrapper must be run after the user is logged in. If I put that line in the initscript vmtoolsd is never started.

To verify this works, boot up and run ps | grep vm, which should display /usr/bin/vmtoolsd.

As of right now I have tested bidirectional clipboards and automatic resolution, and I have not yet tested shared folders.

If you just want a shell script that is essentially platform-agnostic:

#! /bin/sh

gksudo mknod /dev/fuse c 10 229
gksudo /etc/init.d/fuse restart

gksudo mkdir /var/run/vmblock-fuse
gksudo su -l -c "vmware-vmblock-fuse -o subtype=vmware-vmblock,default_permissions,allow_other /var/run/vmblock-fuse"
vmware-user-suid-wrapper

Again, make sure that you run sudo chmod u+s /usr/bin/vmware-user-suid-wrapper or it will not work.

iav commented 8 years ago

Thank you, will test tomorrow. Should it help with video resolution? Am I one with resolution problem, or it is a mass problem?

ravindravmw commented 8 years ago

@iav Thanks for the logs. As long as you have 'vmtoolsd -n vmusr' process running with libresoluionSet plugin loaded, you should be good. vmblock is not related to screen resolution. You might want to check if you have enough video memory. Would you mind searching for "Max Resolution" in your VM's vmware.log file? And, you might also want to make sure you have Autofit enabled. as mentioned in issue #54.

I'd also suggest you to follow up the screen resolution issue on issue #54 because this issue is related to vmblock/copy-paste/drag-n-drop.

iav commented 8 years ago

/usr/bin/vmware-user-suid-wrapper already suid, desktop now starts wrapper. But copy|paste still not works. Maybe, there are any checkbox in vm property on vcenter?

ravindravmw commented 8 years ago

@iav copy/paste is disabled by default in vSphere. You need to enable it in the VM settings. Just search for "vmware copy paste" on internet and you will hit KB 1026437.