No Audio on my system

This is my complete boot log, how can we sort out this audio issue?

How you sort this out is in the manual page for snd_hda. Prior posts have linked this for you.

When I went through this, I had to devote some effort to understand it.

Your default pin assignments are listed in your pastebin, lines 847 -> 1086. We are going to focus on the Cirrus Logic Pins, Line 925.
Code:
[LIST=1]
[*]Sep  2 13:41:37 bn kernel: hdaa1: nid   0x    as seq device       conn  jack    loc        color   misc
[*]Sep  2 13:41:37 bn kernel: hdaa1: 16 002b4020 2  0  Headphones    Jack  Combo   0x00       Green   0
[*]Sep  2 13:41:37 bn kernel: hdaa1: 17 400000f0 15 0  Line-out      None  Unknown 0x00       Unknown 0
[*]Sep  2 13:41:37 bn kernel: hdaa1: 18 90100110 1  0  Speaker       Fixed Unknown Internal   Unknown 1
[*]Sep  2 13:41:37 bn kernel: hdaa1: 19 90100112 1  2  Speaker       Fixed Unknown Internal   Unknown 1
[*]Sep  2 13:41:37 bn kernel: hdaa1: 20 400000f0 15 0  Line-out      None  Unknown 0x00       Unknown 0
[*]Sep  2 13:41:37 bn kernel: hdaa1: 21 400000f0 15 0  Line-out      None  Unknown 0x00       Unknown 0
[*]Sep  2 13:41:37 bn kernel: hdaa1: 22 400000f0 15 0  Line-out      None  Unknown 0x00       Unknown 0
[*]Sep  2 13:41:37 bn kernel: hdaa1: 23 400000f0 15 0  Line-out      None  Unknown 0x00       Unknown 0
[*]Sep  2 13:41:37 bn kernel: hdaa1: 24 00ab9040 4  0  Mic           Jack  Combo   0x00       Pink    0
[*]Sep  2 13:41:37 bn kernel: hdaa1: 25 400000f0 15 0  Line-out      None  Unknown 0x00       Unknown 0
[*]Sep  2 13:41:37 bn kernel: hdaa1: 26 400000f0 15 0  Line-out      None  Unknown 0x00       Unknown 0
[*]Sep  2 13:41:37 bn kernel: hdaa1: 27 400000f0 15 0  Line-out      None  Unknown 0x00       Unknown 0
[*]Sep  2 13:41:37 bn kernel: hdaa1: 28 90a60100 0  0  Mic           Fixed Digital Internal   Unknown 1
[*]Sep  2 13:41:37 bn kernel: hdaa1: 29 400000f0 15 0  Line-out      None  Unknown 0x00       Unknown 0
[*]Sep  2 13:41:37 bn kernel: hdaa1: 30 400000f0 15 0  Line-out      None  Unknown 0x00       Unknown 0
[*]Sep  2 13:41:37 bn kernel: hdaa1: 31 400000f0 15 0  Line-out      None  Unknown 0x00       Unknown 0
[*]Sep  2 13:41:37 bn kernel: hdaa1: 32 400000f0 15 0  Line-out      None  Unknown 0x00       Unknown 0
[*]Sep  2 13:41:37 bn kernel: hdaa1: 33 004be030 3  0  SPDIF-out     Jack  Combo   0x00       White   0
[*]Sep  2 13:41:37 bn kernel: hdaa1: 34 400000f0 15 0  Line-out      None  Unknown 0x00       Unknown 0
[/LIST]

Note that pins (nid) 18 and 19 are Speakers and they are in the same association (as=1) and the device is hdaa1

Your prior hints
Code:
hint.hdac.0.cad0.nid10.config="as=2 seq=2"
hint.hdac.0.cad0.nid12.config="as=4 seq=1
assigned pins 10 and 11 to the zero device (hdac.0 which can also be referenced as hdaa.0 in the hints).

I would start by assigning pin 18 and 19 to hdac.1 with as=1
Code:
hint.hdac.1.cad0.nid18.config="as=1 seq=0"
hint.hdac.1.cad0.nid19.config="as=1 seq=2"

These hints are for pcm3 which will need to be the default.
 
I had the similar problem on iMac 11,1 long time. I didn't find correct settings. What I have now is that just headphones works. I had also once just speaker works but sound was not good and settings when works at the same time speakers and headphones.
Now I have in /boot/device.hints:
Code:
hint.hdaa.gpio_config="3=set"
hint.hdaa.1.nid9.config="as=4 seq=0 misc=1"
hint.hdaa.1.nid10.config="as=4 seq=2"
hint.hdaa.1.nid11.config="as=4 seq=4"
and in /etc/sysctl.conf:
Code:
hw.snd.default_auto=0
hw.snd.default_unit=1

Code:
# cat /dev/sndstat
Installed devices:
pcm0: <ATI R6xx (HDMI)> (play)
pcm1: <Cirrus Logic CS4206 (Analog 6ch/2.0)> (play/rec) default
pcm2: <Cirrus Logic CS4206 (Rear Analog Line-in)> (rec)
pcm3: <Cirrus Logic CS4206 (Rear Digital)> (play/rec)
Code:
# dmesg | grep pcm
pcm0: <ATI R6xx (HDMI)> at nid 3 on hdaa0
pcm1: <Cirrus Logic CS4206 (Analog 6ch/2.0)> at nid 9,10,11 and 13 on hdaa1
pcm2: <Cirrus Logic CS4206 (Rear Analog Line-in)> at nid 12 on hdaa1
pcm3: <Cirrus Logic CS4206 (Rear Digital)> at nid 16 and 15 on hdaa1
pcm0: <ATI R6xx (HDMI)> at nid 3 on hdaa0
pcm1: <Cirrus Logic CS4206 (Analog 6ch/2.0)> at nid 9,10,11 and 13 on hdaa1
pcm2: <Cirrus Logic CS4206 (Rear Analog Line-in)> at nid 12 on hdaa1
pcm3: <Cirrus Logic CS4206 (Rear Digital)> at nid 16 and 15 on hdaa1

Thank you.
 
Last edited by a moderator:
How you sort this out is in the manual page for snd_hda. Prior posts have linked this for you.

When I went through this, I had to devote some effort to understand it.

