On Thu, Oct 22, 2020 at 02:57:56PM +0200, Takashi Iwai wrote: > > > > Upon plugging or unplugging the headphone, the unitid of 11 matches the > > > > unit in `trx40_mobo_connector_map`, although two events are happening - > > > > two for plug and two for unplug. There's another event for '7', and > > > > changing the second item of `static const struct usbmix_connector_map` > > > > from 11 to 7 does not seem to affect it. > > > > > > Well, then I'm afraid that it has yet another mapping of the units. > > > You'd need to create the whole map from the topology, and rewrite the > > > connector_map as well. > > > > Would be helpful a USB trace from KVM, when running a Windows VM that > > successfully manages this device following USB redirection? I can > > produce this given instructions, if you have them handy. > > The topology is found in lsusb -v output. It's the connection among > units. More importantly, the maps only care about the certain units > like input/output terminals and feature unit. You can look at those > and correct the corresponding unit ids. It shows 6 triplelets of input terminal, feature unit, and output terminal, and they are structured like this: IT[7] -> FU[19] -> OT[13] Line-in USB Streaming IT[8] -> FU[20] -> OT[14] Rear Mic-In USB Streaming IT[9] -> FU[21] -> OT[15] Desktop Mic USB Streaming IT[10] -> FU[22] -> OT[16] Headphone Speaker IT[11] -> FU[23] -> OT[17] USB Streaming Headphone IT[12] -> FU[24] -> OT[18] USB Streaming SPDIF interface Not sure how to make sense of that to a usbmix_name_map array and/or usbmix_connector_map array combination that works. My trials so far have not yielded a good result. -- Dan Aloni