On Fri, 11 Dec 2020 08:14:24 +0100, Kai-Heng Feng wrote:
Hi,
There are some UAC1 devices come with jacks, but without jack detection ability. And many USB/Thunderbolt docks are equipped with such USB device.
Userspace like PulseAudio automatically switch to USB audio when they gets plugged. However, auto-switching to UAC1 device can be problematic because it may not connected to any headset or speaker.
So I wonder what's the best way to let userspace know the USB device is a jack without jack detection ability? Through sysfs or dedicated UCM conf?
It's a good question. AFAIK, that's a long-standing problem, and most of such devices provide the jack detection via HID, which is, obviously, a completely different driver. So, if HID driver actually creates input devices, we'd need to associate them with the sound card somehow (likely in user-space). But I have no clear idea what's the best approach yet.
Also, I'm not sure whether HID device really gives the right jack detection event. A cheap UAC1 device I have here doesn't seem to give the jack detection but only the mute/volume events, as it seems...
OTOH, there are some UAC2 devices providing the jack detection in the USB-audio interface, and they seem work as is of now.
thanks,
Takashi