Jump to content

Can't get Highpoint raid card initialized or recognized


davidm71
 Share

14 posts in this topic

Recommended Posts

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

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

  • 2 weeks later...

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 by davidm71
Link to comment
Share on other sites

  • 1 month later...

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:

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 by makk
Link to comment
Share on other sites

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:

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 by makk
Link to comment
Share on other sites

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 by makk
Link to comment
Share on other sites

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 null
2022-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) ReleaseIDNode
2022-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.cpp
2022-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: 5478
2022-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 null
2022-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/7105


2022-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:8


2022-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:1030000


2022-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,CheckProtectMCU


2022-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 00000000


2022-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 by davidm71
Link to comment
Share on other sites

  • 1 month later...

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

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 by J Lamp
Link to comment
Share on other sites

@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

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

 Share

×
×
  • Create New...