Bug 195049

Summary: Laptop audio only plays from Subwoofer, not Speakers (ALC255)
Product: Drivers Reporter: Sean Rhone (espionage724)
Component: Sound(ALSA)Assignee: Jaroslav Kysela (perex)
Status: NEW ---    
Severity: normal    
Priority: P1    
Hardware: All   
OS: Linux   
Kernel Version: 4.11.0-0.rc8 Subsystem:
Regression: No Bisected commit-id:
Attachments: Registry export from Windows for pin layouts

Description Sean Rhone 2017-03-26 21:45:15 UTC
Laptop: Acer Predator G9-791 (V1.10 BIOS)
Codec: ALC255

My laptop has two speakers (front left and right), and a subwoofer. Both left and right channel audio only plays out the subwoofer and nothing out of the left and right speakers.

That is only the case with the internal speakers though. If I hook up external speakers over 3.5mm, audio is fine out of the external speakers.
Comment 1 Sean Rhone 2017-05-01 15:29:24 UTC
Created attachment 256159 [details]
Registry export from Windows for pin layouts
Comment 2 Sean Rhone 2017-05-01 23:58:10 UTC
Played around with HDAAnalyzer a bit and I believe I got a fix. The following HDA verbs unmute the left and right speakers, and allows the amp to power them:

sudo hda-verb '/dev/snd/hwC0D0' '0x1b' '0x300' '0x9000'

sudo hda-verb '/dev/snd/hwC0D0' '0x1b' '0x300' '0xa000'

sudo hda-verb '/dev/snd/hwC0D0' '0x1b' '0x707' '0x60'

In HDAAnalyzer, the same can be accomplished by going under card-0 > codec-0 > Node[0x1b] PIN, going under the Output Amplifer section, unmuting Val[0] and Val[1], going under Widget Control, and selecting OUT.
Comment 3 Sean Rhone 2017-05-02 22:47:31 UTC
Here's the diff from HDAAnalyzer also:

Diff for codec 0/0 (0x10ec0255):
--- 
+++ 
@@ -184,25 +184,25 @@
     DefAssociation = 0x3, Sequence = 0x0
   Pin-ctls: 0x24: IN VREF_80
   Unsolicited: tag=0x02, enabled=1
   Power: setting=D3, actual=D3
 Node 0x1b [Pin Complex] wcaps 0x40058f: Stereo Amp-In Amp-Out
   Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x27, mute=0
   Amp-In vals: [0x00 0x00]
   Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
-  Amp-Out vals: [0x80 0x80]
+  Amp-Out vals: [0x00 0x00]
   Pincap 0x0001373c: IN OUT HP EAPD Detect
     Vref caps: HIZ 50 GRD 80 100
   EAPD 0x2: EAPD
   Pin Default 0x411111f0: [N/A] Speaker at Ext Rear
     Conn = 1/8, Color = Black
     DefAssociation = 0xf, Sequence = 0x0
     Misc = NO_PRESENCE
-  Pin-ctls: 0x20: IN VREF_HIZ
+  Pin-ctls: 0x60: IN OUT VREF_HIZ
   Unsolicited: tag=0x00, enabled=0
   Power: setting=D3, actual=D3
   Connection: 2
      0x0c* 0x0d
 Node 0x1c [Vendor Defined Widget] wcaps 0xf00000: Mono
 Node 0x1d [Pin Complex] wcaps 0x400400: Mono
   Pincap 0x00000020: IN
   Pin Default 0x40e89b2d: [N/A] Reserved at Ext N/