dmesg | grep hda
to find out.hdaa0: Patched pins configuration:
hdaa0: nid 0x as seq device conn jack loc color misc
hdaa0: 22 0221101f 1 15 Headphones Jack 1/8 Front Black 0
hdaa0: 23 02a19020 2 0 Mic Jack 1/8 Front Pink 0
hdaa0: 24 400001f0 15 0 Line-out None Unknown 0x00 Unknown 1 DISA
hdaa0: 25 400001f0 15 0 Line-out None Unknown 0x00 Unknown 1 DISA
hdaa0: 26 92170110 1 0 Speaker Fixed Analog 0x12 Unknown 1
hdaa0: 27 400001f0 15 0 Line-out None Unknown 0x00 Unknown 1 DISA
hdaa0: 28 224511f0 15 0 SPDIF-out Jack Optical Ext-Front Black 1
hdaa0: 29 95a7112e 2 14 Mic Fixed Analog 0x15 Black 1
hint.hdaa.0.nid22.config="as=1 seq=15"
. This sets the headphones to be associated with the speakers on my laptop.I managed to get my sound working thanks to contributions made by shepper in multiple threads. Have you doublechecked that the headphones and speakers are in the same association? I guess they could be because the sound gets muted but you can always go withdmesg | grep hda
to find out.
Example from my laptop:
Code:hdaa0: Patched pins configuration: hdaa0: nid 0x as seq device conn jack loc color misc hdaa0: 22 0221101f 1 15 Headphones Jack 1/8 Front Black 0 hdaa0: 23 02a19020 2 0 Mic Jack 1/8 Front Pink 0 hdaa0: 24 400001f0 15 0 Line-out None Unknown 0x00 Unknown 1 DISA hdaa0: 25 400001f0 15 0 Line-out None Unknown 0x00 Unknown 1 DISA hdaa0: 26 92170110 1 0 Speaker Fixed Analog 0x12 Unknown 1 hdaa0: 27 400001f0 15 0 Line-out None Unknown 0x00 Unknown 1 DISA hdaa0: 28 224511f0 15 0 SPDIF-out Jack Optical Ext-Front Black 1 hdaa0: 29 95a7112e 2 14 Mic Fixed Analog 0x15 Black 1
And "as" you can see they have the same association with "as" (1).
If they are not in the same association then you fix it by adding the correct line to /boot/device.hints
where you put information about sound driver, nid, as, seq, device: as found in snd_hda(4).
Line in my /boot/device.hints ishint.hdaa.0.nid22.config="as=1 seq=15"
. This sets the headphones to be associated with the speakers on my laptop.
^^^
Make sure to put correct hinting corresponding to your devices and system. Hope this is the case and you became somewhat helped by this.
hdaa0: Patching widget caps nid=29 0x00400400 -> 0x00700400
hdaa0: Patched pins configuration:
hdaa0: nid 0x as seq device conn jack loc color misc
hdaa0: 18 90a60130 3 0 Mic Fixed Digital Internal Unknown 1
hdaa0: 19 40000000 0 0 Line-out None Unknown 0x00 Unknown 0 DISA
hdaa0: 20 90170110 1 0 Speaker Fixed Analog Internal Unknown 1
hdaa0: 22 411111f0 15 0 Speaker None 1/8 Rear Black 1 DISA
hdaa0: 23 411111f0 15 0 Speaker None 1/8 Rear Black 1 DISA
hdaa0: 24 411111f0 15 0 Speaker None 1/8 Rear Black 1 DISA
hdaa0: 25 04a11040 4 0 Mic Jack 1/8 Right Black 0
hdaa0: 26 411111f0 15 0 Speaker None 1/8 Rear Black 1 DISA
hdaa0: 27 411111f0 15 0 Speaker None 1/8 Rear Black 1 DISA
hdaa0: 30 411111f0 15 0 Speaker None 1/8 Rear Black 1 DISA
hdaa0: 33 04211020 2 0 Headphones Jack 1/8 Right Black 0
hdaa0: 4 associations found:
hdaa0: 20 90170110 1 0 Speaker Fixed Analog Internal Unknown 1
hdaa0: 33 04211020 2 0 Headphones Jack 1/8 Right Black 0
This should be your internal speaker that is wired to nid 20. The AS=1.Code:hdaa0: 20 90170110 1 0 Speaker Fixed Analog Internal Unknown 1
This should be a 1/8 inch jack on the Right side of your laptop that is wired to nid 33.Code:hdaa0: 33 04211020 2 0 Headphones Jack 1/8 Right Black 0
If you assign nid 33 to be in the same association as nid20 (AS=1) and give it a sequence of 15 (seq=15), when headphones are plugged into the jack, the lower output nid (20) should mute. There are a number of examples of the actual syntax that can be found by searching the forum or you can modify michael_hackson example by changing nid22 to nid20.
i-bsd
You can help future users by posting the make/model of laptop. Future users who search the web and this forum using "make/model + FreeBSD + sound" should find your fix.
hint.hdaa.0.nid33.config="as=1 seq=15"
hint.hdaa.0.nid33.config="as=1 seq=15"
sysctl dev.hdaa.0.nid33_config="as=1 seq=15
does not?But sysctl dev.hdaa.0.nid33_config="as=1 seq=15 does not?
sysrc
command using the -f
flag and the filename.Can someone explain why the following in /boot/device.hints works:
ButCode:hint.hdaa.0.nid33.config="as=1 seq=15"
sysctl dev.hdaa.0.nid33_config="as=1 seq=15
does not?
sysctrl
works if you do it right. As per manpage you have to commit your change:dev.hdaa.%d.reconfig Setting this to a non-zero value makes driver to destroy existing pcm devices and process new pins configuration set via dev.hdaa.%d.nid%d_config.
sysctl dev.hdaa.0.reconfig=1
sysctl dev.hdaa.1.reconfig=1
hdajackretask
located here: alsa-tools git repository it seems to be able to understand the details of how the pin out is done and present it in a graphical way that (at least on the advanced page) make sense to those of us who have a bit of difficulty picking out all that is there. I used it to correctly label/identify an output pin that I was using for my side speakers - it creates a boot time script that sounds like it does the equivalent to the lines in the /boot/device.hints but for that other Os.I think alsa-tools package is known to build using a systemd platform..but I can not see whether that is because it does things that only makes sense on a Linux system or because no one interested enough has looked at it.
Can you give more details of your issues?I would love to get more than a single pair of speakers working...
hdajackretask
is using and it contains the following:[codec]
0x10ec0888 0x1025014e 0
[pincfg]
0x11 0x411111f0
0x14 0x01014010
0x15 0x01011012
0x16 0x01016011
0x17 0x01014013
0x18 0x01a19840
0x19 0x02a19841
0x1a 0x411111f0
0x1b 0x0221401f
0x1c 0x0181304f
0x1d 0x411111f0
0x1e 0x014b1130
0x1f 0x411111f0
dev.hdaa.2.nidXX
magic.# cat /dev/sndstat
FreeBSD Audio Driver (64bit 2009061500/amd64)
Installed devices:
pcm0: <ATI R6xx (HDMI)> on hdaa0 (1p:1v/0r:0v)
pcm1: <Realtek ALC1200 (Analog 7.1+HP/2.0)> on hdaa1 (1p:4v/1r:4v) default
pcm2: <Realtek ALC1200 (Rear Digital)> on hdaa1 (1p:1v/0r:0v)
pcm3: <Realtek ALC1200 (Onboard Digital)> on hdaa1 (1p:1v/0r:0v)
pcm4: <Realtek ALC1200 (Front Analog Mic)> on hdaa1 (0p:0v/1r:1v)
No devices installed from userspace.
hw.snd.default_unit=4 # use the number of your default device
hw.snd.verbose=1
dev.pcm.4.play.vchanformat=s16le:5.1
dev.pcm.4.play.vchans=6 # number of virtual channels
dev.pcm.4.eq_preamp=+5
cat /dev/sndstat
.dev.pcm.?.play.vchans=?
setting is for the latter - and the dev.pcm.?.play.vchanformat=s16le:?.?
is the former - but then, "I think rain is wet so who am I to say?"; default-sample-channels = 2
; default-channel-map = front-left,front-right
default-sample-channels = 4
default-channel-map = front-left,front-right,rear-left,rear-right