Your default pin assignments are listed in your pastebin, lines 847 -> 1086. We are going to focus on the Cirrus Logic Pins, Line 925.
Code:
[LIST=1]
[*]Sep  2 13:41:37 bn kernel: hdaa1: nid   0x    as seq device       conn  jack    loc        color   misc
[*]Sep  2 13:41:37 bn kernel: hdaa1: 16 002b4020 2  0  Headphones    Jack  Combo   0x00       Green   0
[*]Sep  2 13:41:37 bn kernel: hdaa1: 17 400000f0 15 0  Line-out      None  Unknown 0x00       Unknown 0
[*]Sep  2 13:41:37 bn kernel: hdaa1: 18 90100110 1  0  Speaker       Fixed Unknown Internal   Unknown 1
[*]Sep  2 13:41:37 bn kernel: hdaa1: 19 90100112 1  2  Speaker       Fixed Unknown Internal   Unknown 1
[*]Sep  2 13:41:37 bn kernel: hdaa1: 20 400000f0 15 0  Line-out      None  Unknown 0x00       Unknown 0
[*]Sep  2 13:41:37 bn kernel: hdaa1: 21 400000f0 15 0  Line-out      None  Unknown 0x00       Unknown 0
[*]Sep  2 13:41:37 bn kernel: hdaa1: 22 400000f0 15 0  Line-out      None  Unknown 0x00       Unknown 0
[*]Sep  2 13:41:37 bn kernel: hdaa1: 23 400000f0 15 0  Line-out      None  Unknown 0x00       Unknown 0
[*]Sep  2 13:41:37 bn kernel: hdaa1: 24 00ab9040 4  0  Mic           Jack  Combo   0x00       Pink    0
[*]Sep  2 13:41:37 bn kernel: hdaa1: 25 400000f0 15 0  Line-out      None  Unknown 0x00       Unknown 0
[*]Sep  2 13:41:37 bn kernel: hdaa1: 26 400000f0 15 0  Line-out      None  Unknown 0x00       Unknown 0
[*]Sep  2 13:41:37 bn kernel: hdaa1: 27 400000f0 15 0  Line-out      None  Unknown 0x00       Unknown 0
[*]Sep  2 13:41:37 bn kernel: hdaa1: 28 90a60100 0  0  Mic           Fixed Digital Internal   Unknown 1
[*]Sep  2 13:41:37 bn kernel: hdaa1: 29 400000f0 15 0  Line-out      None  Unknown 0x00       Unknown 0
[*]Sep  2 13:41:37 bn kernel: hdaa1: 30 400000f0 15 0  Line-out      None  Unknown 0x00       Unknown 0
[*]Sep  2 13:41:37 bn kernel: hdaa1: 31 400000f0 15 0  Line-out      None  Unknown 0x00       Unknown 0
[*]Sep  2 13:41:37 bn kernel: hdaa1: 32 400000f0 15 0  Line-out      None  Unknown 0x00       Unknown 0
[*]Sep  2 13:41:37 bn kernel: hdaa1: 33 004be030 3  0  SPDIF-out     Jack  Combo   0x00       White   0
[*]Sep  2 13:41:37 bn kernel: hdaa1: 34 400000f0 15 0  Line-out      None  Unknown 0x00       Unknown 0
[/LIST]

Note that pins (nid) 18 and 19 are Speakers and they are in the same association (as=1) and the device is hdaa1

Your prior hints
Code:
hint.hdac.0.cad0.nid10.config="as=2 seq=2"
hint.hdac.0.cad0.nid12.config="as=4 seq=1
assigned pins 10 and 11 to the zero device (hdac.0 which can also be referenced as hdaa.0 in the hints).

I would start by assigning pin 18 and 19 to hdac.1 with as=1
Code:
hint.hdac.1.cad0.nid18.config="as=1 seq=0"
hint.hdac.1.cad0.nid19.config="as=1 seq=2"

These hints are for pcm3 which will need to be the default.

shepper wow, that makes my headphone audio work and they sound great too! Here's the pastebin : http://paste2.org/ap1Bn9HF
 
shepper please help once more.

I had to do a fresh install of FreeBSD because building some ports I setup a circular dependency that would run until my computer died. Anyways that's sorted out now but my audio no longer works, even with the edits you showed above.

I tried but I am making some mistakes and it takes a whole restart cycle to test. Here's what I've done so far.

Updated my /etc/sysctl.conf to this adding the code to set the default hw to 3
Code:
# $FreeBSD: releng/11.0/etc/sysctl.conf 112200 2003-03-13 18:43:50Z mux $
#
#  This file is read when going to multi-user and its contents piped thru
#  ``sysctl'' to adjust kernel values.  ``man 5 sysctl.conf'' for details.
#

# Uncomment this to prevent users from seeing information about processes that
# are being run under another UID.
#security.bsd.see_other_uids=0
kern.ipc.shm_allow_removed=1
hw.snd.default_unit=3

edit my /boot/device.hints, I used hint.hdaa because that's what the name comes up as in the verbose boot logs. Although you wrote hdac in the above, I also tried hdac but that didn't work either.

Code:
# $FreeBSD: releng/11.0/sys/amd64/conf/GENERIC.hints 297243 2016-03-24 20:52:35Z mav $
hint.fdc.0.at="isa"
hint.fdc.0.port="0x3F0"
hint.fdc.0.irq="6"
hint.fdc.0.drq="2"
hint.fd.0.at="fdc0"
hint.fd.0.drive="0"
hint.fd.1.at="fdc0"
hint.fd.1.drive="1"
hint.atkbdc.0.at="isa"
hint.atkbdc.0.port="0x060"
hint.atkbd.0.at="atkbdc"
hint.atkbd.0.irq="1"
hint.psm.0.at="atkbdc"
hint.psm.0.irq="12"
hint.sc.0.at="isa"
hint.sc.0.flags="0x100"
hint.uart.0.at="isa"
hint.uart.0.port="0x3F8"
hint.uart.0.flags="0x10"
hint.uart.0.irq="4"
hint.uart.1.at="isa"
hint.uart.1.port="0x2F8"
hint.uart.1.irq="3"
hint.ppc.0.at="isa"
hint.ppc.0.irq="7"
hint.atrtc.0.at="isa"
hint.atrtc.0.port="0x70"
hint.atrtc.0.irq="8"
hint.attimer.0.at="isa"
hint.attimer.0.port="0x40"
hint.attimer.0.irq="0"
hint.acpi_throttle.0.disabled="1"
hint.p4tcc.0.disabled="1"
hint.hdaa.1.cad0.nid18.config="as=1 seq=0"
hint.hdaa.1.cad0.nid19.config="as=1 seq=2"

