Bug 11879 - no audio from headphone jacks RV710/730 HDMI - solution
Summary: no audio from headphone jacks RV710/730 HDMI - solution
Status: RESOLVED WORKSFORME
Alias: None
Product: Mageia
Classification: Unclassified
Component: RPM Packages (show other bugs)
Version: Cauldron
Hardware: x86_64 Linux
Priority: Normal normal
Target Milestone: ---
Assignee: Kernel and Drivers maintainers
QA Contact:
URL:
Whiteboard: MGA5TOO
Keywords: NEEDINFO
Depends on:
Blocks:
 
Reported: 2013-12-05 17:08 CET by Pierre Fortin
Modified: 2020-07-05 21:54 CEST (History)
3 users (show)

See Also:
Source RPM: kernel
CVE:
Status comment:


Attachments

Description Pierre Fortin 2013-12-05 17:08:09 CET
Description of problem:
Audio works until headphones or external speakers are plugged into headphone jacks.  I had resolved this previously and discussions and bugs found on various distros gave me hope that this would be resolved by now... :)

At any rate, here is the background data and the resolution to get this audio working again...

From mcc sound configurator "Sound troubleshooting" panel: 

# ps aux | grep pulseaudio
[redacted]   2761  0.4  0.0 433208  6328 ?        S<l  10:31   0:02 /usr/bin/pulseaudio --start --log-target=syslog

# pactl stat
Currently in use: 1 blocks containing 63.9 KiB bytes total.
Allocated during whole lifetime: 14627 blocks containing 53.2 MiB bytes total.
Sample cache size: 0 B
Server String: unix:/run/user/500/pulse/native
Library Protocol Version: 29
Server Protocol Version: 29
Is Local: yes 
Client Index: 13 
Tile Size: 65472  
User Name: [redacted]
Host Name: [redacted]
Server Name: pulseaudio
Server Version: 5.0.0-0.20131010.3.mga4
Default Sample Specification: s16le 2ch 44100Hz
Default Channel Map: front-left,front-right
Default Sink: alsa_output.pci-0000_00_1b.0.analog-stereo 
Default Source: alsa_input.pci-0000_00_1b.0.analog-stereoCookie: 8d55:bad6 

# pactl list sink-inputs
[too much output to post here]
   
 # systemctl status osspd.service
osspd.service
   Loaded: not-found (Reason: No such file or directory)
   Active: inactive (dead)

# pacmd ls
Daemon not responding.
### interesting; but sound works
                                  
# lspcidrake -v | grep -i audio
snd_hda_intel   : Advanced Micro Devices, Inc. [AMD/ATI]|RV710/730 HDMI Audio [Radeon HD 4000 series] [MULTIMEDIA_AUDIO_DEV] (vendor:1002 device:aa38 subv:1028 subd:02eb)
snd_hda_intel   : Intel Corporation|5 Series/3400 Series Chipset High Definition Audio [MULTIMEDIA_AUDIO_DEV] (vendor:8086 device:3b56 subv:1028 subd:02eb) (rev: 05)

# /usr/sbin/lsmod | grep snd
snd_hda_codec_hdmi     41070  1 
snd_hda_codec_idt      50386  1 
snd_hda_intel          48171  5 
snd_hda_codec         188810  3 snd_hda_codec_hdmi,snd_hda_codec_idt,snd_hda_intel
snd_hwdep              17698  1 snd_hda_codec
snd_pcm               102078  3 snd_hda_codec_hdmi,snd_hda_codec,snd_hda_intel
snd_page_alloc         18710  2 snd_pcm,snd_hda_intel
snd_timer              29378  1 snd_pcm
snd                    83274  17 snd_hwdep,snd_timer,snd_hda_codec_hdmi,snd_hda_codec_idt,snd_pcm,snd_hda_codec,snd_hda_intel
soundcore              15047  1 snd

# alsamixer -c 0
### gives pseudo-graphical audio controls

# /usr/sbin/fuser -v /dev/snd/pcm* /dev/dsp
Specified filename /dev/dsp does not exist.


Version-Release number of selected component (if applicable):


How reproducible: every install


Steps to Reproduce:
1. install (upgrade?) new distro release
2. headphone jacks no longer work


Solution:   edit /etc/modprobe.d/alsa-basee.conf and add one of the following lines (under mga2, only dell-m6 worked; but under mga4beta1, either works for me)
  options snd-hda-intel model=dell-eq
OR:
  options snd-hda-intel model=dell-m6

Originally found this solution at:
 http://ubuntuforums.org/showthread.php?t=1469949


This issue affects most (all?) Dell Studio models and many others.  It would be great not to have to hunt this down on each new release...  :)



Reproducible: 

Steps to Reproduce:
Comment 1 Pierre Fortin 2013-12-05 17:10:28 CET
Argh...  /etc/modprobe.d/alsa-basee.conf should read
/etc/modprobe.d/alsa-base.conf
Manuel Hiebel 2013-12-05 17:19:15 CET

CC: (none) => mageia, thierry.vignaud

Comment 2 Thierry Vignaud 2013-12-06 11:00:25 CET
Thomas: couldn't the kernel auto set this parameter by detecting the model through dmidecode?

Assignee: bugsquad => tmb
Source RPM: (none) => kernel

Comment 3 Pierre Fortin 2013-12-06 15:04:55 CET
Here's all the info I could find...  HTH
(I can attach full outputs as desired, including binary dumps if desired)

# dmidecode
# dmidecode 2.12
SMBIOS 2.6 present.
48 structures occupying 1827 bytes.
Table at 0x000DC010.
[...]
Handle 0x000E, DMI type 10, 6 bytes
On Board Device Information
        Type: Sound
        Status: Disabled
        Description: HD-Audio
[...]
I don't grok the "Disabled" status; sound always works out of the box; only jacks don't...


# lspci -vvv
02:00.1 Audio device: Advanced Micro Devices, Inc. [AMD/ATI] RV710/730 HDMI Audio [Radeon HD 4000 series]
        Subsystem: Dell Device 02eb
        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
        Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
        Latency: 0, Cache Line Size: 64 bytes
        Interrupt: pin B routed to IRQ 50
        Region 0: Memory at cfeec000 (32-bit, non-prefetchable) [size=16K]
        Capabilities: [50] Power Management version 3
                Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
                Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
        Capabilities: [58] Express (v2) Legacy Endpoint, MSI 00
                DevCap: MaxPayload 128 bytes, PhantFunc 0, Latency L0s <4us, L1 unlimited
                        ExtTag+ AttnBtn- AttnInd- PwrInd- RBE+ FLReset-
                DevCtl: Report errors: Correctable- Non-Fatal- Fatal- Unsupported-
                        RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop+
                        MaxPayload 128 bytes, MaxReadReq 128 bytes
                DevSta: CorrErr- UncorrErr+ FatalErr- UnsuppReq+ AuxPwr- TransPend-
                LnkCap: Port #0, Speed 5GT/s, Width x16, ASPM L0s L1, Exit Latency L0s <64ns, L1 <1us
                        ClockPM- Surprise- LLActRep- BwNot-
                LnkCtl: ASPM L0s L1 Enabled; RCB 64 bytes Disabled- CommClk+
                        ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
                LnkSta: Speed 5GT/s, Width x16, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
                DevCap2: Completion Timeout: Not Supported, TimeoutDis-, LTR-, OBFF Not Supported
                DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis-, LTR-, OBFF Disabled
                LnkSta2: Current De-emphasis Level: -6dB, EqualizationComplete-, EqualizationPhase1-
                         EqualizationPhase2-, EqualizationPhase3-, LinkEqualizationRequest-
        Capabilities: [a0] MSI: Enable+ Count=1/1 Maskable- 64bit+
                Address: 00000000feeff00c  Data: 4192
        Capabilities: [100 v1] Vendor Specific Information: ID=0001 Rev=1 Len=010 <?>
        Kernel driver in use: snd_hda_intel
        Kernel modules: snd_hda_intel

