FakePCIID-1.3.15.kext

FakePCIID.kext是黑苹果屋搜集到与IOPCIDevice设备建立连接,以便当另一个驱动程序连接到同一设备时,它可以提供备用的PCI ID。也就是说,如果用到FakePCIID开头的任何kext的话,此驱动都是必要的。

附件中所包含的驱动

  • FakePCIID_AR9280_as_AR946x.kext
    FakePCIID_BCM57XX_as_BCM57765.kext
    FakePCIID_Broadcom_WiFi.kext
    FakePCIID_Intel_GbX.kext
    FakePCIID_Intel_HD_Graphics.kext
    FakePCIID_Intel_HDMI_Audio.kext
    FakePCIID_XHCIMux.kext
    FakePCIID.kext
    AppleIntelKBLGraphicsFramebufferInjector_3e9x.kext
    BroadcomWiFiInjector.kext

为了将FakePCIID附加到给定的IOPCIDevice,必须构建IOKit可以用来匹配的kext注入器。驱动的Info.plist没有内置的IOKitPersonalities,因为它是通用的,并且并非为特定目的而构建。压缩包中提供的发行版具有四个这样的kext注入器,也可以为其他设备创建自定义kext注入器。

在任何情况下,注入器的Info.plist中的DSDT补丁,FakeID配置(Clover)或FakeProperties字典都将需要注入FakePCIID可以在IOPCIDevice上读取的属性。FakePCIID使用的属性将在本文后面描述。这些属性必须存在于被挂接的PCIDevice(FakePCIID的直接父级)上。

  • 在较新的硬件平台上,Hackintool、Clover Configurator比这个驱动更能解决仿冒设备ID的问题,如果二者都不能解决你的仿冒ID问题时,再尝试本驱动;
  • FakePCIID_Intel_HD_Graphics.kext适用于HD4400移动版,HD4600移动版,HD4200移动版和HD4600桌面版。

安装&使用

  • 和 Lilu/AppleALC/WhateverGreen 不同,FakePCIID.kext 需要使用 Kext 安装器(例如KextWizard)安装;
  • 通常情况下,请使用 Release 发行版,如果出现问题,可使用 debug 进行排错;
  • 为了使kext加载到特定设备上,还必须安装适当的进样器kext。当前,提供了四个注射器:
    • FakePCIID_Intel_HD_Graphics.kext (formerly FakePCIID_HD4600_HD4400.kext):此kext将附加到 8086:0412、8086:0416、8086:0a1e,8086:041e,8086:0a16、8086:041a,8086:016a,8086:191d 或 8086:162a
      • 8086:0412 是 HD4600 桌面端
      • 8086:0a16 是 HD4400 移动端
      • 8086:0416 是 HD4600 移动端
      • 8086:0a1e 是 HD4200 移动端
      • 8086:041e 是 HD4400 桌面端
      • 8086:041a 是 P4600 服务器端
      • 8086:016a 是 P4000 服务器端
      • 8086:191d 是 P530 服务器端
      • 8086:162a 是 P6300 服务器端
    • 通常,注入一个虚假的设备ID 8086:0412 是针对 macOS Yosemite,因为 Yosemite 本身无法识别8086:0416。8086:0412是HD4600(桌面端)的设备ID。通过注入0412,将加载 AppleIntelFramebufferAzul 和 AppleIntelHD5000Graphics。而且,由于FakePCIID也将连接到这些设备,因此它将成功地使该设备的两个kext 欺骗 Intel HD4600 桌面端 iGPU(0412)。要获得P4000支持,请注入设备ID 0166(HD4000)。要获得P530支持,请注入设备ID 1912(HD530)。要支持P6300,请注入设备ID 1622(HD6200)
    • FakePCIID_Intel_HDMI_Audio.kext:此kext将附加到 8086:0c0c 或 8086:9d70 或 8086:a170
    • 目的是为在 Haswell 及更高版本硬件上提供 HDMI 音频的不受支持的HDAU(通常称为B0D3,但已重命名为 HDAU 以符合Apple的期望)提供支持。8086:0c0c是不受支持的ID。支持其他两个 8086:0d0c 和 8086:0a0c。这个kext AppleHDAController 按 PCI 类加载,因此通常不会为此注入device-id,但是为了使 FakePCIID 正常工作,您可能需要注入RM,受支持的 device-id。默认情况下,kext注入RM,device-id = <0c 0a 00 00>(0x0a0c),可以使用DSDT编辑覆盖它。
    • 例如,_DSM修补程序,用于HDAU设备,用于FakePCIID和HDMI音频,如果要 0x0d0c 而不是 0x0a0c。
into method label _DSM parent_adr 0x00030000 remove_entry;
into device name_adr 0x00030000 insert
begin
Method (_DSM, 4, NotSerialized)\n
{\n
    If (LEqual (Arg2, Zero)) { Return (Buffer() { 0x03 } ) }\n
    Return (Package()\n
    {\n
        "RM,device-id", Buffer() { 0x0c, 0x0d, 0x00, 0x00 },\n
        "hda-gfx", Buffer() { "onboard-1" },\n
    })\n
}\n
end;
 
    • 对于Skylake 8086:9d70 或 8086:1a70,它连接到 HDEF 设备(通常称为HDAS,但已重命名为HDEF以符合Aple的期望)。Skylake HDMI / DP音频编解码器与板载音频一起位于HDEF上。它为 0x9d70注入RM,device-id = <70 a1 00 00>,为 0xa170 注入RM,device-id = <70 9d 00 00>。换句话说,这两个设备ID将调换它们。如果已正确设置HDMI / DP音频的所有设置,但是不起作用,请尝试一下上面的方法。这是通过注意到Skylake HDMI音频可在NUC6i7KYK上运行而在其他NUC6设备上无法运行而发现的,这完全取决于系统。有些计算机需要交换它们,而其他计算机则不需要。
    • 该扩展程序无法解决在HDMI / DP设置中可能遇到的其他问题/错误(例如,缺少“ hda-gfx”,不匹配的“ layout-id”注入,不正确或错误的帧缓冲区补丁或缺少ACPI重命名)。
      • FakePCIID_AR9280_as_AR946x:此kext将附加到168c:0034或168c:002a。
        • FakePCIID.kext的此特定应用程序用于将AR9280重命名为其他设备的情况。例如,对于Lenovo u430,将AR9280重命名为AR946x是很有用的,因为该设备被BIOS白名单允许,而AR9280则不允许。通过使用FakePCIID,即使设备本身正在报告168c:0034,我们也可以将PCI ID重新映射回AR9280(168c:002a)。
      • FakePCIID_Broadcom_WiFi.kext(以前称为FakePCIID_BCM94352Z_as_BCM94360CS2.kext)。此kext将附加到14e4:43b1、14e4:4357、14e4:4331、14e4:4353、14e4:432b,14e4:43ba,14e4:43a3、14e4:43a3、106b:4e,14e4:4312、14e4:4313、14e4:4318、14e4:4319、14e4:431a,14e4:4320、14e4:4324、14e4:4325、14e4:4328、14e4:432c,14e4:432d。
      • FakePCIID.kext最初是为BCM94352Z创建的,此特定应用程序用于在使用各种受支持的Broadcom WiFi设备时模拟真实的Apple Airport Extreme。
      • FakePCIID_BCM57XX_as_BCM57765.kext:此kext将连接到许多不受支持的BCM57XX以太网设备,以使本机驱动程序可兼容更广泛的BCM以太网芯片组,但由于对PCI设备ID /子设备ID的探针测试而不受支持。
      • FakePCIID_Intel_GbX.kext:此kext将连接到许多Intel以太网设备,以尝试使基于Intel芯片组的卡的Small Tree驱动程序正常工作。
      • FakePCIID_XHCIMux.kext此kext将附加到8086:1e31、8086:9c31、8086:9cb1、8086:9c31和8086:8cb1。此注入器是对常规FakePCIID的扩展。它实际上并没有仿冒任何PCI-ID。而是将某些值强制设置为Intel XHCI USB3控制器上的XUSB2PR(PCI配置偏移0xD0)。效果是将连接到XHC端口上USB2引脚的任何USB2设备路由到EHC1。换句话说,使用USB2驱动程序而不是USB3驱动程序(AppleUSBEHCI与AppleUSBXHCI)处理USB2设备。
      • 配置属性及其默认值:RM,pr2-force <00 00 00 00>。默认情况下,强制所有XHCI端口将USB2设备路由到EHC1。RM,pr2-init <01>。如果非零,将在启动时写入RM,pr2-force值。RM,pr2-嵌段<01>。如果非零,将阻止对XUSB2PR的写入。RM,pr2m块<01>。没有证据表明OS X驱动程序尝试写入XUSB2PRM(偏移量0xD4),但是由于此kext依赖此处的有效值(由BIOS提供),因此如果非零,则阻止对其写入。RM,pr2-honor-pr2m <01>:如果XUSB2PR非零,对XUSB2PR的更改将被XUSB2PRM屏蔽。RM,pr2-chipset-mask:使用此值屏蔽对XUSB2PR的写入。这由芯片组文档定义,默认值取决于芯片组。
    • 有关更多信息,请参阅英特尔7/8/9系列芯片组数据表。
  • 为了创建自己的注入器,您应该熟悉 IOKit 匹配和 kext Info.plist 文件。在 developer.apple.com 上有足够的文档,使用现有的注入器作为模板来构建自己的注入器。

 

DSDT 补丁

  • FakePCIID.kext将返回在关联的IOPCIDevice下的IO注册表中找到的供应商ID,设备ID,子系统供应商ID和子系统ID。为了提供正确/受支持的值,采用_DSM注入(或带有Clover的FakeID)。例如,这是一个用于HD4600的补丁:
into method label _DSM parent_adr 0x00020000 remove_entry;
into device name_adr 0x00020000 insert
begin
Method (_DSM, 4, NotSerialized)\n
{\n
    If (LEqual (Arg2, Zero)) { Return (Buffer() { 0x03 } ) }\n
    Return (Package()\n
    {\n
        "device-id", Buffer() { 0x12, 0x04, 0x00, 0x00 },\n
        "AAPL,ig-platform-id", Buffer() { 0x06, 0x00, 0x26, 0x0a },\n
        "hda-gfx", Buffer() { "onboard-1" },\n
        "model", Buffer() { "Intel HD 4600" },\n
    })\n
}\n
end;
 
  • 请注意,以上补丁中FakePCIID读取的唯一属性是“ device-id”。Clover的config.plist(FakeID)或(例如)Chimera的IGPDeviceID标志也可以提供“ device-id”注入。FakePCIID和IOKit匹配都使用“ device-id”属性。通常这是可以的,但是为了灵活性,也可以使用前缀属性“ RM”来指定FakePCIID使用的其他ID。因此,简化补丁如下所示:
into method label _DSM parent_adr 0x00020000 remove_entry;
into device name_adr 0x00020000 insert
begin
Method (_DSM, 4, NotSerialized)\n
{\n
    If (LEqual (Arg2, Zero)) { Return (Buffer() { 0x03 } ) }\n
    Return (Package()\n
    {\n
        "RM,device-id", Buffer() { 0x12, 0x04, 0x00, 0x00 },\n
    })\n
}\n
end;
 
  • 当然,必须注入“ device-id”和“ ig-platform-id”,才能使用其他某种机制运行HD4600。但是FakePCIID.kext只能使用“ RM,device-id”来完成其工作。下面是AR9280中用作AR946x场景的补丁:
into method label _DSM parent_label PXSX remove_entry;
into device label PXSX parent_label RP03 insert
begin
Method (_DSM, 4, NotSerialized)\n
{\n
    If (LEqual (Arg2, Zero)) { Return (Buffer() { 0x03 } ) }\n
    Return (Package()\n
    {\n
        "vendor-id", Buffer() { 0x8c, 0x16, 0x00, 0x00 },\n
        "device-id", Buffer() { 0x2a, 0x00, 0x00, 0x00 },\n
        "subsystem-id", Buffer() { 0x8F, 0x00, 0x00, 0x00 },\n
        "subsystem-vendor-id", Buffer() { 0x6B, 0x10, 0x00, 0x00 },\n
        "compatible", "pci168c,2a",\n
        "IOName", "pci168c,2a",\n
        "name", "pci168c,2a",\n
        "AAPL,slot-name", Buffer() { "AirPort" },\n
        "device_type", Buffer() { "AirPort" },\n
        "model", Buffer() { "Atheros 928x 802.11 b/g/n Wireless Network Adapter" },\n
    })\n
}\n
end;
  • 对于BCM94352CS2作为BCM94352Z,使用以下DSDT补丁:
into device Label PXSX parent_label RP03 replace_content begin
Method (_DSM, 4, NotSerialized)\n
{\n
	If (LEqual(Arg2, Zero)) { Return (Buffer() { 0x03 } ) }\n
	Return (Package()\n
	{\n
		"vendor-id", Buffer() { 0xe4, 0x14, 0x00, 0x00 },\n
		"device-id", Buffer() { 0xa0, 0x43, 0x00, 0x00 },\n
		"subsystem-vendor-id", Buffer() { 0x6b, 0x10, 0x00, 0x00 },\n
		"subsystem-id", Buffer() { 0x34, 0x01, 0x00, 0x00 },\n
		"compatible", "pci14e4,43a0",\n
		"IOName", "pci14e4,43a0",\n
		"name", "pci14e4,43a0"
	})\n
}\n
end;
 
  • 请注意,节点PXSX和RP​​03特定于从属的DSDT,在这种情况下是Lenovo u430笔记本电脑,同样,针对WiFi场景的简化补丁看起来像这样:
into method label _DSM parent_label PXSX remove_entry;
into device label PXSX parent_label RP03 insert
begin
Method (_DSM, 4, NotSerialized)\n
{\n
    If (LEqual (Arg2, Zero)) { Return (Buffer() { 0x03 } ) }\n
    Return (Package()\n
    {\n
        "RM,vendor-id", Buffer() { 0x8c, 0x16, 0x00, 0x00 },\n
        "RM,device-id", Buffer() { 0x2a, 0x00, 0x00, 0x00 },\n
        "RM,subsystem-id", Buffer() { 0x8F, 0x00, 0x00, 0x00 },\n
        "RM,subsystem-vendor-id", Buffer() { 0x6B, 0x10, 0x00, 0x00 },\n
    })\n
}\n
end;
 
  • 假设原始示例中提供的“兼容”功能与某些其他机制(注入器kext或Clover配置)一起使用。下面列出了FakePCIID支持的属性及其对应的PCI配置空间偏移:
    • Offset 0x00: "vendor-id", "RM,vendor-id"
    • Offset 0x02: "device-id", "RM,device-id"
    • Offset 0x2c: "subsystem-vendor-id", "RM,subsystem-vendor-id"
    • Offset 0x2e: "subsystem-id", "RM,subsystem-id"
  • 更多信息,参考:http://en.wikipedia.org/wiki/PCI_configuration_space

下载地址

此内容仅限VIP查看,请先
客服QQ271638927,网站统一解压密码imacos.top

原文链接:https://imacos.top/2019/09/16/fakepciid-kext/,转载请注明出处。
1
1. 本站所有资源解压密码均为imacos.top
2. 本站资源收集于网络,仅做学习和交流使用,请于下载后24小时内删除。如果你喜欢我们推荐的软件,请购买正版支持作者。
3. 如有无法下载的链接,联系:邮箱271638927@qq.com,或直接联系QQ271638927进行反馈,我们将及时进行处理。
4. 本站发布的内容若侵犯到您的权益,请联系站长删除,联系方式:邮箱271638927@qq.com,我们将第一时间配合处理!

评论250

请先
  1. 谢谢
    熊猫先生 2020-05-25 0
  2. 不太懂这个
    a659879400 2020-05-25 0
  3. 1111
    帅帅456789 2020-05-24 0
  4. chic
    1056905864 2020-05-24 0
  5. Ganxie
    WenJoy 2020-05-23 0
  6. 谢谢大佬分享
    W24663209 2020-05-23 0
  7. 123456789
    1085478314 2020-05-23 0
  8. hd530来试试
    gdhlali 2020-05-23 0
  9. 看看看dasf
    zldaidai 2020-05-22 0
  10. 感谢分享正需要 这个 补丁
    wanghouweipgw 2020-05-21 0
  11. z
    zhuo125689 2020-05-21 0
  12. 111
    卡卡罗特 2020-05-21 0
  13. 学习安装中,谢谢
    bcom 2020-05-20 0
  14. 谢谢分享
    As932256 2020-05-20 0
  15. 试看看。
    秋贩子 2020-05-17 0
  16. youxiu
    zhuyue 2020-05-17 0
  17. 谢谢
    胡峰 2020-05-16 0
  18. 赞赞赞赞赞赞
    15095900191 2020-05-16 0
  19. 不错的
    lzy1397 2020-05-15 0
  20. 赞在哪在哪
    18633061526 2020-05-14 0
  21. 谢谢谢谢
    qq1984104667 2020-05-12 0
  22. 谢谢分享。
    bioafanda 2020-05-11 0
  23. 感谢
    初一 2020-05-10 0
  24. xiakkdkkkkkankan
    chnhb 2020-05-10 0
  25. 我用它来安装hd620好东西谢谢
    1Lola 2020-05-10 0
  26. 2123123
    jgfly 2020-05-09 0
  27. 谢谢
    yuwenbing 2020-05-09 0
  28. 谢谢分享
    591789591 2020-05-09 0
  29. 好,太好了。
    dexterzha 2020-05-07 0
  30. 0
    584182425 2020-05-05 0
  31. 试试看
    loocom 2020-05-04 0
  32. 谢谢。。。。
    kenshinrr 2020-05-04 0
  33. 谢谢分享,谢谢分享
    booffoon 2020-05-03 0
  34. 显示器花屏
    hh1989 2020-05-03 0
  35. 谢谢分享
    www 2020-05-02 0
  36. 谢谢
    heipingguo111 2020-05-02 0
  37. 感受一下
    15662789373 2020-04-30 0
  38. 谢谢
    Umineko 2020-04-29 0
  39. 下載來測試看看感謝
    nanyacool 2020-04-27 0
  40. 就差这个了
    ONKYO 2020-04-26 0
  41. 谢谢分享
    airegg0301 2020-04-26 0
  42. gkfw
    lzq0832 2020-04-25 0
  43. 6666666666666666666666666
    simk17 2020-04-24 0
  44. 感谢分享
    wzh5658186 2020-04-24 0
  45. 谢谢
    dfhd 2020-04-24 0
  46. 试了很多不管用,不知道这次行不行
    williamhx 2020-04-22 0
  47. 感谢分享
    yu.zhang23 2020-04-22 0
  48. flyfirexxq 2020-04-20 0
  49. 14.6能用吗
    张芮 2020-04-20 0
  50. 试试看
    eblis 2020-04-19 0
1 2 3 4 5
终身会员限时上线 ☞ 限时永久会员折扣活动开始啦 > 查看优惠
没有账号?注册  忘记密码?

社交账号快速登录

微信扫一扫关注
如已关注,请回复“登录”二字获取验证码