Bug 769991

Summary: Intel Corporation 7 Series Chipset Family PCI Express Root Port 1 (rev c4) not driven by OpenSuse 12.1
Product: [openSUSE] openSUSE 12.1 Reporter: Foolish Ewe <foolishewe>
Component: SoundAssignee: Takashi Iwai <tiwai>
Status: RESOLVED FIXED QA Contact: E-mail List <qa-bugs>
Severity: Major    
Priority: P3 - Medium CC: foolishewe
Version: Final   
Target Milestone: ---   
Hardware: x86-64   
OS: openSUSE 12.1   
Whiteboard:
Found By: --- Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---
Attachments: output of rpm -qa
gzipped zypper.log with all entries older than 07/25/2012 purged
output of rpm -qa --last
alsa-info.sh output
alsa-info.sh (after speakers were enabled by an unknown event)

Description Foolish Ewe 2012-07-05 04:15:08 UTC
User-Agent:       Mozilla/5.0 (X11; Linux x86_64; rv:13.0) Gecko/20100101 Firefox/13.0

I have a new Toshiba P855-S5200, and Windows can drive the sound, but OpenSuse 12.1 (and Tumbleweed, which I was forced to by bug 769678).  My system acts like my device is detected but no sound (speakers or headphones) is generated, I have not tried HDMI.  lspci -vv reports:

00:1c.0 PCI bridge: Intel Corporation 7 Series Chipset Family PCI Express Root Port 1 (rev c4) (prog-if 00 [Normal decode])
        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
        Bus: primary=00, secondary=01, subordinate=01, sec-latency=0
        I/O behind bridge: 0000e000-0000efff
        Prefetchable memory behind bridge: 00000000f0a00000-00000000f0afffff
        Secondary status: 66MHz- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- <SERR- <PERR-
        BridgeCtl: Parity- SERR- NoISA- VGA- MAbort- >Reset- FastB2B-
                PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn-
        Capabilities: <access denied>
        Kernel driver in use: pcieport

I think this is similar to the patch for a the issue described at:
http://www.spinics.net/lists/stable-commits/msg18206.html

If the maintainers agree that this is a likely fix, I suggest trying it.
I'm not sure how to build and deploy a kernel in OpenSUSE, but would be willing test such a patch, but I'll only be able to do so under the Tumbleweed version, currently:
Linux linux-2kt2.site 3.4.3-30-desktop #1 SMP PREEMPT Mon Jun 18 11:52:36 UTC 2012 (41613b0) x86_64 x86_64 x86_64 GNU/Linux


Reproducible: Always

Steps to Reproduce:
1.Install OpeneSUSE 12.1
2. (optional Apply updates)
3. Use yast to configure volume and play test sound
Actual Results:  
Internal speakers and headphone jack are silent.  Confirmed the channels were maxed out with alsamixer.  Also tried setting the model to laptop-dmic and laptop-amic in YAST in an attempt to select the ALC269 model for HD-AUDIO_Models.txt.

Expected Results:  
Sound from internal speakers/headphone jack rather than silence.
Comment 1 Takashi Iwai 2012-07-05 14:07:52 UTC
ALC280 support will be included in the upcoming 3.4 stable update, so will be included in 12.2 kernel eventually later.
Comment 2 Foolish Ewe 2012-07-05 14:52:31 UTC
Thanks for getting back to me so quickly.  Please let me know if you need someone with the hardware to try the fix.
Comment 3 Foolish Ewe 2012-07-24 21:07:02 UTC
Internal speakers are now working. Thank you!
Comment 4 Foolish Ewe 2012-07-25 13:23:20 UTC
Created attachment 499895 [details]
output of rpm -qa
Comment 5 Foolish Ewe 2012-07-25 13:31:54 UTC
I realize that this bug was marked resolved, but I had a recent regression.  In my previous post, I tried to reopen it, but I'll reopen it here.  Please refer to the previously posts' attached output of rpm -qa.  I suspect the regression was caused by one of the recent "upgrades" having some sort of conflict with the fix that was previously working.

Your ALSA information is located at http://www.alsa-project.org/db/?f=c48294863ccd01a4cad58ab1ae351a59527a3908