00:1b.0 Audio device: Intel Corporation 5 Series/3400 Series Chipset High Definition Audio (rev 05)
        Subsystem: Dell Device 02eb
        Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
        Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
        Latency: 0, Cache Line Size: 64 bytes
        Interrupt: pin A routed to IRQ 48
        Region 0: Memory at f8300000 (64-bit, non-prefetchable) [size=16K]
        Capabilities: [50] Power Management version 2
                Flags: PMEClk- DSI- D1- D2- AuxCurrent=55mA PME(D0+,D1-,D2-,D3hot+,D3cold+)
                Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
        Capabilities: [60] MSI: Enable+ Count=1/1 Maskable- 64bit+
                Address: 00000000feeff00c  Data: 4172
        Capabilities: [70] Express (v1) Root Complex Integrated Endpoint, MSI 00
                DevCap: MaxPayload 128 bytes, PhantFunc 0
                        ExtTag- RBE-
                DevCtl: Report errors: Correctable- Non-Fatal- Fatal- Unsupported-
                        RlxdOrd- ExtTag- PhantFunc- AuxPwr- NoSnoop-
                        MaxPayload 128 bytes, MaxReadReq 128 bytes
                DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr+ TransPend-
        Capabilities: [100 v1] Virtual Channel
                Caps:   LPEVC=0 RefClk=100ns PATEntryBits=1
                Arb:    Fixed- WRR32- WRR64- WRR128-
                Ctrl:   ArbSelect=Fixed
                Status: InProgress-
                VC0:    Caps:   PATOffset=00 MaxTimeSlots=1 RejSnoopTrans-
                        Arb:    Fixed- WRR32- WRR64- WRR128- TWRR128- WRR256-
                        Ctrl:   Enable+ ID=0 ArbSelect=Fixed TC/VC=01
                        Status: NegoPending- InProgress-
                VC1:    Caps:   PATOffset=00 MaxTimeSlots=1 RejSnoopTrans-
                        Arb:    Fixed- WRR32- WRR64- WRR128- TWRR128- WRR256-
                        Ctrl:   Enable+ ID=2 ArbSelect=Fixed TC/VC=04
                        Status: NegoPending- InProgress-
        Capabilities: [130 v1] Root Complex Link
                Desc:   PortNumber=0f ComponentID=00 EltType=Config
                Link0:  Desc:   TargetPort=00 TargetComponent=00 AssocRCRB- LinkType=MemMapped LinkValid+
                        Addr:   00000000fed1c000
        Kernel driver in use: snd_hda_intel
        Kernel modules: snd_hda_intel



From mcc->hardware->soundcard:
Identification
  Vendor: âAdvanced Micro Devices, Inc. [AMD/ATI]
  Description: âRV710/730 HDMI Audio [Radeon HD 4000 series]
  Media class: âAudio device
Driver
  Module: âsnd_hda_intel
Connection
  Bus: âPCI Express
  PCI domain: â0
  Bus PCI #: â2
  PCI device #: â0
  PCI function #: â1
  Vendor ID: â0x1002
  Device ID: â0xaa38
  Sub vendor ID: â0x1028
  Sub device ID: â0x02eb

Identification
  Vendor: âIntel Corporation
  Description: â5 Series/3400 Series Chipset High Definition Audio
  Media class: âAudio device
Driver
  Module: âsnd_hda_intel
Connection
  Bus: âPCI Express
  PCI domain: â0
  Bus PCI #: â0
  PCI device #: â27
  PCI function #: â0
  PCI revision: â0x05
  Vendor ID: â0x8086
  Device ID: â0x3b56
  Sub vendor ID: â0x1028
  Sub device ID: â0x02eb

Also, these outputs are after addition to alsa-base.conf. If you suspect different output without that solution, I can provide that.  Cheers!
Comment 4 Pierre Fortin 2014-08-07 12:38:20 CEST
Just did a fresh install of mga4 and this is still not fixed.
Thierry Vignaud 2014-08-08 15:04:27 CEST

Source RPM: kernel => kernel, pulseaudio

Comment 5 Thierry Vignaud 2014-08-08 15:05:28 CEST
Can you open a ticket upstream on http://www.alsa-project.org/main/index.php/Main_Page?
And add the URL here?

Keywords: (none) => NEEDINFO
Source RPM: kernel, pulseaudio => kernel

Comment 6 Colin Guthrie 2014-08-08 15:28:19 CEST
FWIW, there is no upstream bug tracker per-se. Either use the kernel bugzilla or the alsa-devel mailing list (the latter is probably better).
Comment 7 Thierry Vignaud 2014-08-08 16:58:56 CEST
When I was maintaining ALSA, there was one.
The web site still points to https://bugtrack.alsa-project.org/alsa-bug (which I cannot reach though...)
Comment 8 Colin Guthrie 2014-08-08 19:11:28 CEST
Yeah, it existed for a while, but none of the upstream devs actually used it which made it a bit useless. Reporting bugs there sadly often ended up in /dev/null. Mailing list is much better and more responsive :)
Comment 9 emmanuel wilhelm 2016-01-19 12:17:45 CET
Hi, more than one year after Pierre Colin, I get exactly the same problem.
The analog output works fine, but the digital don't (hdmi or bluetooth).
The only one problem I notice is the OSSPD.service which doesn't work:

systemctl status osspd.service
â osspd.service
   Loaded: not-found (Reason: No such file or directory)
   Active: inactive (dead)

