I have been battling with this one for a bit. I have Workstation Pro 12 and for the life of me I cant seem to figure out why this would occur.
So far I have:
- Uninstalled and reinstalled VM Tools
- Tried changing the USB from 2.0 to 1.1
- Added in the touchscreen.vusb.present = "TRUE" command at the end of my config file
What gets me is that it seems that when I unplug and replug in the USB input from the monitor to the PC, an extra HID device and USB pointing device seem to be added into the device manager inside the VM. If I try to scan for new hardware it does not detect any, the new devices are only added lwhen removing and re-inserting the USB input cable from the monitor.
Any takers??
Config Below:
.encoding = "UTF-8"
config.version = "8"
virtualHW.version = "12"
memsize = "2048"
MemAllowAutoScaleDown = "FALSE"
displayName = "CabinView"
guestOS = "winxppro"
numvcpus = "2"
cpuid.coresPerSocket = "1"
firmware = "bios"
usb.present = "TRUE"
ethernet0.present = "TRUE"
ethernet0.addressType = "generated"
ethernet0.connectionType = "bridged"
ethernet0.virtualDev = "vlance"
ethernet0.startConnected = "TRUE"
scsi0.present = "TRUE"
scsi0.virtualDev = "buslogic"
scsi0:0.present = "TRUE"
scsi0:0.fileName = "CABIN08-28-6558.vmdk"
mks.enable3d = "TRUE"
vmci0.present = "TRUE"
buslogic.noDriver = "FALSE"
pciBridge0.present = "TRUE"
tools.upgrade.policy = "useGlobal"
pciBridge4.present = "TRUE"
pciBridge4.virtualDev = "pcieRootPort"
pciBridge4.functions = "8"
pciBridge5.present = "TRUE"
pciBridge5.virtualDev = "pcieRootPort"
pciBridge5.functions = "8"
pciBridge6.present = "TRUE"
pciBridge6.virtualDev = "pcieRootPort"
pciBridge6.functions = "8"
pciBridge7.present = "TRUE"
pciBridge7.virtualDev = "pcieRootPort"
pciBridge7.functions = "8"
hpet0.present = "TRUE"
extendedConfigFile = "CABIN08-28-6558.vmxf"
virtualHW.productCompatibility = "hosted"
numa.autosize.vcpu.maxPerVirtualNode = "2"
numa.autosize.cookie = "20001"
uuid.bios = "56 4d 0e 35 1a ef 9c 7c-d0 a7 fe 5e 7b 89 65 43"
uuid.location = "56 4d 0e 35 1a ef 9c 7c-d0 a7 fe 5e 7b 89 65 43"
migrate.hostlog = ".\CABIN08-28-6558-3496af98.hlog"
scsi0:0.redo = ""
pciBridge0.pciSlotNumber = "17"
pciBridge4.pciSlotNumber = "21"
pciBridge5.pciSlotNumber = "22"
pciBridge6.pciSlotNumber = "23"
pciBridge7.pciSlotNumber = "24"
scsi0.pciSlotNumber = "16"
usb.pciSlotNumber = "32"
ethernet0.pciSlotNumber = "33"
vmci0.pciSlotNumber = "35"
ethernet0.generatedAddress = "00:0c:29:89:65:43"
ethernet0.generatedAddressOffset = "0"
vmci0.id = "2072601923"
monitor.phys_bits_used = "42"
vmotion.checkpointFBSize = "4194304"
vmotion.checkpointSVGAPrimarySize = "33554432"
cleanShutdown = "TRUE"
softPowerOff = "TRUE"
usb:1.speed = "2"
usb:1.present = "TRUE"
usb:1.deviceType = "hub"
usb:1.port = "1"
usb:1.parent = "-1"
tools.syncTime = "TRUE"
tools.remindInstall = "FALSE"
toolsInstallManager.updateCounter = "4"
toolsInstallManager.lastInstallError = "0"
svga.guestBackedPrimaryAware = "TRUE"
gui.viewModeAtPowerOn = "fullscreen"
gui.lastPoweredViewMode = "windowed"
checkpoint.vmState = ""
svga.graphicsMemoryKB = "524288"
gui.exitOnCLIHLT = "TRUE"
acpi.smbiosVersion2.7 = "FALSE"
acpi.mouseVMW0003 = "TRUE"
usb.generic.allowHID = "TRUE"
mks.keyboardFilter = "off"
workingDir = "."
usb.autoConnect.device0 = "TRUE"
ehci.present = "TRUE"
ehci.pciSlotNumber = "34"
serial0.present = "FALSE"
floppy0.present = "FALSE"
parallel0.present = "FALSE"
touchscreen.vusb.present = "TRUE"
svga.noHWCursor = "FALSE"
usb:0.present = "TRUE"
usb:0.deviceType = "hid"
usb:0.port = "0"
usb:0.parent = "-1"
usb.autoConnect.device1 = ""
Try adding the line, (if it is not already there)
usb.generic.allowHID = "TRUE"
and see whether that makes any difference.
Thanks for the quick reply.
I did see that command was already in the config - I tried changing it to false but still the same result... Thank you for the suggestion though!
You could also try adding, if not already there
usb.generic.allowLastHID = "TRUE"
Although I doubt if that can be any difference now.
AFAIK, the vusb.touchscreen.present = "TRUE" is only for built-in screens that have built-in touch capability (therefore not detachable).
Is it a USB touch device just like Wacom Intuos or Bamboo? I don't have any connect/disconnect issue with Wacom on a Windows 10 VM but I haven't tried with XP (I don't know if there are XP drivers for Wacom).
Alternatively, you could also try the autoconnect on VM power up and see whether that can avoid the need to disconnect/connect the USB cable. You can refer to this KB on the necessary steps to do it.
I am giving the usb.generic.allowLastHID = "TRUE" command to see if that helps. I believe I have toggled the autoconnect but I will give that a shot again too.
Also - this is just a regular capacitive touch screen monitor, nothing fancy.
Thank you for your assistance bluefirestorm!
This did not cover it either unfortunately...
Right now the only thing we can think to do is create a batch file that will run automatically VM startup to unplug and plug in the USB ports virtually, but this must be done on the host side when the VM starts, adding another level of complication to this. I wonder why it detects the touchscreen monitor's inputs only after unplugging/plugging in the USB input for the touchscreen...
Any ideas would be greatly appreciated!
Regards,
I don't think a simple batch file can do it either unless within that batch file there is a program that will disconnect the device from the host and connect the USB device to the guest VM; whether that is possible (programmatically disconnect/connect) that is another question.
I see that your USB autoconnect only specifies "TRUE" instead of the USB vendor ID and device ID as outlined in the KB
https://kb.vmware.com/s/article/1648
Anyway, I pretty sure the touchscreen.vusb.available = "TRUE" works on a Windows 10 VM. I got it working on a Windows 10 VM to have touch gestures on a Surface Pro 3 Windows 10 host.
The thing is XP by itself does not have built-in touch screen support. I just searched "Windows XP Tablet Edition" and there is indeed such a version. So I don't know whether the problem is partly due to this.
I will update with my new config file. I did try adding the vendor and product id in hex code to the config file but the drivers just will not install unless it is plugged in after starting the VM. Maybe only PnP drivers are working?
Post my config asap, thanks for the time & help!
As promised - the new updated config file:
.encoding = "UTF-8"
config.version = "8"
virtualHW.version = "12"
memsize = "2048"
MemAllowAutoScaleDown = "FALSE"
displayName = "CabinView"
guestOS = "winxppro"
numvcpus = "2"
cpuid.coresPerSocket = "1"
firmware = "bios"
usb.present = "TRUE"
ethernet0.present = "TRUE"
ethernet0.addressType = "generated"
ethernet0.connectionType = "bridged"
ethernet0.virtualDev = "vlance"
ethernet0.startConnected = "TRUE"
scsi0.present = "TRUE"
scsi0.virtualDev = "buslogic"
scsi0:0.present = "TRUE"
scsi0:0.fileName = "CABIN08-28-6558.vmdk"
mks.enable3d = "TRUE"
vmci0.present = "TRUE"
buslogic.noDriver = "FALSE"
pciBridge0.present = "TRUE"
tools.upgrade.policy = "useGlobal"
pciBridge4.present = "TRUE"
pciBridge4.virtualDev = "pcieRootPort"
pciBridge4.functions = "8"
pciBridge5.present = "TRUE"
pciBridge5.virtualDev = "pcieRootPort"
pciBridge5.functions = "8"
pciBridge6.present = "TRUE"
pciBridge6.virtualDev = "pcieRootPort"
pciBridge6.functions = "8"
pciBridge7.present = "TRUE"
pciBridge7.virtualDev = "pcieRootPort"
pciBridge7.functions = "8"
hpet0.present = "TRUE"
extendedConfigFile = "CABIN08-28-6558.vmxf"
virtualHW.productCompatibility = "hosted"
numa.autosize.vcpu.maxPerVirtualNode = "2"
numa.autosize.cookie = "20001"
uuid.bios = "56 4d 0e 35 1a ef 9c 7c-d0 a7 fe 5e 7b 89 65 43"
uuid.location = "56 4d 0e 35 1a ef 9c 7c-d0 a7 fe 5e 7b 89 65 43"
migrate.hostlog = ".\CABIN08-28-6558-3496af98.hlog"
scsi0:0.redo = ""
pciBridge0.pciSlotNumber = "17"
pciBridge4.pciSlotNumber = "21"
pciBridge5.pciSlotNumber = "22"
pciBridge6.pciSlotNumber = "23"
pciBridge7.pciSlotNumber = "24"
scsi0.pciSlotNumber = "16"
usb.pciSlotNumber = "32"
ethernet0.pciSlotNumber = "33"
vmci0.pciSlotNumber = "35"
ethernet0.generatedAddress = "00:0c:29:89:65:43"
ethernet0.generatedAddressOffset = "0"
vmci0.id = "2072601923"
monitor.phys_bits_used = "42"
vmotion.checkpointFBSize = "4194304"
vmotion.checkpointSVGAPrimarySize = "33554432"
cleanShutdown = "TRUE"
softPowerOff = "TRUE"
usb:1.speed = "2"
usb:1.present = "TRUE"
usb:1.deviceType = "hub"
usb:1.port = "1"
usb:1.parent = "-1"
tools.syncTime = "TRUE"
tools.remindInstall = "FALSE"
toolsInstallManager.updateCounter = "4"
toolsInstallManager.lastInstallError = "0"
svga.guestBackedPrimaryAware = "TRUE"
gui.viewModeAtPowerOn = "fullscreen"
gui.lastPoweredViewMode = "windowed"
checkpoint.vmState = ""
svga.graphicsMemoryKB = "524288"
gui.exitOnCLIHLT = "TRUE"
acpi.smbiosVersion2.7 = "FALSE"
acpi.mouseVMW0003 = "TRUE"
usb.generic.allowHID = "TRUE"
mks.keyboardFilter = "off"
workingDir = "."
ehci.present = "TRUE"
ehci.pciSlotNumber = "34"
serial0.present = "FALSE"
floppy0.present = "FALSE"
parallel0.present = "FALSE"
touchscreen.vusb.present = "TRUE"
svga.noHWCursor = "FALSE"
usb.autoConnect.device0 = "TRUE"
usb.autoConnect.device1 = "0x2575:0x401"
usb.autoConnect.device2 = "0x2575:0x401"
usb.autoConnect.device3 = "0x2575:0x401"
usb:0.present = "TRUE"
usb:0.deviceType = "hid"
usb:0.port = "0"
usb:0.parent = "-1"
Touchscreen is a Planar Model PCT2235. The vendor and product IDs were taken from the additional drivers that are added to the VM when i re-insert the USB from the monitor used for touch functions.
Monitor has VGA output for video which works fine, just the touchscreen does not seem to translate as well.
I tried adding touchscreen.vusb.present = "TRUE" into an 32-bit XP Professional SP2 VM (sorry I don't have time to look for XP SP3 install) with Surface Pro 3 host. I don't think it made any difference in terms of touch capability. There was an extra "Human Interface Device" in Device Manager which uses a Microsoft driver. The touch was simply translated from the Surface Pro 3 host to the VM. I don't know if XP can handle things like pinch/stretch to zoom in/out (I didn't get to test that out).
The thing with the Planar CT2235, its specification sheet also shows that it doesn't require a driver but relies on Windows 7/8/10.
XP Professional does not have built-in touchscreen support. With a Windows 7, even with a Wacom USB device, all that was needed was the Wacom device driver and the Windows 7 OS recognises it as pen-enabled, touch-enabled as seen from Control Panel - System.
Not sure why you put 3 devices with the vendor ID and product ID and left the device0 = "TRUE" in the vmx configuration. I doubt if it would make any difference but I would suggest just keep only with device0 with the vendor ID and device/product ID. It probably does need the Windows XP Tablet Edition to get over the connect/disconnect from happening.
usb.autoConnect.device0 = "TRUE"
usb.autoConnect.device1 = "0x2575:0x401"
usb.autoConnect.device2 = "0x2575:0x401"
usb.autoConnect.device3 = "0x2575:0x401"
@bluefirestorm - I believe I had corrected the problem by total accident. I will post my new config up soon, but I believe I removed the usb device 0 from the configuration and that allowed XP to interpret the USB device itself (it that makes sense).
I will post the corrected config on here and we can mark as solved. Thank you for your kind assistance!