COM port dissonance

It's been a while since I had to play extensively with Windows, but given the issues that USB issues that OSX has today relative to the VH client, I'm trying to install the VH client on a Windows VM under VMWare Fusion. My application is to remotely connect to Cisco routers that only have a USB port for a console port (as opposed to an RS-232 serial console port).

The initial Windows client installation succeeds, but then the first time I go to select a device, the VH client installs other drivers. The installation of these two drivers (the VH USB Host Controller and Root HUB) succeeds, and I get the messages that Windows found and installed these. But then I get another message to the effect that "the COM ports drivers are missing". I say "to the effect" because this message came and went without ever showing up again.

When I look in Windows Device Manager, I see a COM1 port, but I don't know if the VH client is now mapped to that. My guess is no, since trying to use PuTTY pointed at COM1 doesn't work. What am I missing in order to point the VH USB port at COM1?

#3

That's good to know, but I still have Windows users that will need to use the VH client. So I still need to figure out what I'm missing with mapping the VH client to Windows COM ports.

#4

Virtualhere knows nothing about com ports. It just presents the USB->serial device to the windows kernel, then the windows kernel loads the correct serial driver for that device, then that driver assigns a COM port and you then interact with the com port at that point.

You should look in the Windows Device manager and then see if there are entries in the "Other Devices", does it have the device listed there with an exclamation mark? If so then you need to install the com port driver for your device.

Also take a look in the Ports (COM & LPT) section and see if your device is listed there. If its not then you definately need to install the drivers.

#5

Yes, I've done that, and there are two new devices that show up, an Enhanced Serial Port and a Standard Serial port. My problem is the drivers I have for the console ports are installed via an EXE installer that apparently looks in Device Manger for very specific device names. Since VH exposes those devices with "generic" names, the installer isn't installing the drives on those devices. If the installer was a .msi file I might be able to extract the driver files from the installer. So I guess I'll have to pursue coming up with the individual driver files directly from Cisco.

#6

Virtualhere doesnt give the device a name either, it actually writes the usb vendor id/product id/revision id to the windows kernel and thats how the windows kernel loads the driver. Then windows starts binding the driver and issues a request to the device for the strings representing the product name/vendor name etc, i think its something else. Perhaps its looking for the device attached to a "Intel eXtensible Host Controller" or an Intel EHCI host controller, whereas virtualhere devices are rooted at "VirtualHere USB 3 eXTensible Host Controller" in win10 or "VirtualHere USB Host Controller" on win < 10. However the way software should work is look for GUID_DEVINTERFACE_USB_HOST_CONTROLLER interface that all host controllers implement (including virtualhere host controllers) and enumerate that way.