[PATCH] Behringer UFX1604: get rid of pops and clicks while on 96000hz

Geraldo geraldogabriel at gmail.com
Thu Mar 25 23:45:53 CET 2021


Oh, forgot to mention. Both IN and OUT audio endpoints on the UFX1604 are
Synchronous. Somehow someone thought it was a good idea to add an implicit
feedback quirk for it.

I consider this unneeded and pointless. In fact I disengaged the implicit
feedback quirk on my 5.12-rc4 tree and it runs fine without it.

On Thu, Mar 25, 2021 at 7:39 PM Geraldo <geraldogabriel at gmail.com> wrote:

> Hello everyone!
>
> This one has been bugging me for quite a while. I went deep hard in the
> guts of ALSA to try to solve it, and it turned out to be a minor thing
> apparently. The problem is old, and every UFX1604 Linux user can attest
> that it's impossible to use 96000hz in DUPLEX mode without annoying pops
> and clicks on the capture stream.
>
> The fix is simple: after we alter the CLOCK_SOURCE to match our sample
> rate, let's tell the CLOCK_SELECTOR we want CLOCK_SOURCE 212 (synced to USB
> SOF) on pin 1. Solves the problem for me, no more pops and clicks while on
> 96000hz.
>
> If you own an UFX1604 please give this patch a good testing. Let me know
> if it solves the pops and clicks on the input stream for you while on
> DUPLEX 96000hz.
>
> --- clock.c.git 2021-03-22 04:19:55.543485748 -0300
> +++ clock.c     2021-03-25 19:23:38.597197159 -0300
> @@ -610,6 +610,13 @@ int snd_usb_set_sample_rate_v2v3(struct
>         if (err < 0)
>                 return err;
>
> +        if (chip->usb_id == USB_ID(0x1397, 0x0001)) { /* Behringer
> UFX1604 */
> +                printk(KERN_WARNING "Setting clock selector for UFX1604");
> +                err = uac_clock_selector_set_val(chip, 211, 1);
> +                if (err < 0)
> +                    return err;
> +       }
> +
>         return get_sample_rate_v2v3(chip, fmt->iface, fmt->altsetting,
> clock);
>  }
>
>


More information about the Alsa-devel mailing list