All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2] sound/usb : Fix mic sound on Jieli webcam
@ 2021-10-16 15:38 Marco Giunta
  2021-10-17  7:12 ` Takashi Iwai
  0 siblings, 1 reply; 5+ messages in thread
From: Marco Giunta @ 2021-10-16 15:38 UTC (permalink / raw)
  To: alsa-devel; +Cc: tiwai

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@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

^ permalink raw reply related	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2021-10-19  7:03 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-10-16 15:38 [PATCH v2] sound/usb : Fix mic sound on Jieli webcam Marco Giunta
2021-10-17  7:12 ` Takashi Iwai
2021-10-18 16:25   ` [PATCH v3] ALSA: usb-audio: Fix microphone " Marco Giunta
2021-10-19  6:08     ` Takashi Iwai
2021-10-19  7:02       ` [PATCH v2] " Marco Giunta

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.