All of lore.kernel.org
 help / color / mirror / Atom feed
From: Geraldo Nascimento <geraldogabriel@gmail.com>
To: Nandakumar Edamana <nandakumar@nandakumar.co.in>
Cc: alsa-devel@alsa-project.org
Subject: Re: Behringer UMC202HD issues and a partial solution
Date: Thu, 13 Jan 2022 16:00:28 -0300	[thread overview]
Message-ID: <YeB2zEnPlwVEKbTI@geday> (raw)
In-Reply-To: <d61a41eb-a820-b1ca-dcf6-f447f80494a8@nandakumar.co.in>

On Thu, Jan 13, 2022 at 08:07:49PM +0530, Nandakumar Edamana wrote:
> Trying to make my Behringer UMC202HD audio interface work with GNU/Linux.
> While doing so, I managed to make a warning disappear by editing a file in
> the kernel source. The main issue I'm having with the interface isn't 
> gone, and
> I am not sure whether to bother you people with that now. However I'd 
> like to
> read your comments on the edit I made regarding the warning.
> 
> Details:
> 
> - Product: 1397:0507 BEHRINGER International GmbH UMC202HD 192k
> - dmesg warning: clock source 41 is not valid, cannot use
> - kernel: linux-5.15.13
> - Edit that made the warning disappear:
> 
> $ diff -u sound/usb/clock.c.orig sound/usb/clock.c
> --- sound/usb/clock.c.orig    2022-01-13 08:14:49.555281286 +0530
> +++ sound/usb/clock.c    2022-01-13 08:18:38.004618792 +0530
> @@ -180,7 +180,11 @@
>        * Sample rate changes takes more than 2 seconds for this device. 
> Clock
>        * validity request returns false during that period.
>        */
> -    if (chip->usb_id == USB_ID(0x07fd, 0x0004)) {
> +    if (chip->usb_id == USB_ID(0x07fd, 0x0004) ||
> +        /* Trying the same for BEHRINGER International GmbH UMC202HD 
> 192k */
> +        chip->usb_id == USB_ID(0x1397, 0x0507)
> +        )
> +    {
>           count = 0;
> 
>           while ((!ret) && (count < 50)) {
> 
> 
> 
> Yes, I was just adding the ID of UMC202HD to an existing workaround. I'm not
> sure if the device's clock should actually be accepted (but I think so 
> because
> the retry works, right?), or if two seconds is the right delay for UMC202HD.
> 
> The real issue I'm having with this device is related to the periodic
> stuttering/pops while playback (recording is okay).

Hi Nandakumar,

You made the dmesg warning go away, but that didn't necessarily solve
the underlying issue. May I ask that you post the "lsusb -v -d
1397:0507" ?

I may ask you to activate dyndbg for the snd-usb-audio module next.

> I remember having read that
> UMC20x is well-supported in Linux. Maybe now they're using a different
> firmware version or something?

Seems to be a different revision indeed, but don't worry, most of the
time these bugs are fixable.

> If you are interested, here is a list of 
> things
> I've already tried:
> 
> - Different ports, including USB 2.0, and disabling xHCI using `setpci`
> - Disconnecting other USB devices
> - Disabling wireless
> - Making sure speech-dispatcher isn't running
> - Old and new GNU/Linux distros on different computers
> - Switching sound servers (PulseAudio and JACK) and direct ALSA
> - Different sampling rates, buffer sizes, etc.
> - Lower volume levels
> - Making sure there are no xruns
> - tsched=0 and 1 for module-udev-detect (pulse)
> - realtime-scheduling, high-priority, and nice-level (pulse)
> - Choosing Performance mode for CPU Governer and disabling Intel Boost
>    (as recommended by Ubuntu Studio dashboard)
> - lowlatency kernel
> - A recent kernel (v5.15.13) built from source with oldconfig
> - Clock source workaround in sound/usb/clock.c
> - Quirk entries in sound/usb/implicit.c (I won't claim I did it right)
> 
> Again, I'd like to hear your comments on the clock detection workaround 
> first,
> since that's the only thing I seem to have solved with all these hours spent
> (except for learning a lot, of course). But if you have time, please 
> consider
> the second (main) issue also. Maybe I'm posting this in the wrong place; 
> if so,
> please let me know where to repost it (official forum or a kernel 
> mailing list).

alsa-devel is the place where finished contributions land, but it's also
a place to ask for lower-level help in ALSA development. Don't worry,
you are in the right place.

> 
> Thank you,
> 
> -- 
> Nandakumar Edamana
> https://nandakumar.org
> 
> GPG Key: https://nandakumar.org/contact/gpgkey.asc
> GPG Key Fingerprint: BA6B 8FDE 644F F861 B638  3E2F 45D6 05FC 646A F75D
> 

  reply	other threads:[~2022-01-13 19:01 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-01-13 14:37 Behringer UMC202HD issues and a partial solution Nandakumar Edamana
2022-01-13 19:00 ` Geraldo Nascimento [this message]
2022-01-14  2:34   ` Nandakumar Edamana
2022-01-14  3:41     ` Geraldo Nascimento
2022-01-14  4:36       ` Nandakumar Edamana
2022-01-14  7:44         ` Geraldo Nascimento
2022-01-14 13:39           ` Nandakumar Edamana
2022-01-14 22:28             ` Geraldo Nascimento
     [not found]               ` <5fba3e63-6fd2-de1c-1564-ac6b8870e730@nandakumar.co.in>
2022-01-16  1:00                 ` Geraldo Nascimento
2022-01-18 11:20                   ` Nandakumar Edamana
2022-01-18 19:20                     ` Geraldo Nascimento

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=YeB2zEnPlwVEKbTI@geday \
    --to=geraldogabriel@gmail.com \
    --cc=alsa-devel@alsa-project.org \
    --cc=nandakumar@nandakumar.co.in \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.