Contribute
Register

Dell Inspiron 15 7559 Audio - Trying to Enable Subwoofer

Status
Not open for further replies.
Joined
Mar 18, 2014
Messages
977
Motherboard
Dell XPS 15 7590 - Clover
CPU
i7-9980HK
Graphics
HD 630 + GTX 1650
Mac
  1. iMac
  2. MacBook Pro
Classic Mac
  1. Apple
Mobile Phone
  1. iOS
Hey all,

My Dell Inspiron 15 7559 has a 2.1 audio setup, with 2 speakers and a bottom-facing subwoofer on the bottom of the laptop. The dual-channel audio (left and right) works fine along with the internal mic, but the subwoofer doesn't work at all. I've been trying to figure out how to enable it without any luck for the past couple of days...

I've looked everywhere and seen most of the subwoofer success posts, and I haven't been able to replicate it on my system... Would anyone be willing to help me?

I know a fair amount about AppleHDA patching myself, but this is beyond the scope of my current knowledge, as it involves (as far as I know) 2 nodes, one of which is the internal speaker, and the other which is the subwoofer...

I have my files attached to the bottom of the post. If anyone would help that would be greatly appreciated!
The codec I have is RealTek ALC3246.

Thank you!

-Duncan
 

Attachments

  • audio_help.zip
    15 KB · Views: 211
Hey all,

My Dell Inspiron 15 7559 has a 2.1 audio setup, with 2 speakers and a bottom-facing subwoofer on the bottom of the laptop. The dual-channel audio (left and right) works fine along with the internal mic, but the subwoofer doesn't work at all. I've been trying to figure out how to enable it without any luck for the past couple of days...

I've looked everywhere and seen most of the subwoofer success posts, and I haven't been able to replicate it on my system... Would anyone be willing to help me?

I know a fair amount about AppleHDA patching myself, but this is beyond the scope of my current knowledge, as it involves (as far as I know) 2 nodes, one of which is the internal speaker, and the other which is the subwoofer...

I have my files attached to the bottom of the post. If anyone would help that would be greatly appreciated!
The codec I have is RealTek ALC3246.

Thank you!

-Duncan

It would be nice if some widget setting was provided by the codec that would link the l/r to subwoofer (with cross over). If such a setting existed, you could set it with CodecCommander.