I prepare a full document with all detailed informations (in french), if needed.

Some informations about the sound card:

UC: acer revo one rl85 4Go/500Go, carte son 
MCC>Matériel>Carte son: 2 dispositifs sont identifiés.
8 series HD Audio Controller et Haswell-ULT HD Audio Controller.
1er dispositif: Identification
Fabricant: âIntel Corporation
Description: â8 Series HD Audio Controller
Classe de média: âAudio device
Connexion
Bus: âPCI
Domaine PCI: â0
Bus PCI n°: â0
Périphérique PCI n°: â27
Fonction PCI n°: â0
Révision PCI: â0x04
Identifiant du fabricant: â0x8086
Identifiant du périphérique: â0x9c20
Identifiant du sous-vendeur: â0x1025
Identifiant du sous-périphérique: â0x0946
Pilote
Module: âsnd_hda_intel

2e dispositif: Fabricant: âIntel Corporation
Description: âHaswell-ULT HD Audio Controller
Classe de média: âAudio device
Connexion
Bus: âPCI Express
Domaine PCI: â0
Bus PCI n°: â0
Périphérique PCI n°: â3
Fonction PCI n°: â0
Révision PCI: â0x0b
Identifiant du fabricant: â0x8086
Identifiant du périphérique: â0x0a0c
Identifiant du sous-vendeur: â0x1025
Identifiant du sous-périphérique: â0x0946
Pilote
Module: âsnd_hda_intel

Last information: this is a fresh install of Mageia 5, no modifications.

CC: (none) => fremwi
Severity: normal => major
Priority: Normal => High
Version: Cauldron => 5

Comment 10 Samuel Verschelde 2016-01-19 12:22:56 CET
Please do not change the version. In order to indicate that it's still valid in Mageia 5, you can add MGA5TOO in the whiteboard, but leave the target version to cauldron unless you can make sure it is fixed there.

Version: 5 => Cauldron
Whiteboard: (none) => MGA5TOO
Priority: High => Normal

Comment 11 Samuel Verschelde 2016-01-19 12:24:38 CET
Also, this bug is still awaiting an action from the bug reporter, namely raise the issue on the ALSA mailing list.
Comment 12 Colin Guthrie 2016-01-19 12:39:47 CET
This is also not a Major bug (regardless of how annoying it may be).

Severity: major => normal

Comment 13 Pierre Fortin 2016-01-19 14:18:12 CET
Colin, not sure this should be reported to alsa...  a few weeks ago, Dell replaced my motherboard and when the tech left, I thought my audio was not reconnected...  Digging deeper, I discovered that kmix only handles one sound card, while alsamixer can can see multiple cards and control them. This is from an email to Dell:
> $ alsamixer -c 0
> Didn't show any problems.
> 
> Since this mobo has 2 sound cards, I checked the 2nd with:
> 
> $ alsamixer -c 1
> and surprise! This one was muted...
Comment 14 emmanuel wilhelm 2016-01-19 15:41:59 CET
@Pierre Fortin: Hi, how did you solve the problem in 2014?
Comment 15 Colin Guthrie 2016-01-19 16:43:30 CET
kmix handles multiple sound cards just fine. If you're using PulseAudio, then kmix will use that by default too and present the UI accordingly. If that's the case then PA should pick up both cards (assuming you have the appropriate permissions and no other process was hogging the device when PA initialised). If PA mutes the card, then you should see this clearly in the UI unless it's some weirdly name ALSA control that PA does not manage.


