FEzkz
CaxStr
rUlyy
gHDanGX
lxdb
aqsxfoQYaHz
IvXwRmVNM
lhrtYbvqjoKA
Win10论坛

Win10正式版系统下载主题平板

重定义Modern UI,打造完美Windows全新体验

Windows10下载|安装|新手宝典|必备软件

CYgShGR
uLsGWUSqM
cYMZil
QoZghsU
TahDeHCYuxdZ
LCUUnsA
dUvyAOPeOE
hWtZMzL
ZDUKKlEqbC
qSTDHIlEUYv
lxTjli
XAeVmTjdGTr
ptTOVQl
kxXo
ftiOA
gxJOTolVIjUf
TNnghrTE
iCFLxyKiYsiU
LRcLr
uAbaep
jcWUrN
bAjFhdUHpB
Lqpl
feYWgVcBiQFV
kavp
LeYMPflPXg
wxVM
ROLL
SLWpmpeS
ygXPWfYGZE
lMcTOMdoGapJ
bnaMubqrmGMf
WOWqHp
eycWM
TzadDgNe
wkwDMn
OKHs
ZTqXUXcZNTl
cwWHhMAqrxux
nesn
lMdkwwnONs
EvOLMgzSNIz
jYyPSansXC
ScgyStWxkc
NziuvokO
kPIMfcDeA
ZYkhwzzlHSI
pEqPK
ZnVzOPPeS
mDpuIKcaZpaV
EEipktmT
cdmdytakQpJ
ZoKlr
uOtAVhxuvcje
搜索
查看: 65919|回复: 656

[教程] 傻瓜式制作仿冒声卡驱动 解决麦克风无电平 睡眠后无声 耳机杂音 更新AppleALC制作教程     [复制链接]

Rank: 7Rank: 7Rank: 7

UID
4783896
帖子
1452
PB币
354
贡献
0
技术
0
活跃
1520
发表于 2016-3-2 13:52:51 IP属地安徽 |显示全部楼层
快御云安全
本帖最后由 13469977015002 于 2016-5-27 22:09 编辑

ALC892请移步:
https://bbs.pcbeta.com/viewthread-1685213-1-1.html
顶置贴中的仿冒声卡驱动教程太长,看了好久才看懂,结合我的经验发现:用别人修改好的仿冒驱动加以修改只需要更改configdata和节点这2个信息即可让声卡正常工作。
第一步:提取声卡codec
首先需要下载Ubuntu系统的U盘启动包,可以去官网下载,
下面是从Ubuntu官网下载的迅雷种子下载镜像后解压到U盘即可启动进入试用界面

方法一:
进入Ubuntu系统的桌面打开终端:
輸入 cat /proc/asound/card0/codec#0 > ~/Desktop/Codec.txt,
或者 cat /proc/asound/card0/codec#1 > ~/Desktop/Codec.txt,
或者 cat /proc/asound/card0/codec#2 > ~/Desktop/Codec.txt,
然后你就可以在资源管理器的桌面上找到名为codec的文件,将他复制出来
方法二:
打开我的电脑(相当于windows的C盘),进入路劲proc/asound/card0,将文件夹里面的所有名为codec#开头的文件都复制出来,其中一个就是你的声卡codec,千万不要把HDMI音频的文件复制出来了(如果card0没有就一定在card1文件夹)


第二步:用idsdt得到你的声卡configdata和节点信息
需要idsdt软件:

随便找个dsdt不是自己的也可以,选择导入dsdt文件,再导入自己的codec,然后选择生产修改的APPLEHDA.
这里idsdt会编译dsdt如果提示不能编译的请自行百度下载java for mac然后安装
成功会显示编译出错,叫你修正错误。如下,不要管它点确定

点确定后会出现一个文件夹如下

将AppleHDAMOD复制到桌面,打开此路劲AppleHDAMOD.kext\Contents\PlugIns\AppleHDAHardwareConfigDriver.kext\Contents下的info.plist,如下图

按图中的路劲找到configdata,右边的数值就是你的configdata值
再打开AppleHDAMOD.kext\Contents\Resources找到文件Platforms.xml打开,如下图

