Jump to content

VoodooHDA - common problems


oldnapalm
 Share

190 posts in this topic

Recommended Posts

  • 3 years later...

Cannot run voodoohda with opencore. It works fine with clover, but with opencore there are no devices. Is it possible to run it with OC?

Added kexts like this:

image.thumb.png.d9729f77954a082f650791583a9ec4ed.png

Then observe this:

image.png.6a8764afe78f7a52193a71da1500e680.png

And this:

$ kextstat|grep -i voodoo
   68    0 0xffffff7f83976000 0x29000    0x29000    org.voodoo.driver.VoodooHDA (2.9.2) no UUID <67 13 8 6 5 3>

 

10.14.6, oc 0.6.1

 

What am I doing wrong?

Thank you!

Link to comment
Share on other sites

  • 3 years later...
Posted (edited)

i want to try to add this sof links for mic to voodohda

it's a kind of a hack that i'm trying todo

but idk howto add this from linux dump

 

Apr  7 03:02:39 linuxlite-iMacPro1-1 kernel: [   25.958859] snd_hda_intel 0000:00:1f.3: Digital mics found on Skylake+ platform, using SOF driver
Apr  7 03:02:39 linuxlite-iMacPro1-1 kernel: [   26.739183] sof-audio-pci-intel-tgl 0000:00:1f.3: hda codecs found, mask 5
Apr  7 03:02:39 linuxlite-iMacPro1-1 kernel: [   26.739188] sof-audio-pci-intel-tgl 0000:00:1f.3: using HDA machine driver skl_hda_dsp_generic now
Apr  7 03:02:39 linuxlite-iMacPro1-1 kernel: [   27.022979] snd_hda_codec_realtek ehdaudio0D0: autoconfig for ALC255: line_outs=1 (0x14/0x0/0x0/0x0/0x0) type:speaker
Apr  7 03:02:39 linuxlite-iMacPro1-1 kernel: [   27.022983] snd_hda_codec_realtek ehdaudio0D0:    speaker_outs=0 (0x0/0x0/0x0/0x0/0x0)
Apr  7 03:02:39 linuxlite-iMacPro1-1 kernel: [   27.022985] snd_hda_codec_realtek ehdaudio0D0:    hp_outs=1 (0x21/0x0/0x0/0x0/0x0)
Apr  7 03:02:39 linuxlite-iMacPro1-1 kernel: [   27.022986] snd_hda_codec_realtek ehdaudio0D0:    mono: mono_out=0x0
Apr  7 03:02:39 linuxlite-iMacPro1-1 kernel: [   27.022987] snd_hda_codec_realtek ehdaudio0D0:    inputs:
Apr  7 03:02:39 linuxlite-iMacPro1-1 kernel: [   27.068824] snd_hda_codec_realtek ehdaudio0D0: ASoC: sink widget AIF1TX overwritten
Apr  7 03:02:39 linuxlite-iMacPro1-1 kernel: [   27.068831] snd_hda_codec_realtek ehdaudio0D0: ASoC: source widget AIF1RX overwritten

c.txt

 

goal is create this 2 links and use sof code from linux

 

maybe using NodesToPatch dict ?

 

current voodohda code is ofc deleting nodes 0x8 and 0x9

Edited by jalavoui
Link to comment
Share on other sites

18 hours ago, jalavoui said:

i want to try to add this sof links for mic to voodohda

it's a kind of a hack that i'm trying todo

but idk howto add this from linux dump

 

Apr  7 03:02:39 linuxlite-iMacPro1-1 kernel: [   25.958859] snd_hda_intel 0000:00:1f.3: Digital mics found on Skylake+ platform, using SOF driver
Apr  7 03:02:39 linuxlite-iMacPro1-1 kernel: [   26.739183] sof-audio-pci-intel-tgl 0000:00:1f.3: hda codecs found, mask 5
Apr  7 03:02:39 linuxlite-iMacPro1-1 kernel: [   26.739188] sof-audio-pci-intel-tgl 0000:00:1f.3: using HDA machine driver skl_hda_dsp_generic now
Apr  7 03:02:39 linuxlite-iMacPro1-1 kernel: [   27.022979] snd_hda_codec_realtek ehdaudio0D0: autoconfig for ALC255: line_outs=1 (0x14/0x0/0x0/0x0/0x0) type:speaker
Apr  7 03:02:39 linuxlite-iMacPro1-1 kernel: [   27.022983] snd_hda_codec_realtek ehdaudio0D0:    speaker_outs=0 (0x0/0x0/0x0/0x0/0x0)
Apr  7 03:02:39 linuxlite-iMacPro1-1 kernel: [   27.022985] snd_hda_codec_realtek ehdaudio0D0:    hp_outs=1 (0x21/0x0/0x0/0x0/0x0)
Apr  7 03:02:39 linuxlite-iMacPro1-1 kernel: [   27.022986] snd_hda_codec_realtek ehdaudio0D0:    mono: mono_out=0x0
Apr  7 03:02:39 linuxlite-iMacPro1-1 kernel: [   27.022987] snd_hda_codec_realtek ehdaudio0D0:    inputs:
Apr  7 03:02:39 linuxlite-iMacPro1-1 kernel: [   27.068824] snd_hda_codec_realtek ehdaudio0D0: ASoC: sink widget AIF1TX overwritten
Apr  7 03:02:39 linuxlite-iMacPro1-1 kernel: [   27.068831] snd_hda_codec_realtek ehdaudio0D0: ASoC: source widget AIF1RX overwritten

c.txt 9.34 kB · 1 download

 

goal is create this 2 links and use sof code from linux

 

maybe using NodesToPatch dict ?

 

current voodohda code is ofc deleting nodes 0x8 and 0x9

Hi,

It will be more understandable for me if you provide a dump obtained by getdump utility

https://github.com/CloverHackyColor/VoodooHDA/releases/tag/Release302

Then we can compare the dump with linux dump and find the difference.

Link to comment
Share on other sites

17 hours ago, jalavoui said:

this is what i got using getdump

 

v.txt 22.95 kB · 1 download

This is exactly that we need to make working driver.

First, config like 0x411111f0 means not defined. We may fix this if we know how and if the hardware allows to do this. Anyway we try.

There are two defined nodes 

nid 20 0x90171120 as  2 seq  0 Speaker       Fixed Analog  N/A     Internal Black   misc 0 NoPresenceDetect

nid 33 0x02211030 as  3 seq  0 Headphones    Jack  1/8     Front   External Black   misc 0

Strange they are in different assoсiations 2 and 3. For my mind they should be same switchable by jack. So I prefer nid 33 to be 0x0221102f. Optionally.

Now we want to search microphone.

Input ADC number 8 connected to node 35

VHDevice NID= 8 Config=00000000 (audio input   ) Cap=00000000 Ctrl=00000000 -- Conns: 0=35

Node 35 is a mixer

VHDevice NID=35 Config=00000000 (audio mixer   ) Cap=00000000 Ctrl=00000000 -- Conns: 0=24 1=25 2=26 3=27 4=29 5=11 6=18

connected to several input sources and I recommend to choose first one, node 24

