View Single Post
Old 01-29-2018, 03:50 AM   #19
aplund
Junior Member
 
Join Date: Jan 2018
Posts: 4
Default

I have confirmed that this is the bit that makes things work:

Quote:
#### Disable audio suspend
* `sudo gedit /etc/pulse/default.pa`. Comment out the line indicated below.

```
### Automatically suspend sinks/sources that become idle for too long
# load-module module-suspend-on-idle
```
Interestingly it is only _one_ device that detaches from the bus (the 17e9:6006 device) which can be confirmed by watching "udevadm monitor".

I couldn't figure out why it was disconnecting. I tried all sorts of other approaches using the power/control interface as suggested, but nothing worked.
I think the runtime PM of the audio output was a crucial part. I have a feeling that the CDC ethernet device might have something to do with it as well in as much as determining exactly _when_ a disconnect will occur.

The way this probably should be dealt with is via the DisplayLinkManager process as there is no kernel module for the display link device. The way this is done seems to just access USB data via the usbdevfs interface. I'm not sure if there is a way to stop the runtime PM stuff through that interface, but the DisplayLinkManager binary blob people should work on getting this fixed as nobody else can work on it (by design). Having audio output constantly on is a _hack_ and shouldn't be the way to rely on keeping the USB link up. Perhaps there is a less power intensive hack to achieve the same result.
aplund is offline   Reply With Quote