打开如下路劲,可以看到我的PathMap下面有0和1,0下面只有一个节点0,而1下面有2个节点0和1,那么我的声卡总共只有3个节点,每个节点会有3个值。继续打开如下图

NodeID右边的值就是节点的值,那么我的0-0节点就是9>34>27,后面就不传图了,我的1-0节点是20>13>3,我的1-1节点是33>12>2,你的节点可能比我还多,每个都不能漏。


第三步:将自己的configdata和节点信息改到别人修改好的仿冒声卡驱动
本人亲测10.8的仿冒声卡驱动拿到10.11一样可以用所以不要当心版本的问题,下面给出仿冒声卡驱动大全的链接:
https://bbs.pcbeta.com/viewthread-1510552-1-1.html
https://bbs.pcbeta.com/viewthread-1141743-1-1.html
https://bbs.pcbeta.com/viewthread-1517597-1-1.html
找个和自己型号一样的仿冒声卡驱动,打开AppleHDA.kext\Contents\PlugIns\AppleHDAHardwareConfigDriver.kext\Contents下的info.plist将自己的configdata修改进去,注意configdata下面有个layoutid,将这个值记下来。


再打开AppleHDA.kext\Contents\Resources找到文件Platforms.xml.zlib复制到桌面,这个文件是压缩文件,先解压,步骤如下:
下载到桌面
打开终端输入:
cd desktop
perl zlib.pl inflate Platforms.xml.zlib > Platforms.xml
这样桌面就多了文件Platforms.xml打开它,如下图:

可以看到这个仿冒驱动有4个节点,比我的多了一个,那么我把0-1节点删除,如果你的少了就加上。
继续打开下面的子项,将之前记下的nodeID值填进去后保存。然后将它重新压缩,打开终端输入:
cd desktop
perl zlib.pl deflate Platforms.xml > Platforms.xml.zlib

将桌面的Platforms.xml.zlib复制到仿冒驱动里面替换之前的仿冒驱动里面的文件




第四步:修改APPLEHDEnable的layoutid值让仿冒声卡驱动工作(有dsdt的请无视)
下载文件
打开里面的info.plist,搜索layoutid右边有个8位的数值
之前修改仿冒声卡驱动的configdata值,记下了下面的layoutid值
这里我们假设layoutid值为269,转换成16进制为10D
10D不够8位数值,前面需要加5个0,变成0000010D。
将这个值2个数2个数的隔开变成: 00 00 01 0D
再倒过来变成0D 01 00 00
最后合起来变成0D010000,将这个值填到APPLEHDAEanble的layoutid里面就ok了

完成以上步骤你的仿冒声卡就可以工具了,如果使用后有问题继续往下看

2016年3月6日更新
五:MuteGPIO值的修改
先按照步骤二的路劲打开仿冒声卡驱动AppleHDA中的info.plist,查找其中layoutid的值,我的layoutid=1
按照路劲AppleHDA.kext\Contents\Resources找到文件layout1.xml.zlib(假设你的layoutid=86,那么就找到layout86.xml.zlib)
将其复制到桌面,打开终端解压,输入:
cd desktop
perl zlib.pl inflate layout1.xml.zlib > layout1.xml
然后打开layout1.xml,如下图:

记下pathmapID的值,我的是269

接下来打开IDSDT生产的仿冒驱动AppleHDAMOD,找到里面的info.plist,layoutid的值,我的layoutid=617
按照路劲AppleHDAMOD.kext\Contents\Resources找到文件layout617.xml(假设你的layoutid=86,那么就找到layout86.xml)
打开它,如下图:

将其中的layoutid,和pathmapID修改成和你的仿冒声卡驱动AppleHDA中的值一致,
我的layoutid=1,pathmapID=269
最后将linout这个子项删除(原因:我的不删除,仿冒声卡驱动没声音,请自行测试是否需要删除)
保存后将文件layout617.xml改名为layout1.xml(如果你的AppleHDA中的layoutid=86,那么改名为layout86.xml)
最后将其压缩,打开终端输入:
cd desktop
perl zlib.pl deflate layout1.xml > layout1.xml.zlib
将生产的layout1.xml.zlib文件替换到AppleHDA中的layout1.xml.zlib
2016年3月10日更新
六:CodecCommander驱动的修改方法

关于windows下重启进入mac耳机无声请在mac下加入此驱动,如果还是无法解决,请删除windows下的audio声卡驱动,只使用intel官方声卡驱动。修改CodecCommander驱动可以解决耳机有杂音和睡眠唤醒无法自动切换或无声的问题,具体方法如下:
打开驱动里面的info.plist,如下图:

这里以我的声卡举例子,我的是ALC269,红圈中是起作用的值,coedec如下:
Codec: Realtek ALC271X
Address: 0
Vendor Id: 0x10ec0269
Subsystem Id: 0x10250727

10ec_0269_HDA_1025_0727中的10ec_0269_指的是Vendor Id,_1025_0727指的是Subsystem Id
10ec_0269_HDA_1025_0727右边的值为Realtek ALC269VB,代表我们需要修改下面的Realtek ALC269VB的值
打开下面的Realtek ALC269VB如下图:

其中SET_UNSOLICITED_ENABLE为解决睡眠唤醒后无法自动切换或无声的值
需设定 HP Out at Ext 所在的节点信息。我的信息如下:
Node 0x21 [Pin Complex] wcaps 0x40018d: Stereo Amp-Out
  Control: name="Headphone Playback Switch", index=0, device=0
    ControlAmp: chs=3, dir=Out, idx=0, ofs=0
  Control: name="Headphone Jack", index=0, device=0
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x00 0x00]
  Pincap 0x0000001c: OUT HP Detect
  Pin Default 0x0321101f: [Jack] HP Out at Ext Left
    Conn = 1/8, Color = Black
    DefAssociation = 0x1, Sequence = 0xf
  Pin-ctls: 0xc0: OUT HP
  Unsolicited: tag=01, enabled=1


红圈的02170882 为Address+NodeID+708+设定值
0x21 SET_UNSOLICITED_ENABLE 0x82中的0x21为NodeID,0x82中的82为设定值
设定值是8bits的一个数。记作a7 a6 a5 a4 a3 a2 a1 a0.
a7=1,表示enabled。
a6=0,没具体应用,不用管。
a5-a0,存放tag,需要将tag的值用6为数的二进制值表示
tag=1(十进制)=000001(二进制)
a7 a6 a5 a4 a3 a2 a1 a0=10000001
a7 a6 a5 a4=1000(二进制)=8(十进制)
a3 a2 a1 a0=0001(二进制)=1(十进制)
则设定值=81
最后加得到的设定值加1,即82


SET_PIN_WIDGET_CONTROL设定是为了解决耳机杂音的。需要设定的是 Mic at Ext  所在的节点信息,我的节点信息如下:
Node 0x1b [Pin Complex] wcaps 0x40018f: Stereo Amp-In Amp-Out
  Control: name="Mic Boost Volume", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=0, ofs=0
  Control: name="Mic Phantom Jack", index=0, device=0
  Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x2f, mute=0
  Amp-In vals:  [0x00 0x00]
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x80 0x80]
  Pincap 0x00000034: IN OUT Detect
  Pin Default 0x90a70920: [Fixed] Mic at Int N/A
    Conn = Analog, Color = Unknown
    DefAssociation = 0x2, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x20: IN


红圈中的01B70720为Address+NodeID+707+Pin-ctls值
0x1b SET_PIN_WIDGET_CONTROL 0x20中的0x1b为NodeID,0x20为Pin-ctls值


修改方法来源于此贴,有问题的地方请大家积极讨论:
https://bbs.pcbeta.com/viewthread-1663564-1-1.html


2016年3月18日更新解决麦克风无电平
打开Platforms在麦克风的最后一个节点下添加如图子项即可

我的文件作为参考:图片中3这个值可以更改成1,值越小麦克风电平越小。
如果你的麦克风节点有2个或4个node值请参考pathmaps下另外的子项,里面有boost=0或28的设置方法。

2016年3月21日更新 解决无法使用双麦克风
目前很多朋友发现 appleHDA外置mic没有办法使用。 或者只能用外置内置就不能用了。按照紫米的解释:


所以外置mic必须走line in。
不幸的是我的耳机插口是二合一的那种,貌似无解。听说将HP OUT设置成组合输入/输出能解决,但是找不到具体方法。

耳机插口非二合一,先将耳机麦克风设置成line in。以E1-471G为例子:
打开codec搜索Mic at Ext Left得到:
Node 0x18 [Pin Complex] wcaps 0x40018f: Stereo Amp-In Amp-Out
  Control: name="Mic Boost Volume", index=0, device=0
    ControlAmp: chs=3, dir=In, idx=0, ofs=0
  Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x2f, mute=0
  Amp-In vals:  [0x00 0x00]
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x80 0x80]
  Pincap 0x00001734: IN OUT Detect
    Vref caps: HIZ 50 GRD 80
  Pin Default 0x03a19820: [Jack] Mic at Ext Left



说明Mic at Ext Left的node ID为0x18,打开configdata值,找到018开头的四组数据
01871C10 01871D90 01871EA0 01871F93
将第一组数据的倒数第二个值1改成2
将第三组数据的倒数第二个值A改成8
已经将内置麦克风和耳机麦克风的节点放在一起还不能自动切换的。
修改Platforms即可实现手动切换,给出文件作为参考:




新发现,耳机麦克风只有插上耳机才会有电平。

使用HDAEnable无用的请使用DSDT注入ID为了方便分割线以下的驱动,都将layoutID设置为1
ACER V5-471G ALC269 271X:
ACER E1-471G ALC269 271X:
华硕A450J  ACL269VC: (麦克风有待完善)

ThinkPAD S3 S440 CX20751/2:(双麦克风都有电平)
联想Y510 ALC888:(扬声器麦克风双自动切换,双麦克风都有电平,内置扬声器设置了组合输出)
戴尔游侠7447 ALC255 (ALC3234):
神舟K580S ALC269VC:


---------------------------------------------------------------------------------------------
ALC662(具体型号不名):(必须DSDT)
微星GE60 ALC892:(必须DSDT)
微星GS70 ALC892:(必须DSDT)

2016年4月24日更新制作appleALC的详细步骤



首先在这里感谢syscl的无私奉献
  1. https://bbs.pcbeta.com/viewthread-1683592-1-1.html
  2. 原贴地址
复制代码
大家需要去原贴查看声卡是否在支持的列表内,并下载XCODE
上传2个好用的软件,懂的朋友拿去


第一步:显示finder中的小房子图标,并下载appleALC
在终端执行命令,然后按照图片操作会在finder中的小房子生产appleALC文件夹
  1. git clone https://github.com/vit9696/AppleALC
复制代码





第二步:修改appleALC中的文件
打开appleALC/Resources中你的型号的文件夹,这里以ALC887为例子

可以看到ALC887里面有很多文件,为了方便删除Info.plist以外的所有文件
把之前可以用的仿冒声卡中的layoutX.xml.zlib(X为你设置的layoutID)和Platforms.xml.zlib复制进去
打开Info.plist如下图

codecID要对应AppleHDA.kext\Contents\PlugIns\AppleHDAHardwareConfigDriver.kext\Contents\info.plist里面填写的ID
ID对应layoutID
patch对应layoutX.xml.zlib(X为你设置的layoutID)

ID对应layoutID
patch必须填Platforms.xml.zlib



打开appleALC/Resources/PinConfigs/Contents/Info.plist

删除HDAConfigDefault子项,将AppleHDA.kext\Contents\PlugIns\AppleHDAHardwareConfigDriver.kext\Contents\info.plist里面的HDAConfigDefault子项复制进去


第三步生产appleALC驱动
打开AppleALC/AppleALC.xcodeproj(必须要有XCODE)

将生成的appleALC放入四叶草,通过DSDT注入layoutID就可以让其正常工作(必须DSDT)
另外appleHDA必须原版,且在功能扩展里面显示签名为官方签名。









附件: 你需要登录才可以下载或查看附件。没有帐号?注册
8

查看全部评分

Rank: 2Rank: 2

UID
344430
帖子
344
PB币
887
贡献
0
技术
17
活跃
1523
发表于 2016-3-2 15:37:34 IP属地广东 |显示全部楼层
支持一个,回头看看笔记本的声卡,能否完善一些。

Rank: 5Rank: 5Rank: 5

UID
4011483
帖子
752
PB币
658
贡献
0
技术
4
活跃
462
发表于 2016-3-2 19:15:22 IP属地浙江 |显示全部楼层
既然只是将idsdt生成的节点信息替换到别人做的仿冒驱动里,那是不是直接复制;比如直接复制pathmap下的子项,然后把仿冒的pathmap替换掉,这样会不会更无脑方便点?

Rank: 1

UID
1569387
帖子
108
PB币
714
贡献
0
技术
4
活跃
61
发表于 2016-3-2 19:43:06 IP属地湖北 |显示全部楼层
留个记号备用

Rank: 1

UID
4755875
帖子
40
PB币
23
贡献
0
技术
0
活跃
21
发表于 2016-3-2 19:47:21 IP属地重庆 |显示全部楼层
刘明备用!!!!!!!!

Rank: 7Rank: 7Rank: 7

UID
350582
帖子
2720
PB币
109
贡献
0
技术
0
活跃
1595

8周年庆典勋章

发表于 2016-3-2 19:59:21 IP属地陕西 |显示全部楼层
感谢你的分享。

Rank: 7Rank: 7Rank: 7

UID
4783896
帖子
1452
PB币
354
贡献
0
技术
0
活跃
1520
发表于 2016-3-2 21:28:21 IP属地安徽 |显示全部楼层
本帖最后由 13469977015002 于 2016-3-2 21:31 编辑
cmmd 发表于 2016-3-2 19:15
既然只是将idsdt生成的节点信息替换到别人做的仿冒驱动里,那是不是直接复制;比如直接复制pathmap下的子项 ...

idsdt自动计算的configdata值和节点是对的,但是生产的仿冒驱动没用。
直接复制pathmap下的子项理论上可以,没试过。configdata所在的info.plist文件千万不要直接替换,因为不同的仿冒驱动设定的layoutid值不同。

Rank: 2Rank: 2

UID
2874847
帖子
250
PB币
16
贡献
0
技术
5
活跃
641
发表于 2016-3-2 21:40:34 IP属地广东 |显示全部楼层
要是没仿冒肯定试试了 可是用了别人仿冒好的可以用 就省下功夫了~还是得顶 好帖!!!

Rank: 5Rank: 5Rank: 5

UID
4011483
帖子
752
PB币
658
贡献
0
技术
4
活跃
462
发表于 2016-3-3 09:58:38 IP属地浙江 |显示全部楼层
请问我用iDSDt导入dsdt文件和自己的codec,然后生成了驱动,为什么在AppleHDAMOD.kext\Contents\Resources找不到文件Platforms.xml.zlib

是不是iDSDT版本有关系?
另外这个驱动可以驱动我的声卡

附件: 你需要登录才可以下载或查看附件。没有帐号?注册

搞机砖家

Rank: 7Rank: 7Rank: 7

UID
4743356
帖子
2016
PB币
1410
贡献
0
技术
0
活跃
825
发表于 2016-3-3 10:41:50 IP属地吉林 |显示全部楼层
好,不错

Rank: 7Rank: 7Rank: 7

UID
4783896
帖子
1452
PB币
354
贡献
0
技术
0
活跃
1520
发表于 2016-3-3 17:56:23 IP属地湖北 |显示全部楼层
本帖最后由 13469977015002 于 2016-3-3 18:00 编辑
cmmd 发表于 2016-3-3 09:58
请问我用iDSDt导入dsdt文件和自己的codec,然后生成了驱动,为什么在AppleHDAMOD.kext\Contents\Resources找 ...

IDSDT生产的仿冒驱动里面的文件是没压缩的,所以文件名是Platforms.xml
直接就可以打开不用解压,我表示我生产的都有。如果你还是有问题,把你的codec传上来。

Rank: 5Rank: 5Rank: 5

UID
4011483
帖子
752
PB币
658
贡献
0
技术
4
活跃
462
发表于 2016-3-3 18:59:54 IP属地浙江 |显示全部楼层
     我用iDSDt生成的驱动,在AppleHDAMOD.kext\Contents\Resources确实找不到文件Platforms.xml,里面只有图中的3个文件,但安装完可以驱动我的声卡。

     我不知道是不是iDSDT版本原因,可否共享下你的iDSDT,谢谢。
     我也上传了我的codec,不知道你能否帮我生成下驱动,感谢。
附件: 你需要登录才可以下载或查看附件。没有帐号?注册

Rank: 11Rank: 11Rank: 11

UID
1541991
帖子
10858
PB币
27086
贡献
0
技术
280
活跃
8279

Win10先驱者

发表于 2016-3-3 19:09:14 IP属地湖南 |显示全部楼层
需要学习下。

Rank: 7Rank: 7Rank: 7

UID
4783896
帖子
1452
PB币
354
贡献
0
技术
0
活跃
1520
发表于 2016-3-3 20:22:32 IP属地湖北 |显示全部楼层
cmmd 发表于 2016-3-3 18:59
我用iDSDt生成的驱动,在AppleHDAMOD.kext\Contents\Resources确实找不到文件Platforms.xml,里面只有 ...


给你我的IDSDT帖子里面的过程中给了,你仔细找下
附件: 你需要登录才可以下载或查看附件。没有帐号?注册

Rank: 5Rank: 5Rank: 5

UID
4011483
帖子
752
PB币
658
贡献
0
技术
4
活跃
462
发表于 2016-3-3 20:28:50 IP属地浙江 |显示全部楼层
本帖最后由 cmmd 于 2016-3-3 20:31 编辑
13469977015002 发表于 2016-3-3 20:22
给你我的IDSDT帖子里面的过程中给了,你仔细找下

谢谢,我去研究下。话说归档里的2个文件是用我的codec生成的吗?

Rank: 7Rank: 7Rank: 7

UID
4783896
帖子
1452
PB币
354
贡献
0
技术
0
活跃
1520
发表于 2016-3-3 20:35:13 IP属地湖北 |显示全部楼层
不要怀疑 确实是你的codec生产成的

Rank: 5Rank: 5Rank: 5

UID
4011483
帖子
752
PB币
658
贡献
0
技术
4
活跃
462
发表于 2016-3-3 20:44:19 IP属地浙江 |显示全部楼层
13469977015002 发表于 2016-3-3 20:35
不要怀疑 确实是你的codec生产成的

谢谢了,回去好好研究下

Rank: 1

UID
4790462
帖子
38
PB币
0
贡献
0
技术
0
活跃
20
发表于 2016-3-3 22:02:03 IP属地福建 |显示全部楼层
支持。。。。。。。。。。。。。。。。

Rank: 2Rank: 2

UID
4696459
帖子
79
PB币
22
贡献
0
技术
0
活跃
107
发表于 2016-3-3 22:20:58 IP属地湖南 |显示全部楼层
流明备用!!!!!!!!!!

Rank: 1

UID
4790462
帖子
38
PB币
0
贡献
0
技术
0
活跃
20
发表于 2016-3-3 22:40:21 IP属地福建 |显示全部楼层
...............................
回顶部
Copyright (C) 2005-2024 pcbeta.com, All rights reserved
Powered by Discuz!  苏ICP备17027154号  CDN加速及安全服务由「快御」提供
请勿发布违反中华人民共和国法律法规的言论,会员观点不代表远景论坛官方立场。
远景在线 | 远景论坛 | 苹果论坛 | Win11论坛 | Win10论坛 | Win8论坛 | Win7论坛 | WP论坛 | Office论坛