Please inform the person helping you.

zypper repos
#  | Alias                                                    | Name                                                     | Enabled | Refresh
---+----------------------------------------------------------+----------------------------------------------------------+---------+--------
 1 | Education                                                | Education                                                | Yes     | Yes    
 2 | KDE:KDE3                                                 | KDE:KDE3                                                 | Yes     | Yes    
 3 | Packman_Current/Tumbleweed_(Jacobs-university.de_mirror) | Packman Current/Tumbleweed (Jacobs-university.de mirror) | Yes     | Yes    
 4 | TOra_and_Oracle_related_repositories_for_OpenSUSE_12.1   | TOra and Oracle related repositories for OpenSUSE 12.1   | Yes     | Yes    
 5 | Tumbleweed                                               | Tumbleweed                                               | Yes     | Yes    
 6 | devel:languages:haskell                                  | devel:languages:haskell                                  | Yes     | Yes    
 7 | devel:languages:misc                                     | devel:languages:misc                                     | Yes     | Yes    
 8 | home:syeg                                                | home:syeg                                                | Yes     | Yes    
 9 | openSUSE:12.1                                            | openSUSE:12.1                                            | Yes     | Yes    
10 | openSUSE:12.1:Update                                     | openSUSE:12.1:Update                                     | Yes     | Yes    
11 | openSUSE_Current_OSS'                                    | openSUSE Current OSS                                     | Yes     | Yes    
12 | openSUSE_Current_non-OSS                                 | openSUSE Current non-OSS                                 | Yes     | Yes    
13 | openSUSE_Current_updates                                 | openSUSE Current updates                                 | Yes     | Yes    
14 | science                                                  | science                                                  | Yes     | Yes
Comment 6 Takashi Iwai 2012-07-25 13:39:44 UTC
Please elaborate what is the exact regression.  Otherwise I can't debug anything.
Comment 7 Foolish Ewe 2012-07-25 14:10:06 UTC
Created attachment 499907 [details]
gzipped zypper.log with all entries older than 07/25/2012 purged
Comment 8 Foolish Ewe 2012-07-25 14:20:07 UTC
Created attachment 499908 [details]
output of rpm -qa --last
Comment 9 Foolish Ewe 2012-07-25 14:22:38 UTC
Sorry Takashi, you make a good point.  The symptom I'm seeing is that the internal speakers went silent again.  Using Yast2->Hardware->Sound->Other->Volume sound test no longer drives the internal speakers.  Prior to accepting the updates suggested by apper today the laptop's internal speakers were working, also the external microphone and headset (well the right side worked, the left side was silent, most likely due to a headset problem, not a Linux problem).

I have provided a copy of my zipper.log's entries for today (the most recent entry was 2012-07-22). After looking at it, I'm not sure if it will help much (the intent was to show you what was applied and when) so I also attached the output of rpm -qa --last to identify the most recent updates.  It appears a kernel update was applied today.
Comment 10 Takashi Iwai 2012-07-25 14:40:56 UTC
Try to remove model=laptop-amic option you set.  It must be found in /etc/modprobe.d/* files.

Usually such an option shouldn't be necessary as long as BIOS sets up the pins correctly.  Even if not, model=laptop-amic is mostly a temporary workaround, and more proper pins should be set up manually.

If it still doesn't work after that (and reboot), and if you are testing with PulseAudio backend, try the following:

   % pasuspender -- aplay -vv -Dhw /usr/share/sounds/alsa/test.wav

If this also doesn't work, run alsa-info.sh with --no-upload option, and attach the output to this bugzilla again.
Comment 11 Foolish Ewe 2012-07-25 15:14:57 UTC
Created attachment 499929 [details]
alsa-info.sh output
Comment 12 Foolish Ewe 2012-07-25 15:15:14 UTC
That was a good catch that I left that obsolete laptop-amic in the settings, I went to yast2->hardware->sound->edit->Reset All which cleared that setting, and checked /etc/modprobe.d/50-sound.conf, which now reads:
options snd slots=snd-hda-intel
# u1Nb.OTlqHXf+h04:Intel Corporation
alias snd-card-0 snd-hda-intel

Unfortunately that did not restore sound. I rebooted and  tried the suggested command 
pasuspender -- aplay -vv -Dhw /usr/share/sounds/alsa/test.wav

both logged in as a user and via sudo, neither case generated sound.  Nor could the volume tests in yast2.

Please find the requested alsa-info.sh output attached.
Comment 13 Takashi Iwai 2012-07-25 16:16:37 UTC
Hm, I see no obvious problem in alsa-info.sh output.
Could you verify that the problem is only on speaker, i.e. the headphone output still works?
Comment 14 Foolish Ewe 2012-07-25 17:08:19 UTC
Headphone output is operational internal speakers are silent  Interesting.
Comment 15 Foolish Ewe 2012-07-25 21:12:47 UTC
The previous message appears a bit garbled.  The headphone output was working but internal speakers were still silent.  I'm curious about why that would happen.
Comment 16 Takashi Iwai 2012-07-26 05:15:47 UTC
It usually means that some initialization (such as GPIO pin or EAPD) is missing.
But I wonder how this regression happened.  There is no relevant change in 3.4.x kernel since ALC280 support patch.

You can try to change GPIO pins whether they have any effects, for example, via hda-verb program.  Get hda-verb package from OBS home:tiwai/hda-verb repo and install it.  Then, run like below (as root):
  % hda-verb /dev/snd/hwC0D0 0x01 SET_GPIO_MASK 0x01
  % hda-verb /dev/snd/hwC0D0 0x01 SET_GPIO_DIR 0x01
  % hda-verb /dev/snd/hwC0D0 0x01 SET_GPIO_DATA 0x01

and check whether it changes anything.  You can change the value from 0x01 to 0x02, 0x04, 0x08 and 0x10.  Also, if none of the above works, try again with SET_GPIO_DIR 0x00 but keep MASK and DATA to 0x01..0x10.
Comment 17 Foolish Ewe 2012-07-26 15:32:36 UTC
I think your hypothesis about some initialization being missing may be right.  My internal speaker's sound came back today, but I'm not sure why.  I did apply recent patches as per Apper, but none of them at first glance look like they should impact the sound subsystem.

rpm -qa --last reports:

libexif-devel-0.6.20-10.4.1                   Thu 26 Jul 2012 09:21:59 AM EDT
libexif12-32bit-0.6.20-10.4.1                 Thu 26 Jul 2012 09:21:56 AM EDT
libexif12-0.6.20-10.4.1                       Thu 26 Jul 2012 09:21:55 AM EDT
ksynaptics-0.3.3-63.34                        Thu 26 Jul 2012 09:21:54 AM EDT
libsynaptics0-0.14.6c-138.16                  Thu 26 Jul 2012 09:21:51 AM EDT
mysql-community-server-5.5.25-3.12.1          Wed 25 Jul 2012 08:09:59 AM EDT
[older updates omitted]

I'm going to reboot my machine shortly and see if the sound comes back, since I think the tests you suggested would only make sense if the speakers were disabled.
Comment 18 Takashi Iwai 2012-07-26 15:50:01 UTC
OK, then don't forget to take alsa-info.sh output while the speaker is working, too.  In that way, we can compare alsa-info.sh outputs between working and non-working cases.
Comment 19 Foolish Ewe 2012-07-26 18:20:36 UTC
Created attachment 500147 [details]
alsa-info.sh (after speakers were enabled by an unknown event)

I've given the machine a cold boot, but now I can't reproduce the symptom of the disabled internal speakers.  I booted it more than once.  On the most recent reboot, I adjusted the bios settings as recently suggested in Bug 772997, so that pressing F3 does not get interpreted as FN+F3, otherwise no settings were (intentionally) altered.

Please find the alsa-info.sh output attached.
Comment 20 Takashi Iwai 2012-09-19 07:28:06 UTC
Could you verify whether the problem persists after upgrading to openSUSE 12.2?
Comment 21 Foolish Ewe 2012-09-19 14:07:53 UTC
OpenSuse 12.2 does not have this issue.  Let's close this one out and if I have any issues I'll open a fresh 12.2 bug report.

Thanks for your help with this one.
Comment 22 Foolish Ewe 2012-09-19 14:09:13 UTC
Marked this as resolved.