and my verbose boot logs, I found all the parts that I think are relevant as well. I might have missed something though.
Code:
blubee@bn:~ % cat all.log | grep hda
Sep  7 19:48:47 bn kernel: hdac0: <NVIDIA (0x0e1b) HDA Controller> mem 0xc1080000-0xc1083fff at device 0.1 on pci1
Sep  7 19:48:47 bn kernel: hdac1: <Intel Lynx Point HDA Controller> mem 0xc1b14000-0xc1b17fff at device 27.0 on pci0
Sep  7 19:48:47 bn kernel: hdacc0: <NVIDIA (0x0042) HDA CODEC> at cad 0 on hdac0
Sep  7 19:48:47 bn kernel: hdaa0: <NVIDIA (0x0042) Audio Function Group> at nid 1 on hdacc0
Sep  7 19:48:47 bn kernel: pcm0: <NVIDIA (0x0042) (HDMI/DP 8ch)> at nid 4 on hdaa0
Sep  7 19:48:47 bn kernel: pcm1: <NVIDIA (0x0042) (HDMI/DP 8ch)> at nid 5 on hdaa0
Sep  7 19:48:47 bn kernel: pcm2: <NVIDIA (0x0042) (HDMI/DP 8ch)> at nid 7 on hdaa0
Sep  7 19:48:47 bn kernel: hdacc1: <Cirrus Logic (0x4208) HDA CODEC> at cad 0 on hdac1
Sep  7 19:48:47 bn kernel: hdaa1: <Cirrus Logic (0x4208) Audio Function Group> at nid 1 on hdacc1
Sep  7 19:48:47 bn kernel: pcm3: <Cirrus Logic (0x4208) (Analog 4.0/2.0)> at nid 18,19 and 24 on hdaa1
Sep  7 19:48:47 bn kernel: pcm4: <Cirrus Logic (0x4208) (Analog Headphones)> at nid 16 on hdaa1
Sep  7 19:48:47 bn kernel: pcm5: <Cirrus Logic (0x4208) (Digital)> at nid 33 on hdaa1
Sep  7 20:01:22 bn kernel: hdac0: <NVIDIA (0x0e1b) HDA Controller> mem 0xc1080000-0xc1083fff at device 0.1 on pci1
Sep  7 20:01:22 bn kernel: hdac0: PCI card vendor: 0x106b, device: 0x0130
Sep  7 20:01:22 bn kernel: hdac0: HDA Driver Revision: 20120126_0002
Sep  7 20:01:22 bn kernel: hdac0: Config options: on=0x00000000 off=0x00000000
Sep  7 20:01:22 bn kernel: hdac0: attempting to allocate 1 MSI vectors (1 supported)
Sep  7 20:01:22 bn kernel: hdac0: using IRQ 264 for MSI
Sep  7 20:01:22 bn kernel: hdac0: Caps: OSS 4, ISS 4, BSS 0, NSDO 4, 64bit, CORB 256, RIRB 256
Sep  7 20:01:22 bn kernel: random: harvesting attach, 8 bytes (4 bits) from hdac0
Sep  7 20:01:22 bn kernel: hdac1: <Intel Lynx Point HDA Controller> mem 0xc1b14000-0xc1b17fff at device 27.0 on pci0
Sep  7 20:01:22 bn kernel: hdac1: PCI card vendor: 0x8086, device: 0x7270
Sep  7 20:01:22 bn kernel: hdac1: HDA Driver Revision: 20120126_0002
Sep  7 20:01:22 bn kernel: hdac1: Config options: on=0x00000000 off=0x00000000
Sep  7 20:01:22 bn kernel: hdac1: attempting to allocate 1 MSI vectors (1 supported)
Sep  7 20:01:22 bn kernel: hdac1: using IRQ 266 for MSI
Sep  7 20:01:22 bn kernel: hdac1: Caps: OSS 4, ISS 4, BSS 0, NSDO 1, 64bit, CORB 256, RIRB 256
Sep  7 20:01:22 bn kernel: random: harvesting attach, 8 bytes (4 bits) from hdac1
Sep  7 20:01:22 bn kernel: hdacc0: <NVIDIA (0x0042) HDA CODEC> at cad 0 on hdac0
Sep  7 20:01:22 bn kernel: hdaa0: <NVIDIA (0x0042) Audio Function Group> at nid 1 on hdacc0
Sep  7 20:01:22 bn kernel: hdaa0: Subsystem ID: 0x106b0130
Sep  7 20:01:22 bn kernel: hdaa0: NumGPIO=0 NumGPO=0 NumGPI=0 GPIWake=0 GPIUnsol=0
Sep  7 20:01:22 bn kernel: hdaa0: Original pins configuration:
Sep  7 20:01:22 bn kernel: hdaa0: nid   0x    as seq device       conn  jack    loc        color   misc
Sep  7 20:01:22 bn kernel: hdaa0:  4 185600f0 15 0  Digital-out   Jack  Digital 0x18       Unknown 0
Sep  7 20:01:22 bn kernel: hdaa0:  5 185600f0 15 0  Digital-out   Jack  Digital 0x18       Unknown 0
Sep  7 20:01:22 bn kernel: hdaa0:  6 585600f0 15 0  Digital-out   None  Digital 0x18       Unknown 0
Sep  7 20:01:22 bn kernel: hdaa0:  7 185600f0 15 0  Digital-out   Jack  Digital 0x18       Unknown 0
Sep  7 20:01:22 bn kernel: hdaa0: Patched pins configuration:
Sep  7 20:01:22 bn kernel: hdaa0: nid   0x    as seq device       conn  jack    loc        color   misc
Sep  7 20:01:22 bn kernel: hdaa0:  4 185600f0 15 0  Digital-out   Jack  Digital 0x18       Unknown 0
Sep  7 20:01:22 bn kernel: hdaa0:  5 185600f0 15 0  Digital-out   Jack  Digital 0x18       Unknown 0
Sep  7 20:01:22 bn kernel: hdaa0:  6 585600f0 15 0  Digital-out   None  Digital 0x18       Unknown 0 DISA
Sep  7 20:01:22 bn kernel: hdaa0:  7 185600f0 15 0  Digital-out   Jack  Digital 0x18       Unknown 0
Sep  7 20:01:22 bn kernel: hdaa0: 3 associations found:
Sep  7 20:01:22 bn kernel: hdaa0: Association 0 (15) out:
Sep  7 20:01:22 bn kernel: hdaa0:  Pin nid=4 seq=0
Sep  7 20:01:22 bn kernel: hdaa0: Association 1 (15) out:
Sep  7 20:01:22 bn kernel: hdaa0:  Pin nid=5 seq=0
Sep  7 20:01:22 bn kernel: hdaa0: Association 2 (15) out:
Sep  7 20:01:22 bn kernel: hdaa0:  Pin nid=7 seq=0
Sep  7 20:01:22 bn kernel: hdaa0: Tracing association 0 (15)
Sep  7 20:01:22 bn kernel: hdaa0:  Pin 4 traced to DAC 8
Sep  7 20:01:22 bn kernel: hdaa0: Association 0 (15) trace succeeded
Sep  7 20:01:22 bn kernel: hdaa0: Tracing association 1 (15)
Sep  7 20:01:22 bn kernel: hdaa0:  Pin 5 traced to DAC 9
Sep  7 20:01:22 bn kernel: hdaa0: Association 1 (15) trace succeeded
Sep  7 20:01:22 bn kernel: hdaa0: Tracing association 2 (15)
Sep  7 20:01:22 bn kernel: hdaa0:  Pin 7 traced to DAC 10
Sep  7 20:01:22 bn kernel: hdaa0: Association 2 (15) trace succeeded
Sep  7 20:01:22 bn kernel: hdaa0: Looking for additional DAC for association 0 (15)
Sep  7 20:01:22 bn kernel: hdaa0: Looking for additional DAC for association 1 (15)
Sep  7 20:01:22 bn kernel: hdaa0: Looking for additional DAC for association 2 (15)
Sep  7 20:01:22 bn kernel: hdaa0: Tracing input monitor
Sep  7 20:01:22 bn kernel: hdaa0: Tracing other input monitors
Sep  7 20:01:22 bn kernel: hdaa0: Tracing beeper
Sep  7 20:01:22 bn kernel: hdaa0: FG config/quirks: forcestereo ivref50 ivref80 ivref100 ivref
Sep  7 20:01:22 bn kernel: pcm0: <NVIDIA (0x0042) (HDMI/DP 8ch)> at nid 4 on hdaa0
Sep  7 20:01:22 bn kernel: pcm1: <NVIDIA (0x0042) (HDMI/DP 8ch)> at nid 5 on hdaa0
Sep  7 20:01:22 bn kernel: pcm2: <NVIDIA (0x0042) (HDMI/DP 8ch)> at nid 7 on hdaa0
Sep  7 20:01:22 bn kernel: random: harvesting attach, 8 bytes (4 bits) from hdaa0
Sep  7 20:01:22 bn kernel: random: harvesting attach, 8 bytes (4 bits) from hdacc0
Sep  7 20:01:22 bn kernel: hdacc1: <Cirrus Logic (0x4208) HDA CODEC> at cad 0 on hdac1
Sep  7 20:01:22 bn kernel: hdaa1: <Cirrus Logic (0x4208) Audio Function Group> at nid 1 on hdacc1
Sep  7 20:01:22 bn kernel: hdaa1: Subsystem ID: 0x106b5e00
Sep  7 20:01:22 bn kernel: hdaa1: NumGPIO=6 NumGPO=2 NumGPI=0 GPIWake=1 GPIUnsol=1
Sep  7 20:01:22 bn kernel: hdaa1:  GPIO0: output state=0
Sep  7 20:01:22 bn kernel: hdaa1:  GPIO1: disabled
Sep  7 20:01:22 bn kernel: hdaa1:  GPIO2: disabled
Sep  7 20:01:22 bn kernel: hdaa1:  GPIO3: disabled
Sep  7 20:01:22 bn kernel: hdaa1:  GPIO4: disabled
Sep  7 20:01:22 bn kernel: hdaa1:  GPIO5: disabled
Sep  7 20:01:22 bn kernel: hdaa1:  GPO0: state=0hdaa1:  GPO1: state=0hdaa1: Original pins configuration:
Sep  7 20:01:22 bn kernel: hdaa1: nid   0x    as seq device       conn  jack    loc        color   misc
Sep  7 20:01:22 bn kernel: hdaa1: 16 002b4020 2  0  Headphones    Jack  Combo   0x00       Green   0
Sep  7 20:01:22 bn kernel: hdaa1: 17 400000f0 15 0  Line-out      None  Unknown 0x00       Unknown 0
Sep  7 20:01:22 bn kernel: hdaa1: 18 90100110 1  0  Speaker       Fixed Unknown Internal   Unknown 1
Sep  7 20:01:22 bn kernel: hdaa1: 19 90100112 1  2  Speaker       Fixed Unknown Internal   Unknown 1
Sep  7 20:01:22 bn kernel: hdaa1: 20 400000f0 15 0  Line-out      None  Unknown 0x00       Unknown 0
Sep  7 20:01:22 bn kernel: hdaa1: 21 400000f0 15 0  Line-out      None  Unknown 0x00       Unknown 0
Sep  7 20:01:22 bn kernel: hdaa1: 22 400000f0 15 0  Line-out      None  Unknown 0x00       Unknown 0
Sep  7 20:01:22 bn kernel: hdaa1: 23 400000f0 15 0  Line-out      None  Unknown 0x00       Unknown 0
Sep  7 20:01:22 bn kernel: hdaa1: 24 00ab9040 4  0  Mic           Jack  Combo   0x00       Pink    0
Sep  7 20:01:22 bn kernel: hdaa1: 25 400000f0 15 0  Line-out      None  Unknown 0x00       Unknown 0
Sep  7 20:01:22 bn kernel: hdaa1: 26 400000f0 15 0  Line-out      None  Unknown 0x00       Unknown 0
Sep  7 20:01:22 bn kernel: hdaa1: 27 400000f0 15 0  Line-out      None  Unknown 0x00       Unknown 0
Sep  7 20:01:22 bn kernel: hdaa1: 28 90a60100 0  0  Mic           Fixed Digital Internal   Unknown 1
Sep  7 20:01:22 bn kernel: hdaa1: 29 400000f0 15 0  Line-out      None  Unknown 0x00       Unknown 0
Sep  7 20:01:22 bn kernel: hdaa1: 30 400000f0 15 0  Line-out      None  Unknown 0x00       Unknown 0
Sep  7 20:01:22 bn kernel: hdaa1: 31 400000f0 15 0  Line-out      None  Unknown 0x00       Unknown 0
Sep  7 20:01:22 bn kernel: hdaa1: 32 400000f0 15 0  Line-out      None  Unknown 0x00       Unknown 0
Sep  7 20:01:22 bn kernel: hdaa1: 33 004be030 3  0  SPDIF-out     Jack  Combo   0x00       White   0
Sep  7 20:01:22 bn kernel: hdaa1: 34 400000f0 15 0  Line-out      None  Unknown 0x00       Unknown 0
Sep  7 20:01:22 bn kernel: hdaa1: Patched pins configuration:
Sep  7 20:01:22 bn kernel: hdaa1: nid   0x    as seq device       conn  jack    loc        color   misc
Sep  7 20:01:22 bn kernel: hdaa1: 16 002b4020 2  0  Headphones    Jack  Combo   0x00       Green   0
Sep  7 20:01:22 bn kernel: hdaa1: 17 400000f0 15 0  Line-out      None  Unknown 0x00       Unknown 0 DISA
Sep  7 20:01:22 bn kernel: hdaa1: 18 90100110 1  0  Speaker       Fixed Unknown Internal   Unknown 1
Sep  7 20:01:22 bn kernel: hdaa1: 19 90100112 1  2  Speaker       Fixed Unknown Internal   Unknown 1
Sep  7 20:01:22 bn kernel: hdaa1: 20 400000f0 15 0  Line-out      None  Unknown 0x00       Unknown 0 DISA
Sep  7 20:01:22 bn kernel: hdaa1: 21 400000f0 15 0  Line-out      None  Unknown 0x00       Unknown 0 DISA
Sep  7 20:01:22 bn kernel: hdaa1: 22 400000f0 15 0  Line-out      None  Unknown 0x00       Unknown 0 DISA
Sep  7 20:01:22 bn kernel: hdaa1: 23 400000f0 15 0  Line-out      None  Unknown 0x00       Unknown 0 DISA
Sep  7 20:01:22 bn kernel: hdaa1: 24 00ab9040 4  0  Mic           Jack  Combo   0x00       Pink    0
Sep  7 20:01:22 bn kernel: hdaa1: 25 400000f0 15 0  Line-out      None  Unknown 0x00       Unknown 0 DISA
Sep  7 20:01:22 bn kernel: hdaa1: 26 400000f0 15 0  Line-out      None  Unknown 0x00       Unknown 0 DISA
Sep  7 20:01:22 bn kernel: hdaa1: 27 400000f0 15 0  Line-out      None  Unknown 0x00       Unknown 0 DISA
Sep  7 20:01:22 bn kernel: hdaa1: 28 90a60100 0  0  Mic           Fixed Digital Internal   Unknown 1 DISA
Sep  7 20:01:22 bn kernel: hdaa1: 29 400000f0 15 0  Line-out      None  Unknown 0x00       Unknown 0 DISA
Sep  7 20:01:22 bn kernel: hdaa1: 30 400000f0 15 0  Line-out      None  Unknown 0x00       Unknown 0 DISA
Sep  7 20:01:22 bn kernel: hdaa1: 31 400000f0 15 0  Line-out      None  Unknown 0x00       Unknown 0 DISA
Sep  7 20:01:22 bn kernel: hdaa1: 32 400000f0 15 0  Line-out      None  Unknown 0x00       Unknown 0 DISA
Sep  7 20:01:22 bn kernel: hdaa1: 33 004be030 3  0  SPDIF-out     Jack  Combo   0x00       White   0
Sep  7 20:01:22 bn kernel: hdaa1: 34 400000f0 15 0  Line-out      None  Unknown 0x00       Unknown 0 DISA
Sep  7 20:01:22 bn kernel: hdaa1: 4 associations found:
Sep  7 20:01:22 bn kernel: hdaa1: Association 0 (1) out:
Sep  7 20:01:22 bn kernel: hdaa1:  Pin nid=18 seq=0
Sep  7 20:01:22 bn kernel: hdaa1:  Pin nid=19 seq=2
Sep  7 20:01:22 bn kernel: hdaa1: Association 1 (2) out:
Sep  7 20:01:22 bn kernel: hdaa1:  Pin nid=16 seq=0
Sep  7 20:01:22 bn kernel: hdaa1: Association 2 (3) out:
Sep  7 20:01:22 bn kernel: hdaa1:  Pin nid=33 seq=0
Sep  7 20:01:22 bn kernel: hdaa1: Association 3 (4) in:
Sep  7 20:01:22 bn kernel: hdaa1:  Pin nid=24 seq=0
Sep  7 20:01:22 bn kernel: hdaa1: Tracing association 0 (1)
Sep  7 20:01:22 bn kernel: hdaa1:  Pin 18 traced to DAC 3
Sep  7 20:01:22 bn kernel: hdaa1:  Pin 19 traced to DAC 4
Sep  7 20:01:22 bn kernel: hdaa1: Association 0 (1) trace succeeded
Sep  7 20:01:22 bn kernel: hdaa1: Tracing association 1 (2)
Sep  7 20:01:22 bn kernel: hdaa1:  Pin 16 traced to DAC 2
Sep  7 20:01:22 bn kernel: hdaa1: Association 1 (2) trace succeeded
Sep  7 20:01:22 bn kernel: hdaa1: Tracing association 2 (3)
Sep  7 20:01:22 bn kernel: hdaa1:  Pin 33 traced to DAC 14
Sep  7 20:01:22 bn kernel: hdaa1: Association 2 (3) trace succeeded
Sep  7 20:01:22 bn kernel: hdaa1: Tracing association 3 (4)
Sep  7 20:01:22 bn kernel: hdaa1:  Unable to trace pin 24 to ADC 6, undo traces
Sep  7 20:01:22 bn kernel: hdaa1:  Pin 24 traced to ADC 7
Sep  7 20:01:22 bn kernel: hdaa1: Association 3 (4) trace succeeded
Sep  7 20:01:22 bn kernel: hdaa1: Looking for additional DAC for association 0 (1)
Sep  7 20:01:22 bn kernel: hdaa1: Looking for additional DAC for association 1 (2)
Sep  7 20:01:22 bn kernel: hdaa1: Looking for additional DAC for association 2 (3)
Sep  7 20:01:22 bn kernel: hdaa1: Looking for additional ADC for association 3 (4)
Sep  7 20:01:22 bn kernel: hdaa1: Tracing input monitor
Sep  7 20:01:22 bn kernel: hdaa1: Tracing other input monitors
Sep  7 20:01:22 bn kernel: hdaa1:  Tracing nid 24 to out
Sep  7 20:01:22 bn kernel: hdaa1: Tracing beeper
Sep  7 20:01:22 bn kernel: hdaa1: FG config/quirks: forcestereo ivref50 ivref80 ivref100 ivref
Sep  7 20:01:22 bn kernel: pcm3: <Cirrus Logic (0x4208) (Analog 4.0/2.0)> at nid 18,19 and 24 on hdaa1
Sep  7 20:01:22 bn kernel: pcm4: <Cirrus Logic (0x4208) (Analog Headphones)> at nid 16 on hdaa1
Sep  7 20:01:22 bn kernel: pcm5: <Cirrus Logic (0x4208) (Digital)> at nid 33 on hdaa1
Sep  7 20:01:22 bn kernel: random: harvesting attach, 8 bytes (4 bits) from hdaa1
Sep  7 20:01:22 bn kernel: random: harvesting attach, 8 bytes (4 bits) from hdacc1
 
