浪潮云 发表于 2018-4-25 17:24

AppleAPLC定制教程(ALC255-ALC3234)

前几天刚装好了黑苹果,发现黑多问题都需要解决,于是先从声音下了手网上很多大神都有写过声卡的教程帖,在按照教程进行操作的时候还是发现了有很多问题不适用于我这台笔记本,以下是我的笔记本配置信息和型号

于是,在这里就把自己的定制过程给大家讲一讲,少走些弯路,毕竟也是俺也是从小白一路走过来的人{:5_264:}此教程开始前申明一点,此教程并不是唯一,并不是绝对性的对您适用
此教程仅对内置麦克风和内置扬声器进行示范,不能保证唯一性和绝对性,如有不足之处,请多多指教,谢谢{:5_285:}


文中用到的工具是引用于网上各路大神制作的,属于可下载可公开,并不存在侵权盗用行为
文中的步骤用".svg"图表来推导路径是引用黑兵小果大神的,如存在违规,可以告知,会全力配合修改,再次谢谢

1.下载AppleALC和Lilu到本地
   打开你的终端,分别输入以下两条命令,但前提是你的电脑安装了“git”
      同步AppleALC > git clone https://github.com/vit9696/AppleALC
      同步Lilu > git clone https://github.com/vit9696/Lilu
   假如你的电脑上没有Git,那么请你点击下面的两条连接进行下载亦可
      AppleALC > 下载
      Lilu > 下载


4.codec的提取此处不做详细解释,网上有很多教程,基本一致
   ubuntu16.04的下载链接 > 下载, 备用下载链接


3.准备途中所需的工具
   codecgraph > 下载
      Ps:此处的工具用于整理出你的有效节点的路径图,仅供参考,使用此工具前,需先安装其依赖 > brew install graphviz
      如果您的电脑没有安装brew,那么请先安装brew > /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
      该工具的作用只是将你提取到的codec中,有效节点的提取和梳理成图表的模式
   verbit.sh > 下载
      Ps:verbit.sh工具是一个脚本,此处引用的是黑果小兵大神的工具,十分感谢
            该工具的作用只是将你提取到的codec中,有效节点的提取和梳理成文档的模式
   Xcode
      Ps:此工具自行去Apple官网进行下载,必须按照当前的MacOS版本进行对应下载,最新版的Xcode需要 >= MacOS10.13


4.使用verbit.sh和codecgraph整理提取到的codec
   Ps:使用前,请将verbit.sh以及codecgraph移动到你的工作目录,我的工作目录是我的桌面,即"/Users/此处是我的用户名/Desktop"
   

   verbit.sh:打开你的终端,cd到你的工作目录下,首先赋予该脚本的执行权限 > chmod +x ./verbit.sh
   然后执行该脚本,并生成codec_dump.txt的有效节点文件 > ./verbit.sh ./codec.txt > ./codec_dump.txt
   执行完毕后,如下图所示:
   

   codecgraph:依然在你的工作目录下,在终端内输入以下命令 > ./codecgraph-20120114/codecgraph ./codec.txt
      Ps:此处是引用于黑果小兵大神的处理方法,此方法我是用来在自己不确定的情况下,用来核对      



5.整理有效节点
    有效节点的推导:
      首先打开verbit.sh梳理好的有效节点文本
      
      教程开头已经声明,只考虑内置麦克风和内置扬声器,所以,我们在有效节点那里删除这两者以为的节点,就是这样的      
      内置麦克风:Mic at Int         0x12
      内置扬声器:Speaker at Int   0x14
      接下来我们打开你在Ubuntu下提取到的codec文件(没做过任何修改的那个)
      
      推导内置麦克风的有效路径(Ps:麦克风和扬声器的路径推导方式并不一样,你可以理解为输出的设备是顺向,输入设备为逆向)
      我的内置麦克风的节点为"0x12",那么我们就在这个文本里搜索"0x12",你会不意外的发现,会有很多个"0x12"      由于麦克风为输入设备,所以我们取的路径是包含在"Node"下的
      (Ps:由于我也是刚接触不久,并不知道"Node"是个什么鬼,叫啥俺也伐晓得)
      
      
      按照这种方法推理麦克风路径,到最后得出有效的路径
      我的内置麦克风路径为:0x08-->0x23-->0x12
      (Ps:麦克风由于是输入设备,所以是逆向的)
      在我们不确定的情况下,我们就需要用到刚才用codecgraph生成的".svg"文件了来确认一下这个路径的准确性或者是唯一性
      
      (Ps:如果你要问我为啥不直接用哪个图来推导,因为两者都无法百分之百的保证路径的准确性,所以两者同时使用正确率相对较高,当然还有还有第三种,             第三种就是黑果小兵大神提供给我们的voodooHDA提取方法,相对来说简单,三种方法选取其中两种,正确率肯定比一种高)
      内置扬声器的推导
      我的内置扬声器的节点为"0x14"
      内置扬声器的推导完全和内置麦克风的推导方式相反,我们这次要取不在"Node"包含下的节点
      
      我的内置麦克风有效路径是:0x14-->0x0C-->0x02
      (Ps:一般情况下只有搜索第二个节点的时候,Connection下会出现两个节点,我们只管取第一个即可)
      同上,打开生成好的".svg"图表文件进行校对
      
      到这儿,我们就拿到了内置麦克风和内置扬声器的有效路径,在不保证完全正确的情况下,就得想办法提高其正确率


