Public bug reported:

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_control_quirks shouldn't happen since the quirk handler should
fix things.

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_max_with_quirks from build_feature_ctl immediately before the
block of code which creates the kctl->id.name string.

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/pci0000:00/0000:00:1d.7/usb1/1-1/1-1:1.0/input/input12
[53440.136199] 8:3:1: cannot get freq at ep 0x86
[53440.136447] usb_audio:1165:f11b3700::
Debug line 1165 shows the current value of kctl->id.name is empty just before 
the call to get_min_max_with_quirks in build_feature_ctl, just before the 
"switch (control)" line.

[53440.136456] usb_audio:936:f11b3700
[53440.136463] usb_audio: 806 f11b3700
Debug line at 806 at top of volume_control_quirks shows valid kctl is passed in

[53440.136469] usb_audio:826::
Debug line at 826 shows kctl->id.name is empty so no quirk is applied

[53440.136480] usb_audio:1216:f11b3700:Mic Capture Switch:
Debug line at 1216 shows that after the "switch (control)" block the 
kctl->id.name is now set up

[53440.136492] usb_audio:1165:f11b3200::
Repeat the above for the Mic Capture Volume, the interesting control

[53440.907700] usb_audio:936:f11b3200
[53440.907710] usb_audio: 806 f11b3200
Debug line at 806 at top of volume_control_quirks shows valid kctl is passed in

[53440.907717] usb_audio:826::
Debug line at 826 shows kctl->id.name is empty so no quirk is applied

[53440.907728] usb_audio:1216:f11b3200:Mic Capture Volume:
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-3.2.0-57-generic 3.2.0-57.87
ProcVersionSignature: Ubuntu 3.2.0-57.87-generic 3.2.52
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/controlC1:  andy       2322 F.... pulseaudio
 /dev/snd/controlC0:  andy       2322 F.... pulseaudio
CRDA: Error: [Errno 2] No such file or directory
Card0.Amixer.info:
 Card hw:0 'I82801DBICH4'/'Intel 82801DB-ICH4 with AD1981B at irq 9'
   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.values:
 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=UUID=6eb2f8e7-fadb-4e67-b648-c7d4016d49ad
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=/boot/vmlinuz-3.2.0-57-generic 
root=UUID=519c7823-96d8-4c6b-81f9-f04e64f4cab6 ro quiet splash vt.handoff=7
RelatedPackageVersions:
 linux-restricted-modules-3.2.0-57-generic N/A
 linux-backports-modules-3.2.0-57-generic  N/A
 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.asset.tag: 6D1M000000000000000000190000
dmi.chassis.type: 10
dmi.chassis.vendor: Sony Corporation
dmi.chassis.version: N/A
dmi.modalias: 
dmi:bvnPhoenixTechnologiesLTD:bvrR0071G4:bd10/18/2004:svnSonyCorporation:pnVGN-S2HP(GB):pvrJ000JCYU:cvnSonyCorporation:ct10:cvrN/A:
dmi.product.name: VGN-S2HP(GB)
dmi.product.version: J000JCYU
dmi.sys.vendor: Sony Corporation

** Affects: linux (Ubuntu)
     Importance: Undecided
         Status: New


** Tags: apport-bug i386 precise

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1265103

Title:
  USB mixer quirks not applied correctly for Logitech E3500 webcam
  microphone (and others)

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1265103/+subscriptions

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to