How to annotate USB jacks without jack detection?

Kai-Heng Feng kai.heng.feng at canonical.com
Fri Dec 11 13:31:45 CET 2020



On Fri, Dec 11, 2020 at 10:06, Takashi Iwai <tiwai at suse.de> 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



More information about the Alsa-devel mailing list