6.更正你的ConfigData
   这一步相对来说算是比较难,之前在这里吃了不少苦头,网上各路大神的说法又很多,所以处理的方式和思维也完全不是一致的,以下是我个人的理解和修改方法

      打开我们用"verbit.sh"生成的"codec_dump.txt"文本,进行以下的操作
      
      
   在这里,我们需要需要引用一下黑果小兵这位大神整理出来的一张表格
      
      

   接下来根据自己刚才整理的数据,对比表格所示,进行修改      我的数据:
         Digital Unknown   Mic at Int N/A                  18 0x12   70 01 A6 90
         Analog UnknownSpeaker at Int N/A          20 0x14   30 01 17 90
         红色标记的数据就是要进行修改的数据
         70 01 A6 90这组数据对应的是我的内置麦克风,将其分为四组,每组两位,一共八位,分别对应到那张表格里
-----------------------------------------------------------------------------------------------------------------------------------------------------
         修改前的数据:7 --> Default Association (默认关联)
                                  0 --> Sequence (序列)
                                  0 --> Color (插孔颜色)
                                  1 --> MISC (插孔侦测)
                                  A --> Default Device (设备类型)
                                  6 --> Connection Type (连接类型)
                                  9 --> Port Connectivity (端口)
                                  0 --> Location (端口位置)
-----------------------------------------------------------------------------------------------------------------------------------------------------
         修改后的数据:1 --> Default Association (默认关联)
                                  0 --> Sequence (序列)
                                  0 --> Color (插孔颜色)
                                  1 --> MISC (插孔侦测)
                                  A --> Default Device (设备类型)
                                  6 --> Connection Type (连接类型)
                                  9 --> Port Connectivity (端口)
                                  0 --> Location (端口位置)
-----------------------------------------------------------------------------------------------------------------------------------------------------
         至于内置扬声器的数据处理方式同上,这一步千万要认真和自习,这一步会影响到能不能使用内建扬声器和麦克风         Ps:可能我的这种处理方式并没有遵循网上大多数的教程中处理方式的走向,但这种方法对于我的笔记本而言,是确实是有作用的,也就是这一步的处理不同,导致了很多完成了后续工作后,能驱动AppleHDA以及AppleHDA的其他驱动,但就是没有声音,所以这种方法的走向很类似于万能声卡的处理机制(并不是voodooHDA),但却能驱动AppleHDA,以及内建扬声器与麦克风


      最后得出的ConfigData数据为:                                                                                 Node
         Digital Unknown   Mic at Int N/A                  18 0x12   10 01 A6 90
         Analog UnknownSpeaker at Int N/A          20 0x14   40 01 17 90
      对其进行最后的修改:
         Digital Unknown   Mic at Int N/A                        18 0x12   01271C10 01271D01 01271EA6 01271F90
         Analog UnknownSpeaker at Int N/A                20 0x14   01471C40 01471D01 01471E17 01471F90 01470C02
         (Ps:这个的修改公式为<Address+Node+71C/D/E/F>)
         (01470C02:这一组数据只有输出有,输入并没有此数据,在你从ubuntu提取到的codec文件下搜索输出的节点信息,会有一个"EAPD",如果拥有这一项,而"02"取决于"EAPD",我的"EAPD"为"EAPD 0x2: EAPD")

还有以下剩下的内容将在下一篇进行赘述,字数超了,还剪了一大段!!!!


