The issue you are experiencing with the USB touch device failing to enumerate correctly after rapid toggling between hosts may be related to how Windows handles USB device enumeration and power management. When a USB device is rapidly disconnected and reconnected, it can lead to a situation where the device does not properly reinitialize, even though it appears to be functioning in Device Manager.
Here are some steps you can consider to troubleshoot and potentially resolve the issue:
- Check for Driver Updates: Ensure that the drivers for the USB touch device and the USB switch are up to date. Sometimes, newer drivers can resolve enumeration issues.
- Power Management Settings: Investigate the power management settings for the USB ports in Device Manager. Disabling the option that allows the computer to turn off the device to save power might help prevent the enumeration failure.
- Use ETW Events for Debugging: Utilize Event Tracing for Windows (ETW) events associated with USB device start tasks to troubleshoot the failure. You can filter events to show those from the hub driver to identify any issues during the device start process.
- Test with Different USB Ports: Although you mentioned that connecting to different USB ports did not help, it may be worth testing different types of ports (e.g., USB 2.0 vs. USB 3.0) to see if there is any difference in behavior.
- Consider Hardware Limitations: Rapid toggling may exceed the capabilities of the USB switch or the USB controller in the host system, leading to failures. Testing with a different USB switch or a direct connection might help isolate the issue.
- Monitor USB Traffic: Use USB analysis tools to monitor the traffic and see if there are any anomalies when the device fails to enumerate. This might provide insights into what is happening at the protocol level.
- Reboot as a Last Resort: Since you noted that rebooting Windows resolves the issue, this could indicate a potential memory leak or resource exhaustion in the USB stack that is not being cleared until a reboot occurs.
If the issue persists, consider reporting it to Microsoft, especially since it does not occur on older versions of Windows, which suggests it may be a regression or specific to the newer builds.
References: