Bug 43240

Summary: Internal speaker produces no sound: Codec IDT92HD81B1X5
Product: Drivers Reporter: Gerardo Malazdrewicz (gerardo)
Component: Sound(ALSA)Assignee: Jaroslav Kysela (perex)
Status: RESOLVED CODE_FIX    
Severity: normal CC: alan, florian, jrnieder, nicola.soranzo, omnikron, tiwai
Priority: P1    
Hardware: All   
OS: Linux   
Kernel Version: 3.2+ Subsystem:
Regression: Yes Bisected commit-id:
Bug Depends on:    
Bug Blocks: 42566    
Attachments: dmidecode output
alsa-info output
Fix patch
alsa-info output (patch applied)

Description Gerardo Malazdrewicz 2012-05-12 21:09:03 UTC
Debian kernels

(Internal speaker working)
Linux envy17 3.1.0-1-amd64 #1 SMP x86_64 GNU/Linux
http://www.alsa-project.org/db/?f=732536bea0e43fc453dd0a465f4d9a5347795137

(Internal speaker not working)
Linux envy17 3.2.0-2-amd64 #1 SMP x86_64 GNU/Linux
http://www.alsa-project.org/db/?f=9a6781dbcdf12ed4efbc65284b6e0bff6bd8771c

(Internal speaker not working)
Linux envy17 3.3.0-trunk-amd64 #1 SMP x86_64 GNU/Linux
http://www.alsa-project.org/db/?f=92bf11474eeb61cd2aea994af6e5ebae4910528f

Headphone in the jack works in everycase.
It is detected in 3.1.0-1, internal speaker is turned off when
headphone is plugged in.

There is no Auto Mute control.

Manual says:
"NOTE: When a device is connected to the jack, the
computer speakers are disabled."

Tested so, so jack sensing is hardware based.

Thanks,
    Gerardo
Comment 1 Jonathan Nieder 2012-05-12 21:34:32 UTC
Context: http://bugs.debian.org/672582

The submitter's machine is an HP ENVY 17 Notebook PC.  Regression
seems to have been introduced at some point between 3.1 and 3.2.y.
Comment 2 Takashi Iwai 2012-05-13 06:28:17 UTC
Maybe a BIOS problem.  We changed the code to handle the speaker GPIO pin for HP laptops slightly, and this hits some machines with broken BIOS.

Give dmidecode output, and check whether it contains "HP_LED_Mute_X_Y" string.
Comment 3 Gerardo Malazdrewicz 2012-05-13 22:07:51 UTC
Created attachment 73285 [details]
dmidecode output

Attached.

No HP_LED_Mute_X_Y, but HP_Mute_LED_0_0, maybe you meant that?

Thanks,
      Gerardo
Comment 4 Takashi Iwai 2012-05-14 06:04:07 UTC
Yes.  So, this is set correctly, and the problem must be something else.

In the 3.3 alsa-info.sh output, it looks like the headphone jack is plugged.
Isn't it true?  If you didn't plug any headphone jack, it's the reason.  The plug is wrongly detected.
Comment 5 Gerardo Malazdrewicz 2012-05-14 06:43:28 UTC
Created attachment 73286 [details]
alsa-info output

Not sure, it was probably plugged.

The attached one, surely headphone was unplugged.

Thanks,
   Gerardo
Comment 6 Takashi Iwai 2012-05-14 08:37:47 UTC
Thanks.  Then this looks like a problem with the power-map change in 3.3.
The problem is that BIOS exposes the speaker pin as a jack, and the driver tries to set the power-control bit depending on the jack-detection state.

Could you check whether the patch below works?
Comment 7 Takashi Iwai 2012-05-14 08:38:43 UTC
Created attachment 73287 [details]
Fix patch
Comment 8 Gerardo Malazdrewicz 2012-05-14 16:57:45 UTC
Patched, no changes.

Please note this issue started previous to 3.3, I think it started in 3.2-rc.

No changes in alsa-info output either.

Thanks,
      Gerardo
Comment 9 Takashi Iwai 2012-05-14 19:11:37 UTC
Double-check whether you really patched correctly.  There must be a difference in "Power-Map" entry in alsa-info.sh (or codec proc file) before and after the patch.
Comment 10 Gerardo Malazdrewicz 2012-05-14 23:17:21 UTC
Created attachment 73298 [details]
alsa-info output (patch applied)

You were right in all accounts.

Patch works, now internal speaker has sound.

Thank you very much,
      Gerardo
Comment 11 Takashi Iwai 2012-05-15 05:51:19 UTC
OK, thanks for testing!
I'll apply the patch to sound git tree.  Hopefully this can be merged to 3.4 kernel (and to stable kernels) soon...
Comment 12 omnikron 2012-05-28 21:26:17 UTC
Hi, 

I had the very same issue for a while now using 3.1.x and 3.2.x kernels. I can confirm the problem is fixed in 3.2.18. I cannot tell if it was fixed before this version as I went straight from 3.2.9 (has the bug on my laptop) to 3.2.18 (does not).

HP ProBook 6450b

00:1b.0 Audio device: Intel Corporation 5 Series/3400 Series Chipset High Definition Audio (rev 05)

Codec: IDT 92HD75B3X5
Codec: LSI ID 1040
Codec: Intel IbexPeak HDMI

Alsa info script result:
http://www.alsa-project.org/db/?f=6efb32d1883ce1b684b503b081cc2783ad9a6d9

Regards,
Julien
Comment 14 Florian Mickler 2012-07-01 09:39:32 UTC
A patch referencing this bug report has been merged in Linux v3.4:

commit b0791dda813c179e539b0fc1ecd3f5f30f2571e2
Author: Takashi Iwai <tiwai@suse.de>
Date:   Tue May 15 08:07:31 2012 +0200

    ALSA: hda/idt - Fix power-map for speaker-pins with some HP laptops
Comment 15 Florian Mickler 2012-07-01 10:30:43 UTC
A patch referencing a commit referencing this bug report has been merged in Linux v3.5-rc5:

commit 6e1c39c6b00d9141a82c231ba7c5e5b1716974b2
Author: Takashi Iwai <tiwai@suse.de>
Date:   Tue Jun 26 17:35:10 2012 +0200

    ALSA: hda - Fix power-map regression for HP dv6 & co