[Gigabyte GA-H61M-S2PV, ALC887] No sound with on-board ALC887 sound

Bug #948360 reported by agenkin on 2012-03-06
62
This bug affects 8 people
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Medium
David Henningsson

Bug Description

I have a Gigabyte GA-H61M-S2PV motherboard that has on-board audio, listed by the motherboard manufacturer as "Realtek ALC887 audio codec". Lspci reports it as "00:1b.0 Audio device: Intel Corporation 6 Series/C200 Series Chipset Family High Definition Audio Controller (rev 05)".

Before I continue, I should note that I am aware of a workaround for hte problem: adding "snd-hda-intel model=generic" to /etc/modprobe.d/alsa-base.conf. This makes the card marginally usable, but there is no microphone or additional channels, so this is not a *solution* to a problem, merely a workaround.

The ALSA modules are auto-loaded (modules snd_hda_codec_realtek, snd_hda_intel, snd_hda_codec) but alsactl and alsamixer don't work:

$alsactl init
Found hardware: "HDA-Intel" "Realtek ALC887-VD" "HDA:10ec0887,1458a002,00100302" "0x1458" "0xa002"
Hardware is initialized using a generic method
/usr/share/alsa/init/default:26: control element not found
/usr/share/alsa/init/default:26: control element not found
/usr/share/alsa/init/default:48: control element not found

$ alsamixer
cannot load mixer controls: Invalid argument

The following output is visible in "dmesg":
[ 51.323553] hda_codec: num_steps = 0 for NID=0xc (ctl = Front Playback Volume)
[ 51.509438] hda_codec: num_steps = 0 for NID=0xc (ctl = Front Playback Volume)
[ 51.516123] hda_codec: num_steps = 0 for NID=0xc (ctl = Front Playback Volume)
... (repeated many times).

Output of the alsa-info command:
http://www.alsa-project.org/db/?f=4c5560a47cccecb805f0acd4e63e28b4d5854a79

ProblemType: Bug
DistroRelease: Ubuntu 12.04
Package: linux-image-3.2.0-18-generic 3.2.0-18.28
ProcVersionSignature: Ubuntu 3.2.0-18.28-generic 3.2.9
Uname: Linux 3.2.0-18-generic x86_64
AlsaVersion: Advanced Linux Sound Architecture Driver Version 1.0.24.
ApportVersion: 1.94-0ubuntu1
Architecture: amd64
AudioDevicesInUse: Error: command ['fuser', '-v', '/dev/snd/by-path', '/dev/snd/controlC0', '/dev/snd/hwC0D2', '/dev/snd/pcmC0D0c', '/dev/snd/pcmC0D0p', '/dev/snd/pcmC0D1c', '/dev/snd/pcmC0D1p', '/dev/snd/pcmC0D2c', '/dev/snd/seq', '/dev/snd/timer'] failed with exit code 1:
CRDA: Error: [Errno 2] No such file or directory
Card0.Amixer.info:
 Error: command ['amixer', '-c', '0', 'info'] failed with exit code 1: amixer: Mixer load hw:0 error: Invalid argument
 Card hw:0 'PCH'/'HDA Intel PCH at 0xfbff8000 irq 43'
   Mixer name : 'Realtek ALC887-VD'
   Components : 'HDA:10ec0887,1458a002,00100302'
   Controls : 39
Card0.Amixer.values: Error: command ['amixer', '-c', '0'] failed with exit code 1: amixer: Mixer hw:0 load error: Invalid argument
Date: Tue Mar 6 22:30:33 2012
HibernationDevice: RESUME=UUID=a8bf123a-ce06-4047-b00d-5551ebe23961
IwConfig:
 lo no wireless extensions.

 eth0 no wireless extensions.
MachineType: Gigabyte Technology Co., Ltd. H61M-S2PV
ProcEnviron:
 TERM=xterm
 PATH=(custom, no user)
 SHELL=/bin/bash
ProcFB: 0 inteldrmfb
ProcKernelCmdLine: root=UUID=0b5989d3-8557-4d56-8da9-30c4e659bd5d ro
RelatedPackageVersions:
 linux-restricted-modules-3.2.0-18-generic N/A
 linux-backports-modules-3.2.0-18-generic N/A
 linux-firmware 1.71
RfKill:

SourcePackage: linux
StagingDrivers: mei
UpgradeStatus: No upgrade log present (probably fresh install)
dmi.bios.date: 10/28/2011
dmi.bios.vendor: Award Software International, Inc.
dmi.bios.version: F2
dmi.board.name: H61M-S2PV
dmi.board.vendor: Gigabyte Technology Co., Ltd.
dmi.board.version: x.x
dmi.chassis.type: 3
dmi.chassis.vendor: Gigabyte Technology Co., Ltd.
dmi.modalias: dmi:bvnAwardSoftwareInternational,Inc.:bvrF2:bd10/28/2011:svnGigabyteTechnologyCo.,Ltd.:pnH61M-S2PV:pvr:rvnGigabyteTechnologyCo.,Ltd.:rnH61M-S2PV:rvrx.x:cvnGigabyteTechnologyCo.,Ltd.:ct3:cvr:
dmi.product.name: H61M-S2PV
dmi.sys.vendor: Gigabyte Technology Co., Ltd.

agenkin (agenkin-p) wrote :

I suggest trying the latest alsa module to see if the issue has been fixed upstream: https://code.launchpad.net/~ubuntu-audio-dev/+archive/alsa-daily/

affects: linux (Ubuntu) → alsa-driver (Ubuntu)
agenkin (agenkin-p) wrote :

Dave, thanks for the pointer. Installing alsa-hda-dkms package from the above repository fixed the problem. I now have full card functionality in alsamixer, and things seem to be working properly.

When can these upstream changes be expected to make their way into the main distribution?

For the sake of others reading this, what I did was:
1. Added the following file to /etc/apt/sources.list.d/
deb http://ppa.launchpad.net/ubuntu-audio-dev/alsa-daily/ubuntu precise main
deb-src http://ppa.launchpad.net/ubuntu-audio-dev/alsa-daily/ubuntu precise main
2. Ran apt-get update; apt-get install alsa-hda-dkms
3. Removed the line "snd-hda-intel model=generic" from /etc/modprobe.d/alsa-base.conf
4. Rebooted.

I'm not sure if the fix will be backported to Precise/12.04 (that's up to the devs). Apparently, the fix is included in ALSA 1.0.25 and Precise uses 1.0.24 kernel module.

Changed in alsa-driver (Ubuntu):
status: New → Confirmed
summary: - No sound with on-board ALC887 sound
+ [Gigabyte GA-H61M-S2PV, ALC887] No sound with on-board ALC887 sound

This model quirk causes codec parsing to fail for the bug reporter.
As a result, alsamixer cannot even be opened.

Verification: I have tested the changed code in hda-emu and then
the error disappears (and no new errors are appearing), and hda-emu
is a safe way to test/verify these types of errors.

Upstream: has already removed this model completely as part of a
bigger rewrite.

BugLink: https://bugs.launchpad.net/bugs/948360
Signed-off-by: David Henningsson <email address hidden>
---
 sound/pci/hda/alc882_quirks.c | 1 -
 1 files changed, 0 insertions(+), 1 deletions(-)

diff --git a/sound/pci/hda/alc882_quirks.c b/sound/pci/hda/alc882_quirks.c
index 50f4cbd..42a0aeb 100644
--- a/sound/pci/hda/alc882_quirks.c
+++ b/sound/pci/hda/alc882_quirks.c
@@ -2901,7 +2901,6 @@ static const struct snd_pci_quirk alc882_cfg_tbl[] = {
  SND_PCI_QUIRK(0x1071, 0x8258, "Evesham Voyaeger", ALC883_LAPTOP_EAPD),
  SND_PCI_QUIRK(0x10f1, 0x2350, "TYAN-S2350", ALC888_6ST_DELL),
  SND_PCI_QUIRK(0x108e, 0x534d, NULL, ALC883_3ST_6ch),
- SND_PCI_QUIRK(0x1458, 0xa002, "Gigabyte P35 DS3R", ALC882_6ST_DIG),

  SND_PCI_QUIRK(0x1462, 0x0349, "MSI", ALC883_TARGA_2ch_DIG),
  SND_PCI_QUIRK(0x1462, 0x040d, "MSI", ALC883_TARGA_2ch_DIG),
--
1.7.9.1

Changed in alsa-driver (Ubuntu):
status: Confirmed → In Progress
assignee: nobody → David Henningsson (diwic)
affects: alsa-driver (Ubuntu) → linux (Ubuntu)

I suggest "UBUNTU: SAUCE: (drop after 3.3)" in the subject.
--
Tim Gardner <email address hidden>

Changed in linux (Ubuntu):
importance: Undecided → Medium

Applied to Precise master-next. I amended the subject of the commit to
contain "UBUNTU: SAUCE: (drop after 3.3)".

Thanks,
Leann

On Thu, 2012-04-05 at 10:33 +0200, David Henningsson wrote:
> This model quirk causes codec parsing to fail for the bug reporter.
> As a result, alsamixer cannot even be opened.
>
> Verification: I have tested the changed code in hda-emu and then
> the error disappears (and no new errors are appearing), and hda-emu
> is a safe way to test/verify these types of errors.
>
> Upstream: has already removed this model completely as part of a
> bigger rewrite.
>
> BugLink: https://bugs.launchpad.net/bugs/948360
> Signed-off-by: David Henningsson <email address hidden>
> ---
> sound/pci/hda/alc882_quirks.c | 1 -
> 1 files changed, 0 insertions(+), 1 deletions(-)
>
> diff --git a/sound/pci/hda/alc882_quirks.c b/sound/pci/hda/alc882_quirks.c
> index 50f4cbd..42a0aeb 100644
> --- a/sound/pci/hda/alc882_quirks.c
> +++ b/sound/pci/hda/alc882_quirks.c
> @@ -2901,7 +2901,6 @@ static const struct snd_pci_quirk alc882_cfg_tbl[] = {
> SND_PCI_QUIRK(0x1071, 0x8258, "Evesham Voyaeger", ALC883_LAPTOP_EAPD),
> SND_PCI_QUIRK(0x10f1, 0x2350, "TYAN-S2350", ALC888_6ST_DELL),
> SND_PCI_QUIRK(0x108e, 0x534d, NULL, ALC883_3ST_6ch),
> - SND_PCI_QUIRK(0x1458, 0xa002, "Gigabyte P35 DS3R", ALC882_6ST_DIG),
>
> SND_PCI_QUIRK(0x1462, 0x0349, "MSI", ALC883_TARGA_2ch_DIG),
> SND_PCI_QUIRK(0x1462, 0x040d, "MSI", ALC883_TARGA_2ch_DIG),
> --
> 1.7.9.1
>
>

Launchpad Janitor (janitor) wrote :

This bug was fixed in the package linux - 3.2.0-23.36

---------------
linux (3.2.0-23.36) precise-proposed; urgency=low

  [ Andy Whitcroft ]

  * tools/hv: add basic Makefile
    - LP: #977246
  * tools/hv: add basic manual pages
    - LP: #977246
  * Hyper-V KVP daemon -- add to the tools package
    - LP: #977246

  [ David Henningsson ]

  * SAUCE: (drop after 3.3) ALSA: HDA: Remove quirk for Gigabyte
    GA-H61M-S2PV
    - LP: #948360

  [ Leann Ogasawara ]

  * d-i: Add dm-mirror and dm-raid to md-modules
    - LP: #919281

  [ Tim Gardner ]

  * [Config] Fix invalid linux-headers link
    - LP: #974403
  * Remove headers asm symlink entirely
    - LP: #974403

  [ Upstream Kernel Changes ]

  * Revert "x86/ioapic: Add register level checks to detect bogus io-apic
    entries"
    - LP: #974982
  * ALSA: HDA: Realtek: Take vmaster dac from multiout dac list
    - LP: #974090
  * kexec: remove KMSG_DUMP_KEXEC
    - LP: #944772
  * kmsg_dump: don't run on non-error paths by default
    - LP: #944772
  * pstore: Introduce get_reason_str() to pstore
    - LP: #944772
 -- Leann Ogasawara <email address hidden> Tue, 10 Apr 2012 08:16:09 -0700

Changed in linux (Ubuntu):
status: In Progress → Fix Released

My problem (Raised as Bug 962522) has been resolved by this fix.

Many thanks.

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers