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