Promise Pegasus R4 - getting started using El Capitan 10.11.6

  • 1K Views
  • Last Post 08 November 2023
Erwin Panen posted this 04 November 2023

Hi there,

I'm trying to pick up from my previous post of August 2022 here.

I would like to start finally using my Promise Pegasus R4.

I'm on a 2012 mac mini running El Capitan.

I've read through the manual and understand that there are 2 pieces of software to be installed:

- driver

- Promise Utility

 

I'm not sure but I think drivers have never been installed, so from the links in the previous forum post, I downloaded all these and installed them.

After rebooting I have now the promiseutil in terminal.

It seems that the subsystem is not found?

What steps do I need to take to debug this situation?

 

For information:

I have until now not been able to use this Pegasus Promise R4, and would, for a starter, like to be able to address any harddrive inserted as a single disk - is this possible? In other words is it possible to use the R4 without building a raid?

Or is it necessary to build a raid?

At the moment I have upgraded the Promise Utility to version 4.02.0000.21 using the menu > Check for updates.

 

In previous replies user bab akin advised to update the firmware. How can I do this (if the subsystem is not visible)?

Can anyone confirm that Pegasus 32 Promise Utility is backward compatible with El Capitan?

 

Thanks a lot for helping out!

 

 

Order By: Standard | Latest | Votes
R P posted this 04 November 2023

Hi Erwin,

I've read through the manual and understand that there are 2 pieces of software to be installed:

- driver

- Promise Utility

You're off by two, nothing whatsoever needs to be installed.

El Capitan includes a Pegasus Driver and the Utility is not required.

To check that the driver is loading, use this command in a terminal.

kextstat | grep promise

Copy and paste the output here.

If the driver is loaded and the Pegasus is not visible, there is a possibility that the Pegasus is no longer working.

But you should open a System Report and go to the Thunderbolt page and make sure the Pegasus is showing up.

I have until now not been able to use this Pegasus Promise R4, and would, for a starter, like to be able to address any harddrive inserted as a single disk - is this possible? In other words is it possible to use the R4 without building a raid?

Just make all the drives passthru, and the OS will see them as individual drives. You may have to delete the RAID before you can do this.

In previous replies user bab akin advised to update the firmware. How can I do this (if the subsystem is not visible)?

Since you are running El Capitan, I don't see any pressing need to update the firmware. If you had an M1 mac, it would be strongly recommended.

Can anyone confirm that Pegasus 32 Promise Utility is backward compatible with El Capitan?

The Pegasus32 is not compatible with El Capitan as near as I can tell. I tested this last week and the mac kept crashing.

  • Liked by
  • Erwin Panen
Erwin Panen posted this 04 November 2023

 

kextstat | grep promise
produces no output whatsoever
to check if things were ok, I issued kexststat without pipe grep promise, output was a screenfull of kexsts

 The output in terminal from promiseutil > subsys shows:

cliib> subsys
Error (0x4008): subsystem not found

 

 

 

System Report shows the Promise Pegasus allright.

Erwin Panen posted this 04 November 2023

It seems there is a problem loading the Promise kext

Nov  4 23:10:50 srv sudo[424]:    erwin : TTY=ttys001 ; PWD=/Users/erwin ; USER=root ; COMMAND=/sbin/kextload /Library/Extensions/PromiseSTEX.kext
Nov  4 23:10:51 srv kernel[0]: kxld[com.promise.driver.stex]: The super class vtable '__ZTV33IOSCSIParallelInterfaceController' for vtable '__ZTV11PromiseSTEX' is out of date. Make sure your kext has been built against the correct headers.
Nov  4 23:10:51 srv kernel[0]: kxld[com.promise.driver.stex]: The super class vtable '__ZTV13IOEventSource' for vtable '__ZTV16PromiseSTEX_IQHE' is out of date. Make sure your kext has been built against the correct headers.
Nov  4 23:10:51 srv kernel[0]: kxld[com.promise.driver.stex]: The super class vtable '__ZTV13IOEventSource' for vtable '__ZTV23PromiseSTEX_EventSource' is out of date. Make sure your kext has been built against the correct headers.
Nov  4 23:10:51 srv kernel[0]: Can't load kext com.promise.driver.stex - link failed.
Nov  4 23:10:51 srv kernel[0]: Failed to load executable for kext com.promise.driver.stex.
Nov  4 23:10:51 srv kernel[0]: Kext com.promise.driver.stex failed to load (0xdc008016).
Nov  4 23:10:51 srv kernel[0]: Failed to load kext com.promise.driver.stex (error 0xdc008016).
Nov  4 23:10:51 srv com.apple.kextd[54]: Failed to load /Library/Extensions/PromiseSTEX.kext - (libkern/kext) link error

 

For completeness sake I also have to report that on this mac mini there was Apple server installed.
In the mean time I have moved it to the trash to avoid issues.
Yet unfortunately the problem remains.

 

I also tried the following:

- I have a mid 2015 macbook pro running macOS Monterey 12.6.1
- there's no Promise software / driver installed on this machine
- I've connected the Promise Pegasus R4 to this Monterey machine
- checked System Information and it shows the same Thunderbolt Bus > Pegasus R-Series
- but there seems to be no Promise.kext present on this machine

 

 

I'd like to understand?

R P posted this 06 November 2023

Hi Erwin,

It seems there is a problem loading the Promise kext

Nov  4 23:10:50 srv sudo[424]:    erwin : TTY=ttys001 ; PWD=/Users/erwin ; USER=root ; COMMAND=/sbin/kextload /Library/Extensions/PromiseSTEX.kext

The problem is that you're trying to install a kext, El Capitan has an inbuilt STEX driver in /Systems/Library/Extensions, delete the driver you installed and reboot, the built-in driver should work OK with a Pegasus1.

- I have a mid 2015 macbook pro running macOS Monterey 12.6.1
- there's no Promise software / driver installed on this machine

You don't say whether the Pegasus mounts or not, but if it does then I think you are mistaken, there is a driver loaded, but it's not a kernel extention (aka KEXT). Apple has developed a new type of driver known as the user space driver.

Since Big Sur the KEXT drivers have been depricated and I understand that they will stop working entirely soon.

All drivers in /Library/Extensions are manually installed. If you install a driver it goes there.

User space drivers are installed in the /Library/SystemExtensions folder.

But this is irrelevant to El Capitan. The included driver should work fine. If you want to run a Promise Utility look in the Pegasus 2 downloads and find a Utility compatible with El Capitan.

 

Erwin Panen posted this 07 November 2023

Hi R P,

Part 1

Thanks a lot for sticking with me and try to get through this.
I'll try to be as clear as possible, and will explain a bit more:
In my office I have the opportunity of testing the Promise Pegasus with max. 4 systems.

- mac mini / El Capitan
- 2015 macbook pro / Monterey
- 2018 mini / Catalina

In 2021, when I purchased the R4, I did testing on the 2018 mini running Catalina.
Now, 2023, I'm trying to get it to work, preferably with El Capitan.
For quick comparison tests, I can quite easily connect it to the macbook pro (Monterey).
Testing with Catalina is possible, but more of a hassle as I have to put the Pegasus onto another desk, plug cords, cables etc.

So if we want to check kext or stex loading we need to adjust commands to either / or / both El Capitan / Monterey.
I confirm that there is no driver nor Pegasus utility installed, so we're working with what Apple (should) provide(s).

On both El Capitan & Monterey, when I plug the Promise into Thunderbolt, System Information, shows the the Pegasus R-Series connected to the Thunderbolt bus. So far so good.
There are three random hard drives in the Pegasus.
None of the drives are visible, on either El Capitan or Monterey

 

Erwin Panen posted this 07 November 2023

Part 2

Today I was digging a bit deepter in System Information > Software > Extensions and noticed this message:

Pegasus2R2ICON:

 

  Version: 1.0.10

  Last Modified: 15/08/18 10:04

  Bundle ID: com.promise.r2p.icon

  Loaded: No

  Get Info String: Copyright © 2018 Promise Technology, Inc. All rights reserved.

  Obtained from: Identified Developer

  Kind: Intel

  Architectures: x86_64

  64-Bit (Intel): Yes

  Location: /Library/Extensions/Pegasus2R2ICON.kext

  Kext Version: 1.0.10

  Loadable: Yes

  Dependencies: Incomplete

  Dependency Errors:

  Dependency Resolution Failures:

  Kexts already loaded for these libraries are not compatible with the requested version: com.apple.iokit.IOSCSIArchitectureModelFamily, com.apple.iokit.IOSCSIBlockCommandsDevice, com.apple.kpi.iokit, com.apple.kpi.libkern

 

  Signed by: Developer ID Application: Promise Technology Mobile Apps (268CCUR4WN), Developer ID Certification Authority, Apple Root CA

 

I also noticed  (I think in console) this message, when I plugged in the Pegasus Promis onto the Thunderbolt bus:

Nov  7 18:00:23 srv kernel[0]: AppleThunderboltNHIType2::prePCIWake - power up complete - took 1 us

Nov  7 18:00:23 srv kernel[0]: AppleThunderboltGenericHAL::earlyWake - complete - took 0 milliseconds

Nov  7 18:00:23 srv kernel[0]: IOThunderboltSwitch<0>(0x0)::listenerCallback - Thunderbolt HPD packet for route = 0x0 port = 11 unplug = 0

Nov  7 18:00:23 srv kernel[0]: IOThunderboltSwitch<0>(0x0)::listenerCallback - Thunderbolt HPD packet for route = 0x0 port = 1 unplug = 0

Nov  7 18:00:23 srv kernel[0]: IOThunderboltSwitch<0>(0x0)::listenerCallback - Thunderbolt HPD packet for route = 0x0 port = 2 unplug = 0

Nov  7 18:00:23 srv kernel[0]: IOThunderboltSwitch<0>(0x0)::listenerCallback - Thunderbolt HPD packet for route = 0x0 port = 12 unplug = 0

Nov  7 18:00:23 srv kernel[0]: considerRebuildOfPrelinkedKernel prebuild rebuild has expired

Nov  7 18:00:25 srv kernel[0]: [ PCI configuration begin ]

Nov  7 18:00:25 srv kernel[0]: [ PCI configuration end, bridges 15, devices 16 ]

Nov  7 18:00:34 srv com.apple.xpc.launchd[1] (com.apple.PubSub.Agent[611]): Endpoint has been activated through legacy launch(3) APIs. Please switch to XPC or bootstrap_check_in(): com.apple.pubsub.ipc

 

Nov  7 18:00:34 srv com.apple.xpc.launchd[1] (com.apple.PubSub.Agent[611]): Endpoint has been activated through legacy launch(3) APIs. Please switch to XPC or bootstrap_check_in(): com.apple.pubsub.notification

 

Does this give you information to better understand what's happening and maybe point me into a direction on how to get this dilemma solved?

 

Thanks a lot for helping out!!

R P posted this 08 November 2023

Hi Erwin,

There are three random hard drives in the Pegasus.
None of the drives are visible, on either El Capitan or Monterey

As mentioned previously, you'll need to make the drives passthru to be seen by the mac.

Since you have a system running Monterey, the easiest way to do this is to load a Pomise Utility that will work with Monterey.

I'm pretty sure v4.06.000.01 will do the trick.

Connect the Pegasus to the Monterey computer, then download and install the Promise Utility linked to above.

Start the CLI by opening a terminal and typing promiseutil.

Without knowing the state of the drives, let's try these commands...

phydrv -a mod -s "config=passthru" -p 1
phydrv -a mod -s "config=passthru" -p 2
phydrv -a mod -s "config=passthru" -p 3
phydrv -a mod -s "config=passthru" -p 4

If the drives were unconfigured this should do the trick. You will still need to put a filesystem on the drives with disk utility.

If this does not work, we will need to know the status of the drives, enter this command and coppy and paste it in your response.

phydrv

As for this...

Pegasus2R2ICON.kext

Just ignore it or delete it.

Erwin Panen posted this 08 November 2023

As mentioned previously, you'll need to make the drives passthru to be seen by the mac.

Do I understand correctly? This making passthru should be done anyway, for either El Capitan or Monterey.
But the approach to doing the passthru can be done on either machine, El Capitan or Monterey? (and is then a bit easier using a Promise Utility on the Monterey system as opposed to on the El Capitan system)

So to be clear:
I'll pass trhough the disks on the Monterey system and then reconnect to the El Capitan system and then the disks should appear in Finder?

Thanks a lot for helping out!

 

Erwin Panen posted this 08 November 2023

Part 1:

Ok, after reading your last post again, here's what I did:

Connect the Pegasus Promise to the Monterey Macbook Pro,
Installed the Promise Utility that you linked to.
Opened terminal.
Ran the commands..
As a random example: 
cliib> phydrv -a mod -s "config=passthru" -p 3

Error (0x4023): invalid physical drive id

each returned "invalid physical drive id" 
Finally I ran the command: "phydrv" which replies with:
No physical drive in the enclosure
Error (0x4008): subsystem not found

See also screenshot of the PromiseSTEX in System Information > Software > Extensions

Erwin Panen posted this 08 November 2023

Part 2:

As an aside, I repeated the kexststat | grep promise command with following outcome (Monterey)

MBPi7-8:~ erwin$ kextstat | grep promise

Executing: /usr/bin/kmutil showloaded

No variant specified, falling back to release

  185    0 0xffffff800348a000 0xb000     0xb000     com.promise.driver.stex (6.2.13) AE253556-66D8-38D2-B9D1-179B78F29153 <184 16 7 6 3>

MBPi7-8:~ erwin$

R P posted this 08 November 2023

Hi,

The driver is loaded, you should see the Pegasus.

Please check the Thunderbolt section of the System Report and check if the Mac sees the Pegasus at the lowest level.

If it does not show here there's a problem with the Pegasus or the TB cable.

 

Close