Bug 901846

Summary: No sound in Fedora 18 (unless kernel < 3.4 ...)
Product: [Fedora] Fedora Reporter: nicofo <nicofo>
Component: kernelAssignee: Kernel Maintainer List <kernel-maint>
Status: CLOSED UPSTREAM QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: high Docs Contact:
Priority: unspecified    
Version: 18CC: brendan.jones.it, gansalmon, itamar, jonathan, kernel-maint, lkundrak, lpoetter, madhu.chinakonda, superquad.vortex2
Target Milestone: ---   
Target Release: ---   
Hardware: i386   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: 843588 Environment:
Last Closed: 2013-03-05 21:49:07 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
alsa-info.sh output
none
pactl list output none

Description nicofo 2013-01-19 16:28:02 UTC
This bug is still valid with a fresh installation of Fedora 18: no sound after loging into gnome or KDE.
The workaround given below (the file '/etc/modprobe.d/snd-hda-intel.conf' has to be created) is still valid.

+++ This bug was initially created as a clone of Bug #843588 +++

Created attachment 600558 [details]
sound problem: "dummy output"

Description of problem:
Since the update to kernel 3.4, the sound is not working anymore.
 => With kernel-3.4.4-4.fc16.i686  =>  no sound
 => With old kernel-3.3.8-1.fc16.i686  =>  sound OK
kmix says "dummy entry": see screenshot

Version-Release number of selected component (if applicable):
kernel-3.4.4-4.fc16.i686
pulseaudio-0.9.23-1.fc16.i686

How reproducible:
always

Steps to Reproduce:
1.
2.
3.
  
Actual results:


Expected results:


Additional info:
$ lspci | grep -i audio
00:1b.0 Audio device: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) High Definition Audio Controller (rev 03)

-------------------

$ lsmod |grep snd
snd_hda_codec_realtek    63096  1 
snd_hda_intel          32323  0 
snd_hda_codec         103493  2 snd_hda_codec_realtek,snd_hda_intel
snd_hwdep              13236  1 snd_hda_codec
snd_seq                54638  0 
snd_seq_device         13817  1 snd_seq
snd_pcm                81330  3 saa7134_alsa,snd_hda_intel,snd_hda_codec
snd_timer              23896  2 snd_seq,snd_pcm
snd                    63169  11 saa7134_alsa,snd_hda_codec_realtek,snd_hda_intel,snd_hda_codec,snd_hwdep,snd_seq,snd_seq_device,snd_pcm,snd_timer
soundcore              14116  1 snd
snd_page_alloc         13709  2 snd_hda_intel,snd_pcm

--------------------

/var/log/messages
 Jul 18 23:00:41 Nicolas pulseaudio[1688]: pid.c: Stale PID file, overwriting.
Jul 18 23:00:42 Nicolas pulseaudio[1688]: module-alsa-card.c: Failed to find a working profile.
Jul 18 23:00:42 Nicolas pulseaudio[1688]: module.c: Failed to load module "module-alsa-card" (argument: "device_id="1" name="pci-0000_00_1b.0" card_name="alsa_card.pci-0000_00_1b.0" tsched=yes ignore_dB=no card_properties="module-udev-detect.discovered=1""): initialization failed.

--- Additional comment from nicofo on 2012-07-29 09:22:58 EDT ---

The sound doesn't work neither with kernel 3.4.6-1.fc16.
However I have found a workaround:
https://bugzilla.redhat.com/show_bug.cgi?id=838651#c24



Add the following lines to /etc/modprobe.d/snd-hda-intel.conf

options snd-hda-intel model=3stack
options snd-hda-intel enable_msi=1




It's a bug in the kernel, module snd-hda-intel ??

--- Additional comment from Fedora End Of Life on 2013-01-16 10:04:14 EST ---

This message is a reminder that Fedora 16 is nearing its end of life.
Approximately 4 (four) weeks from now Fedora will stop maintaining
and issuing updates for Fedora 16. It is Fedora's policy to close all
bug reports from releases that are no longer maintained. At that time
this bug will be closed as WONTFIX if it remains open with a Fedora 
'version' of '16'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version prior to Fedora 16's end of life.

Bug Reporter: Thank you for reporting this issue and we are sorry that 
we may not be able to fix it before Fedora 16 is end of life. If you 
would still like to see this bug fixed and are able to reproduce it 
against a later version of Fedora, you are encouraged to click on 
"Clone This Bug" and open it against that version of Fedora.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events. Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.

The process we are following is described here: 
http://fedoraproject.org/wiki/BugZappers/HouseKeeping

Comment 1 Raymond 2013-01-20 14:41:13 UTC
post the output of alsa-info.sh

