[USB-Audio - Logitech B530 USB Headset, recording] Recording problem

Bug #1159687 reported by Ara Pulido
22
This bug affects 4 people
Affects Status Importance Assigned to Milestone
pulseaudio (Ubuntu)
Fix Released
Undecided
David Henningsson

Bug Description

I upgraded to Raring from Precise (two steps upgrade) and now, when I plugged my USB headset a new Analog Output appears correctly in the sound control.

However, the only available input is still the internal one (see screenshot) and I can only use the internal microphone.

ProblemType: Bug
DistroRelease: Ubuntu 13.04
Package: alsa-base 1.0.25+dfsg-0ubuntu4
ProcVersionSignature: Ubuntu 3.8.0-14.24-generic 3.8.4
Uname: Linux 3.8.0-14-generic x86_64
ApportVersion: 2.9.2-0ubuntu2
Architecture: amd64
AudioDevicesInUse:
 USER PID ACCESS COMMAND
 /dev/snd/controlC1: ara 3538 F.... pulseaudio
 /dev/snd/controlC0: ara 3538 F.... pulseaudio
 /dev/snd/pcmC0D0c: ara 3538 F...m pulseaudio
Date: Mon Mar 25 10:45:14 2013
InstallationDate: Installed on 2011-05-16 (678 days ago)
InstallationMedia: Ubuntu 11.04 "Natty Narwhal" - Release amd64 (20110427.1)
MarkForUpload: True
PackageArchitecture: all
SourcePackage: alsa-driver
Symptom: audio
Symptom_AlsaRecordingTest: ALSA recording test through plughw:Headset successful
Symptom_Card: Logitech B530 USB Headset - Logitech B530 USB Headset
Symptom_PulseAudioRecordingTest: PulseAudio recording test through plughw:Headset successful
Symptom_Type: Only some of inputs are working
Title: [USB-Audio - Logitech B530 USB Headset, recording] Recording problem
UpgradeStatus: Upgraded to raring on 2013-03-24 (0 days ago)
dmi.bios.date: 07/11/2012
dmi.bios.vendor: LENOVO
dmi.bios.version: 8CET54WW (1.34 )
dmi.board.asset.tag: Not Available
dmi.board.name: 4171CTO
dmi.board.vendor: LENOVO
dmi.board.version: Not Available
dmi.chassis.asset.tag: No Asset Information
dmi.chassis.type: 10
dmi.chassis.vendor: LENOVO
dmi.chassis.version: Not Available
dmi.modalias: dmi:bvnLENOVO:bvr8CET54WW(1.34):bd07/11/2012:svnLENOVO:pn4171CTO:pvrThinkPadT420s:rvnLENOVO:rn4171CTO:rvrNotAvailable:cvnLENOVO:ct10:cvrNotAvailable:
dmi.product.name: 4171CTO
dmi.product.version: ThinkPad T420s
dmi.sys.vendor: LENOVO

Revision history for this message
Ara Pulido (ara) wrote :
Revision history for this message
Ara Pulido (ara) wrote :

In Precise it was working perfectly. I didn't test in Quantal.

Revision history for this message
Ara Pulido (ara) wrote :
Revision history for this message
Ara Pulido (ara) wrote :
Revision history for this message
Ara Pulido (ara) wrote :
Revision history for this message
Ara Pulido (ara) wrote :
Revision history for this message
David Henningsson (diwic) wrote : [PATCH] alsa-mixer: Add "Headset Playback|Capture" element

Found on Logitech B530 USB Headset / kernel 3.8. Because we don't
have different path for headset and headphone today, just add
Headset to the existing headphone path.

BugLink: https://bugs.launchpad.net/bugs/1159687
Signed-off-by: David Henningsson <email address hidden>
---
 .../alsa/mixer/paths/analog-input-headset-mic.conf | 7 +++++++
 .../alsa/mixer/paths/analog-output-headphones.conf | 7 +++++++
 2 files changed, 14 insertions(+)

diff --git a/src/modules/alsa/mixer/paths/analog-input-headset-mic.conf b/src/modules/alsa/mixer/paths/analog-input-headset-mic.conf
index c5aff1c..810c85f 100644
--- a/src/modules/alsa/mixer/paths/analog-input-headset-mic.conf
+++ b/src/modules/alsa/mixer/paths/analog-input-headset-mic.conf
@@ -44,6 +44,13 @@ volume = merge
 override-map.1 = all
 override-map.2 = all-left,all-right

+[Element Headset]
+required-any = any
+switch = mute
+volume = merge
+override-map.1 = all
+override-map.2 = all-left,all-right
+
 [Element Capture]
 switch = mute
 volume = merge
diff --git a/src/modules/alsa/mixer/paths/analog-output-headphones.conf b/src/modules/alsa/mixer/paths/analog-output-headphones.conf
index b878dc7..29358e7 100644
--- a/src/modules/alsa/mixer/paths/analog-output-headphones.conf
+++ b/src/modules/alsa/mixer/paths/analog-output-headphones.conf
@@ -69,6 +69,13 @@ volume = merge
 override-map.1 = all
 override-map.2 = all-left,all-right