Last edited by a moderator:
What you have looks good to me. You may want to check your mixer(8) settings to make sure the speakers are not muted. You may also want to try putting pin 16 (Headphones) into the same association as the speakers with a sequence of 15
Code:
hint.hdaa.1.cad0.nid16.config="as=1 seq=15"

Your setup is odd in that the headphones are usually a higher pin number than the speakers but I noted that your speakers have lower numbered pins as inputs (? preamp).
 
What you have looks good to me. You may want to check your mixer(8) settings to make sure the speakers are not muted. You may also want to try putting pin 16 (Headphones) into the same association as the speakers with a sequence of 15
Code:
hint.hdaa.1.cad0.nid16.config="as=1 seq=15"

Your setup is odd in that the headphones are usually a higher pin number than the speakers but I noted that your speakers have lower numbered pins as inputs (? preamp).

I tried that but there's still no sound. This is craxy, it was working before I had to wipe my hdd now it's not.

Is there anything else that I can try to change? Also do I need to restart my machine after each change?

Code:
blubee@bn:~ % cat /dev/sndstat 
Installed devices:
pcm0: <NVIDIA (0x0042) (HDMI/DP 8ch)> (play)
pcm1: <NVIDIA (0x0042) (HDMI/DP 8ch)> (play)
pcm2: <NVIDIA (0x0042) (HDMI/DP 8ch)> (play)
pcm3: <Cirrus Logic (0x4208) (Analog 4.0/2.0)> (play/rec) default
pcm4: <Cirrus Logic (0x4208) (Analog Headphones)> (play)
pcm5: <Cirrus Logic (0x4208) (Digital)> (play)
No devices installed from userspace.
 
