微信扫一扫 分享朋友圈

已有 8361 人浏览分享

开启左侧

[macOS 12.3.1]英特尔intel nuc9幽灵峡谷双网卡dnf红眼NUC9i9QNB/Intel NUC9i9QNX引导

[复制链接]
8361 19
换了个小机型使用,拓展性优秀,折腾一下黑果子,显卡暂时没加,卡卡卡的,舒服~~~

存在问题

1、雷电基本上是废的,雷电设备没测试过
1.1、usb正常,雷电口dp信号输出不正常,主要表现于
冷开机无显示,并且猜测应该是黑屏启动期间卡代码
解决方法,用唯一的hdmi接口!!!不会搞。。?
暂时也用不上。当然开机后两个雷电的dp信号正常输出

2、ax200无线暂时用不上,mac上ssdt禁止了设备

3、内置音频没测试,用的usb小蜗牛音响


使用说明

1、oc版本使用最新的0.8,系统版本看标题

2、几个gpu参数,注入在config设备信息和引导参数,针对4k屏

3、bios设置参照
  1. https://github.com/bemble/Hackintosh-NUC9I7QNX-OpenCore
复制代码
4、usb为ssdt定制方法,大佬教程
  1. https://blog.gzxiaobai.cn/
复制代码
5、双网卡219扔驱动,另一个210注入设备,添加空壳驱动

