New snd_hda driver came in.

Alexander Motin mav at
Wed Sep 17 11:38:08 UTC 2008

Alex Keda wrote:
>>> after today update source, not work internal speaker...
>>> phones - works...
>>> lissyara$ dmesg | grep hda
>>> hdac0: <ATI SB600 High Definition Audio Controller> mem
>>> 0xd8900000-0xd8903fff irq 16 at device 20.2 on pci0
>>> hdac0: <HDA Driver Revision: 20080916_0112>
>>> hdac0: [ITHREAD]
>>> hdac0: <HDA Codec #3: Realtek ALC262>
>>> pcm0: <HDA codec #3 Realtek ALC262 PCM #0> on hdac0
>>> lissyara$ uname -a
>>> FreeBSD lissyara.moskb.local 8.0-CURRENT FreeBSD 8.0-CURRENT #0: Wed Sep
>>> 17 10:41:27 MSD 2008   
>>> lissyara at lissyara.moskb.local:/tmp/obj/usr/src/sys/GENERIC  amd64
>>> lissyara$
>>> before update work and phones and speaker (but, when plug phones speaker
>>> not dead =()
>>> how say driver use internal speaker?
>> Send me please verbose boot messages from your system. Also try to
>> plug/unplug headphones with verbose messages enabled looking for any
>> kernel log activity and send that logs to me.
> see attached file

As I can see, your BIOS configures codec in very unusual way. It defines
2 playback associations (logical devices): one for line-out jack and
headphones jack and another for speaker. As soon as your ALC262 codec
allows playback to speaker only from first DAC and it was already used
by the first association, driver was unable to route any signal to
speaker reporting:
hdac0: Association 1 (2) trace failed

You can specify
in your loader.conf to reconfigure codec in a more usual way to make
speaker and headphones jack a first association and line-out - second.
That combination should work fine I think.

If it will - tell me your system model to add permanent quirk to the driver.

> and
> plug phones:
> hdac0: Unsol Tag: 0x00000000
> hdac0: Pin sense: nid=21 res=0x80000000
> unplug phones:
> hdac0: Unsol Tag: 0x00000000
> hdac0: Pin sense: nid=21 res=0x00000000

This means that jack detection works.

Alexander Motin

More information about the freebsd-multimedia mailing list