Also do I need to restart my machine after each change?

Unfortunately yes. The reassignment of the pins only occurs during boot.

The only other thing I can recommend is to repost your /boot/device.hints, /etc/sysctl.conf, mixer (8)and the verbose dmesg that reflects the /boot/device.hints and /etc/sysctl.conf settings. Sometimes a second set of eyes will pick up a minor syntax error. Your initial logs showed 10.3 and the latest log 11.0. There is also the distinct possibility that there may have been breakage in 11.0rc2
 
One other thought - your prior post shows the headphones to be pcm4.
pcm4: <Cirrus Logic (0x4208) (Analog Headphones)> (play)

If your main goal is headphone use, what happens with removing
Code:
hint.hdaa.1.cad0.nid16.config="as=1 seq=15"
and setting your default sound device to pcm4?
 
One other thought - your prior post shows the headphones to be pcm4.


If your main goal is headphone use, what happens with removing
Code:
hint.hdaa.1.cad0.nid16.config="as=1 seq=15"
and setting your default sound device to pcm4?

I actually sorted this out just now with the help of vlc. In vlc, you can choose which audio device to use and I was just clicking on the different pcm devices, 0-5 and on pcm4 I heard audio in my headphones, but what you said was 100% correct.

So now headphones work again and that's pretty good. What I would like to do though is sort out the audio interfaces/ gpio and configuration for the internal speakers.

I have been reading the snd_hda documentation but it's really confusing. For example let's say I create some associations between two devices, how do I even know if those devices are getting power is the gpio correctly configured? Is there any way that I can check? There are so many moving parts...

