How to prevent network issues related with connection to the real devices over IP USB HUB

I would like to ask if there is any possibility to handle delays in the IP network that causes issues with connection between real devices and test environment set up on the virtual Windows 10 machine.
I’m using java-client 7.3.0, Appium 1.15.1, Java 8, Windows 10 virtual machine on the HP server with ESXI 6.7.0, DIGI AnywhereUSB.

The issue looks like that if I run for example 10 tests in one suit at some point it get stuck, there is no error displayed, no IDE crash, no performance issue on the VM machine just one of this 10 tests is not starting to execute after the previous one is done. In the IDE it looks like there is still an attempt to run the rest of remaining tests:
image
If I won’t stop this execution manually it is going to remain in that state for hours.
I left it once for the whole night and I received an exception:
org.openqa.selenium.WebDriverException: java.net.SocketTimeoutException: timeout.
This exception was thrown while ~16MB file was copying to the device so I removed it from the code to check if this is the root cause but it didn’t help.
What is more the issue doesn’t reproduce all the time, sometimes I’m able to run the whole suit.

I have the following questions:

  1. Is there any option I can force tests to fail while this happen within several seconds? For now I do not know the particular part of code that causes it and I suspect it is a network issue not a code issue because if I have my devices connected to the PC without Virtualization and IP USB HUB tests are working fine
  2. Can I extend the connection timer to avoid this timeout?
  3. Has AppiumClient /AppiumServiceBuilder/AppiumDriverLocalService any settings that can help with this timeout?
  4. Maybe there is someone who has experience with IP USB HUBs and can tell if Appium is able to be used in such a configuration?

I did some research and I connected my devices via this IP HUB to my PC and then the tests started to work, even if there was any timeout the framework handled it pretty good and reacted imminently without any hangs. So the question now is if Appium requires from me GPU installed on my HP server? I do not have any right now. Also is it even possible to use virtual Windows with real devices?

One more update about this issue.
I noticed if I create AppiumDriverLocalService and start it before each test (it also force me to create AndroidDrive before each test) execution doesn’t hang. The solution is poor as the time I need to spend on creating AppiumDriverLocalService and Android Driver extends the whole execution time of all tests.

I also was able to collect Appium logs while the execution hanged:
socket_timeout_exception.log (168.7 KB)
It took 2 hours for this one test to fail, the another one that was going to be executed after it hanged in the very beginning and also failed without any attempt to start execution.
Any idea how to keep AppiumDriverLocalService up and running with AndroidDriver for the whole execution without a need to create it from scratch before each test keeping in mind that the execution environment is based on virtual machine Windows 10 with real devices connected to the IP USB HUB?