1. E3500 report cval->max more than it actually can handel, so if you set 95% capture level it will be muted. 2. betwen cval->min and cval-max(real) is 2940 control units, but real are only 7. 3. we found only 7 real control units, with cval->res = 384, but alsa can't handel less than 10 controls, so make it more and set cval->res = 192.
Signed-off-by: Alexey Fisher bug-track@fisher-privat.net --- sound/usb/usbmixer.c | 7 +++++++ 1 files changed, 7 insertions(+), 0 deletions(-)
diff --git a/sound/usb/usbmixer.c b/sound/usb/usbmixer.c index 4bd3a7a..72562ee 100644 --- a/sound/usb/usbmixer.c +++ b/sound/usb/usbmixer.c @@ -995,6 +995,13 @@ static void build_feature_ctl(struct mixer_build *state, unsigned char *desc, /* is not very clear from datasheets */ /* I hope that the min value is -15360 for newer firmware --jk */ switch (state->chip->usb_id) { + case USB_ID(0x046d, 0x09a4): + if (!strcmp(kctl->id.name, "Mic Capture Volume")) { + snd_printk(KERN_INFO "using volume control quirk for the QuickCam E3500\n"); + cval->min = 6080; + cval->max = 8768; + cval->res = 192; + } case USB_ID(0x0471, 0x0101): case USB_ID(0x0471, 0x0104): case USB_ID(0x0471, 0x0105):