VirtualHere USB 3 4-Port Hub

VirtualHere has created a fully standards compliant 4-Port USB 3 Hub that supports Per-Port-Power-Switching (PPPS). https://modularkvmip.com/product/usb-hub/

The PPPS functionality enables you to turn on or off power to each USB port individually. It is useful for :

  • Resetting USB Dongles
  • Power-cycling devices entirely (e.g  while developing firmware)
  • Saving bus power. e.g high power USB Disks can be turned off while not in use
  • Driving simple relays etc

  To switch power on or off to a USB port:

Using VirtualHere

  1. Plug the hub into a device running VirtualHere Server
  2. In the VirtualHere Client Right click on the Server and select Show Hubs...
  3. Right click on the 4-Port VirtualHere Hub and select Hub Control and select Power Cycle Off/On etc 

 

Using VirtualHere in the Windows Command Line

Download https://www.virtualhere.com/sites/default/files/usbserver/vhfilterexe/vhfilter.exe

Install the filter (only needs to be done once) and reboot. Then use the DevicePath returned from the list-hubs command to switch on or off a port. Its preferable to switch off the USB 3 port as that will switch its companion as well. For example:

C:\Downloads>vhfilter.exe
vhfilter.exe turns on/off port power on a USB PPPS Hub
Copyright 2023- VirtualHere Pty. Ltd. https://www.virtualhere.com
Usage  : vhfilter.exe --install-filter | --uninstall-filter | --list-hubs | --switch-port [port] [off | on] [devicePath]
C:\Downloads>vhfilter.exe --install-filter
The VirtualHere USB Hub Filter driver has been sucessfully installed
C:\Downloads>vhfilter.exe --list-hubs
The following hubs are attached that support Per-Port-Power-Switching:
USB\VID_366B&PID_0004\MSFT203E55860BE2704C0F     has  4 ports   is USB 2        and attached to port  4 on USB\ROOT_HUB30\4&7178304&0&0 with companion port  3
USB\VID_366B&PID_0005\MSFT303E55860BE2704C0F     has  4 ports   is USB 3        and attached to port  3 on USB\ROOT_HUB30\7&30ff8dbc&0&0 with companion port  4
C:\Downloads>vhfilter --switch-port 4 off "USB\VID_366B&PID_0005\MSFT303E55860BE2704C0F"
Successfully turned port 4 off
Successfully turned companion port 4 off
C:\Downloads>vhfilter --switch-port 4 on "USB\VID_366B&PID_0005\MSFT303E55860BE2704C0F"
Successfully turned port 4 on
Successfully turned companion port 4 on
C:\Downloads>

Using uhubctl

You can also use https://github.com/mvp/uhubctl to switch the USB port power when the Hub is connected to Linux / MacOS hosts