At least i learned about the FreeBSD mixer and now I know how to change volumes w/o any third party tools, I can actually bind the correct commands to my keyboard shortcuts which again xkb helped me understand, which seemed like black magic on linux because config files were thrown all over the place but on FreeBSD they are well organized and make sense.

shepper do you know anyone else with a lot of experience with configuring the snd_hda or if you can help me as I walk through this. I know this can be setup correctly, it just needs time and effort.
 
shepper do you know anyone else with a lot of experience with configuring the snd_hda or if you can help me as I walk through this. I know this can be setup correctly, it just needs time and effort.

The fly in the ointment is your MacBook Pro 11.3. Manufacturer's have gone so far as to reverse jack sensing as set up by FreeBSD - plugging in the headphones shuts off the jack. The general process is to

1) Choose your desired configuration. For example default to the onboard speakers, headphone mutes speakers and use the built-in mic for recording.
2) Generate the default configuration and compare it to the configuration you desire.
3) Configure the desired pcm in /etc/sysctl.conf and assign the pins in hints
4) Test and review the new pin assignments. I recommend doing this incrementally. For instance, using pcm4 as default, does the verbose dmesg show any internal speakers in pcm4? Can the speakers be moved to the same association as the headphones?

It is a tedious process that is most efficiently done by the individual sitting in front of the MacBook.
 
The fly in the ointment is your MacBook Pro 11.3. Manufacturer's have gone so far as to reverse jack sensing as set up by FreeBSD - plugging in the headphones shuts off the jack. The general process is to

1) Choose your desired configuration. For example default to the onboard speakers, headphone mutes speakers and use the built-in mic for recording.
2) Generate the default configuration and compare it to the configuration you desire.
3) Configure the desired pcm in /etc/sysctl.conf and assign the pins in hints
4) Test and review the new pin assignments. I recommend doing this incrementally. For instance, using pcm4 as default, does the verbose dmesg show any internal speakers in pcm4? Can the speakers be moved to the same association as the headphones?

It is a tedious process that is most efficiently done by the individual sitting in front of the MacBook.

I have no problem with the tedious process of getting this sorted out. It's just the fact that the docs are really hard to parse. If you or anyone else don't mind helping will work this out.

The headphones are working and here's the verbose log with headphones plugged in : http://paste2.org/k6mVv64L
The text file will be attached as well.

I saw a lot of GPIO pin states that said disabled.....

I understand that the computer can detect when headphones are plugged in or not or even hdmi for that matter. On LInux The audio would play out of everything, headphones and speakers unless I turned down the headphones or internal speakers manually.

So is there a way that I can create a script file to say when a device is connected, what is it and get it's device info? That would be a great start.

After that I can create the proper audio setup configuration 1 for headphones, one for internal speakers one for hdmi, etc.... Then using the above script decide which configuration to load based on the state of the connected hardware.

So currently the headphones is pcm4, what would be the next steps in trying to configure the internal speakers only configuration?
 

Attachments

  • all_v2.txt
    106.6 KB · Views: 317
Code:
Sep 12 15:18:36 bn kernel: hdaa1: Patched pins configuration:
Sep 12 15:18:36 bn kernel: hdaa1: nid   0x    as seq device       conn  jack    loc        color   misc
Sep 12 15:18:36 bn kernel: hdaa1: 16 002b4020 2  0  Headphones    Jack  Combo   0x00       Green   0
Sep 12 15:18:36 bn kernel: hdaa1: 17 400000f0 15 0  Line-out      None  Unknown 0x00       Unknown 0 DISA
Sep 12 15:18:36 bn kernel: hdaa1: 18 90100110 1  0  Speaker       Fixed Unknown Internal   Unknown 1
Sep 12 15:18:36 bn kernel: hdaa1: 19 90100112 1  2  Speaker       Fixed Unknown Internal   Unknown 1
Sep 12 15:18:36 bn kernel: hdaa1: 20 400000f0 15 0  Line-out      None  Unknown 0x00       Unknown 0 DISA
Sep 12 15:18:36 bn kernel: hdaa1: 21 400000f0 15 0  Line-out      None  Unknown 0x00       Unknown 0 DISA
Sep 12 15:18:36 bn kernel: hdaa1: 22 400000f0 15 0  Line-out      None  Unknown 0x00       Unknown 0 DISA
Sep 12 15:18:36 bn kernel: hdaa1: 23 400000f0 15 0  Line-out      None  Unknown 0x00       Unknown 0 DISA
Sep 12 15:18:36 bn kernel: hdaa1: 24 00ab9040 4  0  Mic           Jack  Combo   0x00       Pink    0

*******
clip
*******
Sep 12 15:18:36 bn kernel: pcm3: <Cirrus Logic (0x4208) (Analog 4.0/2.0)> at nid 18,19 and 24 on hdaa1
Sep 12 15:18:36 bn kernel: pcm3: Playback:
Sep 12 15:18:36 bn kernel: pcm3:      Stream cap: 0x00000003 FLOAT32 PCM
Sep 12 15:18:36 bn kernel: pcm3:         PCM cap: 0x001e07f0 16 20 24 32 bits, 32 44 48 88 96 176 192 KHz
Sep 12 15:18:36 bn kernel: pcm3:             DAC: 3 4
Sep 12 15:18:36 bn kernel: pcm3:
Sep 12 15:18:36 bn kernel: pcm3:     nid=18 [pin: Speaker (Fixed)]
Sep 12 15:18:36 bn kernel: pcm3:       + <- nid=3 [audio output] [src: pcm]
Sep 12 15:18:36 bn kernel: pcm3:
Sep 12 15:18:36 bn kernel: pcm3:     nid=19 [pin: Speaker (Fixed)]
Sep 12 15:18:36 bn kernel: pcm3:       + <- nid=4 [audio output] [src: pcm]
Sep 12 15:18:36 bn kernel: pcm3:
********
clip
********
Sep 12 15:18:36 bn kernel: pcm4: <Cirrus Logic (0x4208) (Analog Headphones)> at nid 16 on hdaa1
Sep 12 15:18:36 bn kernel: pcm4: Playback:
Sep 12 15:18:36 bn kernel: pcm4:      Stream cap: 0x00000003 FLOAT32 PCM
Sep 12 15:18:36 bn kernel: pcm4:         PCM cap: 0x001e07f0 16 20 24 32 bits, 32 44 48 88 96 176 192 KHz
Sep 12 15:18:36 bn kernel: pcm4:             DAC: 2
Sep 12 15:18:36 bn kernel: pcm4:
Sep 12 15:18:36 bn kernel: pcm4:     nid=16 [pin: Headphones (Green Jack)]
Sep 12 15:18:36 bn kernel: pcm4:       + <- nid=2 [audio output] [src: pcm]
Sep 12 15:18:36 bn kernel: pcm4:
Sep 12 15:18:36 bn kernel: pcm4: Master Volume (OSS: vol): -66/0dB
Sep 12 15:18:36 bn kernel: pcm4:    +- ctl  1 (nid   2 out):    -63/0dB (128 steps) + mute
Sep 12 15:18:36 bn kernel: pcm4:    +- ctl  9 (nid  16 in ):    -66/0dB (67 steps) + mute
Sep 12 15:18:36 bn kernel: pcm4:
Sep 12 15:18:36 bn kernel: pcm4: PCM Volume (OSS: pcm): -63/0dB
Sep 12 15:18:36 bn kernel: pcm4:    +- ctl  1 (nid   2 out):    -63/0dB (128 steps) + mute
Sep 12 15:18:36 bn kernel: pcm4:    +- ctl  9 (nid  16 in ):    -66/0dB (67 steps) + mute
I am not sure how the DAC's interact with the pin assignments ie nid2 => nid16 (headphones), nid3->nid18(Speaker fixed) and nid4->nid19(another fixed speaker).
Can you try associating the speaker pins with the headphones.
Code:
hint.hdac.1.cad0.nid18.config="as=2 seq=0"
hint.hdac..cad0.nid19.config="as=2 seq=0"
Why you have 2 internal speakers, I do not know. If the above does not work, I would try disabling one of the speaker pins by assigning as=0 to that pin.