and 

pactl list

Comment 2 nicofo 2013-01-20 14:49:10 UTC
Created attachment 683587 [details]
alsa-info.sh output

As if is quite long, I attach text files.
Rem: I ran these commands when the sound works (i.e. with the file /etc/modprobe.d/snd-hda-intel.conf).

Comment 3 nicofo 2013-01-20 14:50:28 UTC
Created attachment 683588 [details]
pactl list output

Comment 4 Raymond 2013-01-20 15:09:22 UTC
Manufacturer:      Packard Bell NEC
Product Name:      00000000000000000000000
Product Version:   PB13201056


is this a note book or desktop ?

how many audio jacks in this computer ?

since your BIOS did not set the pin default

you must specify a correct model for the driver to setup pins
or use PCI  QUIRK by PCI SSID  to select the model


Advanced information - PCI Vendor/Device/Subsystem ID's
!!--------------------------------------------------------

00:1b.0 0403: 8086:2668 (rev 03)
	Subsystem: 1631:e011

Comment 5 nicofo 2013-01-20 16:20:54 UTC
It is a desktop.
I have a 6-port connector at the rear (something like http://www.heilind.com/products/fci/news/smart-audio-jacks.jpg : I only use the Green link)
and 2 jacks in front (microphone and headset).

Comment 6 Raymond 2013-01-21 01:48:42 UTC
Sysfs Files
!!-----------

/sys/class/sound/hwC0D2/init_pin_configs:
0x14 0x00000000
0x15 0x00000000
0x16 0x00000000
0x17 0x00000000
0x18 0x00000000
0x19 0x00000000
0x1a 0x00000000
0x1b 0x00000000
0x1c 0x00000000
0x1d 0x00000000
0x1e 0x00000000
0x1f 0x00000000

/sys/class/sound/hwC0D2/driver_pin_configs:
0x1e 0x411111f0
0x14 0x01014010
0x15 0x411111f0
0x16 0x411111f0
0x17 0x411111f0
0x18 0x01a19c30
0x19 0x0121411f
0x1a 0x01813031
0x1b 0x02a19c40
0x1c 0x411111f0
0x1d 0x411111f0
0x1f 0x411111f0


you should select 6stack if you don`t have digital out

        SND_PCI_QUIRK(0x1584, 0x9070, "Uniwill", ALC880_FIXUP_UNIWILL),
        SND_PCI_QUIRK(0x1584, 0x9077, "Uniwill P53", ALC880_FIXUP_VOL_KNOB),
        SND_PCI_QUIRK(0x161f, 0x203d, "W810", ALC880_FIXUP_W810),
        SND_PCI_QUIRK(0x161f, 0x205d, "Medion Rim 2150", ALC880_FIXUP_MEDION_RIM),
+      SND_PCI_QUIRK(0x1631, 0xe011, "PB 13201056", ALC880_FIXUP_6ST),
        SND_PCI_QUIRK(0x1734, 0x107c, "FSC F1734", ALC880_FIXUP_F1734),
        SND_PCI_QUIRK(0x1734, 0x107c, "FSC F1734", ALC880_FIXUP_F1734),
        SND_PCI_QUIRK(0x1734, 0x1094, "FSC Amilo M1451G", ALC880_FIXUP_FUJITSU),

        


the pin fixup  of the headphone set the misc bit which indicate no Jack detection circuit

Misc = NO_PRESENCE
 
  Unsolicited: tag=00, enabled=0


the driver won`t enable unsolicited event, no auto mute switch and no headphone Jack detect kcontrol

use hda-verb to Check Jack detect

hda-verb /dev/snd/hwC0D0 0x19 GET_PIN _SENSE


http://git.alsa-project.org/?p=alsa-tools.git;a=blob;f=hda-verb/README;hb=HEAD


you have to send email to alsa devel mailing list to clear this bit if you Packard bell desktop chassis support Jack detection



Node 0x19 [Pin Complex] wcaps 0x40018d: Stereo Amp-Out
  Control: name="Headphone Playback Switch", index=0, device=0
    ControlAmp: chs=3, dir=Out, idx=0, ofs=0
  Control: name="Headphone Phantom Jack", index=0, device
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x00 0x00]
  Pincap 0x0000133f: IN OUT HP Detect Trigger ImpSense
    Vref caps: HIZ 50 80
  Pin Default 0x0121411f: [Jack] HP Out at Ext Rear
    Conn = 1/8, Color = Green
    DefAssociation = 0x1, Sequence = 0xf
    Misc = NO_PRESENCE
  Pin-ctls: 0xc0: OUT HP VREF_HIZ
  Unsolicited: tag=00, enabled=0
  Connection: 1
     0x11