(In reply to Pierre Fortin from comment #13)
> Colin, not sure this should be reported to alsa...  a few weeks ago, Dell
> replaced my motherboard and when the tech left, I thought my audio was not
> reconnected...  Digging deeper, I discovered that kmix only handles one
> sound card, while alsamixer can can see multiple cards and control them.
> This is from an email to Dell:
> > $ alsamixer -c 0
> > Didn't show any problems.
> > 
> > Since this mobo has 2 sound cards, I checked the 2nd with:
> > 
> > $ alsamixer -c 1
> > and surprise! This one was muted...
Comment 16 Pierre Fortin 2016-01-20 05:09:10 CET
(In reply to emmanuel wilhelm from comment #14)
> @Pierre Fortin: Hi, how did you solve the problem in 2014?

See the bottom of the original report above -- at that time, that solution was found after much searching.  Now, I just use "alsamixer -c N" where N is the card number to unmute the silent card.
Comment 17 Pierre Fortin 2016-01-20 05:56:52 CET
(In reply to Colin Guthrie from comment #15)
> kmix handles multiple sound cards just fine. If you're using PulseAudio,
> then kmix will use that by default too and present the UI accordingly. If
> that's the case then PA should pick up both cards (assuming you have the
> appropriate permissions and no other process was hogging the device when PA
> initialised). If PA mutes the card, then you should see this clearly in the
> UI unless it's some weirdly name ALSA control that PA does not manage.

OK...  digging deeper, here's what I just found...

My current system (Dell M6800 4710MQ i7 4core/8thread, 32G RAM) has these cards:

# lspci
00:03.0 Audio device: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor HD Audio Controller (rev 06)
00:1b.0 Audio device: Intel Corporation 8 Series/C220 Series Chipset High Definition Audio Controller (rev 04)
01:00.1 Audio device: Advanced Micro Devices, Inc. [AMD/ATI] Device aac0 (rev ff)

Can attach full lspci -vvv if it'd help.

Strange. Never noticed the 3rd entry before. Full output from that one is:
01:00.1 Audio device: Advanced Micro Devices, Inc. [AMD/ATI] Device aac0 (rev ff) (prog-if ff)
	!!! Unknown header type 7f
	Kernel driver in use: snd_hda_intel
	Kernel modules: snd_hda_intel


kmix reports:
Built-in Audio Digital Stereo (HDMI)
Built-in Audio Analog Stereo

alsamixer reports:
0 HDA Intel HDMI   (Intel Haswell HDMI)
1 HDA Intel PCH    (Realtek ALC3226)

If I mute/adjust volume on card 1 via either kmix or alsamixer, the other sees the changes.  However, card 0 only partially reflects the current status:

First, alsamixer (A) shows S/PDIF, S/PDIF 1, S/PDIF 2 below simple boxes containing only "00" or "MM" (no volume level and all attempts to adjust  volume produce no visual feedback). Toggling mute works but is not reflected in kmix (K).

Starting with A muted and K unmuted (yes! not a typo), clicking K's mute shows K muted; BUT A now shows UNmuted. Clicking K's mute again unmutes on K; but no change on A (still unmuted).
Muting/unmuting K now has NO effect on A which remains unmuted.
Muting A is NOT reflected in K.  

This is probably what is leading to most of the confusion...

HTH
Comment 18 Colin Guthrie 2016-01-20 10:17:36 CET
alsa kcontrols are generally what causes confusion. They are a myriad of complex pipelines that often combine in a given path, e.g. for standard analog output both "master" and "PCM" might be involved. If either is muted the whole thing is muted.

kmix shows a simplified view of the world presented to it by PulseAudio. If you do stuff to the low lying controls, PA will generally try and cope and reflect it but you can easily create an invalid state this way.

If muting/unmuting the card via kmix does not actually mute/unmute the sound, then the bug is in either PulseAudio (and the rules it uses to interact with audio cards) or the kernel (for having a bizarely named custom control or some other low lying mixup). kmix is almost certainly only the messenger here.

Ultimately this is an issue you'd have to investigate deeper withing PulseAudio and the kernel to understand exactly what's going on.

If all amixer shows are those S/PDIF controls then chances are PA is not using them at all and implementing volumes and muting in software. This then just requires the controls to be unmuted in alsamixer once, then PA will happily get on with doing what it needs to do thereafter.

Provided you do not bypass PA to use alsa directly for playing sounds then the mute and volume information will be reflected properly.

amixer output (not alsamixer) for the card in question may help confirm this.

Ultimately this is something that likely needs better support by the kernel to name the controls in a more standard way so that PA controls it better.
Comment 19 Marja Van Waes 2016-08-26 11:43:09 CEST
Mass-reassigning all bugs with "kernel" in the Source RPM field that are assigned to tmb, to the kernel packagers group, because tmb is currently MIA.

Assignee: tmb => kernel

Comment 20 Pierre Fortin 2018-08-08 15:28:55 CEST
Headphone jack stopped working again. Found /etc/modprobe.d/alsa-base.conf missing -- something deleted it.  Restoring this file and rebooting resulted in a non-working system because kernel 4.14.56 fails to mount /boot/EFI.  Switched to kernel 4.14.50 and system boots and headphone jacks work again.
Comment 21 Pierre Fortin 2020-07-05 21:54:25 CEST
Closing as old.  Haven't seen this in a long while.

Status: NEW => RESOLVED
Resolution: (none) => WORKSFORME


Note You need to log in before you can comment on or make changes to this bug.