046d:09a4 USB mixer quirks not applied correctly for Logitech E3500 webcam microphone
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
linux (Ubuntu) |
Triaged
|
Medium
|
Unassigned |
Bug Description
Having problems getting microphone working on Logitech E3500 webcam. It's worked before but I can't say when.
I noticed messages from snd-usb-audio relating to "Unlikely big volume range" which at first glance at the code in sound/usb/mixer.c in volume_
So I added some debug into the module and see that the quirk handler code compares kctl->id.name against "Mic Capture Volume" and this test fails every time.
This appears to be because the quirk handler code is called via get_min_
With my debug added to sound/usb/mixer.c, I see:
[53438.864077] usb 1-1: new high-speed USB device number 8 using ehci_hcd
[53439.105737] uvcvideo: Found UVC 1.00 device <unnamed> (046d:09a4)
[53439.133317] input: UVC Camera (046d:09a4) as /devices/
[53440.136199] 8:3:1: cannot get freq at ep 0x86
[53440.136447] usb_audio:
Debug line 1165 shows the current value of kctl->id.name is empty just before the call to get_min_
[53440.136456] usb_audio:
[53440.136463] usb_audio: 806 f11b3700
Debug line at 806 at top of volume_
[53440.136469] usb_audio:826::
Debug line at 826 shows kctl->id.name is empty so no quirk is applied
[53440.136480] usb_audio:
Debug line at 1216 shows that after the "switch (control)" block the kctl->id.name is now set up
[53440.136492] usb_audio:
Repeat the above for the Mic Capture Volume, the interesting control
[53440.907700] usb_audio:
[53440.907710] usb_audio: 806 f11b3200
Debug line at 806 at top of volume_
[53440.907717] usb_audio:826::
Debug line at 826 shows kctl->id.name is empty so no quirk is applied
[53440.907728] usb_audio:
Debug line at 1216 shows that after the "switch (control)" block the kctl->id.name is now set up
[53440.907736] usb_audio: Warning! Unlikely big volume range (=3072), cval->res is probably wrong.
[53440.907748] usb_audio: [5] FU [Mic Capture Volume] ch = 1, val = 5888/8960/1
And then we get the warning that the volume range is bad because the quirk handler didn't get applied
My guess is that this causes the microphone to not have its input range adjusted as expected and thus it only ever picks up silence.
ProblemType: Bug
DistroRelease: Ubuntu 12.04
Package: linux-image-
ProcVersionSign
Uname: Linux 3.2.0-57-generic i686
AlsaVersion: Advanced Linux Sound Architecture Driver Version 1.0.24.
ApportVersion: 2.0.1-0ubuntu17.6
Architecture: i386
AudioDevicesInUse:
USER PID ACCESS COMMAND
/dev/snd/
/dev/snd/
CRDA: Error: [Errno 2] No such file or directory
Card0.Amixer.info:
Card hw:0 'I82801DBICH4'
Mixer name : 'Analog Devices AD1981B'
Components : 'AC97a:41445374'
Controls : 28
Simple ctrls : 20
Card1.Amixer.info:
Card hw:1 'U0x46d0x9a4'/'USB Device 0x46d:0x9a4 at usb-0000:00:1d.7-1, high speed'
Mixer name : 'USB Mixer'
Components : 'USB046d:09a4'
Controls : 2
Simple ctrls : 1
Card1.Amixer.
Simple mixer control 'Mic',0
Capabilities: cvolume cvolume-joined cswitch cswitch-joined penum
Capture channels: Mono
Limits: Capture 0 - 3072
Mono: Capture 3069 [100%] [34.98dB] [on]
Date: Tue Dec 31 01:08:46 2013
HibernationDevice: RESUME=
InstallationMedia: Lubuntu 12.04 "Precise Pangolin" - Release i386 (20120423)
MachineType: Sony Corporation VGN-S2HP(GB)
MarkForUpload: True
ProcEnviron:
LANGUAGE=en_GB:en
TERM=xterm
PATH=(custom, no user)
LANG=en_GB.UTF-8
SHELL=/bin/bash
ProcFB: 0 radeondrmfb
ProcKernelCmdLine: BOOT_IMAGE=
RelatedPackageV
linux-
linux-
linux-firmware 1.79.9
SourcePackage: linux
UpgradeStatus: No upgrade log present (probably fresh install)
dmi.bios.date: 10/18/2004
dmi.bios.vendor: Phoenix Technologies LTD
dmi.bios.version: R0071G4
dmi.chassis.
dmi.chassis.type: 10
dmi.chassis.vendor: Sony Corporation
dmi.chassis.
dmi.modalias: dmi:bvnPhoenixT
dmi.product.name: VGN-S2HP(GB)
dmi.product.
dmi.sys.vendor: Sony Corporation
Changed in linux (Ubuntu): | |
status: | Incomplete → Confirmed |
tags: | added: cherry-pick |
Changed in linux (Ubuntu): | |
status: | Confirmed → Triaged |
This change was made by a bot.