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

Raymond Yau superquad.vortex2 at gmail.com
Wed Jun 10 03:30:50 CEST 2015


>>>
>>> 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?

http://www.temposemi.com/products/pclaptop-hd/92hd91/

2.3. Mono output Band-Pass Filter
For many applications, the primary speakers are incapable of reproducing
low frequency audio. Therefore it is desirable to implement a woofer or
sub-woofer speaker. The mono output is ideal for this task. However, the
frequency response should be restricted to prevent interference with the
primary speakers. Typically an external filter, known as a cross-over
filter, is used. The mono processing path includes a band-pass filter with
programmable high and low cut-off frequencies to eliminate the need for an
external filter.

2.3.1. Mixer Filter Description The band-pass filter is derived from the
common biquadratic filter and provides a 12dB/octave roll-off. The filter
may be programmed for a -3dB lower band edge of: 63Hz, 80Hz, 100Hz, 120Hz,
150Hz, 200Hz, 315Hz, or 400Hz.

The filter may be programmed for a -3dB upper band edge of: 150Hz, 200Hz,
250Hz, 315Hz, 400Hz, 500Hz, 630Hz, or 800Hz.

The band-pass filter is enabled by default with a cut-off frequencies at
120Hz and 250Hz. The filter may be bypassed using the associated verb
(processing state verb


More information about the Alsa-devel mailing list