configuring snd_hda

Zahemszky Gábor Gabor at Zahemszky.HU
Sat Feb 19 17:37:00 UTC 2011


Hi!

I've got an Intel DG965SS mainboard, on it I run 8.2-RC3 - amd64. The mainboard has a built-in sound device,
which is known to snd_hda:

# sysctl hw.snd.verbose=2
# cat /dev/sndstat
FreeBSD Audio Driver (newpcm: 64bit 2009061500/amd64)
Installed devices:
pcm0: <HDA Sigmatel STAC9227X PCM #0 Analog> at cad 2 nid 1 on hdac0 kld snd_hda (1p:1v/1r:1v) default
	snddev flags=0x2e2<AUTOVCHAN,BUSY,MPSAFE,REGISTERED,VPC>
	[pcm0:play:dsp0.p0]: spd 48000, fmt 0x00200010, flags 0x00002100, 0x00000004
	interrupts 929, underruns 0, feed 929, ready 0 [b:4096/2048/2|bs:4096/2048/2]
	channel flags=0x2100<BUSY,HAS_VCHAN>
	{userland} -> feeder_mixer(0x00200010) -> {hardware}
	pcm0:play:dsp0.p0[pcm0:virtual:dsp0.vp0]: spd 44100/48000, fmt 0x00100010/0x00200010, flags 0x10000000, 0x00000069
	interrupts 0, underruns 0, feed 0, ready 0 [b:0/0/0|bs:32768/1024/32]
	channel flags=0x10000000<VIRTUAL>
	{userland} -> feeder_root(0x00100010) -> feeder_rate(0x00100010 q:1 44100 -> 48000) -> feeder_matrix(1.0 -> 2.0) -> feeder_volume(0x00200010) -> {hardware}
	[pcm0:record:dsp0.r0]: spd 48000, fmt 0x00200010, flags 0x00002100, 0x00000005
	interrupts 0, overruns 0, feed 0, hfree 4096, sfree 4096 [b:4096/2048/2|bs:4096/2048/2]
	channel flags=0x2100<BUSY,HAS_VCHAN>
	{hardware} -> feeder_root(0x00200010) -> feeder_mixer(0x00200010) -> {userland}
	pcm0:record:dsp0.r0[pcm0:virtual:dsp0.vr0]: spd 8000, fmt 0x00100008, flags 0x10000000, 0x00000000
	interrupts 0, overruns 0, feed 0, hfree 0, sfree 0 [b:0/0/0|bs:0/0/0]
	channel flags=0x10000000<VIRTUAL>
	{hardware} -> feeder_root(0x00000000) -> {userland}


I can use the back panel speaker connector, it works. But:
I cannot use the other connectors: neither back panel microphone connector
nor the front panel audio connectors work. On the front, there are a green
(line-out/speaker) and a pink (microphone) connectors, but neither of them
work.

I've just found this information in the mainboard's manual:

"NOTE
Some chassis still use a front panel audio solution based on the AC '97 audio
specification. Refer to Table 7 below to connect an AC '97 front panel solution to the
front panel audio header on the board. The front panel audio jacks will need to be
manually configured for microphone or line out functionality in the Intel® Audio Studio
application."

I've read man snd_hda, and found the info about reconfiguring snd_hda, but - I'm so sorry - I
cannot understand, how can I make this soundcard to use my microphone. (I tested it on my laptops,
and the microphone is good on these machines.) I'd like to use the muting function, too: if
I push the headset into the front connector, it would be better to switch off the
speakers in the back connectors -).

I don't know, does it need, but here is the actual pindump:

# sysctl  dev.hdac.0.pindump=1
=== dump ====
hdac0: Dumping AFG cad=2 nid=1 pins:
hdac0:  nid 10 0x0221401f as  1 seq 15    Headphones  Jack jack  1 loc  2 color   Green misc 0
hdac0:        Caps: IN OUT HP      VREF Sense: 0x00002710 delay 10us
hdac0:  nid 11 0x02a19040 as  4 seq  0           Mic  Jack jack  1 loc  2 color    Pink misc 0
hdac0:        Caps: IN OUT HP      VREF Sense: 0x7fffffff delay 100000us
hdac0:  nid 12 0x400000fd as 15 seq 13      Line-out  None jack  0 loc  0 color Unknown misc 0 [DISABLED]
hdac0:        Caps: IN OUT         VREF Sense: 0x00002710 delay 10us
hdac0:  nid 13 0x01114010 as  1 seq  0       Speaker  Jack jack  1 loc  1 color   Green misc 0
hdac0:        Caps: IN OUT HP      VREF Sense: 0xffffffff delay 100000us
hdac0:  nid 14 0x01119012 as  1 seq  2       Speaker  Jack jack  1 loc  1 color    Pink misc 0
hdac0:        Caps: IN OUT         VREF Sense: 0x0000012c delay 10us
hdac0:  nid 15 0x01113011 as  1 seq  1       Speaker  Jack jack  1 loc  1 color    Blue misc 0
hdac0:        Caps: IN OUT         VREF Sense: 0x7fffffff delay 100000us
hdac0:  nid 16 0x400000fc as 15 seq 12      Line-out  None jack  0 loc  0 color Unknown misc 0 [DISABLED]
hdac0:        Caps: IN OUT              Sense: 0x00002710 delay 20us
hdac0:  nid 17 0x400000fb as 15 seq 11      Line-out  None jack  0 loc  0 color Unknown misc 0 [DISABLED]
hdac0:        Caps: IN OUT              Sense: 0x7fffffff delay 100000us
hdac0:  nid 18 0x400000fa as 15 seq 10      Line-out  None jack  0 loc  0 color Unknown misc 0 [DISABLED]
hdac0:        Caps: IN                 
hdac0:  nid 33 0x400000f9 as 15 seq  9      Line-out  None jack  0 loc  0 color Unknown misc 0 [DISABLED]
hdac0:        Caps:    OUT             
hdac0:  nid 34 0x400000ff as 15 seq 15      Line-out  None jack  0 loc  0 color Unknown misc 0 [DISABLED]
hdac0:        Caps: IN        EAPD      Sense: 0x00000000
hdac0: NumGPIO=3 NumGPO=0 NumGPI=0 GPIWake=1 GPIUnsol=1
hdac0: GPIO: data=0x00000000 enable=0x00000000 direction=0x00000000
hdac0:       wake=0x00000000  unsol=0x00000000    sticky=0x00000000
====

Thanks

Gábor < Gabor at Zahemszky dot HU >

-- 
#!/bin/ksh
#
# See my GPG key at http://www.Zahemszky.HU
#
Z='21N16I25C25E30, 40M30E33E25T15U!';
IFS=' ABCDEFGHIJKLMNOPQRSTUVWXYZ ';
set -- $Z;for i;{ [[ $i = ? ]]&&print $i&&break;
[[ $i = ??? ]]&&j=$i&&i=${i%?};
typeset -i40 i=8#$i;print -n ${i#???};
[[ "$j" = ??? ]]&&print -n "${j#??} "&&j=;typeset +i i;};
IFS=' 0123456789 ';set -- $Z;for i;{ [[ $i = , ]]&&i=2;
[[ $i = ?? ]]||typeset -l i;j="$j $i";typeset +l i;};print "$j"


More information about the freebsd-multimedia mailing list