Support for NUX MG-300 USB interface
Takashi Iwai
tiwai at suse.de
Mon Jan 18 22:59:08 CET 2021
On Mon, 18 Jan 2021 22:15:26 +0100,
Mike Oliphant wrote:
>
> Progress - thanks for the patch!
>
> That got rid of the clock errors, and the the device now reports a 48000
> sample rate, which is correct.
>
> Unfortunately, it still isn't working properly. Playback doesn't seem to work
> at all. Capture kind of works - it does record, but the audio is extremely
> noisy.
>
> Here is the current dmesg output when the device is connected.
>
> Notable is the error "No valid sample rate available for 1:1, assuming a
> firmware bug".
>
> Also notable is "1:1 Set sample rate 48000, clock 40" - where "40" is the id
> of the clock selector - "41" is the id of the actual clock source. So maybe
> something is still getting wired up wrong?
OK, how about the one below instead?
Takashi
--- a/sound/usb/clock.c
+++ b/sound/usb/clock.c
@@ -298,6 +298,12 @@ static int __uac_clock_find_source(struct snd_usb_audio *chip,
if (selector) {
int ret, i, cur;
+ if (selector->bNrInPins == 1) {
+ uac_clock_selector_set_val(chip, selector->bClockID, 1);
+ ret = 1;
+ goto find_source;
+ }
+
/* the entity ID we are looking for is a selector.
* find out what it currently selects */
ret = uac_clock_selector_get_val(chip, selector->bClockID);
@@ -314,6 +320,7 @@ static int __uac_clock_find_source(struct snd_usb_audio *chip,
return -EINVAL;
}
+ find_source:
cur = ret;
ret = __uac_clock_find_source(chip, fmt,
selector->baCSourceID[ret - 1],
More information about the Alsa-devel
mailing list