+[Element Headset]
+required-any = any
+switch = mute
+volume = merge
+override-map.1 = all
+override-map.2 = all-left,all-right
+
 [Element Line HP Swap]
 switch = on

--
1.7.9.5

affects: alsa-driver (Ubuntu) → pulseaudio (Ubuntu)
Changed in pulseaudio (Ubuntu):
status: New → In Progress
assignee: nobody → David Henningsson (diwic)
Revision history for this message
Tanu Kaskinen (tanuk) wrote : Re: [pulseaudio-discuss] [PATCH] alsa-mixer: Add "Headset Playback|Capture" element

On Mon, 2013-03-25 at 15:00 +0100, David Henningsson wrote:
> Found on Logitech B530 USB Headset / kernel 3.8. Because we don't
> have different path for headset and headphone today, just add
> Headset to the existing headphone path.

Wouldn't it be better to have a headset path for output too, at least so
that the UI can show a more accurate description of the device? This
might be useful for automatic routing too, if the path configuration
would set the device.form_factor property.

--
Tanu

Revision history for this message
David Henningsson (diwic) wrote :

On 03/27/2013 10:52 AM, Tanu Kaskinen wrote:
> On Mon, 2013-03-25 at 15:00 +0100, David Henningsson wrote:
>> Found on Logitech B530 USB Headset / kernel 3.8. Because we don't
>> have different path for headset and headphone today, just add
>> Headset to the existing headphone path.
>
> Wouldn't it be better to have a headset path for output too, at least so
> that the UI can show a more accurate description of the device? This
> might be useful for automatic routing too, if the path configuration
> would set the device.form_factor property.

In 99% of all cases, a headset has a "Headphone" control. A "Headset"
control is really the exception. And given the HDA specification that is
unlikely to change in the near future.

As such, I think the extra path is not worth the cost.

--
David Henningsson, Canonical Ltd.
https://launchpad.net/~diwic

Revision history for this message
Tanu Kaskinen (tanuk) wrote :

On Wed, 2013-03-27 at 11:03 +0100, David Henningsson wrote:
> On 03/27/2013 10:52 AM, Tanu Kaskinen wrote:
> > On Mon, 2013-03-25 at 15:00 +0100, David Henningsson wrote:
> >> Found on Logitech B530 USB Headset / kernel 3.8. Because we don't
> >> have different path for headset and headphone today, just add
> >> Headset to the existing headphone path.
> >
> > Wouldn't it be better to have a headset path for output too, at least so
> > that the UI can show a more accurate description of the device? This
> > might be useful for automatic routing too, if the path configuration
> > would set the device.form_factor property.
>
> In 99% of all cases, a headset has a "Headphone" control. A "Headset"
> control is really the exception. And given the HDA specification that is
> unlikely to change in the near future.
>
> As such, I think the extra path is not worth the cost.

OK, you have my ack for the patch then.

--
Tanu

Revision history for this message
David Henningsson (diwic) wrote :

On 03/27/2013 11:06 AM, Tanu Kaskinen wrote:
> On Wed, 2013-03-27 at 11:03 +0100, David Henningsson wrote:
>> On 03/27/2013 10:52 AM, Tanu Kaskinen wrote:
>>> On Mon, 2013-03-25 at 15:00 +0100, David Henningsson wrote:
>>>> Found on Logitech B530 USB Headset / kernel 3.8. Because we don't
>>>> have different path for headset and headphone today, just add
>>>> Headset to the existing headphone path.
>>>
>>> Wouldn't it be better to have a headset path for output too, at least so
>>> that the UI can show a more accurate description of the device? This
>>> might be useful for automatic routing too, if the path configuration
>>> would set the device.form_factor property.
>>
>> In 99% of all cases, a headset has a "Headphone" control. A "Headset"
>> control is really the exception. And given the HDA specification that is
>> unlikely to change in the near future.
>>
>> As such, I think the extra path is not worth the cost.
>
> OK, you have my ack for the patch then.

Thanks, pushed to master and next branches now.

--
David Henningsson, Canonical Ltd.
https://launchpad.net/~diwic

Changed in pulseaudio (Ubuntu):
status: In Progress → Fix Committed
Revision history for this message
Steven S (mintcoffee) wrote :

I installed raring and this bug is still present in 13.04. Only the analog output appears in pulseaudio and not the headset profile. The patch doesn't seem to be present in latest package in the repository (1:3.0-0ubuntu6). I think it's pretty critical to have a USB headset to have both output and inputs available to pulseaudio.

Revision history for this message
David Henningsson (diwic) wrote :

To clarify, the fix is currently scheduled for 13.10, and not yet released there. From what I know, it is specific to this particular USB headset, not USB headsets in general (my own works fine).

Revision history for this message
Raymond (superquad-vortex2) wrote :