The headphones will be odd.
snd_hda(4) states
The sequence number 15 has a special meaning for
output associations. Output pins with this number and
device type ``Headphones'' will duplicate (with
automatic mute if jack detection is supported) the
first pin in that association.
The headphones are the first pin in the association and theoretically will mute themselves. It is possible to set a misc=0 for the headphones which would disable jack detection. I would play with that option once the speakers work.
 
Code:
Sep 12 15:18:36 bn kernel: hdaa1: Patched pins configuration:
Sep 12 15:18:36 bn kernel: hdaa1: nid   0x    as seq device       conn  jack    loc        color   misc
Sep 12 15:18:36 bn kernel: hdaa1: 16 002b4020 2  0  Headphones    Jack  Combo   0x00       Green   0
Sep 12 15:18:36 bn kernel: hdaa1: 17 400000f0 15 0  Line-out      None  Unknown 0x00       Unknown 0 DISA
Sep 12 15:18:36 bn kernel: hdaa1: 18 90100110 1  0  Speaker       Fixed Unknown Internal   Unknown 1
Sep 12 15:18:36 bn kernel: hdaa1: 19 90100112 1  2  Speaker       Fixed Unknown Internal   Unknown 1
Sep 12 15:18:36 bn kernel: hdaa1: 20 400000f0 15 0  Line-out      None  Unknown 0x00       Unknown 0 DISA
Sep 12 15:18:36 bn kernel: hdaa1: 21 400000f0 15 0  Line-out      None  Unknown 0x00       Unknown 0 DISA
Sep 12 15:18:36 bn kernel: hdaa1: 22 400000f0 15 0  Line-out      None  Unknown 0x00       Unknown 0 DISA
Sep 12 15:18:36 bn kernel: hdaa1: 23 400000f0 15 0  Line-out      None  Unknown 0x00       Unknown 0 DISA
Sep 12 15:18:36 bn kernel: hdaa1: 24 00ab9040 4  0  Mic           Jack  Combo   0x00       Pink    0

*******
clip
*******
Sep 12 15:18:36 bn kernel: pcm3: <Cirrus Logic (0x4208) (Analog 4.0/2.0)> at nid 18,19 and 24 on hdaa1
Sep 12 15:18:36 bn kernel: pcm3: Playback:
Sep 12 15:18:36 bn kernel: pcm3:      Stream cap: 0x00000003 FLOAT32 PCM
Sep 12 15:18:36 bn kernel: pcm3:         PCM cap: 0x001e07f0 16 20 24 32 bits, 32 44 48 88 96 176 192 KHz
Sep 12 15:18:36 bn kernel: pcm3:             DAC: 3 4
Sep 12 15:18:36 bn kernel: pcm3:
Sep 12 15:18:36 bn kernel: pcm3:     nid=18 [pin: Speaker (Fixed)]
Sep 12 15:18:36 bn kernel: pcm3:       + <- nid=3 [audio output] [src: pcm]
Sep 12 15:18:36 bn kernel: pcm3:
Sep 12 15:18:36 bn kernel: pcm3:     nid=19 [pin: Speaker (Fixed)]
Sep 12 15:18:36 bn kernel: pcm3:       + <- nid=4 [audio output] [src: pcm]
Sep 12 15:18:36 bn kernel: pcm3:
********
clip
********
Sep 12 15:18:36 bn kernel: pcm4: <Cirrus Logic (0x4208) (Analog Headphones)> at nid 16 on hdaa1
Sep 12 15:18:36 bn kernel: pcm4: Playback:
Sep 12 15:18:36 bn kernel: pcm4:      Stream cap: 0x00000003 FLOAT32 PCM
Sep 12 15:18:36 bn kernel: pcm4:         PCM cap: 0x001e07f0 16 20 24 32 bits, 32 44 48 88 96 176 192 KHz
Sep 12 15:18:36 bn kernel: pcm4:             DAC: 2
Sep 12 15:18:36 bn kernel: pcm4:
Sep 12 15:18:36 bn kernel: pcm4:     nid=16 [pin: Headphones (Green Jack)]
Sep 12 15:18:36 bn kernel: pcm4:       + <- nid=2 [audio output] [src: pcm]
Sep 12 15:18:36 bn kernel: pcm4:
Sep 12 15:18:36 bn kernel: pcm4: Master Volume (OSS: vol): -66/0dB
Sep 12 15:18:36 bn kernel: pcm4:    +- ctl  1 (nid   2 out):    -63/0dB (128 steps) + mute
Sep 12 15:18:36 bn kernel: pcm4:    +- ctl  9 (nid  16 in ):    -66/0dB (67 steps) + mute
Sep 12 15:18:36 bn kernel: pcm4:
Sep 12 15:18:36 bn kernel: pcm4: PCM Volume (OSS: pcm): -63/0dB
Sep 12 15:18:36 bn kernel: pcm4:    +- ctl  1 (nid   2 out):    -63/0dB (128 steps) + mute
Sep 12 15:18:36 bn kernel: pcm4:    +- ctl  9 (nid  16 in ):    -66/0dB (67 steps) + mute
I am not sure how the DAC's interact with the pin assignments ie nid2 => nid15 (headphones), nid3->nid18(Speaker fixed) and nid4->nid19(another fixed speaker).
Can you try associating the speaker pins with the headphones.
Code:
hint.hdac.1.cad0.nid18.config="as=2 seq=0"
hint.hdac..cad0.nid19.config="as=2 seq=0"
Why you have 2 internal speakers, I do not know. If the above does not work, I would try disabling one of the speaker pins by assigning as=0 to that pin.

The headphones will be odd.
snd_hda(4) states

The headphones are the first pin in the association and theoretically will mute themselves. It is possible to set a misc=0 for the headphones which would disable jack detection. I would play with that option once the speakers work.

I think it might show two internal speakers because there's one for the left and right speakers? At least that was my first though when I saw it.

But on another note yikes!

I tried the new associations that you recommended but when the machine booted up there were no audio devices. I have no hardware devices listed at all.

in my
Code:
/boot/devices.hints
I made these edits

Code:
# hint.hdac.1.cad0.nid18.config="as=1 seq=0"
# hint.hdac.1.cad0.nid19.config="as=1 seq=2"

hint.hdac.1.cad0.nid18.config="as=2 seq=0"
hint.hdac.1.cad0.nid19.config="as=2 seq=0"

That didn't work at all.
 

Attachments

  • all_log3.txt
    260.8 KB · Views: 300