VHDevice NID=24 Config=411111f0 (pin: Speaker () Cap=00003724 Ctrl=00000020 -- Conns:

This is an input jack with wrong config (411111f0).

Looking in config of other Realtek ALC we may find a sample of good config

VHDevice NID=24 Config=01a19050 (pin: Microphon) Cap=00003736 Ctrl=00000020 -- Conns:

So VoodooHDA info.plist may be edited as follow

       <key>IOKitPersonalities</key>
        <dict>
            <key>VoodooHDA</key>
            <dict>
                <key>AllowMSI</key>
                <true/>
                <key>Boost</key>
                <integer>1</integer>
                <key>CFBundleIdentifier</key>
                <string>org.voodoo.driver.VoodooHDA</string>
                <key>DisableInputMonitor</key>
                <true/>
                <key>IOClass</key>
                <string>VoodooHDADevice</string>
                <key>IONameMatch</key>
                <string>HDAS</string>
                <key>IOProviderClass</key>
                <string>IOPCIDevice</string>
                <key>IOUserClientClass</key>
                <string>VoodooHDAUserClient</string>
                <key>InhibitCache</key>
                <false/>
                <key>MixerValues</key>
                <dict>
                    <key>PCM</key>
                    <integer>100</integer>
                    <key>Rec</key>
                    <integer>70</integer>
                    <key>iGain</key>
                    <integer>90</integer>
                    <key>iMix</key>
                    <integer>90</integer>
                </dict>
                <key>NodesToPatch</key>
                <array>
                    <dict>
                        <key>Codec</key>
                        <integer>0</integer>
                        <key>Config</key>
                        <string>0x0221102f</string>
                        <key>Node</key>
                        <integer>33</integer>
                        <key>Type</key>
                        <integer>4</integer>
                    </dict>
                    <dict>
                        <key>Codec</key>
                        <integer>0</integer>
                        <key>Node</key>
                        <integer>24</integer>
                        <key>Config</key>
                        <string>0x01a19050</string>
                        <key>Type</key>
                        <integer>4</integer>
                    </dict>
                </array>
                <key>Noise</key>
                <integer>0</integer>
                <key>Vectorize</key>
                <true/>
                <key>VoodooHDAEnableHalfMicVolumeFix</key>
                <false/>
                <key>VoodooHDAEnableHalfVolumeFix</key>
                <false/>
                <key>VoodooHDAEnableMuteFix</key>
                <false/>
                <key>VoodooHDAEnableVolumeChangeFix</key>
                <false/>
                <key>VoodooHDAVerboseLevel</key>
                <integer>0</integer>
            </dict>
        </dict>

Look also 

DisableInputMonitor which prevents pop-up sound at start.

IONameMatch to the kext will not attached to HDMI.

InhibitCache - depending on hardware may cause a noise.

 

Wish you success!

 

Link to comment
Share on other sites

Posted (edited)

i really hate this pin config thing

 

your changes gave a valid input device

sof linux code seems to make 2 DMIC input sources

this is a laptop. better focus on internal mic only ?

 

Last login: Fri May  3 23:30:48 on ttys000
mr@Mac ~ % /Users/mr/getdump ; exit;
Found a device of class VoodooHDADevice: IOService:/AppleACPIPlatformExpert/PC00@0/AppleACPIPCI/HDAS@1F,3/VoodooHDADevice


Probing codec #0...
 HDA Codec #0: Realtek (Unknown)
 HDA Codec ID: 0x10ec0255
       Vendor: 0x10ec
       Device: 0x0255
     Revision: 0x00
     Stepping: 0x02
PCI Subvendor: 0x15841025
	startNode=1 endNode=2
	Found audio FG nid=1 startNode=2 endNode=36 total=34

Processing audio FG cad=0 nid=1...
Powering up...
Parsing audio FG...
GPIO: 0x40000003 NumGPIO=3 NumGPO=0 NumGPI=0 GPIWake=0 GPIUnsol=1
 nid 18 0x411111f0 as 15 seq  0 Speaker       None  1/8     Rear    External Black   misc 0 NoPresenceDetect
 nid 20 0x90171120 as  2 seq  0 Speaker       Fixed Analog  N/A     Internal Black   misc 0 NoPresenceDetect
 nid 23 0x40000000 as  0 seq  0 Line-out      None  Unknown N/A     External Unknown misc 0
 nid 24 0x411111f0 as 15 seq  0 Speaker       None  1/8     Rear    External Black   misc 0 NoPresenceDetect
 nid 25 0x411111f0 as 15 seq  0 Speaker       None  1/8     Rear    External Black   misc 0 NoPresenceDetect
 nid 26 0x411111f0 as 15 seq  0 Speaker       None  1/8     Rear    External Black   misc 0 NoPresenceDetect
 nid 27 0x411111f0 as 15 seq  0 Speaker       None  1/8     Rear    External Black   misc 0 NoPresenceDetect
Patching widget caps nid=29 0x00400400 -> 0x00700400
 nid 30 0x411111f0 as 15 seq  0 Speaker       None  1/8     Rear    External Black   misc 0 NoPresenceDetect
 nid 33 0x02211030 as  3 seq  0 Headphones    Jack  1/8     Front   External Black   misc 0
Parsing vendor patch...
Nodes patching. Codec = 0 
NumNodes = 2
VHDevice NID= 2 Config=00000000 (audio output  ) Cap=00000000 Ctrl=00000000 -- Conns:
VHDevice NID= 3 Config=00000000 (audio output  ) Cap=00000000 Ctrl=00000000 -- Conns:
VHDevice NID= 4 Config=00000000 (vendor widget ) Cap=00000000 Ctrl=00000000 -- Conns:
VHDevice NID= 5 Config=00000000 (vendor widget ) Cap=00000000 Ctrl=00000000 -- Conns:
VHDevice NID= 6 Config=00000000 (audio output  ) Cap=00000000 Ctrl=00000000 -- Conns:
VHDevice NID= 7 Config=00000000 (vendor widget ) Cap=00000000 Ctrl=00000000 -- Conns:
VHDevice NID= 8 Config=00000000 (audio input   ) Cap=00000000 Ctrl=00000000 -- Conns: 0=35
VHDevice NID= 9 Config=00000000 (audio input   ) Cap=00000000 Ctrl=00000000 -- Conns: 0=34
VHDevice NID=10 Config=00000000 (vendor widget ) Cap=00000000 Ctrl=00000000 -- Conns:
VHDevice NID=11 Config=00000000 (audio mixer   ) Cap=00000000 Ctrl=00000000 -- Conns: 0=24 1=25 2=26 3=27 4=29
VHDevice NID=12 Config=00000000 (audio mixer   ) Cap=00000000 Ctrl=00000000 -- Conns: 0=2 1=11
VHDevice NID=13 Config=00000000 (audio mixer   ) Cap=00000000 Ctrl=00000000 -- Conns: 0=3 1=11
VHDevice NID=14 Config=00000000 (vendor widget ) Cap=00000000 Ctrl=00000000 -- Conns:
VHDevice NID=15 Config=00000000 (audio mixer   ) Cap=00000000 Ctrl=00000000 -- Conns: 0=13
VHDevice NID=16 Config=00000000 (vendor widget ) Cap=00000000 Ctrl=00000000 -- Conns:
VHDevice NID=17 Config=00000000 (vendor widget ) Cap=00000000 Ctrl=00000000 -- Conns:
VHDevice NID=18 Config=411111f0 (pin: Speaker () Cap=00000020 Ctrl=00000000 -- Conns:
VHDevice NID=19 Config=00000000 (vendor widget ) Cap=00000000 Ctrl=00000000 -- Conns:
VHDevice NID=20 Config=90171120 (pin: Speaker () Cap=00010014 Ctrl=00000040 -- Conns: 0=12
VHDevice NID=21 Config=00000000 (vendor widget ) Cap=00000000 Ctrl=00000000 -- Conns:
VHDevice NID=22 Config=00000000 (vendor widget ) Cap=00000000 Ctrl=00000000 -- Conns:
VHDevice NID=23 Config=40000000 (pin: Line-out ) Cap=00000010 Ctrl=00000000 -- Conns: 0=15
VHDevice NID=24 Config=01a19050 (pin: Microphon) Cap=00003724 Ctrl=00000020 -- Conns:
VHDevice NID=25 Config=411111f0 (pin: Speaker () Cap=00003724 Ctrl=00000020 -- Conns:
VHDevice NID=26 Config=411111f0 (pin: Speaker () Cap=00003724 Ctrl=00000000 -- Conns:
VHDevice NID=27 Config=411111f0 (pin: Speaker () Cap=0001373c Ctrl=00000020 -- Conns: 0=12 1=13
VHDevice NID=28 Config=00000000 (vendor widget ) Cap=00000000 Ctrl=00000000 -- Conns:
VHDevice NID=29 Config=00000000 (beep widget   ) Cap=00000000 Ctrl=00000000 -- Conns:
VHDevice NID=30 Config=411111f0 (pin: Speaker () Cap=00000014 Ctrl=00000040 -- Conns: 0=6
VHDevice NID=31 Config=00000000 (vendor widget ) Cap=00000000 Ctrl=00000000 -- Conns:
VHDevice NID=32 Config=00000000 (vendor widget ) Cap=00000000 Ctrl=00000000 -- Conns:
VHDevice NID=33 Config=0221102f (pin: Headphone) Cap=0001001c Ctrl=00000000 -- Conns: 0=12 1=13
VHDevice NID=34 Config=00000000 (audio mixer   ) Cap=00000000 Ctrl=00000000 -- Conns: 0=24 1=25 2=26 3=27 4=29 5=11
VHDevice NID=35 Config=00000000 (audio mixer   ) Cap=00000000 Ctrl=00000000 -- Conns: 0=24 1=25 2=26 3=27 4=29 5=11 6=18
Parsing Ctls...
Disabling nonaudio...
Disabling useless...
 Disabling control 5 nid 11 cnid 25 due to disabled widget.
 Disabling control 6 nid 11 cnid 26 due to disabled widget.
 Disabling control 7 nid 11 cnid 27 due to disabled widget.
 Disabling control 14 nid 18 cnid -1 due to disabled widget.
 Disabling control 16 nid 23 cnid -1 due to disabled widget.
 Disabling control 18 nid 25 cnid -1 due to disabled widget.
 Disabling control 19 nid 26 cnid -1 due to disabled widget.
 Disabling control 20 nid 27 cnid -1 due to disabled widget.
 Disabling control 21 nid 27 cnid -1 due to disabled widget.
 Disabling control 24 nid 34 cnid 25 due to disabled widget.
 Disabling control 25 nid 34 cnid 26 due to disabled widget.
 Disabling control 26 nid 34 cnid 27 due to disabled widget.
 Disabling control 30 nid 35 cnid 25 due to disabled widget.
 Disabling control 31 nid 35 cnid 26 due to disabled widget.
 Disabling control 32 nid 35 cnid 27 due to disabled widget.
 Disabling control 35 nid 35 cnid 18 due to disabled widget.
 Disabling nid 15 due to all it's consumers disabled.
 Disabling control 13 nid 15 cnid 13 due to disabled widget.
Patched pins configuration:
 nid 18 0x411111f0 as 15 seq  0 Speaker       None  1/8     Rear    External Black   misc 0 NoPresenceDetect [DISABLED]
 nid 20 0x90171120 as  2 seq  0 Speaker       Fixed Analog  N/A     Internal Black   misc 0 NoPresenceDetect
 nid 23 0x40000000 as  0 seq  0 Line-out      None  Unknown N/A     External Unknown misc 0 [DISABLED]
 nid 24 0x01a19050 as  5 seq  0 Microphone    Jack  1/8     Rear    External Pink    misc 0
 nid 25 0x411111f0 as 15 seq  0 Speaker       None  1/8     Rear    External Black   misc 0 NoPresenceDetect [DISABLED]
 nid 26 0x411111f0 as 15 seq  0 Speaker       None  1/8     Rear    External Black   misc 0 NoPresenceDetect [DISABLED]
 nid 27 0x411111f0 as 15 seq  0 Speaker       None  1/8     Rear    External Black   misc 0 NoPresenceDetect [DISABLED]
 nid 30 0x411111f0 as 15 seq  0 Speaker       None  1/8     Rear    External Black   misc 0 NoPresenceDetect [DISABLED]
 nid 33 0x0221102f as  2 seq 15 Headphones    Jack  1/8     Front   External Black   misc 0
Parsing pin associations...
2 associations found:
Association 0 (2) out:
 Pin nid=20 seq=0
 Pin nid=33 seq=15
   Redir type=0 jack=15 def=0
Association 1 (5) in:
 Pin nid=24 seq=0
   Redir type=-1 jack=0 def=0
Building AFG tree...
Tracing association 0 (2)
 Tracing pin 20 with min nid 0
    nid 2 returned 2
   nid 12 returned 2
  nid 20 returned 2
 Pin 20 traced to DAC 2
 Tracing pin 33 with min nid 0 and hpredir 0
    nid 2 returned 2
   nid 12 returned 2
  nid 33 returned 2
 Pin 33 traced to DAC 2 and hpredir 0
Association 0 (2) trace succeeded
Tracing association 1 (5)
 Tracing pin 24 to ADC 8
  tracing via nid 24
   tracing via nid 11
    tracing via nid 12
    nid 12 busy by association 0
    tracing via nid 13
     tracing via nid 33
     nid 33 busy by association 0
    nid 13 returned 0
    tracing via nid 34
     tracing via nid 9
     nid 9 returned 0
    nid 34 returned 0
    tracing via nid 35
     tracing via nid 8
     nid 8 returned 1
    nid 35 returned 1
   nid 11 returned 1
   tracing via nid 34
    tracing via nid 9
    nid 9 returned 0
   nid 34 returned 0
   tracing via nid 35
    tracing via nid 8
    nid 8 returned 1
   nid 35 returned 1
  nid 24 returned 1
 Pin 24 traced to ADC 8
Association 1 (5) trace succeeded
Tracing input monitor
 Tracing nid mix 11 to out
  tracing via nid 11
   tracing via nid 12
   nid 12 found output association 0
   tracing via nid 13
    tracing via nid 33
    nid 33 found output association 0
   nid 13 returned 1
   tracing via nid 34
    tracing via nid 9
    nid 9 returned 0
   nid 34 returned 0
   tracing via nid 35
   nid 35 busy by input association 1
  nid 11 returned 1
 nid 11 is input monitor
 Tracing nid mix 35 to out
  tracing via nid 35
   tracing via nid 8
   nid 8 busy by input association 1
  nid 35 returned 0
Tracing other input monitors
 Tracing nid complex 24 to out
  tracing via nid 24
   tracing via nid 11
   nid 11 busy by input association 1
   tracing via nid 34
    tracing via nid 9
    nid 9 returned 0
   nid 34 returned 0
   tracing via nid 35
   nid 35 busy by input association 1
  nid 24 returned 0
Tracing beeper
 Tracing nid 29 to out
  tracing via nid 29
   tracing via nid 11
   nid 11 busy by input association 1
   tracing via nid 34
    tracing via nid 9
    nid 9 returned 0
   nid 34 returned 0
   tracing via nid 35
   nid 35 busy by input association 1
  nid 29 returned 0
Disabling unassociated widgets...
Disabling nonselected inputs...
Disabling useless...
 Disabling control 1 nid 3 cnid -1 due to disabled widget.
 Disabling control 3 nid 9 cnid -1 due to disabled widget.
 Disabling control 11 nid 13 cnid 3 due to disabled widget.
 Disabling control 23 nid 34 cnid 24 due to disabled widget.
 Disabling control 27 nid 34 cnid 29 due to disabled widget.
 Disabling control 28 nid 34 cnid 11 due to disabled widget.
 Disabling nid 13 due to all it's consumers disabled.
 Disabling control 12 nid 13 cnid 11 due to disabled widget.
Disabling crossassociated connections...
 Disabling connection input mixer nid 35 conn 5 to monitor 11.
Disabling useless...
 Disabling control 34 nid 35 cnid 11 due to disabled widget.
Binding associations to channels...
Assigning names to signal sources...
Assigning mixers to the tree...
Preparing pin controls...
AFG commit...
GPIO init: data=0x00000000 mask=0x00000000 dir=0x00000000
GPIO commit: data=0x00000001 mask=0x00000001 dir=0x00000001
Creating PCM devices...
pcmAttach: HDA Realtek (Unknown) PCM #0 Analog at cad 0 nid 1
+--------------------------------------+
| DUMPING PCM Playback/Record Channels |
+--------------------------------------+

Playback:

     Stream cap: 0x00000001
                 PCM
        PCM cap: 0x000e0060
                 16 20 24 bits, 44 48 KHz
            DAC: 2

Record:

     Stream cap: 0x00000001
                 PCM
        PCM cap: 0x000e0560
                 16 20 24 bits, 44 48 96 192 KHz
            ADC: 8

+-------------------------------+
| DUMPING Playback/Record Paths |
+-------------------------------+

Playback:

    nid=20 [pin: Speaker (Analog)]
      |
      + <- nid=12 [audio mixer] bindSeq=00008001
             |
             + <- nid=2 [audio output] [src: pcm] bindSeq=00008001

             + <- nid=11 [audio mixer] bindSeq=00000001
                    |
                    + <- nid=24 [pin: Microphone (Pink Rear)] [src: mic] bindSeq=00000001

                    + <- nid=29 [beep widget]

    nid=33 [pin: Headphones (Black Front)]
      |
      + <- nid=12 [audio mixer] bindSeq=00008001
             |
             + <- nid=2 [audio output] [src: pcm] bindSeq=00008001

             + <- nid=11 [audio mixer] bindSeq=00000001
                    |
                    + <- nid=24 [pin: Microphone (Pink Rear)] [src: mic] bindSeq=00000001

                    + <- nid=29 [beep widget]

Record:

    nid=8 [audio input]
      |
      + <- nid=35 [audio mixer] [src: mix] bindSeq=00000001

             |
             + <- nid=24 [pin: Microphone (Pink Rear)] [src: mic] bindSeq=00000001

             + <- nid=29 [beep widget]

Input Mix:

    nid=35 [audio mixer]
      |
      + <- nid=24 [pin: Microphone (Pink Rear)] [src: mic] bindSeq=00000001

      + <- nid=29 [beep widget]

+-------------------------+
| DUMPING Volume Controls |
+-------------------------+

Master Volume (OSS: vol)
   |
   +- control  0 (nid   2 out):    dir - out oss: vol, pcm -65/+0dB (88 steps)
   +- control  4 (nid  11 in   0): dir - in oss: vol, igain -34/+12dB (32 steps) + mute
   +- control  8 (nid  11 in   4): dir - in oss: vol, speaker, igain -34/+12dB (32 steps) + mute
   +- control  9 (nid  12 in   0): dir - out oss: vol, pcm mute
   +- control 10 (nid  12 in   1): dir - out oss: vol, igain mute
   +- control 15 (nid  20 out):    dir - out oss: vol mute
   +- control 22 (nid  33 out):    dir - out oss: vol mute

PCM Volume (OSS: pcm)
   |
   +- control  0 (nid   2 out):    dir - out oss: vol, pcm -65/+0dB (88 steps)
   +- control  9 (nid  12 in   0): dir - out oss: vol, pcm mute

Microphone Volume (OSS: mic)
   |
   +- control 17 (nid  24 in   0): dir - in oss: mic +0/+30dB (4 steps)
   +- control 29 (nid  35 in   0): dir - in oss: mic, rec mute

Speaker/Beep Volume (OSS: speaker)
   |
   +- control  8 (nid  11 in   4): dir - in oss: vol, speaker, igain -34/+12dB (32 steps) + mute
   +- control 33 (nid  35 in   4): dir - in oss: speaker, rec mute

Recording Level (OSS: rec)
   |
   +- control  2 (nid   8 in   0): dir - in oss: mix, rec -17/+30dB (64 steps) + mute
   +- control 29 (nid  35 in   0): dir - in oss: mic, rec mute
   +- control 33 (nid  35 in   4): dir - in oss: speaker, rec mute

Input Mix Level (OSS: mix)
   |
   +- control  2 (nid   8 in   0): dir - in oss: mix, rec -17/+30dB (64 steps) + mute

Input Monitoring Level (OSS: igain)
   |
   +- control  4 (nid  11 in   0): dir - in oss: vol, igain -34/+12dB (32 steps) + mute
   +- control  8 (nid  11 in   4): dir - in oss: vol, speaker, igain -34/+12dB (32 steps) + mute
   +- control 10 (nid  12 in   1): dir - out oss: vol, igain mute

OSS mixer initialization...
Registering PCM channels...
FG config/quirks: gpio0 forcestereo ivref50 ivref80 ivref100 ivref
HP switch init...

+-------------------+
| DUMPING HDA NODES |
+-------------------+

Default Parameter
-----------------
     Stream cap: 0x00000001
                 PCM
        PCM cap: 0x000e0560
                 16 20 24 bits, 44 48 96 192 KHz
         IN amp: 0x00000000
        OUT amp: 0x00000000

            nid: 2
           Name: audio output
     Widget cap: 0x0000041d
                 PWR FORMAT_OVR AMP_OVR OUT_AMP STEREO
    Association: 0 (0x00008001)
            OSS: pcm (pcm)
     Stream cap: 0x00000001
                 PCM
        PCM cap: 0x000e0060
                 16 20 24 bits, 44 48 KHz
     Output amp: 0x00025757
                 mute=0 step=87 size=2 offset=87
     Output val: [0x46 0x46]

            nid: 3 [DISABLED]
           Name: audio output
     Widget cap: 0x0000041d
                 PWR FORMAT_OVR AMP_OVR OUT_AMP STEREO
     Stream cap: 0x00000001
                 PCM
        PCM cap: 0x000e0060
                 16 20 24 bits, 44 48 KHz
     Output amp: 0x00025757
                 mute=0 step=87 size=2 offset=87
     Output val: [0x00 0x00]

            nid: 4 [DISABLED]
           Name: vendor widget
     Widget cap: 0x00f00000

            nid: 5 [DISABLED]
           Name: vendor widget
     Widget cap: 0x00f00000

            nid: 6 [DISABLED]
           Name: audio output
     Widget cap: 0x00000611
                 PWR DIGITAL FORMAT_OVR STEREO
     Stream cap: 0x00000001
                 PCM
        PCM cap: 0x000e05e0
                 16 20 24 bits, 44 48 88 96 192 KHz

            nid: 7 [DISABLED]
           Name: vendor widget
     Widget cap: 0x00f00000

            nid: 8
           Name: audio input
     Widget cap: 0x0010051b
                 PWR FORMAT_OVR AMP_OVR IN_AMP STEREO
    Association: 1 (0x00000001)
     Stream cap: 0x00000001
                 PCM
        PCM cap: 0x000e0560
                 16 20 24 bits, 44 48 96 192 KHz
      Input amp: 0x80023f17
                 mute=1 step=63 size=2 offset=23
      Input val: [0x33 0x33] 
    connections: 1 enabled 1
          |
          + <- nid=35 [audio mixer]

            nid: 9 [DISABLED]
           Name: audio input
     Widget cap: 0x0010051b
                 PWR FORMAT_OVR AMP_OVR IN_AMP STEREO
     Stream cap: 0x00000001
                 PCM
        PCM cap: 0x000e0560
                 16 20 24 bits, 44 48 96 192 KHz
      Input amp: 0x80023f17
                 mute=1 step=63 size=2 offset=23
      Input val: [0x80 0x80] 
    connections: 1 enabled 1
          |
          + <- nid=34 [audio mixer] [DISABLED]

            nid: 10 [DISABLED]
           Name: vendor widget
     Widget cap: 0x00f00000

            nid: 11
           Name: audio mixer
     Widget cap: 0x0020010b
                 AMP_OVR IN_AMP STEREO
    Association: 1 (0x00000001)
            OSS:  (igain)
      Input amp: 0x80051f17
                 mute=1 step=31 size=5 offset=23
      Input val: [0x16 0x16] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x14 0x14] 
    connections: 5 enabled 2
          |
          + <- nid=24 [pin: Microphone (Pink Rear)]
          + [DISABLED] <- nid=25 [pin: Speaker (None)] [DISABLED]
          + [DISABLED] <- nid=26 [pin: Speaker (None)] [DISABLED]
          + [DISABLED] <- nid=27 [pin: Speaker (None)] [DISABLED]
          + <- nid=29 [beep widget]

            nid: 12
           Name: audio mixer
     Widget cap: 0x0020010b
                 AMP_OVR IN_AMP STEREO
    Association: 0 (0x00008001)
            OSS:  (igain)
      Input amp: 0x80000000
                 mute=1 step=0 size=0 offset=0
      Input val: [0x00 0x00] [0x00 0x00] 
    connections: 2 enabled 2
          |
          + <- nid=2 [audio output]
          + <- nid=11 [audio mixer]

            nid: 13 [DISABLED]
           Name: audio mixer
     Widget cap: 0x0020010b
                 AMP_OVR IN_AMP STEREO
    Association: -2 (0x00000000)
      Input amp: 0x80000000
                 mute=1 step=0 size=0 offset=0
      Input val: [0x80 0x80] [0x80 0x80] 
    connections: 2 enabled 1
          |
          + [DISABLED] <- nid=3 [audio output] [DISABLED]
          + <- nid=11 [audio mixer]

            nid: 14 [DISABLED]
           Name: vendor widget
     Widget cap: 0x00f00000

            nid: 15 [DISABLED]
           Name: audio mixer
     Widget cap: 0x0020010a
                 AMP_OVR IN_AMP
      Input amp: 0x80000000
                 mute=1 step=0 size=0 offset=0
      Input val: [0x80 0x80] 
    connections: 1 enabled 1
          |
          + <- nid=13 [audio mixer] [DISABLED]

            nid: 16 [DISABLED]
           Name: vendor widget
     Widget cap: 0x00f00000

            nid: 17 [DISABLED]
           Name: vendor widget
     Widget cap: 0x00f00000

            nid: 18 [DISABLED]
           Name: pin: Speaker (None)
     Widget cap: 0x0040040b
                 PWR AMP_OVR IN_AMP STEREO
        Pin cap: 0x00000020
                 IN
     Pin config: 0x411111f0
    Pin control: 0x00000000
      Input amp: 0x00270300
                 mute=0 step=3 size=39 offset=0
      Input val: [0x00 0x00] 

            nid: 19 [DISABLED]
           Name: vendor widget
     Widget cap: 0x00f00000

            nid: 20
           Name: pin: Speaker (Analog)
     Widget cap: 0x0040058d
                 PWR UNSOL AMP_OVR OUT_AMP STEREO
    Association: 0 (0x00000001)
        Pin cap: 0x00010014
                 PDC OUT EAPD
     Pin config: 0x90171120
    Pin control: 0x00000040 OUT
           EAPD: 0x00000002
     Output amp: 0x80000000
                 mute=1 step=0 size=0 offset=0
     Output val: [0x00 0x00]
    connections: 1 enabled 1
          |
          + <- nid=12 [audio mixer]

            nid: 21 [DISABLED]
           Name: vendor widget
     Widget cap: 0x00f00000

            nid: 22 [DISABLED]
           Name: vendor widget
     Widget cap: 0x00f00000

            nid: 23 [DISABLED]
           Name: pin: Line-out (None)
     Widget cap: 0x0040050c
                 PWR AMP_OVR OUT_AMP
        Pin cap: 0x00000010
                 OUT
     Pin config: 0x40000000
    Pin control: 0x00000000
     Output amp: 0x80000000
                 mute=1 step=0 size=0 offset=0
     Output val: [0x80 0x80]
    connections: 1 enabled 1
          |
          + <- nid=15 [audio mixer] [DISABLED]

            nid: 24
           Name: pin: Microphone (Pink Rear)
     Widget cap: 0x0040048b
                 PWR UNSOL AMP_OVR IN_AMP STEREO
    Association: 1 (0x00000001)
            OSS: mic (mic)
        Pin cap: 0x00003724
                 PDC IN VREF[ 50 80 100 GROUND HIZ ]
     Pin config: 0x01a19050
    Pin control: 0x00000025 IN VREFs
      Input amp: 0x00270300
                 mute=0 step=3 size=39 offset=0
      Input val: [0x02 0x02] 

            nid: 25 [DISABLED]
           Name: pin: Speaker (None)
     Widget cap: 0x0040048b
                 PWR UNSOL AMP_OVR IN_AMP STEREO
        Pin cap: 0x00003724
                 PDC IN VREF[ 50 80 100 GROUND HIZ ]
     Pin config: 0x411111f0
    Pin control: 0x00000000
      Input amp: 0x00270300
                 mute=0 step=3 size=39 offset=0
      Input val: [0x00 0x00] 

            nid: 26 [DISABLED]
           Name: pin: Speaker (None)
     Widget cap: 0x0040048b
                 PWR UNSOL AMP_OVR IN_AMP STEREO
        Pin cap: 0x00003724
                 PDC IN VREF[ 50 80 100 GROUND HIZ ]
     Pin config: 0x411111f0
    Pin control: 0x00000000
      Input amp: 0x00270300
                 mute=0 step=3 size=39 offset=0
      Input val: [0x00 0x00] 

            nid: 27 [DISABLED]
           Name: pin: Speaker (None)
     Widget cap: 0x0040058f
                 PWR UNSOL AMP_OVR OUT_AMP IN_AMP STEREO
        Pin cap: 0x0001373c
                 PDC HP OUT IN VREF[ 50 80 100 GROUND HIZ ] EAPD
     Pin config: 0x411111f0
    Pin control: 0x00000000
           EAPD: 0x00000002
     Output amp: 0x80000000
                 mute=1 step=0 size=0 offset=0
     Output val: [0x80 0x80]
      Input amp: 0x00270300
                 mute=0 step=3 size=39 offset=0
      Input val: [0x00 0x00] 
    connections: 2 enabled 2
          |
          + <- nid=12 [audio mixer] (selected)
          + <- nid=13 [audio mixer] [DISABLED]

            nid: 28 [DISABLED]
           Name: vendor widget
     Widget cap: 0x00f00000

            nid: 29
           Name: beep widget
     Widget cap: 0x00700400
                 PWR
    Association: -2 (0x00000000)
            OSS: speaker (speaker)

            nid: 30 [DISABLED]
           Name: pin: Speaker (None)
     Widget cap: 0x00400781
                 PWR DIGITAL UNSOL STEREO
        Pin cap: 0x00000014
                 PDC OUT
     Pin config: 0x411111f0
    Pin control: 0x00000000
    connections: 1 enabled 1
          |
          + <- nid=6 [audio output] [DISABLED]

            nid: 31 [DISABLED]
           Name: vendor widget
     Widget cap: 0x00f00000

            nid: 32 [DISABLED]
           Name: vendor widget
     Widget cap: 0x00f00040
                 PROC

            nid: 33
           Name: pin: Headphones (Black Front)
     Widget cap: 0x0040058d
                 PWR UNSOL AMP_OVR OUT_AMP STEREO
    Association: 0 (0x00008000)
        Pin cap: 0x0001001c
                 PDC HP OUT EAPD
     Pin config: 0x0221102f
    Pin control: 0x000000c0 HP OUT
           EAPD: 0x00000002
     Output amp: 0x80000000
                 mute=1 step=0 size=0 offset=0
     Output val: [0x00 0x00]
    connections: 2 enabled 1
          |
          + <- nid=12 [audio mixer] (selected)
          + [DISABLED] <- nid=13 [audio mixer] [DISABLED]

            nid: 34 [DISABLED]
           Name: audio mixer
     Widget cap: 0x0020010b
                 AMP_OVR IN_AMP STEREO
      Input amp: 0x80000000
                 mute=1 step=0 size=0 offset=0
      Input val: [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] 
    connections: 6 enabled 3
          |
          + <- nid=24 [pin: Microphone (Pink Rear)]
          + [DISABLED] <- nid=25 [pin: Speaker (None)] [DISABLED]
          + [DISABLED] <- nid=26 [pin: Speaker (None)] [DISABLED]
          + [DISABLED] <- nid=27 [pin: Speaker (None)] [DISABLED]
          + <- nid=29 [beep widget]
          + <- nid=11 [audio mixer]

            nid: 35
           Name: audio mixer
     Widget cap: 0x0020010b
                 AMP_OVR IN_AMP STEREO
    Association: 1 (0x00000001)
            OSS: mix (mix)
      Input amp: 0x80000000
                 mute=1 step=0 size=0 offset=0
      Input val: [0x00 0x00] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x00 0x00] [0x80 0x80] [0x80 0x80] 
    connections: 7 enabled 2
          |
          + <- nid=24 [pin: Microphone (Pink Rear)]
          + [DISABLED] <- nid=25 [pin: Speaker (None)] [DISABLED]
          + [DISABLED] <- nid=26 [pin: Speaker (None)] [DISABLED]
          + [DISABLED] <- nid=27 [pin: Speaker (None)] [DISABLED]
          + <- nid=29 [beep widget]
          + [DISABLED] <- nid=11 [audio mixer]
          + [DISABLED] <- nid=18 [pin: Speaker (None)] [DISABLED]


do you have any experience with this DMIC devices ?

i'm still not sure if a special firmware is need just for the microphone device

Edited by jalavoui
Link to comment
Share on other sites

I have little experience with internal MIC

<string>0x90a70130</string> -- analog Mic
<string>0x90a6e140</string> -- digital Mic

May be you want to patch also Node 27 to join to input 9?

Link to comment
Share on other sites

Posted (edited)

tks

 

i'll take a look at https://anuragbhandari.com/coding-tech/fixing-headphone-jack-in-ubuntu-20-04-1755/

 

looks like linux as sof support in kernel. if it's so macos as very low chances to work

 

this tool is nice look at the screenshot

this is the default config that the sof driver creates

now where does it place the config file...

 

image.png.644c72f0c6a244d7d7a3fc48a5671e95.png

 

this is a linux discussion about this dmic thing

https://bugzilla.kernel.org/show_bug.cgi?id=201251

Edited by jalavoui
Link to comment
Share on other sites

We have sources of VoodooHDA and can add here all we want. We just should know what namely.

  • Like 1
Link to comment
Share on other sites

For a long time we set manually pinconfig while this is firmware affair. You may upload new firmware or just patch pinconfig.

After getting good pinconfig VoodooHDA automatically calculates good topology. There is somehow AI inside.

  • Like 1
Link to comment
Share on other sites

 Share

×
×
  • Create New...