New snd_hda driver came in.
Alexander Motin
mav at FreeBSD.org
Sun Sep 28 09:12:49 UTC 2008
Ian FREISLICH wrote:
> Alexander Motin wrote:
>> Ian FREISLICH wrote:
>>> I just noticed that my speakers still play (very softly) when my
>>> headphone jack is inserted.
>> May be your codec has no muter on speaker pin and driver uses it's
>> volume control instead.
>
> It used to work.
As I can see, Speaker pin has neither muter nor volume control. In such
case driver usually tries to disable pin OUT control to silent it.
Previous driver does it same way, because of quirks. New driver should
do it automatically, but it doesn't because of broken codec
configuration (see below).
Did I understand right that on headphone connection speaker volume is
decreasing? May be hardware itself just disables power amplifier on jack
connection, but it does not disconnects it completely, neither the
driver does.
>>> Also, when playing back, the optical port is activated.
>> Is it good or bad? :) I have no optical ports, but my copper one seems
>> to be enabled only when data stream present there. At least by receiver
>> displays so.
>
> Neither good nor bad. Also, the built in mic has never worked, but
> it looks promising from this boot message.
Your BIOS writes completely broken configuration into the codec. You
should update it or use device hints to fix the situation.
>>> My hardware is a MacBook Pro. Let me know what to do to extract
>>> the information you need to debug this.
>> Verbose kernel boot messages would be good.
>
> hdac0: 3 associations found:
> hdac0: Association 0 (1) in:
> hdac0: Pin nid=11 seq=2
mic alone, no problem, let it be.
> hdac0: Association 1 (2) out:
> hdac0: Pin nid=12 seq=1
Speaker, fine.
> hdac0: Pin nid=10 seq=2
Line-out. It pretend to work as rear channel pair. If it should work as
headphones with speaker auto mute it should have "Speaker" device type
and seq=15.
> hdac0: Pin nid=16 seq=3
SPDIF-out. It pretend to work as center/sub channels. That's why it
activates when you playing audio. I would recommend you do move it to
separate association to use it properly.
> hdac0: Association 2 (3) in:
> hdac0: Pin nid=15 seq=1
Line-in. Strange that it is placed to the same association as SPDIF-in.
UAA specification strictly denies it! I would move it to as=1, it will
fix both.
> hdac0: Pin nid=17 seq=2
SPDIF-in. Driver unable to use it now as it can;t be routed to the same
DAC with Line-in.
> hdac0: Tracing association 0 (1)
> hdac0: Pin 11 traced to ADC 6
> hdac0: Association 0 (1) trace succeded
> hdac0: Tracing association 1 (2)
> hdac0: Pin 12 traced to DAC 3
> hdac0: Pin 10 traced to DAC 2
> hdac0: Pin 16 traced to DAC 8
> hdac0: Association 1 (2) trace succeded
> hdac0: Tracing association 2 (3)
> hdac0: Pin 15 traced to ADC 7
> hdac0: Unable to trace pin 17 to ADC 7, undo traces
> hdac0: Unable to trace pin 15 to ADC 9, undo traces
> hdac0: Association 2 (3) trace failed
Here you can see how driver processed this situation.
--
Alexander Motin
More information about the freebsd-multimedia
mailing list