2024-01-24 15:26:01

by Sean Young

[permalink] [raw]
Subject: [PATCH] ALSA: usb-audio: add quirk for RODE NT-USB+

The RODE NT-USB+ is marketed as a professional usb microphone, however the
usb audio interface is a mess:

[ 1.130977] usb 1-5: new full-speed USB device number 2 using xhci_hcd
[ 1.503906] usb 1-5: config 1 has an invalid interface number: 5 but max is 4
[ 1.503912] usb 1-5: config 1 has no interface number 4
[ 1.519689] usb 1-5: New USB device found, idVendor=19f7, idProduct=0035, bcdDevice= 1.09
[ 1.519695] usb 1-5: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 1.519697] usb 1-5: Product: RØDE NT-USB+
[ 1.519699] usb 1-5: Manufacturer: RØDE
[ 1.519700] usb 1-5: SerialNumber: 1D773A1A
[ 8.327495] usb 1-5: 1:1: cannot get freq at ep 0x82
[ 8.344500] usb 1-5: 1:2: cannot get freq at ep 0x82
[ 8.365499] usb 1-5: 2:1: cannot get freq at ep 0x2

Add QUIRK_FLAG_GET_SAMPLE_RATE to work around the broken sample rate get.
I have asked Rode support to fix it, but they show no interest.

Signed-off-by: Sean Young <[email protected]>
---
sound/usb/quirks.c | 2 ++
1 file changed, 2 insertions(+)

diff --git a/sound/usb/quirks.c b/sound/usb/quirks.c
index 07cc6a201579a..6f1f0712e7dc5 100644
--- a/sound/usb/quirks.c
+++ b/sound/usb/quirks.c
@@ -2179,6 +2179,8 @@ static const struct usb_audio_quirk_flags_table quirk_flags_table[] = {
QUIRK_FLAG_FIXED_RATE),
DEVICE_FLG(0x1bcf, 0x2283, /* NexiGo N930AF FHD Webcam */
QUIRK_FLAG_GET_SAMPLE_RATE),
+ DEVICE_FLG(0x19f7, 0x0035, /* RODE NT-USB+ */
+ QUIRK_FLAG_GET_SAMPLE_RATE),

/* Vendor matches */
VENDOR_FLG(0x045e, /* MS Lifecam */
--
2.43.0



2024-01-24 16:12:07

by Takashi Iwai

[permalink] [raw]
Subject: Re: [PATCH] ALSA: usb-audio: add quirk for RODE NT-USB+

On Wed, 24 Jan 2024 16:15:24 +0100,
Sean Young wrote:
>
> The RODE NT-USB+ is marketed as a professional usb microphone, however the
> usb audio interface is a mess:
>
> [ 1.130977] usb 1-5: new full-speed USB device number 2 using xhci_hcd
> [ 1.503906] usb 1-5: config 1 has an invalid interface number: 5 but max is 4
> [ 1.503912] usb 1-5: config 1 has no interface number 4
> [ 1.519689] usb 1-5: New USB device found, idVendor=19f7, idProduct=0035, bcdDevice= 1.09
> [ 1.519695] usb 1-5: New USB device strings: Mfr=1, Product=2, SerialNumber=3
> [ 1.519697] usb 1-5: Product: R?DE NT-USB+
> [ 1.519699] usb 1-5: Manufacturer: R?DE
> [ 1.519700] usb 1-5: SerialNumber: 1D773A1A
> [ 8.327495] usb 1-5: 1:1: cannot get freq at ep 0x82
> [ 8.344500] usb 1-5: 1:2: cannot get freq at ep 0x82
> [ 8.365499] usb 1-5: 2:1: cannot get freq at ep 0x2
>
> Add QUIRK_FLAG_GET_SAMPLE_RATE to work around the broken sample rate get.
> I have asked Rode support to fix it, but they show no interest.
>
> Signed-off-by: Sean Young <[email protected]>

Applied now. Thanks.


Takashi