USB controllers on USB hub offline until re-attached

Platform information:
Hardware: 64-bit 4 cores/2GB RAM/128GB HDD (This is actually a virtual machine, but these are the specs it’s been dealt)
OS: Debian Stretch (9.5)
Java Runtime Environment: Zulu 8.31.0.1-linux64
openHAB version: 2.3.0

I’ve had some problems with my rfxtrx controller reconnecting on it’s own and getting new device names etc. and after reading up on this problem I got myself a USB-hub with an external power supply. I moved both my rfxtrx and my z-stick (z-wave controller) to the hub. They both showed as offline in paperUI and the log was full of all kinds of errors, so I rebooted the whole openhab VM. Still offline. So I disconnected and reconnected the USB hub and all of a sudden everything works. Didn’t think much about this until I had to reboot the openhab VM once again and they both went offline. Disconnect/reconnect the USB devices or the hub and they come back to working order. In paperUI there are no errors, they are just “offline”. If I disconnect the devices I get the correct errors about the devices not existing. Looking at the openhab log however, there are many errors from the rfxbridge like this:

2018-09-03 13:02:48.001 [ERROR] [g.rfxcom.handler.RFXComBridgeHandler] - Error occurred: Timeout during packet read
2018-09-03 13:03:50.634 [ERROR] [g.rfxcom.handler.RFXComBridgeHandler] - Error occurred: Timeout during packet read
2018-09-03 13:05:02.056 [ERROR] [g.rfxcom.handler.RFXComBridgeHandler] - Error occurred: Timeout during packet read
2018-09-03 13:05:59.751 [ERROR] [g.rfxcom.handler.RFXComBridgeHandler] - Error occurred: Timeout during packet read
2018-09-03 13:07:00.532 [ERROR] [g.rfxcom.handler.RFXComBridgeHandler] - Error occurred during packet receiving, data: 140001025318028C2F0001031C04524658434F4
D0A
org.openhab.binding.rfxcom.internal.exceptions.RFXComException: java.lang.reflect.InvocationTargetException
        at org.openhab.binding.rfxcom.internal.messages.RFXComMessageFactory.createMessage(RFXComMessageFactory.java:135) [204:org.openhab.binding.rfxcom:2.3.
0]
        at org.openhab.binding.rfxcom.handler.RFXComBridgeHandler$MessageListener.packetReceived(RFXComBridgeHandler.java:225) [204:org.openhab.binding.rfxcom
:2.3.0]
        at org.openhab.binding.rfxcom.internal.connector.RFXComBaseConnector.sendMsgToListeners(RFXComBaseConnector.java:45) [204:org.openhab.binding.rfxcom:2
.3.0]
        at org.openhab.binding.rfxcom.internal.connector.RFXComStreamReader.run(RFXComStreamReader.java:62) [204:org.openhab.binding.rfxcom:2.3.0]
Caused by: java.lang.reflect.InvocationTargetException
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:?]
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) ~[?:?]
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[?:?]
        at java.lang.reflect.Constructor.newInstance(Constructor.java:423) ~[?:?]
        at org.openhab.binding.rfxcom.internal.messages.RFXComMessageFactory.createMessage(RFXComMessageFactory.java:130) ~[?:?]
        ... 3 more
Caused by: java.lang.UnsupportedOperationException
        at org.openhab.binding.rfxcom.internal.messages.RFXComInterfaceControlMessage.<init>(RFXComInterfaceControlMessage.java:78) ~[?:?]
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:?]
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) ~[?:?]
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[?:?]
        at java.lang.reflect.Constructor.newInstance(Constructor.java:423) ~[?:?]
        at org.openhab.binding.rfxcom.internal.messages.RFXComMessageFactory.createMessage(RFXComMessageFactory.java:130) ~[?:?]
        ... 3 more

Nothing from the z-wave controller though. The controller is offline, but when I look at it under Control the counter for “OOF bytes received” is steadily increasing.

As I said, disconnecting these devices and reconnecting them (physically) solves the immediate problem… Where do I start looking?

EDIT: I moved the Z-wave controller back to its separate USB port and it is working fine for now.

You need to use symlinks if you have more than one usb device connected. Upon restarts the ports sometime change and you can avoid that with symlinks.
Search the forum or the net on how to do that.

Already did that because of my earlier problems with the rfxtrx. Since these problems appeared I did the same for zwave, so the devices in openHAB are /dev/rfxtrx0 and /dev/zwave0