Well, in the case of a Lenovo 4338, a quick google shows it is based on the SMSC2517, (https://joes-tech-blog.blogspot.com/2017/09/whats-inside-lenovo-docking-station-for.html) and well, another quick google show SMSC was aquired by Microchip, and after a third Google, I can tell you the USB controller chip and see that it even has published suspend-related errata that they do not plan on fixing that was discovered in Windows 8 days.
Some excerpts below:
Module 1:
End of User Impacts:
Port might fail to go into SUSPEND.
Solution:
This will not be addressed in a future version of the device.
Module 2:
End of User Impacts:
Device might not enumerate.
Solution:
Use external power on reset circuit (for example, reset circuit with MAX809S(V2.9V) voltage supervisor)
Likely these quirks are not being backported into the drivers, to workaround in software for certain scenarios, and so are being stumbled upon with more advanced multi-device scenarios now supported in newer Ubuntu versions.
I would isolate the dock showing that the scenario works with a different port replicator/chip, and then either
a) use the other port replicator
b) reach out to the maintainer of the driver, see if you can give him some hardware, a reproducable scenario, you might be able to get a fix
c) find a developer for hire, do the same, upstream a patch
Well, in the case of a Lenovo 4338, a quick google shows it is based on the SMSC2517, (https:/ /joes-tech- blog.blogspot. com/2017/ 09/whats- inside- lenovo- docking- station- for.html) and well, another quick google show SMSC was aquired by Microchip, and after a third Google, I can tell you the USB controller chip and see that it even has published suspend-related errata that they do not plan on fixing that was discovered in Windows 8 days.
Some excerpts below:
Module 1:
End of User Impacts:
Port might fail to go into SUSPEND.
Solution:
This will not be addressed in a future version of the device.
Module 2:
End of User Impacts:
Device might not enumerate.
Solution:
Use external power on reset circuit (for example, reset circuit with MAX809S(V2.9V) voltage supervisor)
https:/ /ww1.microchip. com/downloads/ en/DeviceDoc/ 80000628A. pdf
Likely these quirks are not being backported into the drivers, to workaround in software for certain scenarios, and so are being stumbled upon with more advanced multi-device scenarios now supported in newer Ubuntu versions.
I would isolate the dock showing that the scenario works with a different port replicator/chip, and then either
a) use the other port replicator
b) reach out to the maintainer of the driver, see if you can give him some hardware, a reproducable scenario, you might be able to get a fix
c) find a developer for hire, do the same, upstream a patch