From: Takashi Iwai <tiwai@suse.de>
To: Alexey Fisher <bug-track@fisher-privat.net>
Cc: alsa-devel@alsa-project.org, clemens@ladisch.de
Subject: Re: [PATCH] Mixer quirk for QuickCam E 3500
Date: Wed, 22 Jul 2009 11:33:29 +0200 [thread overview]
Message-ID: <s5hws6112qe.wl%tiwai@suse.de> (raw)
In-Reply-To: <4A66A07D.4010105@fisher-privat.net>
At Wed, 22 Jul 2009 07:15:41 +0200,
Alexey Fisher wrote:
>
> Takashi Iwai schrieb:
> > At Tue, 21 Jul 2009 23:57:46 +0200,
> > Alexey Fisher wrote:
> >> Takashi Iwai schrieb:
> >>> At Tue, 21 Jul 2009 23:10:42 +0200,
> >>> Alexey Fisher wrote:
> >>>> 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>
> >>> Thanks for the patch. The added code looks almost good.
> >>> But, it's better to put your code into another place, e.g. a bit
> >>> later so that you don't insert it between the comment and the other
> >>> code. Also, if you use switch(), you need break.
> >>>
> >>> In your case, simply put a new if () block with a proper comment
> >>> after that switch() block. It's not necessarily merged into a single
> >>> switch. The compiler should be clever enough.
> >>>
> >>> Also, try to keep the patch checkpatch.pl-clean. Run it once before
> >>> submitting your patch.
> >>>
> >>> Could you fix these and repost?
> >>>
> >>>
> >>> thanks,
> >>>
> >>> Takashi
> >>>
> >>>> ---
> >>>> 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):
> >> There is some thing wrong with this. After suspend and resume this quirk
> >> not working. Even replug the cam not help, only reloading of
> >> snd_usb_sound will do it work again.
> >
> > But isn't it irrelevant with your patch?
> >
> >
> > Takashi
>
> it should be irrelevant, but some times it doesn't use this quirk. Seems
> like it depend on my usb.. so if quirk is not used there passably (if
> capture level set to more then 90%) will be no sound on this cam.
>
> here is example. On this port it's working fine:
> ===========================================================================
> [ 1197.141867] ALSA sound/usb/usbaudio.c:2802: 17:3:1: add audio
> endpoint 0x86
> [ 1198.144187] ALSA sound/usb/usbaudio.c:1295: 17:3:1: cannot get freq
> at ep 0x86
> [ 1198.144344] ALSA sound/usb/usbmixer.c:1017: [5] FU [Mic Capture
> Switch] ch = 1, val = 0/1/1
> [ 1198.917814] ALSA sound/usb/usbmixer.c:1000: using volume control
> quirk for the QuickCam E3500
> [ 1198.917818] ALSA sound/usb/usbmixer.c:1017: [5] FU [Mic Capture
> Volume] ch = 1, val = 6080/8768/192
> [ 1198.972148] ALSA sound/usb/usbaudio.c:1349: setting usb interface 3:1
> [ 1198.999384] ALSA sound/usb/usbaudio.c:1349: setting usb interface 3:1
> ==================================================================================
>
> and quirk is applied:
> =================================================================
> amixer -D hw:1
> Simple mixer control 'Mic',0
> Capabilities: cvolume cvolume-joined cswitch cswitch-joined
> Capture channels: Mono
> Limits: Capture 0 - 14
> Mono: Capture 14 [100%] [34.25dB] [on]
> ======================================================================
>
>
>
> On this port it's looks different:
> ==================================================================
> [ 434.298740] ALSA sound/usb/usbaudio.c:2802: 16:3:1: add audio
> endpoint 0x86
> [ 435.296189] ALSA sound/usb/usbaudio.c:1288: 16:3:1: cannot set freq
> 16000 to ep 0x86
> [ 435.296346] ALSA sound/usb/usbmixer.c:1017: [5] FU [Mic Capture
> Switch] ch = 1, val = 0/1/1
> [ 436.055930] ALSA sound/usb/usbmixer.c:374: cannot get ctl value: req
> = 0x83, wValue = 0x200, wIndex = 0x502, type = 4
> [ 436.055936] ALSA sound/usb/usbmixer.c:730: 5:2: cannot get min/max
> values for control 2 (id 5)
> [ 436.055954] ALSA sound/usb/usbmixer.c:1000: using volume control
> quirk for the QuickCam E3500
> [ 436.055957] ALSA sound/usb/usbmixer.c:1017: [5] FU [Mic Capture
> Volume] ch = 1, val = 6080/8768/192
> [ 436.107018] ALSA sound/usb/usbaudio.c:1349: setting usb interface 3:1
> [ 436.133640] ALSA sound/usb/usbaudio.c:1349: setting usb interface 3:1
> ========================================================================
>
> and quirk is not working:
> =========================================================
> amixer -D hw:1
> Simple mixer control 'Mic',0
> Capabilities: cvolume cvolume-joined cswitch cswitch-joined
> Capture channels: Mono
> Limits: Capture 0 - 3072
> Mono: Capture 3072 [100%] [23.00dB] [on]
> ============================================================
>
> this can't be reproduce with every plug in.. but some port have better
> possibility to get error. On this kind of port the setting can be
> changed after resume.
Hm, then it means that chip->usb_id has a different number.
Could you check with printk?
Takashi
next prev parent reply other threads:[~2009-07-22 9:33 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-07-21 21:10 [PATCH] Mixer quirk for QuickCam E 3500 Alexey Fisher
2009-07-21 21:40 ` Takashi Iwai
2009-07-21 21:57 ` Alexey Fisher
2009-07-21 22:01 ` Takashi Iwai
2009-07-22 5:15 ` Alexey Fisher
2009-07-22 9:33 ` Takashi Iwai [this message]
2009-07-22 10:37 ` Alexey Fisher
2009-07-22 9:16 ` [PATCH] Volume control " Alexey Fisher
2009-07-22 9:32 ` Takashi Iwai
2009-07-22 10:42 ` Alexey Fisher
2009-07-22 10:44 ` Takashi Iwai
2009-07-22 11:28 ` Alexey Fisher
2009-07-22 11:30 ` Alexey Fisher
2009-07-22 11:40 ` Takashi Iwai
2009-07-22 12:18 ` Alexey Fisher
2009-07-22 12:47 ` Takashi Iwai
2009-07-22 12:57 ` Alexey Fisher
2009-07-22 14:32 ` Takashi Iwai
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=s5hws6112qe.wl%tiwai@suse.de \
--to=tiwai@suse.de \
--cc=alsa-devel@alsa-project.org \
--cc=bug-track@fisher-privat.net \
--cc=clemens@ladisch.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox