On 06/09/2015 07:50 PM, Raymond Yau wrote:
2015-6-9 下午5:39 於 "hwang4" hui.wang@canonical.com 寫道:
I am trying to enable the subwoofer speaker on a HP laptop, on this machine, there are two speakers and one headphone, but the BIOS verb only enabled one speaker(nid 0xd) and one headphone(nid 0xb), I need to use quirk in the kernel driver to configure the second speaker (subwoofer speaker, nid 0x10). Under current alsa driver, the headphone will be assigned a dac (nid 0x13) and the 2 speakers will be assigned a dac (nid 0x14), this assignment is not good since 2 speakers share the same dac, this means 2 speakers can't work at the same time to support 4.0/2.1 channels.
On another Dell machine with realtek codec, there are also 2 speakers, 1 headphone and 2 dacs, on this machine, 1 speaker and 1 headphone are
assigned
1 dac, and the other speaker is assigned another dac, so there is no problem for this machine to support 4.0/2.1 channels.
Through debugging, I found on Dell machine, the speaker nid only has one connection to dac (hardwired), so when driver assign dac to it, the map_single() can successfully assign the each dac to the 2 speakers
respectively.
But on that HP machine, the speaker has multiple connections for dac, the map_single() can't work for this machine.
The alsa-info.txt for that HP machine is at
http://pastebin.ubuntu.com/11667947/
Refer to 92HD91, you don't need 4 channel when there is band pass filter for the subwoofer at the mono pin
Yes, you are right.
2.2. Mono Output The Mono Out port source selection, power state, and mute characteristics are all independently controlled by the mono output port controls. EQ does not apply to this path. An internal 2nd order band-pass filter is provided to restrict the output frequencies when using mono out to drive an exter- nal amplified sub-woofer
Where did you find this text? Does it mean there is a hardware low frequency pass filter inside the codec?
The alsa-info.txt for that Dell machine is at
http://pastebin.ubuntu.com/11667982/
The subwoofer is also at mono pin complex, are there any low pass filter for the subwoofer or vendor coeff need to be set ?
I don't know it, I guess there is no hardware filter, it will work with the software low pass filter in the pulseaudio.
To fix this problem, I can use the quirk in the driver to make the
speaker have
only one connection for dac or do some change in the hda_generic.c like
below, in
your opinion, which one is better or probably you have a different idea
to fix this problem? _______________________________________________ Alsa-devel mailing list Alsa-devel@alsa-project.org http://mailman.alsa-project.org/mailman/listinfo/alsa-devel