[PATCH v2] sound/usb : Fix mic sound on Jieli webcam
Marco Giunta
giun7a at gmail.com
Sat Oct 16 17:38:25 CEST 2021
Hi,
this is my second attempt
(https://mailman.alsa-project.org/pipermail/alsa-devel/2020-December/178361.html)
to fix mic sound on a Jieli webcam. I found that the mic works only
when ep packet size is set to wMaxPacketSize, so I've removed the
datainterval hack. I also fixed the problem with the volume control
(mixer).
Now the mic sound works (no more Minion voice) and there are no more
errors in syslog about volume range. I arbitrarily choose a resolution
value (16): I read in a comment that there should be no more than 255
levels, so 4096 (max volume) / 16 = 0-255 ;-)
Could you review this patch?
Thanks,
Marco
Jieli Technology USB Webcam microphone needs some quirks to work.
Signed-off-by: Marco Giunta <giun7a at gmail.com>
---
sound/usb/mixer.c | 7 +++++++
sound/usb/quirks.c | 6 ++++++
2 files changed, 13 insertions(+)
diff --git a/sound/usb/mixer.c b/sound/usb/mixer.c
index 9b713b4a5..20ef12dd8 100644
--- a/sound/usb/mixer.c
+++ b/sound/usb/mixer.c
@@ -1198,6 +1198,13 @@ static void volume_control_quirks(struct
usb_mixer_elem_info *cval,
cval->res = 1;
}
break;
+ case USB_ID(0x1224, 0x2a25): /* Jieli Technology USB PHY 2.0 */
+ if (!strcmp(kctl->id.name, "Mic Capture Volume")) {
+ usb_audio_info(chip,
+ "set resolution quirk: cval->res = 16\n");
+ cval->res = 16;
+ }
+ break;
}
}
diff --git a/sound/usb/quirks.c b/sound/usb/quirks.c
index 326d1b0ea..2263e43fd 100644
--- a/sound/usb/quirks.c
+++ b/sound/usb/quirks.c
@@ -1534,6 +1534,7 @@ bool snd_usb_get_sample_rate_quirk(struct
snd_usb_audio *chip)
case USB_ID(0x2912, 0x30c8): /* Audioengine D1 */
case USB_ID(0x413c, 0xa506): /* Dell AE515 sound bar */
case USB_ID(0x046d, 0x084c): /* Logitech ConferenceCam Connect */
+ case USB_ID(0x1224, 0x2a25): /* Jieli Technology USB PHY 2.0 */
return true;
}
@@ -1874,6 +1875,11 @@ void
snd_usb_audioformat_attributes_quirk(struct snd_usb_audio *chip,
*/
fp->attributes &= ~UAC_EP_CS_ATTR_FILL_MAX;
break;
+ case USB_ID(0x1224, 0x2a25): /* Jieli Technology USB PHY 2.0 */
+ /* mic works only when ep packet size is set to wMaxPacketSize */
+ fp->attributes |= UAC_EP_CS_ATTR_FILL_MAX;
+ break;
+
}
}
--
2.31.1
More information about the Alsa-devel
mailing list