alsa-devel.alsa-project.org archive mirror
 help / color / mirror / Atom feed
From: Dan Aloni <dan@kernelim.com>
To: Takashi Iwai <tiwai@suse.de>
Cc: alsa-devel@alsa-project.org
Subject: Re: on-board sound on ASUS TRX-40
Date: Thu, 22 Oct 2020 21:08:42 +0300	[thread overview]
Message-ID: <20201022180842.GA1337888@gmail.com> (raw)
In-Reply-To: <s5htuum9r8z.wl-tiwai@suse.de>

On Thu, Oct 22, 2020 at 06:09:48PM +0200, Takashi Iwai wrote:
> On Thu, 22 Oct 2020 17:49:59 +0200,
> Dan Aloni wrote:
> > 
> > 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.
> 
> Could you show the patch you've tried?  Fitting the above into two
> tables should be straightforward.

Well I have almost zero familiarity with the code base, so it's really
not trivial to me. I still have gaps. Please explain:

- Maybe I conflated UnitId and TerminalId, when analyzing `lsusb -v`,
  are these both referring to units?
- I assume bSourceId refers to another descriptor UnitId, is that right?
- Out of the 18 possible entries in `usbmix_name_map` in this case how
  it is decided to omit certain input and output terminals? Should all
  feature units are necessarily described?
- What is the purpose of `usbmix_connector_map` array, and how to decide
  to add entries to this array? Is it done relative to `usbmix_name_map`
  omissions?
- Is there a tool that can better describe the topology based on `lsusb
  -v` output?
- Seems that `mixer_maps.c` compensates for knowledge not obtained from
  `lsusb -v`, or all of it can be obtained?

Thanks.

-- 
Dan Aloni

  reply	other threads:[~2020-10-22 18:09 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-10-22  8:17 on-board sound on ASUS TRX-40 Dan Aloni
2020-10-22  9:14 ` Takashi Iwai
2020-10-22 10:18   ` Dan Aloni
2020-10-22 10:24     ` Takashi Iwai
2020-10-22 12:33       ` Dan Aloni
2020-10-22 12:36         ` Takashi Iwai
2020-10-22 12:51           ` Dan Aloni
2020-10-22 12:57             ` Takashi Iwai
2020-10-22 15:49               ` Dan Aloni
2020-10-22 16:09                 ` Takashi Iwai
2020-10-22 18:08                   ` Dan Aloni [this message]
2020-11-04 11:03 apt-ghetto

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20201022180842.GA1337888@gmail.com \
    --to=dan@kernelim.com \
    --cc=alsa-devel@alsa-project.org \
    --cc=tiwai@suse.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).