浪潮云 发表于 2018-4-25 20:21

发布完我才发现帖子命名有错误,是AppleALC
手太快了
第二部分的教程链接为:https://bbs.pcbeta.com/viewthread-1783188-1-1.html

有个网友 发表于 2018-4-30 21:49

大神帮我看下吧

ganhuarong 发表于 2018-5-1 16:32

小白没看懂            

浪潮云 发表于 2018-5-1 22:19

有个网友 发表于 2018-4-30 21:49 https://www.pcbeta.com/static/image/common/back.gif
大神帮我看下吧

明天好啦 今天好好休息一下

ydyanglq 发表于 2018-5-1 23:59

学习研究一下楼主的方法,谢谢分享。

有个网友 发表于 2018-5-2 07:29

浪潮云 发表于 2018-5-1 22:19
明天好啦 今天好好休息一下

辛苦大神了!!!

zhouyu1617 发表于 2018-5-2 09:19

大神辛苦了!!!

浪潮云 发表于 2018-5-2 13:29

有个网友 发表于 2018-5-2 07:29 https://www.pcbeta.com/static/image/common/back.gif
辛苦大神了!!!

我今天帮你弄了一下 你有三个输入 三个输出 我不敢确定你是否能够使用 倘若不行 我再进行修改与修复吧

浪潮云 发表于 2018-5-2 13:31

有个网友 发表于 2018-5-2 07:29 https://www.pcbeta.com/static/image/common/back.gif
辛苦大神了!!!

试试看 这个可能有些复杂 不敢保证效果怎么样 不好的在做修改啦

浪潮云 发表于 2018-5-2 13:32

有个网友 发表于 2018-5-2 07:29 https://www.pcbeta.com/static/image/common/back.gif
辛苦大神了!!!

已经好了 不知道管不管用 正在审核呢 你试试吧 不管用的话我再看着慢慢修改修改啦{:5_264:}

imeeior 发表于 2018-5-2 16:45

我自己弄了一个仿冒声卡,但是有杂音,而且在系统报告的音频里面只显示内建输入和内建输出,没有具体的显示比如麦克风,耳机,SPFID等内容,我的操作过程可以看一下我发的这个帖子https://bbs.pcbeta.com/viewthread-1783971-1-1.html

有个网友 发表于 2018-5-2 19:06

浪潮云 发表于 2018-5-2 13:32
已经好了 不知道管不管用 正在审核呢 你试试吧 不管用的话我再看着慢慢修改修改啦

谢谢大神!试了一下没用,注入的是id1.用原版aoplealc注入id1 2 3都有声音,就是前面两个3.5接口都没用,bios中开启的是前置高保真

Sun0210 发表于 2018-5-2 21:38

请大神帮我看一下 感谢

缘来是这么个事 发表于 2018-5-2 21:45

这个可是厉害了

浪潮云 发表于 2018-5-3 23:43

有个网友 发表于 2018-5-2 19:06 https://www.pcbeta.com/static/image/common/back.gif
谢谢大神!试了一下没用,注入的是id1.用原版aoplealc注入id1 2 3都有声音,就是前面两个3.5接口都没用, ...

俺忘记告诉您啦 这个ID我给您改的是9很抱歉啊 我的失物 今天才看帖子 来晚了{:5_297:}

浪潮云 发表于 2018-5-4 00:52

Sun0210 发表于 2018-5-2 21:38 https://www.pcbeta.com/static/image/common/back.gif
请大神帮我看一下 感谢


注入ID选9 试试看吧{:5_264:}

浪潮云 发表于 2018-5-4 00:53

imeeior 发表于 2018-5-2 16:45 https://www.pcbeta.com/static/image/common/back.gif
我自己弄了一个仿冒声卡,但是有杂音,而且在系统报告的音频里面只显示内建输入和内建输出,没有具体的显示 ...

耳机杂音还是扬声器呢

imeeior 发表于 2018-5-4 08:19

浪潮云 发表于 2018-5-4 00:53 https://www.pcbeta.com/static/image/common/back.gif
耳机杂音还是扬声器呢

扬声器有杂音,耳机没有

浪潮云 发表于 2018-5-4 15:33

试着在输出的configdata数据里 添加EAPD信息你的麦克风需要添加 01470C02
你试试看 在014那一排数据后面添加就OK
页: [1] 2 3
查看完整版本: AppleAPLC定制教程(ALC255-ALC3234)