6、ssdt相关修补如下解释:




  1. DefinitionBlock ("", "SSDT", 2, "XIAOLU", "HOTPATCH", 0x00000000){    External (_SB_.PCI0, DeviceObj)    External (_SB_.PCI0.LPCB, DeviceObj)    External (_SB_.PCI0.RP01, DeviceObj)    External (_SB_.PCI0.RP05, DeviceObj)    External (_SB_.PCI0.RP05.PXSX, DeviceObj)    External (_SB_.PCI0.SBUS, DeviceObj)    External (_SB_.PCI0.XHC_.RHUB, DeviceObj)    External (_SB_.PCI0.XHC_.RHUB.HS10, DeviceObj)    External (_SB_.PCI0.XHC_.RHUB.SS05, DeviceObj)    External (_SB_.PCI0.XHC_.RHUB.XUPC, MethodObj)    // 1 Arguments    External (_SB_.PR00, ProcessorObj)    External (STAS, IntObj)    Scope (_SB)    {        If (_OSI ("Darwin"))        {            STAS = One        }//启用rtc时钟        Device (EC)        {            Name (_HID, "ACID0001")  // _HID: Hardware ID            Method (_STA, 0, NotSerialized)  // _STA: Status            {                If (_OSI ("Darwin"))                {                    Return (0x0F)                }                Else                {                    Return (Zero)                }            }        } //仿冒一个ec设备,据说解决卡代码问题    }    If (CondRefOf (\_SB.PR00))    {        If ((ObjectType (\_SB.PR00) == 0x0C))        {            Scope (\_SB.PR00)            {                Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method                {                    Return (PMPM (Arg0, Arg1, Arg2, Arg3))                }            }        }    } //变频加载x86    Scope (_SB.PCI0)    {        Scope (LPCB)        {            Device (PMCR)            {                Name (_HID, EisaId ("APP9876"))  // _HID: Hardware ID                Method (_STA, 0, NotSerialized)  // _STA: Status                {                    If (_OSI ("Darwin"))                    {                        Return (0x0B)                    }                    Else                    {                        Return (Zero)                    }                }                Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings                {                    Memory32Fixed (ReadWrite,                        0xFE000000,         // Address Base                        0x00010000,         // Address Length                        )                })            } //添加pmcr以支持原生nvram        }        Device (MCHC)        {            Name (_ADR, Zero)  // _ADR: Address            Method (_STA, 0, NotSerialized)  // _STA: Status            {                If (_OSI ("Darwin"))                {                    Return (0x0F)                }                Else                {                    Return (Zero)                }            }//跟smbus一起的,不知干嘛用,白果也有        }        Scope (SBUS)        {            Device (BUS0)            {                Name (_CID, "smbus")  // _CID: Compatible ID                Name (_ADR, Zero)  // _ADR: Address                Device (DVL0)                {                    Name (_ADR, 0x57)  // _ADR: Address                    Name (_CID, "diagsvault")  // _CID: Compatible ID                    Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method                    {                        If (!Arg2)                        {                            Return (Buffer (One)                            {                                 0x57                                             // W                            })                        }                        Return (Package (0x02)                        {                            "address",                             0x57                        })                    }                }//smbus控制器                Method (_STA, 0, NotSerialized)  // _STA: Status                {                    If (_OSI ("Darwin"))                    {                        Return (0x0F)                    }                    Else                    {                        Return (Zero)                    }                }            }        }        Scope (RP01)        {            OperationRegion (DE01, PCI_Config, 0x50, One)            Field (DE01, AnyAcc, NoLock, Preserve)            {                    ,   4,                 DDDD,   1            }            Method (_STA, 0, Serialized)  // _STA: Status            {                If (_OSI ("Darwin"))                {                    Return (Zero)                }                Else                {                    Return (0x0F)                }            }        }//禁用无线ax200,本人不用    }    Scope (_SB.PCI0.XHC.RHUB)    {        Name (USBP, Zero)        Method (GUPC, 1, Serialized)        {            If (_OSI ("Darwin"))            {                Name (PCKG, Package (0x04)                {                    Zero,                     0x03,                     Zero,                     Zero                })                USBP += One                If ((((USBP >= One) && (USBP <= 0x04)) || (                    (USBP >= 0x0E) && (USBP <= 0x11))))                {                    PCKG [Zero] = One                }                If ((USBP == 0x0B))                {                    PCKG [Zero] = One                    PCKG [One] = 0xFF                }                Return (PCKG) /* \_SB_.PCI0.XHC_.RHUB.GUPC.PCKG */            }            Else            {                Return (XUPC (Arg0))            }        }//通过ssdt定制usb,好处是对于kext之流,安装引导盘usb也是正确驱动端口。    }    Scope (\_SB.PCI0.XHC.RHUB)    {        Scope (HS10)        {            Name (_UPC, Package (0x04)  // _UPC: USB Port Capabilities            {                One,                 0x09,                 Zero,                 Zero            })            Name (_PLD, Package (0x01)  // _PLD: Physical Location of Device            {                ToPLD (                    PLD_Revision           = 0x1,                    PLD_IgnoreColor        = 0x1,                    PLD_Red                = 0x0,                    PLD_Green              = 0x0,                    PLD_Blue               = 0x0,                    PLD_Width              = 0x0,                    PLD_Height             = 0x0,                    PLD_UserVisible        = 0x1,                    PLD_Dock               = 0x0,                    PLD_Lid                = 0x0,                    PLD_Panel              = "UNKNOWN",                    PLD_VerticalPosition   = "UPPER",                    PLD_HorizontalPosition = "LEFT",                    PLD_Shape              = "UNKNOWN",                    PLD_GroupOrientation   = 0x0,                    PLD_GroupToken         = 0x0,                    PLD_GroupPosition      = 0x0,                    PLD_Bay                = 0x0,                    PLD_Ejectable          = 0x0,                    PLD_EjectRequired      = 0x0,                    PLD_CabinetNumber      = 0x0,                    PLD_CardCageNumber     = 0x0,                    PLD_Reference          = 0x0,                    PLD_Rotation           = 0x0,                    PLD_Order              = 0x0,                    PLD_VerticalOffset     = 0x0,                    PLD_HorizontalOffset   = 0x0)            })        }//侧边c口usb没调用upc方法,单独处理        Scope (SS05)        {            Name (_UPC, Package (0x04)  // _UPC: USB Port Capabilities            {                One,                 0x09,                 Zero,                 Zero            })            Name (_PLD, Package (0x01)  // _PLD: Physical Location of Device            {                ToPLD (                    PLD_Revision           = 0x1,                    PLD_IgnoreColor        = 0x1,                    PLD_Red                = 0x0,                    PLD_Green              = 0x0,                    PLD_Blue               = 0x0,                    PLD_Width              = 0x0,                    PLD_Height             = 0x0,                    PLD_UserVisible        = 0x1,                    PLD_Dock               = 0x0,                    PLD_Lid                = 0x0,                    PLD_Panel              = "UNKNOWN",                    PLD_VerticalPosition   = "UPPER",                    PLD_HorizontalPosition = "LEFT",                    PLD_Shape              = "UNKNOWN",                    PLD_GroupOrientation   = 0x0,                    PLD_GroupToken         = 0x0,                    PLD_GroupPosition      = 0x0,                    PLD_Bay                = 0x0,                    PLD_Ejectable          = 0x0,                    PLD_EjectRequired      = 0x0,                    PLD_CabinetNumber      = 0x0,                    PLD_CardCageNumber     = 0x0,                    PLD_Reference          = 0x0,                    PLD_Rotation           = 0x0,                    PLD_Order              = 0x0,                    PLD_VerticalOffset     = 0x0,                    PLD_HorizontalOffset   = 0x0)            })        }//同上,此为3.0端口    }    If (_OSI ("Darwin"))    {        Scope (\_SB.PCI0.RP05)        {            Scope (PXSX)            {                Name (_STA, Zero)  // _STA: Status            }            Device (UPSB)            {                Name (_ADR, Zero)  // _ADR: Address                OperationRegion (A1E0, PCI_Config, Zero, 0x40)                Field (A1E0, ByteAcc, NoLock, Preserve)                {                    AVND,   32,                     BMIE,   3,                     Offset (0x18),                     PRIB,   8,                     SECB,   8,                     SUBB,   8,                     Offset (0x1E),                         ,   13,                     MABT,   1                }                Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake                {                    Return (Package (0x02)                    {                        0x69,                         0x03                    })                }                Method (_BBN, 0, NotSerialized)  // _BBN: BIOS Bus Number                {                    Return (SECB) /* \_SB_.PCI0.RP05.UPSB.SECB */                }                Method (_STA, 0, NotSerialized)  // _STA: Status                {                    Return (0x0F)                }                Method (_RMV, 0, NotSerialized)  // _RMV: Removal Status                {                    Return (Zero)                }                Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method                {                    Local0 = Package (0x06)                        {                            "AAPL,slot-name",                             Buffer (0x0C)                            {                                "Thunderbolt"                            },                             "built-in",                             Buffer (One)                            {                                 0x00                                             // .                            },                             "PCI-Thunderbolt",                             One                        }                    DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))                    Return (Local0)                }                Device (TBDC)                {                    Name (_ADR, Zero)  // _ADR: Address                    Method (_RMV, 0, NotSerialized)  // _RMV: Removal Status                    {                        Return (Zero)                    }                    Device (TBCC)                    {                        Name (_ADR, Zero)  // _ADR: Address                        Method (_RMV, 0, NotSerialized)  // _RMV: Removal Status                        {                            Return (Zero)                        }                    }                }                Name (TURP, 0x05)                Device (TBDU)                {                    Name (_ADR, 0x00020000)  // _ADR: Address                    Device (XHC1)                    {                        Name (_ADR, Zero)  // _ADR: Address                        Device (RHUB)                        {                            Name (_ADR, Zero)  // _ADR: Address                            Method (TPLD, 2, Serialized)                            {                                Name (PCKG, Package (0x01)                                {                                    Buffer (0x10){}                                })                                CreateField (DerefOf (PCKG [Zero]), Zero, 0x07, REV)                                REV = One                                CreateField (DerefOf (PCKG [Zero]), 0x40, One, VISI)                                VISI = Arg0                                CreateField (DerefOf (PCKG [Zero]), 0x57, 0x08, GPOS)                                GPOS = Arg1                                CreateField (DerefOf (PCKG [Zero]), 0x4A, 0x04, SHAP)                                SHAP = One                                CreateField (DerefOf (PCKG [Zero]), 0x20, 0x10, WID)                                WID = 0x08                                CreateField (DerefOf (PCKG [Zero]), 0x30, 0x10, HGT)                                HGT = 0x03                                Return (PCKG) /* \_SB_.PCI0.RP05.UPSB.TBDU.XHC1.RHUB.TPLD.PCKG */                            }                            Method (TUPC, 2, Serialized)                            {                                Name (PCKG, Package (0x04)                                {                                    One,                                     Zero,                                     Zero,                                     Zero                                })                                PCKG [Zero] = Arg0                                PCKG [One] = Arg1                                Return (PCKG) /* \_SB_.PCI0.RP05.UPSB.TBDU.XHC1.RHUB.TUPC.PCKG */                            }                            Device (HS01)                            {                                Name (_ADR, One)  // _ADR: Address                                Method (_UPC, 0, NotSerialized)  // _UPC: USB Port Capabilities                                {                                    Return (TUPC (Zero, 0xFF))                                }                            }                            Device (HS02)                            {                                Name (_ADR, 0x02)  // _ADR: Address                                Method (_UPC, 0, NotSerialized)  // _UPC: USB Port Capabilities                                {                                    Return (TUPC (Zero, 0xFF))                                }                            }                            Device (SS01)                            {                                Name (_ADR, 0x03)  // _ADR: Address                                Method (_UPC, 0, NotSerialized)  // _UPC: USB Port Capabilities                                {                                    Return (TUPC (One, 0x09))                                }                                Method (_PLD, 0, NotSerialized)  // _PLD: Physical Location of Device                                {                                    Return (TPLD (One, 0x05))                                }                            }                            Device (SS02)                            {                                Name (_ADR, 0x04)  // _ADR: Address                                Method (_UPC, 0, NotSerialized)  // _UPC: USB Port Capabilities                                {                                    Return (TUPC (One, 0x09))                                }                                Method (_PLD, 0, NotSerialized)  // _PLD: Physical Location of Device                                {                                    Return (TPLD (One, 0x06))                                }                            }                        }                    }                }            }        }    }//上面一堆是原系统的。雷电相关,重写改个名字,雷电的usb名字路径才正常,愿因可能时原生的判定对os不起效    Method (DTGP, 5, NotSerialized)    {        If ((Arg0 == ToUUID ("a0b5b7c6-1318-441c-b0c9-fe695eaf949b") /* Unknown UUID */))        {            If ((Arg1 == One))            {                If ((Arg2 == Zero))                {                    Arg4 = Buffer (One)                        {                             0x03                                             // .                        }                    Return (One)                }                If ((Arg2 == One))                {                    Return (One)                }            }        }//以上调用的函数        Arg4 = Buffer (One)            {                 0x00                                             // .            }        Return (Zero)    }    Method (PMPM, 4, NotSerialized)    {        If ((Arg2 == Zero))        {            Return (Buffer (One)            {                 0x03                                             // .            })        }        Return (Package (0x02)        {            "plugin-type",             One        })    }//同上    Scope (\)    {        If (_OSI ("Darwin"))        {            \_SB.PCI0.RP01.DDDD = One        }    }//属于禁用无线部分}
复制代码

评论 19

web740422  新手上路  发表于 2023-5-14 13:32 | 显示全部楼层
这机器不是蛮多的么

举报 使用道具

回复 支持 反对
highlyfly  新手上路  发表于 2023-5-14 13:32 | 显示全部楼层
可以请大佬抽空帮个忙么

https://bbs.pcbeta.com/forum.php ... 467%26typeid%3D1467

举报 使用道具

回复 支持 反对
wyl0205  高级会员  发表于 2023-5-14 14:47 | 显示全部楼层
我喜欢黑妹,可以约起来吗

举报 使用道具

回复 支持 反对
spower  高级会员  发表于 2023-5-14 16:10 | 显示全部楼层
20年水粉

举报 使用道具

回复 支持 反对
huafu  高级会员  发表于 2023-5-14 17:17 | 显示全部楼层
不错,支持下楼主

举报 使用道具

回复 支持 反对
ezhangjianwei  高级会员  发表于 2023-5-14 18:22 | 显示全部楼层
我喜欢黑妹,可以约起来吗

举报 使用道具

回复 支持 反对
suose  高级会员  发表于 2023-5-14 20:25 | 显示全部楼层
20年水粉

举报 使用道具

回复 支持 反对
lxc997778  高级会员  发表于 2023-5-14 22:16 | 显示全部楼层
我是来抢楼的

举报 使用道具

回复 支持 反对
taoelr  高级会员  发表于 2023-5-14 23:33 | 显示全部楼层
我是来抢楼的

举报 使用道具

回复 支持 反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

关注

21

粉丝

20

主题
精彩推荐
热门资讯
网友晒图
图文推荐
  • 微信公众平台

  • 扫描访问手机版

Archiver|手机版|小黑屋|水窝ibm

GMT+8, 2024-11-19 08:45 , Processed in 0.087079 second(s), 23 queries .

Powered by Discuz! X3.5

© 2001-2022 Comsenz Inc.