I think I discovered something about this issue by chance yesterday. Here's the order of events:
- Came into work and plugged Surface Dock into Surface Book 2. Laptop was not charging. USB still worked though. (Great, another dock issue to troubleshoot)
- Cleaned Surface connector and port with alcohol wipe. Still not charging.
- Ran Furmark CPU stress test for hours. monitor temps with HWInfo.
- Plugged power supply from a Lenovo laptop into the USB-C port and Surface started charging again.
- Disconnected USB-C power, and the Dock was still charging. Strange.
- Ran Furmark CPU stress test again, almost immediately, USB peripherals on dock started disconnecting.
After trying the CPU stress test multiple times, I figured out that there's a range of temperatures where the USB peripherals connect and disconnect over and over again. Above a certain temperature, USB won't work at all and there is no disconnecting and reconnecting; USB just doesn't work. Below a certain temperature, USB works as expected.
From my experimenting, it seems to me it's clearly an overheating issue and somehow tied to the charging from the dock. I have USB selective suspend setting disabled. Surface Book 2 running Windows 10 and Surface Dock 2 on firmware 18.2830.368.0 DP 18.2165.368.0