Edit:

I found this Alsa bug report on this Arch Linux MacBook Sound wiki. Sound on MBP has been a challenge.
You may want to post to the FreeBSD multimedia list.
End Edit.
From snd_hda(4)
The section on "as"
"Association number. Associations are used to group
individual pins to form a complex multi-pin device.
For example, to group 4 connectors for 7.1
input/output, or to treat several input connectors as
sources for the same input device. Association
numbers can be specified as numeric values from 0 to
15. A value of 0 means disabled pin. A value of 15
is a set of independent unassociated pins. Each
association includes only pins of the same direction
(in/out) and is detected atomically (all pins or
none). A separate PCM audio device is created for
every pair of input and output associations."

The section on "seq"
"Sequence number. A unique, per-association number
used to order pins inside the particular association.
Sequence numbers can be specified as numeric values
from 0 to 15.
The sequence number 15 has a special meaning for
output associations. Output pins with this number and
device type ``Headphones'' will duplicate (with
automatic mute if jack detection is supported) the
first pin in that association.


The sequence numbers 14 and 15 has a special meaning
for input associations. Their presence in association
defines it as multiplexed or mixed respectively. If
none of them are present and there are more than one
pin in association, the association will provide
multichannel input.

For multichannel input/output associations sequence
numbers encode channel pairs positions: 0 - Front, 1 -
Center/LFE, 2 - Back, 3 - Front Wide Center, 4 - Side.
Standard combinations are: (0) - Stereo; (0, 2), (0,
4) - Quadro; (0, 1, 2), (0, 1, 4) - 5.1; (0, 1, 2, 4)
- 7.1."


If you have multichannel output associations you can either try disabling,
Code:
as=0
one of the pins (nid18 or nid19) and setting the remaining to stereo,
Code:
seq=0
. You can also trying changing the default 0,2 combination to a 0,4. Given that your headphone jack is a "combo" and by default is disabled, I would give up on trying to put the headphones and speakers in the same association. One last thought, are there any FreeBSD MacBook Pro howto's that reference a Cirrus Logic sound chip? Perhaps Apple was consistent in how they wired the pins on that chip.
 
Edit:

I found this Alsa bug report on this Arch Linux MacBook Sound wiki. Sound on MBP has been a challenge.
You may want to post to the FreeBSD multimedia list.
End Edit.
From snd_hda(4)
The section on "as"
"Association number. Associations are used to group
individual pins to form a complex multi-pin device.
For example, to group 4 connectors for 7.1
input/output, or to treat several input connectors as
sources for the same input device. Association
numbers can be specified as numeric values from 0 to
15. A value of 0 means disabled pin. A value of 15
is a set of independent unassociated pins. Each
association includes only pins of the same direction
(in/out) and is detected atomically (all pins or
none). A separate PCM audio device is created for
every pair of input and output associations."

The section on "seq"
"Sequence number. A unique, per-association number
used to order pins inside the particular association.
Sequence numbers can be specified as numeric values
from 0 to 15.
The sequence number 15 has a special meaning for
output associations. Output pins with this number and
device type ``Headphones'' will duplicate (with
automatic mute if jack detection is supported) the
first pin in that association.


The sequence numbers 14 and 15 has a special meaning
for input associations. Their presence in association
defines it as multiplexed or mixed respectively. If
none of them are present and there are more than one
pin in association, the association will provide
multichannel input.

For multichannel input/output associations sequence
numbers encode channel pairs positions: 0 - Front, 1 -
Center/LFE, 2 - Back, 3 - Front Wide Center, 4 - Side.
Standard combinations are: (0) - Stereo; (0, 2), (0,
4) - Quadro; (0, 1, 2), (0, 1, 4) - 5.1; (0, 1, 2, 4)
- 7.1."


If you have multichannel output associations you can either try disabling,
Code:
as=0
one of the pins (nid18 or nid19) and setting the remaining to stereo,
Code:
seq=0
. You can also trying changing the default 0,2 combination to a 0,4. Given that your headphone jack is a "combo" and by default is disabled, I would give up on trying to put the headphones and speakers in the same association. One last thought, are there any FreeBSD MacBook Pro howto's that reference a Cirrus Logic sound chip? Perhaps Apple was consistent in how they wired the pins on that chip.

I have been reading that snd_hda documentation but it's real dense. I can't visualize what's going on so i am lost.

Tell me if I have this mental model correct.

You have the GPIO pins that send power to the DAC and the DAC has the different ports that should connect to the headphones, internal speakers, mic, the GPU with it's hdmi port and it's audio devices as well? Something like this

seems like the forum software doesn't like blank spaces.

[GPIO] == [--------] >==------<[ left internal speaker ]
[GPIO] == [---D---] >-----=---<[ right internal speaker ]
[GPIO] == [---A---] >--------=<[ headphone jack ]
[GPIO] == [---C---] >----------<[ to hdmi stuff ]
[GPIO] == [--------] >----------<[ more internal chips ]

sorry for the bad ascii art but i'm trying to use the '=' to show a connection between the GPIO pin the DAC and through to the headphones

the lines for the DAC should connect to the hardware?

So is that mental model correct? The device.hints hdac configurations that we are attempting to write is to basically create associations and link up the DAC to things like the internal speakers, mic, etc?

Is that what's going on?
 
[GPIO] == [--------] >==------<[ left internal speaker ]
[GPIO] == [---D---] >-----=---<[ right internal speaker ]

I'm not sure about this part. Dating myself, my father built Heathkits in the late 50's and the initial implementation of stereo was one channel on FM, the opposite channel on AM. Multiplexing the channels did away with the need for 2 receivers. So I do not understand why Apple would go back to the 50's and separate feeds for the R and L channels. Is it possible that one of the channels is something like a subwoofer or rear output? Your default pin configuration in FreeBSD is treating pin19 (seq=2) as "rear".
 
I'm not sure about this part. Dating myself, my father built Heathkits in the late 50's and the initial implementation of stereo was one channel on FM, the opposite channel on AM. Multiplexing the channels did away with the need for 2 receivers. So I do not understand why Apple would go back to the 50's and separate feeds for the R and L channels. Is it possible that one of the channels is something like a subwoofer or rear output? Your default pin configuration in FreeBSD is treating pin19 (seq=2) as "rear".

Apple might do that just because it's Apple and their no 3.5mm or all their other antics but leaving that aside.

I did notice when I had an OS X partition that there was more bass in the speakers so that could be it. I honestly hate the way the audio sounded on these speakers when using linux.

A short aside, I also HATED the way the trackpad felt on linux, it felt totally unresponsive. Then on FreeBSD i noticed the trackpad is actually suppose to click. I think the linux drivers disabled the clicking action of the trackpad and only simulated it with touches, which felt really horrible. So much so that's why I went to i3 in the first place, I dreaded thinking of touching the trackpad.

Back to the audio issue, Apple could just have done something like that. That means this might not be so simple but I don't mind learning and figuring these things out. I feel like i could help myself and others in the future as well but most of all I'll be learning in a controlled environment, where i am sure that the system is sane and I can focus on the problem at hand and not some combination of the problem and the system.
 
shepper my last comment was a bit off topic but I think I'll just send an email over to the mailing list to see if I can get some additional help sorting this out.
 
Back
Top