Multichannel supposedly not supported that well in AppleHDA (or we don't know how to make it work).
 
It would be nice if some widget setting was provided by the codec that would link the l/r to subwoofer (with cross over). If such a setting existed, you could set it with CodecCommander.

Multichannel supposedly not supported that well in AppleHDA (or we don't know how to make it work).

Now that you mention cross over (I'm not really knowledgeable about what that means), I've seen it referenced in some of the multichannel / subwoofer guides:

http://www.insanelymac.com/forum/topic/296261-applehdakext-and-laptop-subwoofer-aka-21-audio/
and http://www.insanelymac.com/forum/topic/294571-experimental-6-channel-applehda/

EDIT: Forgot to add - The guides reference some Software Signal DSP's in one of the files (layoutXX or Platforms, forgot which noe) and "DspCrossOver" is one of them ...

How would I set this "cross over" setting with CodecCommander? As I have it installed on my laptop right now as we speak, to enable EAPD for three nodes.

Just another quick question:

If these were my nodes (extracted from Linux):
Code:
Codec: Realtek ALC3246   Address: 0   DevID: 283902550 (0x10ec0256)

   Jack   Color  Description                  Node     PinDefault             Original Verbs
--------------------------------------------------------------------------------------------------------
Digital Unknown  Mic at Int N/A              18 0x12   0x90a60160   01271c60 01271d01 01271ea6 01271f90
    1/8   Black  Speaker at Ext Rear         19 0x13   0x411111f0   01371cf0 01371d11 01371e11 01371f41
Analog Unknown  Speaker at Int N/A          20 0x14   0x90170120   01471c20 01471d01 01471e17 01471f90
    1/8   Black  Speaker at Ext Rear         24 0x18   0x411111f0   01871cf0 01871d11 01871e11 01871f41
    1/8   Black  Speaker at Ext Rear         25 0x19   0x411111f0   01971cf0 01971d11 01971e11 01971f41
    1/8   Black  Speaker at Ext Rear         26 0x1a   0x411111f0   01a71cf0 01a71d11 01a71e11 01a71f41
                 Speaker at Ext Rear         27 0x1b   0x411111f0   01b71cf0 01b71d11 01b71e11 01b71f41
Unknown Unknown  Modem Hand at Ext N/A       29 0x1d   0x40700001   01d71c01 01d71d00 01d71e70 01d71f40
    1/8   Black  Speaker at Ext Rear         30 0x1e   0x411111f0   01e71cf0 01e71d11 01e71e11 01e71f41
    1/8   Black  HP Out at Ext Front         33 0x21   0x02211030   02171c30 02171d10 02171e21 02171f02
--------------------------------------------------------------------------------------------------------

And EAPD is detected on nodes 0x14 (Internal speakers), 0x1b (Unknown), and 0x21 (Headphones), would I be wrong in assuming that node 0x1b could be the subwoofer? :think:

One last thing:

CodecCommander occasionally spits this out in the kernel logs:
Code:
CodecCommander: Evaluating device "IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/HDEF@1F,3" [8086:a170].
CodecCommander: stopping due to codec profile Disable flag

What does that mean? I can also safely assume that EAPD support for the three audio nodes I described earlier won't be working ... (I think?)

I'm willing to spend a couple days to try to figure this out and get the subwoofer working on this laptop (as the 2.1 audio is surprisingly decent on Windows), just need some help with it :lol:

Thank you!

-Duncan
 
Last edited:
Now that you mention cross over (I'm not really knowledgeable about what that means),

https://en.wikipedia.org/wiki/Audio_crossover


Interesting links..

EDIT: Forgot to add - The guides reference some Software Signal DSP's in one of the files (layoutXX or Platforms, forgot which noe) and "DspCrossOver" is one of them ...

I noticed that one guide discussed using the DSP stuff to potentially output to a subwoofer.
It makes sense that something like that might be used, but if you look at the DSP stuff in the XML, you realize it is very complex.

How would I set this "cross over" setting with CodecCommander?

I was thinking maybe the codec provided an automatic way to do this with a widget.
Never looked into it though.
Maybe if you find a datasheet for your codec, there might be clues.
Then it would be a simple matter of setup by sending a few verbs to configure it.

would I be wrong in assuming that node 0x1b could be the subwoofer?

You could test the theory by creating an output pathmap to it and seeing if you can get some output.

CodecCommander occasionally spits this out in the kernel logs:
Code:
CodecCommander: Evaluating device "IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/HDEF@1F,3" [8086:a170].
CodecCommander: stopping due to codec profile Disable flag

CodecCommander is configured by default to not connected to the HDMI audio codec (codecs from Intel... vendor id=8086).
 
https://en.wikipedia.org/wiki/Audio_crossover
I noticed that one guide discussed using the DSP stuff to potentially output to a subwoofer.
It makes sense that something like that might be used, but if you look at the DSP stuff in the XML, you realize it is very complex.

You could test the theory by creating an output pathmap to it and seeing if you can get some output.



CodecCommander is configured by default to not connected to the HDMI audio codec (codecs from Intel... vendor id=8086).

Yea, I'll have to look into the XML stuff more ...
For creating the output pathmap, would the subwoofer act like a normal speaker? Or would be able to itonly output certain frequencies?

And thanks for the CodecCommander clarification.

-Duncan
 
Update:

I already have an output pathmap setup for the assumed subwoofer node (0x1b), and I'm not too sure what to expect from the subwoofer? I don't think it's working though ... Here are my PathMaps (I think I did them correctly):

Code:
    <key>PathMaps</key>
    <array>
        <dict>
            <key>PathMap</key>
            <array>
                <array>
                    <array>
                        <array>
                            <dict>
                                <key>Amp</key>
                                <dict>
                                    <key>Channels</key>
                                    <array>
                                        <dict>
                                            <key>Bind</key>
                                            <integer>1</integer>
                                            <key>Channel</key>
                                            <integer>1</integer>
                                        </dict>
                                        <dict>
                                            <key>Bind</key>
                                            <integer>2</integer>
                                            <key>Channel</key>
                                            <integer>2</integer>
                                        </dict>
                                    </array>
                                    <key>MuteInputAmp</key>
                                    <true/>
                                    <key>PublishMute</key>
                                    <true/>
                                    <key>PublishVolume</key>
                                    <true/>
                                    <key>VolumeInputAmp</key>
                                    <true/>
                                </dict>
                                <key>NodeID</key>
                                <integer>8</integer>
                            </dict>
                            <dict>
                                <key>Amp</key>
                                <dict>
                                    <key>Channels</key>
                                    <array>
                                        <dict>
                                            <key>Bind</key>
                                            <integer>1</integer>
                                            <key>Channel</key>
                                            <integer>1</integer>
                                        </dict>
                                        <dict>
                                            <key>Bind</key>
                                            <integer>2</integer>
                                            <key>Channel</key>
                                            <integer>2</integer>
                                        </dict>
                                    </array>
                                    <key>MuteInputAmp</key>
                                    <true/>
                                    <key>PublishMute</key>
                                    <true/>
                                    <key>PublishVolume</key>
                                    <true/>
                                    <key>VolumeInputAmp</key>
                                    <true/>
                                </dict>
                                <key>NodeID</key>
                                <integer>35</integer>
                            </dict>
                            <dict>
                                <key>Boost</key>
                                <integer>1</integer>
                                <key>NodeID</key>
                                <integer>18</integer>
                            </dict>
                        </array>
                    </array>
                </array>
                <array>
                    <array>
                        <array>
                            <dict>
                                <key>Amp</key>
                                <dict>
                                    <key>MuteInputAmp</key>
                                    <false/>
                                    <key>PublishMute</key>
                                    <true/>
                                    <key>PublishVolume</key>
                                    <true/>
                                    <key>VolumeInputAmp</key>
                                    <false/>
                                </dict>
                                <key>NodeID</key>
                                <integer>20</integer>
                            </dict>
                            <dict>
                                <key>Amp</key>
                                <dict>
                                    <key>Channels</key>
                                    <array>
                                        <dict>
                                            <key>Bind</key>
                                            <integer>1</integer>
                                            <key>Channel</key>
                                            <integer>1</integer>
                                        </dict>
                                        <dict>
                                            <key>Bind</key>
                                            <integer>2</integer>
                                            <key>Channel</key>
                                            <integer>2</integer>
                                        </dict>
                                    </array>
                                    <key>MuteInputAmp</key>
                                    <true/>
                                    <key>PublishMute</key>
                                    <true/>
                                    <key>PublishVolume</key>
                                    <true/>
                                    <key>VolumeInputAmp</key>
                                    <false/>
                                </dict>
                                <key>NodeID</key>
                                <integer>2</integer>
                            </dict>
                        </array>
                    </array>
                    <array>
                        <array>
                            <dict>
                                <key>Amp</key>
                                <dict>
                                    <key>MuteInputAmp</key>
                                    <false/>
                                    <key>PublishMute</key>
                                    <true/>
                                    <key>PublishVolume</key>
                                    <true/>
                                    <key>VolumeInputAmp</key>
                                    <false/>
                                </dict>
                                <key>NodeID</key>
                                <integer>27</integer>
                            </dict>
                            <dict>
                                <key>Amp</key>
                                <dict>
                                    <key>Channels</key>
                                    <array>
                                        <dict>
                                            <key>Bind</key>
                                            <integer>1</integer>
                                            <key>Channel</key>
                                            <integer>1</integer>
                                        </dict>
                                        <dict>
                                            <key>Bind</key>
                                            <integer>2</integer>
                                            <key>Channel</key>
                                            <integer>2</integer>
                                        </dict>
                                    </array>
                                    <key>MuteInputAmp</key>
                                    <true/>
                                    <key>PublishMute</key>
                                    <true/>
                                    <key>PublishVolume</key>
                                    <true/>
                                    <key>VolumeInputAmp</key>
                                    <false/>
                                </dict>
                                <key>NodeID</key>
                                <integer>2</integer>
                            </dict>
                        </array>
                    </array>
                </array>
            </array>
            <key>PathMapID</key>
            <integer>255</integer>
        </dict>
    </array>
</dict>
</plist>

:think:

-Duncan
 
Update:

I already have an output pathmap setup for the assumed subwoofer node (0x1b), and I'm not too sure what to expect from the subwoofer? I don't think it's working though ... Here are my PathMaps (I think I did them correctly):

Code:
    <key>PathMaps</key>
    <array>
        <dict>
            <key>PathMap</key>
            <array>
                <array>
                    <array>
                        <array>
                            <dict>
                                <key>Amp</key>
                                <dict>
                                    <key>Channels</key>
                                    <array>
                                        <dict>
                                            <key>Bind</key>
                                            <integer>1</integer>
                                            <key>Channel</key>
                                            <integer>1</integer>
                                        </dict>
                                        <dict>
                                            <key>Bind</key>
                                            <integer>2</integer>
                                            <key>Channel</key>
                                            <integer>2</integer>
                                        </dict>
                                    </array>
                                    <key>MuteInputAmp</key>
                                    <true/>
                                    <key>PublishMute</key>
                                    <true/>
                                    <key>PublishVolume</key>
                                    <true/>
                                    <key>VolumeInputAmp</key>
                                    <true/>
                                </dict>
                                <key>NodeID</key>
                                <integer>8</integer>
                            </dict>
                            <dict>
                                <key>Amp</key>
                                <dict>
                                    <key>Channels</key>
                                    <array>
                                        <dict>
                                            <key>Bind</key>
                                            <integer>1</integer>
                                            <key>Channel</key>
                                            <integer>1</integer>
                                        </dict>
                                        <dict>
                                            <key>Bind</key>
                                            <integer>2</integer>
                                            <key>Channel</key>
                                            <integer>2</integer>
                                        </dict>
                                    </array>
                                    <key>MuteInputAmp</key>
                                    <true/>
                                    <key>PublishMute</key>
                                    <true/>
                                    <key>PublishVolume</key>
                                    <true/>
                                    <key>VolumeInputAmp</key>
                                    <true/>
                                </dict>
                                <key>NodeID</key>
                                <integer>35</integer>
                            </dict>
                            <dict>
                                <key>Boost</key>
                                <integer>1</integer>
                                <key>NodeID</key>
                                <integer>18</integer>
                            </dict>
                        </array>
                    </array>
                </array>
                <array>
                    <array>
                        <array>
                            <dict>
                                <key>Amp</key>
                                <dict>
                                    <key>MuteInputAmp</key>
                                    <false/>
                                    <key>PublishMute</key>
                                    <true/>
                                    <key>PublishVolume</key>
                                    <true/>
                                    <key>VolumeInputAmp</key>
                                    <false/>
                                </dict>
                                <key>NodeID</key>
                                <integer>20</integer>
                            </dict>
                            <dict>
                                <key>Amp</key>
                                <dict>
                                    <key>Channels</key>
                                    <array>
                                        <dict>
                                            <key>Bind</key>
                                            <integer>1</integer>
                                            <key>Channel</key>
                                            <integer>1</integer>
                                        </dict>
                                        <dict>
                                            <key>Bind</key>
                                            <integer>2</integer>
                                            <key>Channel</key>
                                            <integer>2</integer>
                                        </dict>
                                    </array>
                                    <key>MuteInputAmp</key>
                                    <true/>
                                    <key>PublishMute</key>
                                    <true/>
                                    <key>PublishVolume</key>
                                    <true/>
                                    <key>VolumeInputAmp</key>
                                    <false/>
                                </dict>
                                <key>NodeID</key>
                                <integer>2</integer>
                            </dict>
                        </array>
                    </array>
                    <array>
                        <array>
                            <dict>
                                <key>Amp</key>
                                <dict>
                                    <key>MuteInputAmp</key>
                                    <false/>
                                    <key>PublishMute</key>
                                    <true/>
                                    <key>PublishVolume</key>
                                    <true/>
                                    <key>VolumeInputAmp</key>
                                    <false/>
                                </dict>
                                <key>NodeID</key>
                                <integer>27</integer>
                            </dict>
                            <dict>
                                <key>Amp</key>
                                <dict>
                                    <key>Channels</key>
                                    <array>
                                        <dict>
                                            <key>Bind</key>
                                            <integer>1</integer>
                                            <key>Channel</key>
                                            <integer>1</integer>
                                        </dict>
                                        <dict>
                                            <key>Bind</key>
                                            <integer>2</integer>
                                            <key>Channel</key>
                                            <integer>2</integer>
                                        </dict>
                                    </array>
                                    <key>MuteInputAmp</key>
                                    <true/>
                                    <key>PublishMute</key>
                                    <true/>
                                    <key>PublishVolume</key>
                                    <true/>
                                    <key>VolumeInputAmp</key>
                                    <false/>
                                </dict>
                                <key>NodeID</key>
                                <integer>2</integer>
                            </dict>
                        </array>
                    </array>
                </array>
            </array>
            <key>PathMapID</key>
            <integer>255</integer>
        </dict>
    </array>
</dict>
</plist>

:think:

-Duncan

I don't know if your pathmap is correct, but keep in mind you also need to patch the pinconfigs correctly as well.
 
Hey all,

My Dell Inspiron 15 7559 has a 2.1 audio setup, with 2 speakers and a bottom-facing subwoofer on the bottom of the laptop. The dual-channel audio (left and right) works fine along with the internal mic, but the subwoofer doesn't work at all. I've been trying to figure out how to enable it without any luck for the past couple of days...

I've looked everywhere and seen most of the subwoofer success posts, and I haven't been able to replicate it on my system... Would anyone be willing to help me?

I know a fair amount about AppleHDA patching myself, but this is beyond the scope of my current knowledge, as it involves (as far as I know) 2 nodes, one of which is the internal speaker, and the other which is the subwoofer...

I have my files attached to the bottom of the post. If anyone would help that would be greatly appreciated!
The codec I have is RealTek ALC3246.

Thank you!

-Duncan
do you where to copy or execute those file? Actually i have same issue, sub woofer si not working. Can please tell me?
 
hello
is anybody's subwoofer working now on dell 7559. i have same model everything working except subwoofer.
Somebody please help
 
hey aguywhoisbored,can u please send me ur audio kext. i have same config as urs.

Update:

I already have an output pathmap setup for the assumed subwoofer node (0x1b), and I'm not too sure what to expect from the subwoofer? I don't think it's working though ... Here are my PathMaps (I think I did them correctly):

Code:
    <key>PathMaps</key>
    <array>
        <dict>
            <key>PathMap</key>
            <array>
                <array>
                    <array>
                        <array>
                            <dict>
                                <key>Amp</key>
                                <dict>
                                    <key>Channels</key>
                                    <array>
                                        <dict>
                                            <key>Bind</key>
                                            <integer>1</integer>
                                            <key>Channel</key>
                                            <integer>1</integer>
                                        </dict>
                                        <dict>
                                            <key>Bind</key>
                                            <integer>2</integer>
                                            <key>Channel</key>
                                            <integer>2</integer>
                                        </dict>
                                    </array>
                                    <key>MuteInputAmp</key>
                                    <true/>
                                    <key>PublishMute</key>
                                    <true/>
                                    <key>PublishVolume</key>
                                    <true/>
                                    <key>VolumeInputAmp</key>
                                    <true/>
                                </dict>
                                <key>NodeID</key>
                                <integer>8</integer>
                            </dict>
                            <dict>
                                <key>Amp</key>
                                <dict>
                                    <key>Channels</key>
                                    <array>
                                        <dict>
                                            <key>Bind</key>
                                            <integer>1</integer>
                                            <key>Channel</key>
                                            <integer>1</integer>
                                        </dict>
                                        <dict>
                                            <key>Bind</key>
                                            <integer>2</integer>
                                            <key>Channel</key>
                                            <integer>2</integer>
                                        </dict>
                                    </array>
                                    <key>MuteInputAmp</key>
                                    <true/>
                                    <key>PublishMute</key>
                                    <true/>
                                    <key>PublishVolume</key>
                                    <true/>
                                    <key>VolumeInputAmp</key>
                                    <true/>
                                </dict>
                                <key>NodeID</key>
                                <integer>35</integer>
                            </dict>
                            <dict>
                                <key>Boost</key>
                                <integer>1</integer>
                                <key>NodeID</key>
                                <integer>18</integer>
                            </dict>
                        </array>
                    </array>
                </array>
                <array>
                    <array>
                        <array>
                            <dict>
                                <key>Amp</key>
                                <dict>
                                    <key>MuteInputAmp</key>
                                    <false/>
                                    <key>PublishMute</key>
                                    <true/>
                                    <key>PublishVolume</key>
                                    <true/>
                                    <key>VolumeInputAmp</key>
                                    <false/>
                                </dict>
                                <key>NodeID</key>
                                <integer>20</integer>
                            </dict>
                            <dict>
                                <key>Amp</key>
                                <dict>
                                    <key>Channels</key>
                                    <array>
                                        <dict>
                                            <key>Bind</key>
                                            <integer>1</integer>
                                            <key>Channel</key>
                                            <integer>1</integer>
                                        </dict>
                                        <dict>
                                            <key>Bind</key>
                                            <integer>2</integer>
                                            <key>Channel</key>
                                            <integer>2</integer>
                                        </dict>
                                    </array>
                                    <key>MuteInputAmp</key>
                                    <true/>
                                    <key>PublishMute</key>
                                    <true/>
                                    <key>PublishVolume</key>
                                    <true/>
                                    <key>VolumeInputAmp</key>
                                    <false/>
                                </dict>
                                <key>NodeID</key>
                                <integer>2</integer>
                            </dict>
                        </array>
                    </array>
                    <array>
                        <array>
                            <dict>
                                <key>Amp</key>
                                <dict>
                                    <key>MuteInputAmp</key>
                                    <false/>
                                    <key>PublishMute</key>
                                    <true/>
                                    <key>PublishVolume</key>
                                    <true/>
                                    <key>VolumeInputAmp</key>
                                    <false/>
                                </dict>
                                <key>NodeID</key>
                                <integer>27</integer>
                            </dict>
                            <dict>
                                <key>Amp</key>
                                <dict>
                                    <key>Channels</key>
                                    <array>
                                        <dict>
                                            <key>Bind</key>
                                            <integer>1</integer>
                                            <key>Channel</key>
                                            <integer>1</integer>
                                        </dict>
                                        <dict>
                                            <key>Bind</key>
                                            <integer>2</integer>
                                            <key>Channel</key>
                                            <integer>2</integer>
                                        </dict>
                                    </array>
                                    <key>MuteInputAmp</key>
                                    <true/>
                                    <key>PublishMute</key>
                                    <true/>
                                    <key>PublishVolume</key>
                                    <true/>
                                    <key>VolumeInputAmp</key>
                                    <false/>
                                </dict>
                                <key>NodeID</key>
                                <integer>2</integer>
                            </dict>
                        </array>
                    </array>
                </array>
            </array>
            <key>PathMapID</key>
            <integer>255</integer>
        </dict>
    </array>
</dict>
</plist>

:think:

-Duncan
 
Status
Not open for further replies.
Back
Top