On Fri, Dec 11, 2020 at 10:06, Takashi Iwai <tiwai@xxxxxxx> wrote:
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.
I didn't know that. Thanks for the info!
That explains the reason why HP TBT dock can do jack detection under
Windows, while it's just a UAC1 device.
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...
For the HP TBT dock I can see a plug/unplug events, from its USB HID
interface.
OTOH, there are some UAC2 devices providing the jack detection in the
USB-audio interface, and they seem work as is of now.
Now I know the event is from its HID interface, let me see if I can
hook them together.
Kai-Heng
thanks,
Takashi