davidm71 Posted September 26, 2022 Share Posted September 26, 2022 Hi, Got an Opencore 80 Catalina 10.15 Z270 system that is dual Windows and Mac bootable that I have installed a HighPoint SSD7204 nvme raid card. Works on the Windows side but when I boot into OSX only the individual drives show up and not as one raid array. I tried installing the official OSX driver package for that card but it doesn't do anything. Perhaps I have to install the kext manually in the kext folder on the EFI partition and register it in the config ini file?? Thanks Link to comment Share on other sites More sharing options...
bronxteck Posted September 26, 2022 Share Posted September 26, 2022 https://highpoint-technologies-inc.helpjuice.com/130411-ssd7000-series-controller/which-ssd7000-series-controllers-support-bootable-raid-or-single-ssd-configurations Link to comment Share on other sites More sharing options...
davidm71 Posted September 26, 2022 Author Share Posted September 26, 2022 Not trying to boot. Data drive only. Link to comment Share on other sites More sharing options...
davidm71 Posted September 26, 2022 Author Share Posted September 26, 2022 Kextstat says version 1.1.25 is loaded: 76 0 0xffffff7f86c53000 0x5d000 0x5d000 com.highpoint-tech.kext.HighPointNVMe (1.1.25) F4DC71BD-AEA1-3EFA-B59F-0970A4C995AD <28 13 6 5 3 1> But still no array in finder. I have parallels running. Read there may be conflicts. No array for me then. Link to comment Share on other sites More sharing options...
davidm71 Posted October 8, 2022 Author Share Posted October 8, 2022 (edited) Well if anyone is following this its still not working. Tried to update to Bigsur to see if the Highpoint card would work but instead the installer ended up freezing at 26-28 % install and when I rebooted my efi partition disappeared and then after a cmos reset couldn't even get back into bios menu! Had bios corruption and had to do an Asus Flashback procedure and restore from backup to get back going. Noticed though the kext would initially load but then unload itself a few minutes later. Wonder though if my SMBios set to iMac is at fault or perhaps the four Forza drives not compatible with mac? Thanks Edited October 8, 2022 by davidm71 Link to comment Share on other sites More sharing options...
makk Posted December 2, 2022 Share Posted December 2, 2022 (edited) It seems so, I would try another NVME raid card that is working in someone's configuration. However you have it setup currently, I would run only 1 of the NVME ssd's if that's possible. The raid array setup in BIOS would need to be changed in order to boot Big Sur and Catalina. {{ From the site linked above: The majority of Linux and Windows distributions impose no restrictions on boot devices. However, macOS 11.x and later can only boot from devices that utilize in-box driver support (native or embedded device drivers). In other words, macOS starting from 11.x, cannot boot from any device that requires third-party driver support (such as the SSD7000 and 7500 series). <--obviously Apple is using their stuff here. }} The kext has to be native to MacOS. A Patched Kext is needed to fake out the OS and then to be able to run all NVME's. NVMEfix.kext, my understanding is it does not work with Raid Array? Should work regardless it patches NVME. What I would is set the Raid option in BIOS to run 1 SSD or take out the Raid Array and use 1 SSD to install and run MacOS. This option is contradictory to dual booting with Windows. Or simply set aside one NVME in another slot on the MB and boot from that for MacOS. Then once you have Big Sur Catalina working, First get it installed and running then find the working method. Find someone who is successfully running raid with MacOS on a hacky. Github good place plus Reddit. I've ran across users on Github posts about having Raid working. SATA Issues On rare occasions(mainly laptops), the SATA controller isn't officially supported by macOS. To resolve this, we'll want to do a few things: Set SATA to AHCI mode in the BIOS macOS doesn't support hardware RAID or IDE mode properly. Note drives already using Intel Rapid Storage Technology(RST, soft RAID for Windows and Linux) will not be accessible in macOS. SATA-unsupported.kext(opens new window) Adds support to obscure SATA controllers, commonly being laptops. For very legacy SATA controllers, AHCIPortInjector.kext (opens new window)may be more suitable. Catalina's patched AppleAHCIPort.kext(opens new window) For users running macOS 11, Big Sur and having issues. This backports the known working Catalina kext, SATA-unsupported is not needed with this kext Note that you will only experience this issue after installing macOS onto the drive, booting the macOS installer will not error out due to SATA issues. #Kernel panic with IOPCIFamily on X99 Edited December 2, 2022 by makk Link to comment Share on other sites More sharing options...
makk Posted December 2, 2022 Share Posted December 2, 2022 (edited) SATA Issues On rare occasions(mainly laptops), the SATA controller isn't officially supported by macOS. To resolve this, we'll want to do a few things: Set SATA to AHCI mode in the BIOS macOS doesn't support hardware RAID or IDE mode properly. Note drives already using Intel Rapid Storage Technology(RST, soft RAID for Windows and Linux) will not be accessible in macOS. SATA-unsupported.kext(opens new window) Adds support to obscure SATA controllers, commonly being laptops. For very legacy SATA controllers, AHCIPortInjector.kext (opens new window)may be more suitable. Catalina's patched AppleAHCIPort.kext(opens new window) For users running macOS 11, Big Sur and having issues. This backports the known working Catalina kext, SATA-unsupported is not needed with this kext Note that you will only experience this issue after installing macOS onto the drive, booting the macOS installer will not error out due to SATA issues. #Kernel panic with IOPCIFamily on X99 Try this kext CtlnaAHCIPort.kext along with AHCIPortInjector.kext CtlnaAHCIPort.kext.zip It would seem Highpoint relies on it's own driver in WIndows and it would be a thirdparty unit or kext in MacOS. Either way need a kext that patches. For installing would need to detach one drive from the raid card so it does install and boot. Edited December 2, 2022 by makk Link to comment Share on other sites More sharing options...
makk Posted December 2, 2022 Share Posted December 2, 2022 (edited) https://www.youtube.com/watch?v=TnDLuksc3H8 how to setup raid on MacOS Big Sure Video From a user running older Mojave and Catalina with Raid Array on Mojave to get some ideas https://forums.macrumors.com/threads/apple-raid-card-sas-drives-on-catalina-w-open-core.2228474/ It seems after reading through the posts in other places, I have not seen anything for running BIg Sur on thirdparty cards. Would need an AppleRaidCard installed is what I'm finding so far. Then there is the OpenCore Legacy Patcher which I have no idea how it works. It may be for real Macs Edited December 2, 2022 by makk Link to comment Share on other sites More sharing options...
davidm71 Posted December 5, 2022 Author Share Posted December 5, 2022 (edited) Hi, First of all thanks for your replies and trying to help out on this one. I just want to stress however this is a non-bootable drive and is only a data drive. The manufacturer has indeed released official drivers for OSX including Catalina, Big Sur and newer. Second Fixnvme kext does nothing. Not even sure the card itself is being recognized. I suspect its something to do with Opencore. Not sure. Anyhow not sure how to use AHCIPortInjector you recommend using and or what good it will do. Thanks again. Found this in the Kernel logs:kernel: (HighPointNVMe) [RSNVMeController:init]2022-10-08 14:00:20.768498-0400 0xef Default 0x0 0 0 kernel: (HighPointNVMe)2022-10-08 14:00:20.768504-0400 0xef Default 0x0 0 0 kernel: (HighPointNVMe) [12 ][RSNVMeControllerrobe]2022-10-08 14:00:20.768505-0400 0xef Default 0x0 0 0 kernel: (HighPointNVMe)2022-10-08 14:00:20.768514-0400 0xef Default 0x0 0 0 kernel: (HighPointNVMe) return null2022-10-08 14:00:20.768515-0400 0xef Default 0x0 0 0 kernel: (HighPointNVMe)2022-10-08 14:00:20.768516-0400 0xef Default 0x0 0 0 kernel: (HighPointNVMe) [12 ][RSNVMeControllerrobe] fail.2022-10-08 14:00:20.768518-0400 0xef Default 0x0 0 0 kernel: (HighPointNVMe)2022-10-08 14:00:20.768642-0400 0xf9 Default 0x0 0 0 kernel: (HighPointNVMe) [RSNVMeController:init]2022-10-08 14:00:20.768643-0400 0xf9 Default 0x0 0 0 kernel: (HighPointNVMe)2022-10-08 14:00:20.768648-0400 0xef Default 0x0 0 0 kernel: (IONVMeFamily) AppleNVMe Assert failed: ( 0 != data )2022-10-08 14:00:20.768650-0400 0xef Default 0x0 0 0 kernel: (IONVMeFamily) ReleaseIDNode2022-10-08 14:00:20.768651-0400 0xef Default 0x0 0 0 kernel: (IONVMeFamily) file: /AppleInternal/BuildRoot/Library/Caches/com.apple.xbs/Sources/IONVMeFamily/IONVMeFamily-470.100.17/IONVMeController.cpp2022-10-08 14:00:20.768653-0400 0xf9 Default 0x0 0 0 kernel: (HighPointNVMe) [7 ][RSNVMeControllerrobe]2022-10-08 14:00:20.768654-0400 0xef Default 0x0 0 0 kernel: (IONVMeFamily) line: 54782022-10-08 14:00:20.768655-0400 0xf9 Default 0x0 0 0 kernel: (HighPointNVMe)2022-10-08 14:00:20.768656-0400 0xef Default 0x0 0 0 kernel: (IONVMeFamily)2022-10-08 14:00:20.768660-0400 0xf9 Default 0x0 0 0 kernel: (HighPointNVMe) return null2022-10-08 14:00:20.768661-0400 0xf9 Default 0x0 0 0 kernel: (HighPointNVMe)2022-10-08 14:00:20.768662-0400 0xf9 Default 0x0 0 0 kernel: (HighPointNVMe) [7 ][RSNVMeControllerrobe] fail.2022-10-08 14:00:20.768663-0400 0xf9 Default 0x0 0 0 kernel: (HighPointNVMe) 2022-10-30 18:30:13.720715-0400 0x1f7 Default 0x0 0 0 kernel: (HighPointNVMe) Registering service: pci1987,5012 ...2022-10-30 18:30:13.728370-0400 0x1f7 Default 0x0 0 0 kernel: (HighPointNVMe) Registering service: pci1987,5012 ...2022-10-30 18:30:13.729104-0400 0x93d Default 0x0 0 0 kernel: (HighPointNVMe) [ ][RSNVMeController:init]2022-10-30 18:30:13.729105-0400 0x93d Default 0x0 0 0 kernel: (HighPointNVMe)2022-10-30 18:30:13.729109-0400 0x93d Default 0x0 0 0 kernel: (HighPointNVMe) [8 ][RSNVMeController:robe]2022-10-30 18:30:13.729109-0400 0x93d Default 0x0 0 0 kernel: (HighPointNVMe)2022-10-30 18:30:13.729135-0400 0x93d Default 0x0 0 0 kernel: (HighPointNVMe) continue to judge 7103/71052022-10-30 18:30:13.729136-0400 0x93d Default 0x0 0 0 kernel: (HighPointNVMe)2022-10-30 18:30:13.729164-0400 0x93d Default 0x0 0 0 kernel: (HighPointNVMe) MMIO: plx up bus:1, bridge func:82022-10-30 18:30:13.729164-0400 0x93d Default 0x0 0 0 kernel: (HighPointNVMe)2022-10-30 18:30:13.729185-0400 0x93d Default 0x0 0 0 kernel: (HighPointNVMe) Val0x74 :416103, *Val0x78:10300002022-10-30 18:30:13.729185-0400 0x93d Default 0x0 0 0 kernel: (HighPointNVMe)2022-10-30 18:30:13.729186-0400 0x93d Default 0x0 0 0 kernel: (HighPointNVMe) bus:8, is first member,CheckProtectMCU2022-10-30 18:30:13.729187-0400 0x93d Default 0x0 0 0 kernel: (HighPointNVMe)2022-10-30 18:30:13.787475-0400 0x1f7 Default 0x0 0 0 kernel: (HighPointNVMe) Registering service: pci1987,5012 ...2022-10-30 18:30:13.788246-0400 0x93e Default 0x0 0 0 kernel: (HighPointNVMe) [ ][RSNVMeController:init]2022-10-30 18:30:13.788247-0400 0x93e Default 0x0 0 0 kernel: (HighPointNVMe)2022-10-30 18:30:13.788250-0400 0x93e Default 0x0 0 0 kernel: (HighPointNVMe) [9 ][RSNVMeController:robe]2022-10-30 18:30:13.788251-0400 0x93e Default 0x0 0 0 kernel: (HighPointNVMe)2022-10-30 18:30:13.810500-0400 0x1f7 Default 0x0 0 0 kernel: (HighPointNVMe) Registering service: pci1987,5012 ...2022-10-30 18:30:13.811228-0400 0x93f Default 0x0 0 0 kernel: (HighPointNVMe) [ ][RSNVMeController:init]2022-10-30 18:30:13.811229-0400 0x93f Default 0x0 0 0 kernel: (HighPointNVMe)2022-10-30 18:30:13.811233-0400 0x93f Default 0x0 0 0 kernel: (HighPointNVMe) [a ][RSNVMeController:robe]2022-10-30 18:30:13.811234-0400 0x93f Default 0x0 0 0 kernel: (HighPointNVMe)2022-10-30 18:30:13.834751-0400 0x940 Default 0x0 0 0 kernel: (HighPointNVMe) [ ][RSNVMeController:init]2022-10-30 18:30:13.835319-0400 0x940 Default 0x0 0 0 kernel: (HighPointNVMe)2022-10-30 18:30:13.842541-0400 0x940 Default 0x0 0 0 kernel: (HighPointNVMe) [b ][RSNVMeController:robe]2022-10-30 18:30:13.843124-0400 0x940 Default 0x0 0 0 kernel: (HighPointNVMe)2022-10-30 18:30:13.936458-0400 0x93d Default 0x0 0 0 kernel: (HighPointNVMe) 00000000 00000000 00000000 000000002022-10-30 18:30:13.937223-0400 0x93d Default 0x0 0 0 kernel: (HighPointNVMe)2022-10-30 18:30:13.944592-0400 0x93d Default 0x0 0 0 kernel: (HighPointNVMe) Verify controller failed (retry:0).2022-10-30 18:30:13.945272-0400 0x93d Default 0x0 0 0 kernel: (HighPointNVMe) Edited December 5, 2022 by davidm71 Link to comment Share on other sites More sharing options...
davidm71 Posted January 13, 2023 Author Share Posted January 13, 2023 Still think this issue is ACPI related. For one didn't realize the drives were showing up as external drives. Fixed it by creating an SSDT. However the Highpoint Web portal manager still states that it can't find the controller or the driver. Finally I gave up and modified the ssdt to spoof another device based on another guide and now at least the four nvme drives do not get recognized or come up with that annoying message 'ignore or initialize..'. Link to comment Share on other sites More sharing options...
J Lamp Posted January 13, 2023 Share Posted January 13, 2023 (edited) I've got a couple Areca raid cards in a couple of my builds. They also show up as external. I created an injector kext to show the drives as internal, but in Ventura there's always an icon on the menu bar to "Power Off" the raid, so it seems the "Internal" part is just a cosmetic change in the icons. There's a web interface for the Arecas as well. Once I create a raid array in the web interface, Mac (and Windows) just see the array as an attached disk. I have one formatted NTFS and with Tuxerra I can read and write in both Mac and Windows. The only time I've seen this not work for both Windows and Mac is when it's a "software" raid setup, as in using built in Intel controllers, it will show as a single drive in Windows but as a bunch of drives in Mac. I had a look at the HighPoint site, it says the card is supported on Mac, though I couldn't find any software to download, so I don't know what the install procedure is or if it's supposed to be natively supported. The AHCIPortInjector.kext is also just a cosmetic thing, it won't have any bearing on what's going on. NVMEFix.kext likely won't help as the NVME drives you are using should be presented to the OS as single drive, behind the raid controller, so the OS shouldn't see them directly. I do understand that's not what you're experiencing. The installer or kext from HighPoint should go in MacHD/Library/Extensions. You'll find some HighPoint keys in there that come with the MacOS. I'd be careful in spoofing the card ID. I don't know what it is you're doing with that kind of massive throughput, but I'd worry about the data integrity. Try reaching out to HighPoint, just don't tell them it's a Hackintosh. Lastly, I kind of doubt it's an OpenCore issue, but I have had weird quirks with it at times. Try creating a USB with Clover as a test, see if there's any change. EDIT: I found the software on HighPoints site. Did you install the HighPointNVMe.pkg and the HighPointWebGUI.pkg? Edited January 13, 2023 by J Lamp Link to comment Share on other sites More sharing options...
davidm71 Posted January 15, 2023 Author Share Posted January 15, 2023 @J Lamp I installed both pkg's from Highpoint's support site and installed the manufacturer supplied kext installer and the web gui pkg. I also disabled SIP security and TPM as advised. Tried my best to disable secure boot as well. The problem is the web gui states that the adapter is not found and thus the driver is not found. Running 'Kextstat' I see that the Highpoint kext is running. I see it also in system profiler. Not sure where the kext is installed. I think its in Library/Extensions. As far as your Areca cards go try an SSDT. Since I figured out how to do mine I'm willing to help with yours if you need it. I think it can be done in config.plist deviceproperties section but haven't worked out the details how. The spoofing gets rid of that annoying message at boot asking to initialize or ignore or whatever. Would be very helpful with Intel raids you dual boot and don't want Mac to see the array. Thanks for your suggestions and help. Heres my ssdt code to turn drives internal for all four drives: DefinitionBlock ("", "SSDT", 2, "hack", "NVMe", 0x00000000) { External (_SB_.PCI0.PEG0.PEGP, DeviceObj) Device (_SB.PCI0.PEG0.PEGP.PBR0) { Name (_ADR, 0x00090000) // _ADR: Address Device (PBR1) { Name (_ADR, Zero) // _ADR: Address Device (PBRA) { Name (_ADR, 0x00080000) // _ADR: Address Device (SSD0) { Name (_ADR, Zero) // _ADR: Address } } Device (PBRB) { Name (_ADR, 0x00090000) // _ADR: Address Device (SSD0) { Name (_ADR, Zero) // _ADR: Address } } Device (PBRC) { Name (_ADR, 0x00100000) // _ADR: Address Device (SSD0) { Name (_ADR, Zero) // _ADR: Address } } Device (PBRD) { Name (_ADR, 0x00110000) // _ADR: Address Device (SSD0) { Name (_ADR, Zero) // _ADR: Address } } } } Method (_SB.PCI0.PEG0.PEGP.PBR0.PBR1.PBRA.SSD0._DSM, 4, NotSerialized) // _DSM: Device-Specific Method { If (!Arg2) { Return (Buffer (One) { 0x03 // . }) } Return (Package (0x02) { "built-in", Buffer (One) { 0x00 // . } }) } Method (_SB.PCI0.PEG0.PEGP.PBR0.PBR1.PBRB.SSD0._DSM, 4, NotSerialized) // _DSM: Device-Specific Method { If (!Arg2) { Return (Buffer (One) { 0x03 // . }) } Return (Package (0x02) { "built-in", Buffer (One) { 0x00 // . } }) } Method (_SB.PCI0.PEG0.PEGP.PBR0.PBR1.PBRC.SSD0._DSM, 4, NotSerialized) // _DSM: Device-Specific Method { If (!Arg2) { Return (Buffer (One) { 0x03 // . }) } Return (Package (0x02) { "built-in", Buffer (One) { 0x00 // . } }) } Method (_SB.PCI0.PEG0.PEGP.PBR0.PBR1.PBRD.SSD0._DSM, 4, NotSerialized) // _DSM: Device-Specific Method { If (!Arg2) { Return (Buffer (One) { 0x03 // . }) } Return (Package (0x02) { "built-in", Buffer (One) { 0x00 // . } }) } } And here is the method code to hide the drives spoofing their class code id: If (!Arg2) { Return (Buffer (One) { 0x03 // . }) } Return (Package (0x04) { "class-code", Buffer (0x04) { 0xFF, 0x08, 0x01, 0x00 // .... }, "built-in", Buffer (One) { 0x00 // . } }) Link to comment Share on other sites More sharing options...
J Lamp Posted January 18, 2023 Share Posted January 18, 2023 Sorry I couldn't be more help. Obviously something is wrong if the web interface doesn't even see the card. Thanks very much for that bit of code. I'm sure I'll have a use for that. Link to comment Share on other sites More sharing options...
davidm71 Posted January 18, 2023 Author Share Posted January 18, 2023 Well there must be something I'm missing. Must be an ACPI device not addressed correctly or the system has a firewall preventing the web interface from seeing it. Still not going to give up. Appreciate the help anyhow. Thank you Link to comment Share on other sites More sharing options...
Recommended Posts