state.Headset {
 control.1 {
  iface PCM
  name 'Playback Channel Map'
  value.0 0
  value.1 0
  comment {
   access read
   type INTEGER
   count 2
   range '0 - 36'
  }
 }
 control.2 {
  iface MIXER
  name 'Headset Playback Switch'
  value false
  comment {
   access 'read write'
   type BOOLEAN
   count 1
  }
 }
 control.3 {
  iface MIXER
  name 'Headset Playback Volume'
  value 0
  comment {
   access 'read write'
   type INTEGER
   count 1
   range '0 - 29'
   dbmin -4100
   dbmax -1200
   dbvalue.0 -4100
  }
 }
 control.4 {
  iface MIXER
  name 'Headset Playback Switch'
  index 1
  value true
  comment {
   access 'read write'
   type BOOLEAN
   count 1
  }
 }
 control.5 {
  iface MIXER
  name 'Headset Capture Volume'
  value 9
  comment {
   access 'read write'
   type INTEGER
   count 1
   range '0 - 9'
   dbmin 1600
   dbmax 2500
   dbvalue.0 2500
  }
 }

Revision history for this message
Raymond (superquad-vortex2) wrote :

If is strange that there is no capture switch and two playback switch

USB Mixer: usb_id=0x046d0a26, ctrlif=0, ctlerr=0

Card: Logitech Logitech B530 USB Headset at usb-0000:00:1d.0-1.2, full speed
  Unit: 1
    Control: name="Headset Playback Switch", index=1
    Info: id=1, control=1, cmask=0x0, channels=1, type="INV_BOOLEAN"
    Volume: min=0, max=1, dBmin=0, dBmax=0
  Unit: 2
    Control: name="Headset Capture Volume", index=0
    Info: id=2, control=2, cmask=0x0, channels=1, type="S16"
    Volume: min=4096, max=6400, dBmin=1600, dBmax=2500
  Unit: 6
    Control: name="Headset Playback Volume", index=0
    Info: id=6, control=2, cmask=0x0, channels=1, type="S16"
    Volume: min=-10496, max=-3072, dBmin=-4100, dBmax=-1200
  Unit: 6
    Control: name="Headset Playback Switch", index=0
    Info: id=6, control=1, cmask=0x0, channels=1, type="INV_BOOLEAN"
    Volume: min=0, max=1, dBmin=0, dBmax=0

Revision history for this message
David Henningsson (diwic) wrote :

> If is strange that there is no capture switch and two playback switch

Yes. I verified with Ara that both playback switches actually were playback and not capture switches.

Revision history for this message
Dagmar Sporck (dagmar-sporck-8) wrote :

I have the same problem with the Plantronics Savi W700 usb (wireless) headset.
another problem was that it interfered with mouse/keyboard.

the solution for the mouse/keyboard interference was recommended in another post by adding
Section "InputClass"
        Identifier "Plantronics"
        MatchVendor "Plantronics"
        Option "Ignore" "true"
EndSection
to xorg.conf which indeed resolved the problem.

but I still have the headset (headphone+mic) set as an Analog Output Card only, no sign of it in Input http://dl.dropbox.com/u/13462314/Selection_018.png
http://dl.dropbox.com/u/13462314/Selection_019.png

Revision history for this message
madbiologist (me-again) wrote :

The problem with the Logitech B530 USB Headset is fixed in PulseAudio 4.0 - see www.freedesktop.org/wiki/Software/PulseAudio/Notes/4.0/

Revision history for this message
Jason Haag (jasor) wrote :

I also have the issue with my Savi W700 not showing up as an input within the Ubuntu dialog. However if I use pavucontrol I see the headset mic and setting it to the fallback devices works.

Revision history for this message
Raymond (superquad-vortex2) wrote :

>Yes. I verified with Ara that both playback switches actually were playback and not capture switches.

dB range of Headset capture volume is 16dB to 25 dB

you have to provide pulseaudio verbose log

Revision history for this message
udude (igal) wrote :

Are there any plans to release the kernel + pulseaudio fixes to raring?

Revision history for this message
udude (igal) wrote :

sorry, looks like kernel patch unnecessary, please consider my last comment regarding pulseaudio (only)

Revision history for this message
Raymond (superquad-vortex2) wrote :

https://wiki.ubuntu.com/PulseAudio/Log

post the pulseaudio verbose log while you change the slider in sound preference

you can open a terminal and monitor the change in capture view with alsamixer - c0 for your USB audio

Revision history for this message
David Henningsson (diwic) wrote :

 > Are there any plans to release the kernel + pulseaudio fixes to raring?

Not at this point. It's fixed in 13.10, which is less than a month from release anyway. If you don't want to use 13.10, you can manually edit /usr/share/pulseaudio/alsa-mixer/paths/analog-output-headphones.conf and add this section:

[Element Headset]
required-any = any
switch = mute
volume = merge
override-map.1 = all
override-map.2 = all-left,all-right

...and then restart for the changes to take effect.

Revision history for this message
Raymond (superquad-vortex2) wrote :
Revision history for this message
udude (igal) wrote :

Applied the conf files patch, looks like it solved it, thanks!

Changed in pulseaudio (Ubuntu):
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.