[alsa-devel] 2 speakers are assigned to the same DAC, this can't support 4.0/2.1 channles

Hui Wang hui.wang at canonical.com
Tue Jun 9 15:20:31 CEST 2015


On 06/09/2015 07:50 PM, Raymond Yau wrote:
> 2015-6-9 下午5:39 於 "hwang4" <hui.wang at 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 at alsa-project.org
> http://mailman.alsa-project.org/mailman/listinfo/alsa-devel



More information about the Alsa-devel mailing list