Comment 7 nicofo 2013-01-21 20:31:16 UTC
Thanks for your answer. However I don't really understand what I have to do ?
1) I have changed "3stack" -> "6stack" in my /etc/modprobe.d/snd-hda-intel.conf : it's better now because the 2 jacks at the front (micro+headset) are correct (before, I had to connect my headset in the 'micro' jack to have the headset works. Now headset in 'headset' jack works)

2) When the headset is plugged, the main sound is no muted. (Is that what you mean by:
> the driver won`t enable unsolicited event, no auto mute switch and no headphone Jack detect kcontrol
How to enable that ?

3) hda-verb /dev/snd/hwC0D0 0x19 GET_PIN _SENSE -> I suppose you meant hda-verb /dev/snd/hwC0D2 0x19 GET_PIN _SENSE ?
Result: No unique key 'GET_PIN' (same result with or without headset)

4) What should I do next ? This is a bug which appeared suddenly with kernel-3.4.4-4 (at that time, when I rebooted on the previous 3.3 kernel, the sound was working). Another user also affected by this bug: see bug 838651

Comment 8 Raymond 2013-01-22 00:47:09 UTC
1) do this Packard bell desktop have a model name ?

 send email to Tiwai to add      SND_PCI_QUIRK(0x1631, 0xe011, "PB 13201056", ALC880_FIXUP_6ST), in patch_realtek.c

3) Pincap 0x0000133f: IN OUT HP Detect Trigger ImpSense


to get presence detect bit

you can hda-verb /dev/snd/hwC0D0 0x1b GET_PIN_SENSE


to measure the impedance 

hda-verb /dev/snd/hwC0D0 0x1b SET_PIN_SENSE

wait for some millisecond before

hda-verb /dev/snd/hwC0D0 0x1b GET_PIN_SENSE




2) clear bit 8 of pin default of the pin complexes at front panel in the driver



ALC880_FIXUP_6ST_BASE] = {
               .type = ALC_FIXUP_PINS,
              .v.pins = (const struct alc_pincfg[]) {
                         { 0x14, 0x01014010 }, /* front */
                         { 0x15, 0x01016412 }, /* surr */
                         { 0x16, 0x01011411 }, /* CLFE */
                         { 0x17, 0x01012414 }, /* side */
                         { 0x18, 0x01a19c30 }, /* mic-in */
                         { 0x19, 0x02a19c40 }, /* front-mic */
                         { 0x1a, 0x01813031 }, /* line-in */
-                       { 0x1b, 0x0121411f }, /* HP */
+                       { 0x1b, 0x0121401f }, /* HP */
                         { 0x1c, 0x411111f0 }, /* N/A */
                         { 0x1d, 0x411111f0 }, /* N/A */
                       /* 0x1e is filled in below */
                         { 0x1f, 0x411111f0 }, /* N/A */
                         { }
              }
       },

Pin Default 0x0121411f: [Jack] HP Out at Ext Rear
    Conn = 1/8, Color = Green
    DefAssociation = 0x1, Sequence = 0xf
    Misc = NO_PRESENCE


4) regression of this patch

http://git.kernel.org/?p=linux/kernel/git/tiwai/sound.git;a=commitdiff;h=67b6ec3196da235317ff1b9474f17379b78f3294;hp=29e3fdcc84e5da04cb7e6a36fee0a772c91d3b28

Comment 9 nicofo 2013-03-05 21:49:07 UTC
This is solved with kernel 3.8. See Takashi Iwai answer to my email below:

> Hello,
>
> I encounter a bug on my PC: no sound anymore since a previous kernel 
> update (your commit 
> http://git.kernel.org/?p=linux/kernel/git/tiwai/sound.git;a=commitdiff;h=67b6ec3196da235317ff1b9474f17379b78f3294;hp=29e3fdcc84e5da04cb7e6a36fee0a772c91d3b28 
> ).
>
> I have filled a bug on bugzilla: 
> https://bugzilla.redhat.com/show_bug.cgi?id=901846
>
> The result is that (1) if you add the following line in patch_realtek.c:
>
>    SND_PCI_QUIRK(0x1631, 0xe011, "PB 13201056", ALC880_FIXUP_6ST),

OK, this is now merged.  Will be included in 3.8-rc6 (too late for
rc5), then eventually backported to stable trees.

>
> and (2) clear bit 8 of pin default of the pin complexes at front panel 
> in the driver
> should fix the problem.

This will break the compatibility, so it can't be easily done.
The proper fix is queued now to for-next branch of sound git tree,
targeted for 3.9 kernel.


Takashi