Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

joevt

macrumors 604
Jun 21, 2012
6,968
4,262
I consulted Nvidia, however it seems they can't understand that the issue only exist in Windows but not macOS. Therefore, can't be hardware limitation.
Maybe use shorter sentences and smaller words. I wonder if that guy knew what a VBIOS was before you mentioned it.

AFAIK, MVC know the exact switch in VBIOS to enable PCIe 2.0 in Windows. I still can't quite sure if VBIOS is a hard limit for the card to negotiate at PCIe 2.0 in Windows (because there has no such limitation in macOS).
I suppose they wouldn't document the switch for us anywhere. Anyway, if macOS can make the card run at 5 GT/s without modifying the VBIOS, then Windows should be able to do the same...

You did not show the info for the Nvidia card. Compare the PCIe configuration space of the Nvidia device between macOS and Windows.
Code:
sudo lspci -nnvvxxx -s 05:00.0
 

MixMor

macrumors newbie
Jun 29, 2018
9
6
Portugal
OK just checked on their Live chat and it really doesn't work with NVMe.

I’m sorry four doubting your impression handheldgames. It’s description is a bit misleading for newbies I guess.

I think I am in denial that we're all, Worldwide, stuck to Amfeltec Squid for $400... :(

Sorry about the post diversion and thanks for helping!
 
Last edited:
  • Like
Reactions: crjackson2134

ezylstra

macrumors member
Oct 7, 2017
51
19
Thanks for sharing. Do you have a .sh file you can share? It would be great to use a modified version in a login script.

Hmmm...can't attach a .sh file? OK, the .txt extension works. Rename as you see fit. The script takes the port number you wish to change to PCIe v2 as argument. I've not put in any argument checking.

NOTE: a prerequisite of this script is to have pciutils installed and /usr/local/sbin in your PATH variable.

Here's the script text:

#!/bin/bash
# No arguments sanity checking done

rootport=$1
speed=2;

linkstatus=$(sudo setpci -s $rootport CAP_EXP+12.w);
echo '# Initial PCIe' $(( 0x$linkstatus & 15)).0 x$(( 0x$linkstatus >> 4 & 31))

sudo setpci -s $rootport CAP_EXP+30.w=$speed:F
sudo setpci -s $rootport CAP_EXP+10.w=20:20

linkstatus=$(sudo setpci -s $rootport CAP_EXP+12.w);
echo '# Final PCIe' $(( 0x$linkstatus & 15)).0 x$(( 0x$linkstatus >> 4 & 31))
 

Attachments

  • set_pciv2.txt
    431 bytes · Views: 215

Ludacrisvp

macrumors 6502a
May 14, 2008
797
363
Maybe i'm just dumb but what is wrong here ...
I've tried running the Valley application while running the pcitree.sh file and no matter what it seems that i'm stuck with 'g1x16' for my graphics card and I can't seem to change anything using setpci...

OpenGL extensions viewer shows all of about 350fps, valley is around 30fps ... driving 2 displays on this mac at 2550x1440 on GTX 650

Which I understand as being:
PCIe 1.0 x16

Code:
-[0000:00]-\
            +-00.0                                                  # g1x4           0000:00:00.0 [8086:4003] [0600] (rev 20) Host bridge: Intel Corporation 5400 Chipset Memory Controller Hub
            +-01.0-[01-03]-\                                        # g2x16 > g1x1   0000:00:01.0 [8086:4021] [0604] (rev 20) PCI bridge: Intel Corporation 5400 Chipset PCI Express Port 1
            |               +-00.0-[02]----\                        # g1x8 > g1x1    0000:01:00.0 [8086:0370] [0604] PCI bridge: Intel Corporation 80333 Segment-A PCIe Express to PCI-X bridge
            |               |               \-0e.0                  #                0000:02:0e.0 [1000:0411] [0104] RAID bus controller: LSI Logic / Symbios Logic MegaRAID SAS 1068
            |               \-00.2-[03]----\                        # g1x8 > g1x1    0000:01:00.2 [8086:0372] [0604] PCI bridge: Intel Corporation 80333 Segment-B PCIe Express to PCI-X bridge
            +-05.0-[04]----\                                        # g2x16 > g1x16  0000:00:05.0 [8086:4025] [0604] (rev 20) PCI bridge: Intel Corporation 5400 Chipset PCI Express Port 5
            |               +-00.0                                  # g1x16          0000:04:00.0 [10de:0fc6] [0300] (rev a1) VGA compatible controller: NVIDIA Corporation GK107 [GeForce GTX 650]
            |               \-00.1                                  # g1x16          0000:04:00.1 [10de:0e1b] [0403] (rev a1) Audio device: NVIDIA Corporation GK107 HDMI Audio Controller
            +-09.0-[05-0a]-\                                        # g2x4 > g1x4    0000:00:09.0 [8086:4029] [0604] (rev 20) PCI bridge: Intel Corporation 5400 Chipset PCI Express Port 9
            |               +-00.0-[06-09]-\                        # g1x8 > g1x4    0000:05:00.0 [8086:3500] [0604] (rev 01) PCI bridge: Intel Corporation 6311ESB/6321ESB PCI Express Upstream Port
            |               |               +-00.0-[07]----\        # g1x4 > g1x1    0000:06:00.0 [8086:3510] [0604] (rev 01) PCI bridge: Intel Corporation 6311ESB/6321ESB PCI Express Downstream Port E1
            |               |               |               \-00.0  # g2x1 > g1x1    0000:07:00.0 [104c:8241] [0c03] (rev 02) USB controller: Texas Instruments TUSB73x0 SuperSpeed USB 3.0 xHCI Host Controller
            |               |               +-01.0-[08]----\        # g1x4 > g1x1    0000:06:01.0 [8086:3514] [0604] (rev 01) PCI bridge: Intel Corporation 6311ESB/6321ESB PCI Express Downstream Port E2
            |               |               |               \-00.0  # g2x2 > g1x1    0000:08:00.0 [1b4b:9230] [0106] (rev 10) SATA controller: Marvell Technology Group Ltd. 88SE9230 PCIe SATA 6Gb/s Controller
            |               |               \-02.0-[09]----\        # g1x4           0000:06:02.0 [8086:3518] [0604] (rev 01) PCI bridge: Intel Corporation 6311ESB/6321ESB PCI Express Downstream Port E3
            |               |                               +-00.0  # g1x4           0000:09:00.0 [8086:1096] [0200] (rev 01) Ethernet controller: Intel Corporation 80003ES2LAN Gigabit Ethernet Controller (Copper)
            |               |                               \-00.1  # g1x4           0000:09:00.1 [8086:1096] [0200] (rev 01) Ethernet controller: Intel Corporation 80003ES2LAN Gigabit Ethernet Controller (Copper)
            |               \-00.3-[0a]----\                        # g1x8 > g1x4    0000:05:00.3 [8086:350c] [0604] (rev 01) PCI bridge: Intel Corporation 6311ESB/6321ESB PCI Express to PCI-X Bridge

Code:
    Hardware Overview:

      Model Name: Mac Pro
      Model Identifier: MacPro3,1
      Processor Name: Quad-Core Intel Xeon
      Processor Speed: 3.2 GHz
      Number of Processors: 2
      Total Number of Cores: 8
      L2 Cache (per Processor): 12 MB
      Memory: 18 GB
      Boot ROM Version: MP31.006C.B05
      SMC Version (system): 1.25f4

PCI:

    NVIDIA GeForce GTX 650:

      Name: NVDA,Display-D
      Type: Display Controller
      Driver Installed: Yes
      MSI: Yes
      Bus: PCI
      Slot: Slot-1
      Vendor ID: 0x10de
      Device ID: 0x0fc6
      Subsystem Vendor ID: 0x19da
      Subsystem ID: 0x0010
      ROM Revision: 3731
      Revision ID: 0x00a2
      Link Width: x16
      Link Speed: 2.5 GT/s

    NVIDIA GeForce GTX 650:

      Name: pci10de,e1b
      Type: NVDA,Parent
      Driver Installed: No
      MSI: No
      Bus: PCI
      Slot: Slot-1
      Vendor ID: 0x10de
      Device ID: 0x0e1b
      Subsystem Vendor ID: 0x19da
      Subsystem ID: 0x1263
      ROM Revision: 3731
      Revision ID: 0x00a1
      Link Width: x16
      Link Speed: 2.5 GT/s

    pci1000,411:

      Type: RAID Controller
      Driver Installed: Yes
      MSI: Yes
      Bus: PCI
      Slot: Slot-2@2,14,0
      Vendor ID: 0x1000
      Device ID: 0x0411
      Subsystem Vendor ID: 0x1000
      Subsystem ID: 0x1008
      Revision ID: 0x0000

    pci104c,8241:

      Type: USB eXtensible Host Controller
      Driver Installed: Yes
      MSI: Yes
      Bus: PCI
      Slot: Slot-4
      Vendor ID: 0x104c
      Device ID: 0x8241
      Revision ID: 0x0002
      Link Width: x1
      Link Speed: 2.5 GT/s

    pci1b4b,9230:

      Type: AHCI Controller
      Driver Installed: Yes
      MSI: Yes
      Bus: PCI
      Slot: Slot-3
      Vendor ID: 0x1b4b
      Device ID: 0x9230
      Subsystem Vendor ID: 0x1b4b
      Subsystem ID: 0x9230
      Revision ID: 0x0010
      Link Width: x1
      Link Speed: 2.5 GT/s
 

h9826790

macrumors P6
Apr 3, 2014
16,656
8,587
Hong Kong
Maybe i'm just dumb but what is wrong here ...
I've tried running the Valley application while running the pcitree.sh file and no matter what it seems that i'm stuck with 'g1x16' for my graphics card and I can't seem to change anything using setpci...

OpenGL extensions viewer shows all of about 350fps, valley is around 30fps ... driving 2 displays on this mac at 2550x1440 on GTX 650

Which I understand as being:
PCIe 1.0 x16

Code:
-[0000:00]-\
            +-00.0                                                  # g1x4           0000:00:00.0 [8086:4003] [0600] (rev 20) Host bridge: Intel Corporation 5400 Chipset Memory Controller Hub
            +-01.0-[01-03]-\                                        # g2x16 > g1x1   0000:00:01.0 [8086:4021] [0604] (rev 20) PCI bridge: Intel Corporation 5400 Chipset PCI Express Port 1
            |               +-00.0-[02]----\                        # g1x8 > g1x1    0000:01:00.0 [8086:0370] [0604] PCI bridge: Intel Corporation 80333 Segment-A PCIe Express to PCI-X bridge
            |               |               \-0e.0                  #                0000:02:0e.0 [1000:0411] [0104] RAID bus controller: LSI Logic / Symbios Logic MegaRAID SAS 1068
            |               \-00.2-[03]----\                        # g1x8 > g1x1    0000:01:00.2 [8086:0372] [0604] PCI bridge: Intel Corporation 80333 Segment-B PCIe Express to PCI-X bridge
            +-05.0-[04]----\                                        # g2x16 > g1x16  0000:00:05.0 [8086:4025] [0604] (rev 20) PCI bridge: Intel Corporation 5400 Chipset PCI Express Port 5
            |               +-00.0                                  # g1x16          0000:04:00.0 [10de:0fc6] [0300] (rev a1) VGA compatible controller: NVIDIA Corporation GK107 [GeForce GTX 650]
            |               \-00.1                                  # g1x16          0000:04:00.1 [10de:0e1b] [0403] (rev a1) Audio device: NVIDIA Corporation GK107 HDMI Audio Controller
            +-09.0-[05-0a]-\                                        # g2x4 > g1x4    0000:00:09.0 [8086:4029] [0604] (rev 20) PCI bridge: Intel Corporation 5400 Chipset PCI Express Port 9
            |               +-00.0-[06-09]-\                        # g1x8 > g1x4    0000:05:00.0 [8086:3500] [0604] (rev 01) PCI bridge: Intel Corporation 6311ESB/6321ESB PCI Express Upstream Port
            |               |               +-00.0-[07]----\        # g1x4 > g1x1    0000:06:00.0 [8086:3510] [0604] (rev 01) PCI bridge: Intel Corporation 6311ESB/6321ESB PCI Express Downstream Port E1
            |               |               |               \-00.0  # g2x1 > g1x1    0000:07:00.0 [104c:8241] [0c03] (rev 02) USB controller: Texas Instruments TUSB73x0 SuperSpeed USB 3.0 xHCI Host Controller
            |               |               +-01.0-[08]----\        # g1x4 > g1x1    0000:06:01.0 [8086:3514] [0604] (rev 01) PCI bridge: Intel Corporation 6311ESB/6321ESB PCI Express Downstream Port E2
            |               |               |               \-00.0  # g2x2 > g1x1    0000:08:00.0 [1b4b:9230] [0106] (rev 10) SATA controller: Marvell Technology Group Ltd. 88SE9230 PCIe SATA 6Gb/s Controller
            |               |               \-02.0-[09]----\        # g1x4           0000:06:02.0 [8086:3518] [0604] (rev 01) PCI bridge: Intel Corporation 6311ESB/6321ESB PCI Express Downstream Port E3
            |               |                               +-00.0  # g1x4           0000:09:00.0 [8086:1096] [0200] (rev 01) Ethernet controller: Intel Corporation 80003ES2LAN Gigabit Ethernet Controller (Copper)
            |               |                               \-00.1  # g1x4           0000:09:00.1 [8086:1096] [0200] (rev 01) Ethernet controller: Intel Corporation 80003ES2LAN Gigabit Ethernet Controller (Copper)
            |               \-00.3-[0a]----\                        # g1x8 > g1x4    0000:05:00.3 [8086:350c] [0604] (rev 01) PCI bridge: Intel Corporation 6311ESB/6321ESB PCI Express to PCI-X Bridge

Code:
    Hardware Overview:

      Model Name: Mac Pro
      Model Identifier: MacPro3,1
      Processor Name: Quad-Core Intel Xeon
      Processor Speed: 3.2 GHz
      Number of Processors: 2
      Total Number of Cores: 8
      L2 Cache (per Processor): 12 MB
      Memory: 18 GB
      Boot ROM Version: MP31.006C.B05
      SMC Version (system): 1.25f4

PCI:

    NVIDIA GeForce GTX 650:

      Name: NVDA,Display-D
      Type: Display Controller
      Driver Installed: Yes
      MSI: Yes
      Bus: PCI
      Slot: Slot-1
      Vendor ID: 0x10de
      Device ID: 0x0fc6
      Subsystem Vendor ID: 0x19da
      Subsystem ID: 0x0010
      ROM Revision: 3731
      Revision ID: 0x00a2
      Link Width: x16
      Link Speed: 2.5 GT/s

    NVIDIA GeForce GTX 650:

      Name: pci10de,e1b
      Type: NVDA,Parent
      Driver Installed: No
      MSI: No
      Bus: PCI
      Slot: Slot-1
      Vendor ID: 0x10de
      Device ID: 0x0e1b
      Subsystem Vendor ID: 0x19da
      Subsystem ID: 0x1263
      ROM Revision: 3731
      Revision ID: 0x00a1
      Link Width: x16
      Link Speed: 2.5 GT/s

    pci1000,411:

      Type: RAID Controller
      Driver Installed: Yes
      MSI: Yes
      Bus: PCI
      Slot: Slot-2@2,14,0
      Vendor ID: 0x1000
      Device ID: 0x0411
      Subsystem Vendor ID: 0x1000
      Subsystem ID: 0x1008
      Revision ID: 0x0000

    pci104c,8241:

      Type: USB eXtensible Host Controller
      Driver Installed: Yes
      MSI: Yes
      Bus: PCI
      Slot: Slot-4
      Vendor ID: 0x104c
      Device ID: 0x8241
      Revision ID: 0x0002
      Link Width: x1
      Link Speed: 2.5 GT/s

    pci1b4b,9230:

      Type: AHCI Controller
      Driver Installed: Yes
      MSI: Yes
      Bus: PCI
      Slot: Slot-3
      Vendor ID: 0x1b4b
      Device ID: 0x9230
      Subsystem Vendor ID: 0x1b4b
      Subsystem ID: 0x9230
      Revision ID: 0x0010
      Link Width: x1
      Link Speed: 2.5 GT/s

In my own test, this tool has no effect for graphic cards in both MacOS and Windows.
 

Ludacrisvp

macrumors 6502a
May 14, 2008
797
363
In my own test, this tool has no effect for graphic cards in both MacOS and Windows.
I see, I do have 2 different PCIe RAID controllers installed as well, I see the same inability to adjust anything PCI related.
I was thinking that I'd see the graphics change FPS or GFLop numbers if I could change it on the fly.
I was also running a blackmagic speed test on the hardware raid card (RAID10) at the time and didn't see read/write above 200MB/s peak, typically 175-185MB/s for both, using the built-in ESB2 SATA2 controller the 1TB 840 EVO can hit 250MB/s write 270MB/s read.
The second card is a 4 bay mSATA card, only populated with one mSATA3 drive but only is able to do about 120MB/s write, 180MB/s read.
 

cMP 31 4eva

macrumors newbie
Sep 21, 2018
8
4
I've received an amfeltec Gen3 quad M.2 card and did some tests. The lspci command (which I downloaded from https://github.com/pciutils/pciutils ) confirms that it starts at 2.5 GT/s x16 in slot 2 of my Mac Pro 2008.

The following command makes it go to 5 GT/s x16:
Code:
# Set Target Link Speed of MacPro3,1 slot 2 root port to 5GT/s
sudo setpci -s 00:1 CAP_EXP+30.w=2:F

This fix could be put into EFI firmware, or a kernel extension. This fix eliminates any reasons to get the Gen 2 card (except price?) unless there is some other issue?

I'm waiting for more NVMe drives to test the 5 GT/s x16 performance because there is no difference with only one NVMe drive for the Gen 3 card when it runs on a link that can do 4 GB/s (2.5 GT/s x 16, 5 GT/s x8, 8 GT/s x4).

Has anyone done the above? Roll this fix into something that can be flashed into EFI firmware?

I followed the steps HERE and am now successfully booting off an NVMe. I'm guessing adding this PCIe lane fix would be similar? I'm clueless in this regard, and sadly can't even wrap my head around using Automator to type the text required for me. Is everyone just typing this in to terminal every boot? Thanks!
 

joevt

macrumors 604
Jun 21, 2012
6,968
4,262
Has anyone done the above? Roll this fix into something that can be flashed into EFI firmware?

I followed the steps HERE and am now successfully booting off an NVMe. I'm guessing adding this PCIe lane fix would be similar?
Not yet. First someone needs to write code for the kext or EFI driver. The EFI driver can be tested using a boot loader like rEFInd before committing it to firmware.

I'm clueless in this regard, and sadly can't even wrap my head around using Automator to type the text required for me. Is everyone just typing this in to terminal every boot? Thanks!
I think a google search will find examples for creating a startup script, a login item, or launch daemon.
http://www.launchd.info
You can hardcode the root port, or make it search for root ports (and maybe downstream ports) having link speed status less than link speed capability and having a subordinate device with a link speed capability greater than the root's link speed status then try setting the root's link speed target to the minimum of root's capability and subordinate device's capability.

Is that required anymore with the 138.0.0.0.0 firmware?
138.0.0.0.0 probably does not apply to MacPro3,1 because Mojave is not supported on MacPro3,1 (and neither was Sierra or High Sierra).
 
  • Like
Reactions: eksu

cMP 31 4eva

macrumors newbie
Sep 21, 2018
8
4
Not yet. First someone needs to write code for the kext or EFI driver. The EFI driver can be tested using a boot loader like rEFInd before committing it to firmware.


I think a google search will find examples for creating a startup script, a login item, or launch daemon.
http://www.launchd.info
You can hardcode the root port, or make it search for root ports (and maybe downstream ports) having link speed status less than link speed capability and having a subordinate device with a link speed capability greater than the root's link speed status then try setting the root's link speed target to the minimum of root's capability and subordinate device's capability.


138.0.0.0.0 probably does not apply to MacPro3,1 because Mojave is not supported on MacPro3,1 (and neither was Sierra or High Sierra).

Yes, I'm uncertain if that bootrom applies to the 3,1. This thread is nearly impossible to search as users put "3,1" in their signature line.

Mojave can be forced to install on 3,1 via the dosdude1 patcher. If that helps at all I'm uncertain.

I don't know by what means the 138.0.0.0.0 firmware is accomplishing pcie lane speed settings. Currently I have to utilize the pciutils suite and run:
Code:
# Set Target Link Speed to 2.5GT/s of MacPro3,1 slot 1 root port
speed=2
rootport=00:5
linkstatus=$(sudo setpci -s $rootport CAP_EXP+12.w); echo '# Before: PCIe' $(( 0x$linkstatus & 15)).0 x$(( 0x$linkstatus >> 4 & 31))
sudo setpci -s $rootport CAP_EXP+30.w=$speed:F # Set Link Speed
sudo setpci -s $rootport CAP_EXP+10.w=20:20 # Start Retrain
linkstatus=$(sudo setpci -s $rootport CAP_EXP+12.w); echo '#  After: PCIe' $(( 0x$linkstatus & 15)).0 x$(( 0x$linkstatus >> 4 & 31))

The other additions to the 138.0.0.0.0 firmware look beneficial. Perhaps I'll ask over there if it can be wrestled into installing on a cMP 3,1...

This is what I'm on currently:
https://imgur.com/a/G3u7SUC
 

tsialex

Contributor
Jun 13, 2016
13,455
13,602
Yes, I'm uncertain if that bootrom applies to the 3,1. This thread is nearly impossible to search as users put "3,1" in their signature line.

Mojave can be forced to install on 3,1 via the dosdude1 patcher. If that helps at all I'm uncertain.

I don't know by what means the 138.0.0.0.0 firmware is accomplishing pcie lane speed settings. Currently I have to utilize the pciutils suite and run:
Code:
# Set Target Link Speed to 2.5GT/s of MacPro3,1 slot 1 root port
speed=2
rootport=00:5
linkstatus=$(sudo setpci -s $rootport CAP_EXP+12.w); echo '# Before: PCIe' $(( 0x$linkstatus & 15)).0 x$(( 0x$linkstatus >> 4 & 31))
sudo setpci -s $rootport CAP_EXP+30.w=$speed:F # Set Link Speed
sudo setpci -s $rootport CAP_EXP+10.w=20:20 # Start Retrain
linkstatus=$(sudo setpci -s $rootport CAP_EXP+12.w); echo '#  After: PCIe' $(( 0x$linkstatus & 15)).0 x$(( 0x$linkstatus >> 4 & 31))

The other additions to the 138.0.0.0.0 firmware look beneficial. Perhaps I'll ask over there if it can be wrestled into installing on a cMP 3,1...

This is what I'm on currently:
https://imgur.com/a/G3u7SUC

138.0.0.0.0 enabled PCIe 2.0 support for all cards on a MP5,1.

No, you can't install a 5,1 firmware on a 3,1. No only the hardware is totally different, but MP3,1 firmware is 16MBit in size and 5,1 is 32Mbit.
 
  • Like
Reactions: EdMun

cMP 31 4eva

macrumors newbie
Sep 21, 2018
8
4
138.0.0.0.0 enabled PCIe 2.0 support for all cards on a MP5,1.

No, you can't install a 5,1 firmware on a 3,1. No only the hardware is totally different, but MP3,1 firmware is 16MBit in size and 5,1 is 32Mbit.

Thanks! How about:

If it's not possible to install 138.0.0.0.0 on a cMP3,1, could whatever magic was performed on that firmware to enable proper PCIe lane speeds be done to my existing firmware, in a similar fashion as to how NVMe boot support was added?
[doublepost=1537637366][/doublepost]
I think a google search will find examples for creating a startup script, a login item, or launch daemon.
http://www.launchd.info

Thanks for this--reading up on it now.
 

tsialex

Contributor
Jun 13, 2016
13,455
13,602
Thanks! How about:
NVMe and APFS support was a easy one. Both are structured as EFI modules, once Apple started to patching every supported Mac for those, people started to add both for the unsupported Macs the same way Apple did, just inserting the modules.

We still don't know how exactly Apple enabled support for PCIe 2.0 on Mac Pros 5,1, it's not a EFI module, but a change into the firmware itself.
[doublepost=1537638780][/doublepost]I doubt we will ever see MP3,1 firmware improvements like we are starting to do for 4,1/5,1. Apple used parallel flash memory with MP1,1 to 3,1, you have to desolder a chip with 42 pins, reprogram it with expensive programmers/adaptors and then solder again. For every brick you will have to re-do it. It will be very expensive and time consuming. Even if we install a ZIF socket on the logic board, loosing Wi-Fi and BlueTooth, still be a enormous effort to program the FWB flash memory externally at every brick.

For MP4,1 on wards, Apple used serial flash memories, only 8 pin, with cheap ($18 on Amazon/$9 AliExpress) programmers available. With less than $200 in hardware/supplies you can de-solder/reprogram/solder again. To eliminate this hassle, we're developing ways to reflash MP4,1/5,1/6,1 without having to solder/desolder.
[doublepost=1537639023][/doublepost]With MP4,1/5,1/6,1 Mac Pros, we have various people actively working on firmware and hardware issues, the same can't be said for MP3,1.
 
  • Like
Reactions: w1z

joevt

macrumors 604
Jun 21, 2012
6,968
4,262
NVMe and APFS support was a easy one. Both are structured as EFI modules, once Apple started to patching every supported Mac for those, people started to add both for the unsupported Macs the same way Apple did, just inserting the modules.
It's not difficult to make a custom EFI module. Check the rEFInd or Clover boot loader projects.

We still don't know how exactly Apple enabled support for PCIe 2.0 on Mac Pros 5,1, it's not a EFI module, but a change into the firmware itself.
What's the difference between firmware and EFI module? Isn't the firmware just a collection of EFI modules as seen in EFITool? I think the problem is that it's unknown which EFI module the change was made in. There are tools to extract all the modules in a firmware but they probably can't be easily compared (unless not all the modules were recompiled since the last firmware). The files have GUIDs for names, but some of those belong to standard EFI protocols (like EAF59C0E-BD46-413A-9AE9-DD9F6D1A927D is for Smbios). They should have code similar to that available in the EFI open source projects. Other files my have debug information that contain file paths (like 8B24E4D4-C84C-4FFC-81E5-D3EACC3F08DD is probably for ApplePlatformInfoDB because it contains a file path like "C:\buildtools\fware\m1main.proj\projectfiles\sandbox\Platform\IntelMpg\M1\Release\IA32\ApplePlatformInfoDB.pdb"). pdb is a debug information file used on Windows. The name helps to identify the purpose of the EFI file.

I doubt we will ever see MP3,1 firmware improvements like we are starting to do for 4,1/5,1. Apple used parallel flash memory with MP1,1 to 3,1, you have to desolder a chip with 42 pins, reprogram it with expensive programmers/adaptors and then solder again. For every brick you will have to re-do it. It will be very expensive and time consuming. Even if we install a ZIF socket on the logic board, loosing Wi-Fi and BlueTooth, still be a enormous effort to program the FWB flash memory externally at every brick.

For MP4,1 on wards, Apple used serial flash memories, only 8 pin, with cheap ($18 on Amazon/$9 AliExpress) programmers available. With less than $200 in hardware/supplies you can de-solder/reprogram/solder again.
Isn't desoldering only required if the flash tool bricks your computer? Flashing just requires a software flashing tool like that used by Apple's firmware updates?
https://support.apple.com/kb/DL95?locale=en_US

To eliminate this hassle, we're developing ways to reflash MP4,1/5,1/6,1 without having to solder/desolder.

With MP4,1/5,1/6,1 Mac Pros, we have various people actively working on firmware and hardware issues, the same can't be said for MP3,1.
I thought those ways to reflash were already developed? In #312, cMP 31 4eva linked a google doc that mentions a RomTool that can be used to flash the MP3,1,MP4,1,MP5,1 with extra EFI modules (like for NVMe boot support).

Anyway, if flashing is not an option, EFI modules can probably be used with a boot loader like rEFInd.
 

tsialex

Contributor
Jun 13, 2016
13,455
13,602
What's the difference between firmware and EFI module? Isn't the firmware just a collection of EFI modules as seen in EFITool? I think the problem is that it's unknown which EFI module the change was made in. There are tools to extract all the modules in a firmware but they probably can't be easily compared (unless not all the modules were recompiled since the last firmware). The files have GUIDs for names, but some of those belong to standard EFI protocols (like EAF59C0E-BD46-413A-9AE9-DD9F6D1A927D is for Smbios). They should have code similar to that available in the EFI open source projects. Other files my have debug information that contain file paths (like 8B24E4D4-C84C-4FFC-81E5-D3EACC3F08DD is probably for ApplePlatformInfoDB because it contains a file path like "C:\buildtools\fware\m1main.proj\projectfiles\sandbox\Platform\IntelMpg\M1\Release\IA32\ApplePlatformInfoDB.pdb"). pdb is a debug information file used on Windows. The name helps to identify the purpose of the EFI file.
Correct, but someone needs to do the grunt work and find it. Then test if it's possible to do the same with the MP3,1 firmware. Only one Russian guy was investigating MP3,1 firmware and I stopped testing things after two bricks.

MP3,1 firmware is a lot different from MP5,1, a lot of tricks, like with checksums, that I learned with the MP5,1, don't work with MP3,1. One of my MP3,1 bricks was trying to mod the hardware descriptor to the same way FL1100 is used in the MP6,1, to test USB3.0 boot. Used the same way to create checksums as with MP5,1, didn't work.

Isn't desoldering only required if the flash tool bricks your computer? Flashing just requires a software flashing tool like that used by Apple's firmware updates?
https://support.apple.com/kb/DL95?locale=en_US
That never helped any of my bricks. It's designed to restore a failed firmware upgrade and even with that is of limited use. I have bricked once injecting a wrong jump point (MP4,1 LBSN/BD sector on a MP5,1 firmware, don't ask), that blocked the recovery routine in the firmware, couldn't even enter Firmware Programming mode.

I thought those ways to reflash were already developed? In #312, cMP 31 4eva linked a google doc that mentions a RomTool that can be used to flash the MP3,1,MP4,1,MP5,1 with extra EFI modules (like for NVMe boot support).
It's wonderfull GUI to flashrom. It's useful to flash a working firmware, but in the test phase, where you brick your Mac, it's useless.

I have bricked 2 MP5,1 and 2 MP3,1 in the last two months. Without a easy way to reflash a bricked Mac Pro without the need to desolder the flash memory, testing things rapidly become a bricking game.

With MP3,1 and the FWB TSOP42 flash memory, it's a lot more complicated to recover from a brick.

Anyway, if flashing is not an option, EFI modules can probably be used with a boot loader like rEFInd.

Yes, it's incredible useful to test if a NVMe EFI module is compatible with MP5,1. My second brick was testing iMac18,1 NVMe EFI module injected into MP5,1 firmware, after that I started to use rEFInd. But rEFInd can't help you if you're testing something into the private NVRAM area or with the LBSN/BD sector, for example.
 
Last edited:

joevt

macrumors 604
Jun 21, 2012
6,968
4,262
It's wonderfully useful to flash a working firmware, but has zero use to test and develop firmware mods. I have bricked 2 MP5,1 and 2 MP3,1 in the last two months. Without a easy way to reflash a bricked Mac Pro without the need to desolder the flash memory, testing things rapidly become a bricking game. With MP3,1 and the FWB TSOP42 flash memory, it's a lot more complicated to recover from a brick.

Yes, it's incredible useful to test if a NVMe EFI module is compatible with MP5,1. My second brick was testing iMac18,1 NVMe EFI module injected into MP5,1 firmware, after that I started to use rEFInd. But rEFInd can't help you with you're testing something into the private NVRAM area or with the LBSN/BD sector, for example.
Do you think the use of RomTool to add NVMe boot support as described in that google doc is safe enough? It seems to have worked well enough for cMP 31 4eva in a MacPro3,1, correct me if I'm wrong?

So, without figuring out how the new 138.0.0.0.0 firmware might have fixed this problem for MacPro4,1 and 5,1, a separate EFI module can be developed to solve the problem, tested using rEFInd, then optionally flashed with RomTool? A kext or launch daemon would probably be easier for users and could be necessary if sleep/wake causes the issue to reoccur.
 

tsialex

Contributor
Jun 13, 2016
13,455
13,602
Do you think the use of RomTool to add NVMe boot support as described in that google doc is safe enough? It seems to have worked well enough for cMP 31 4eva in a MacPro3,1, correct me if I'm wrong?

So, without figuring out how the new 138.0.0.0.0 firmware might have fixed this problem for MacPro4,1 and 5,1, a separate EFI module can be developed to solve the problem, tested using rEFInd, then optionally flashed with RomTool? A kext or launch daemon would probably be easier for users and could be necessary if sleep/wake causes the issue to reoccur.

Yes, it's safe to just add the NVMe EFI module with a MP3,1. Lot's of people are doing it with dosdude1 DXEInject.zip and APFS ROM Patcher.zip.

If you want a newer EFI module than the one from the Google docs, I have the most recent one from MP6,1 (MP61.0124.B00), ask me by PM. Works fine with 4,1/5,1, but test with rEFInd first.

I honestly prefer the launch daemon way, so much easier and safer to do than modding the MP3,1 firmware.
 
Last edited:

startergo

macrumors 603
Sep 20, 2018
5,022
2,283
Here is what I get:
G5s-Mac-Pro:sbin g5$ sudo lspci -nnvv -s 08:00.0
08:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Ellesmere [Radeon RX 470/480/570/570X/580/580X] [1002:67df] (rev c7) (prog-if 00 [VGA controller])
Subsystem: Dell Device [1028:1701]
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 0, Cache Line Size: 256 bytes
Interrupt: pin A routed to IRQ 16
Region 0: Memory at ff80000000 (64-bit, prefetchable)
Region 2: Memory at ff90000000 (64-bit, prefetchable)
Region 4: I/O ports at 4000 [disabled]
Region 5: Memory at a3500000 (32-bit, non-prefetchable)
Expansion ROM at a3540000 [disabled]
Capabilities: [48] Vendor Specific Information: Len=08 <?>
Capabilities: [50] Power Management version 3
Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0-,D1+,D2+,D3hot+,D3cold+)
Status: D0 NoSoftRst+ PME-Enable- DSel=0 DScale=0 PME-
Capabilities: [58] Express (v2) Legacy Endpoint, MSI 00
DevCap: MaxPayload 256 bytes, PhantFunc 0, Latency L0s <4us, L1 unlimited
ExtTag+ AttnBtn- AttnInd- PwrInd- RBE+ FLReset-
DevCtl: Report errors: Correctable- Non-Fatal- Fatal- Unsupported-
RlxdOrd+ ExtTag+ PhantFunc- AuxPwr- NoSnoop+
MaxPayload 128 bytes, MaxReadReq 512 bytes
DevSta: CorrErr+ UncorrErr- FatalErr- UnsuppReq+ AuxPwr- TransPend-
LnkCap: Port #0, Speed 8GT/s, Width x16, ASPM L1, Exit Latency L0s <64ns, L1 <1us
ClockPM- Surprise- LLActRep- BwNot-
LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- CommClk-
ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
LnkSta: Speed 2.5GT/s, Width x16, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
DevCap2: Completion Timeout: Not Supported, TimeoutDis-, LTR+, OBFF Not Supported
DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis-, LTR-, OBFF Disabled
LnkCtl2: Target Link Speed: 5GT/s, EnterCompliance- SpeedDis-
Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS-
Compliance De-emphasis: -6dB
LnkSta2: Current De-emphasis Level: -3.5dB, EqualizationComplete-, EqualizationPhase1-
EqualizationPhase2-, EqualizationPhase3-, LinkEqualizationRequest-
Capabilities: [a0] MSI: Enable+ Count=1/1 Maskable- 64bit+
Address: 00000000fee00000 Data: 4072

G5s-Mac-Pro:Documents g5$ sudo lspci -nnvv -s 09:00.0
09:00.0 VGA compatible controller [0300]: NVIDIA Corporation G96 [GeForce 9500 GT] [10de:0640] (rev a1) (prog-if 00 [VGA controller])
Subsystem: Apple Inc. Device [106b:00b3]
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 0
Interrupt: pin A routed to IRQ 16
Region 0: Memory at a2000000 (32-bit, non-prefetchable)
Region 1: Memory at ff98000000 (64-bit, prefetchable)
Region 3: Memory at a0000000 (64-bit, non-prefetchable)
Region 5: I/O ports at 3000 [disabled]
Capabilities: [60] Power Management version 3
Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
Capabilities: [68] MSI: Enable+ Count=1/1 Maskable- 64bit+
Address: 00000000fee00000 Data: 4071
Capabilities: [78] Express (v2) Endpoint, MSI 00
DevCap: MaxPayload 128 bytes, PhantFunc 0, Latency L0s <1us, L1 <4us
ExtTag+ AttnBtn- AttnInd- PwrInd- RBE+ FLReset-
DevCtl: Report errors: Correctable- Non-Fatal- Fatal- Unsupported-
RlxdOrd+ ExtTag+ PhantFunc- AuxPwr- NoSnoop+
MaxPayload 128 bytes, MaxReadReq 512 bytes
DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr- TransPend-
LnkCap: Port #0, Speed 5GT/s, Width x16, ASPM L0s L1, Exit Latency L0s <512ns, L1 <1us
ClockPM- Surprise- LLActRep- BwNot-
LnkCtl: ASPM Disabled; RCB 128 bytes Disabled- CommClk-
ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
LnkSta: Speed 5GT/s, Width x16, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
DevCap2: Completion Timeout: Not Supported, TimeoutDis+, LTR-, OBFF Not Supported
DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis-, LTR-, OBFF Disabled
LnkCtl2: Target Link Speed: 5GT/s, EnterCompliance- SpeedDis-
Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS-
Compliance De-emphasis: -6dB
LnkSta2: Current De-emphasis Level: -6dB, EqualizationComplete-, EqualizationPhase1-
EqualizationPhase2-, EqualizationPhase3-, LinkEqualizationRequest-
Capabilities: [b4] Vendor Specific Information: Len=14 <?>

G5s-Mac-Pro:sbin g5$ sudo lspci -nnvv -s 00:1
00:01.0 PCI bridge [0604]: Intel Corporation 5520/5500/X58 I/O Hub PCI Express Root Port 1 [8086:3408] (rev 22) (prog-if 00 [Normal decode])
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr+ Stepping- SERR+ FastB2B- DisINTx-
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 0, Cache Line Size: 256 bytes
Bus: primary=00, secondary=01, subordinate=07, sec-latency=0
Memory behind bridge: a3600000-a37fffff
Secondary status: 66MHz- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort+ <SERR- <PERR-
BridgeCtl: Parity- SERR+ NoISA- VGA- MAbort- >Reset- FastB2B-
PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn-
Capabilities: [40] Subsystem: Intel Corporation Device [8086:0000]
Capabilities: [60] MSI: Enable- Count=1/2 Maskable+ 64bit-
Address: 00000020 Data: 0000
Masking: 00000000 Pending: 00000000
Capabilities: [90] Express (v2) Root Port (Slot+), MSI 00
DevCap: MaxPayload 256 bytes, PhantFunc 0
ExtTag+ RBE+
DevCtl: Report errors: Correctable- Non-Fatal- Fatal- Unsupported-
RlxdOrd- ExtTag- PhantFunc- AuxPwr- NoSnoop-
MaxPayload 128 bytes, MaxReadReq 128 bytes
DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr- TransPend-
LnkCap: Port #1, Speed 5GT/s, Width x4, ASPM not supported, Exit Latency L0s <512ns, L1 <4us
ClockPM- Surprise+ LLActRep+ BwNot+
LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- CommClk+
ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
LnkSta: Speed 5GT/s, Width x4, TrErr- Train- SlotClk+ DLActive+ BWMgmt+ ABWMgmt-
SltCap: AttnBtn+ PwrCtrl+ MRL+ AttnInd+ PwrInd+ HotPlug- Surprise+
Slot #0, PowerLimit 0.000W; Interlock+ NoCompl-
SltCtl: Enable: AttnBtn- PwrFlt- MRL- PresDet- CmdCplt- HPIrq- LinkChg-
Control: AttnInd Off, PwrInd Off, Power- Interlock-
SltSta: Status: AttnBtn- PowerFlt- MRL- CmdCplt- PresDet+ Interlock-
Changed: MRL- PresDet- LinkState-
RootCtl: ErrCorrectable- ErrNon-Fatal- ErrFatal- PMEIntEna- CRSVisible-
RootCap: CRSVisible-
RootSta: PME ReqID 0000, PMEStatus- PMEPending-
DevCap2: Completion Timeout: Range BCD, TimeoutDis+, LTR-, OBFF Not Supported ARIFwd+
DevCtl2: Completion Timeout: 260ms to 900ms, TimeoutDis-, LTR-, OBFF Disabled ARIFwd-
LnkCtl2: Target Link Speed: 5GT/s, EnterCompliance- SpeedDis-
Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS-
Compliance De-emphasis: -6dB
LnkSta2: Current De-emphasis Level: -6dB, EqualizationComplete-, EqualizationPhase1-
EqualizationPhase2-, EqualizationPhase3-, LinkEqualizationRequest-
Capabilities: [e0] Power Management version 3
Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0+,D1-,D2-,D3hot+,D3cold+)
Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-

G5s-Mac-Pro:sbin g5$ sudo lspci -nnvv -s 00:3
00:03.0 PCI bridge [0604]: Intel Corporation 5520/5500/X58 I/O Hub PCI Express Root Port 3 [8086:340a] (rev 22) (prog-if 00 [Normal decode])
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr+ Stepping- SERR+ FastB2B- DisINTx-
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 0, Cache Line Size: 256 bytes
Bus: primary=00, secondary=08, subordinate=08, sec-latency=0
I/O behind bridge: 00004000-00004fff
Memory behind bridge: a3500000-a35fffff
Prefetchable memory behind bridge: 000000ff80000000-000000ff901fffff
Secondary status: 66MHz- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort+ <SERR- <PERR-
BridgeCtl: Parity- SERR+ NoISA- VGA- MAbort- >Reset- FastB2B-
PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn-
Capabilities: [40] Subsystem: Intel Corporation Device [8086:0000]
Capabilities: [60] MSI: Enable- Count=1/2 Maskable+ 64bit-
Address: 00000020 Data: 0000
Masking: 00000000 Pending: 00000000
Capabilities: [90] Express (v2) Root Port (Slot+), MSI 00
DevCap: MaxPayload 256 bytes, PhantFunc 0
ExtTag+ RBE+
DevCtl: Report errors: Correctable- Non-Fatal- Fatal- Unsupported-
RlxdOrd- ExtTag- PhantFunc- AuxPwr- NoSnoop-
MaxPayload 128 bytes, MaxReadReq 128 bytes
DevSta: CorrErr- UncorrErr+ FatalErr- UnsuppReq- AuxPwr- TransPend-
LnkCap: Port #3, Speed 5GT/s, Width x16, ASPM not supported, Exit Latency L0s <512ns, L1 <4us
ClockPM- Surprise+ LLActRep+ BwNot+
LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- CommClk+
ExtSynch+ ClockPM- AutWidDis- BWInt- AutBWInt-
LnkSta: Speed 2.5GT/s, Width x16, TrErr- Train- SlotClk+ DLActive+ BWMgmt+ ABWMgmt-
SltCap: AttnBtn+ PwrCtrl+ MRL+ AttnInd+ PwrInd+ HotPlug- Surprise+
Slot #192, PowerLimit 0.000W; Interlock+ NoCompl-
SltCtl: Enable: AttnBtn- PwrFlt- MRL- PresDet- CmdCplt- HPIrq- LinkChg-
Control: AttnInd Off, PwrInd Off, Power- Interlock-
SltSta: Status: AttnBtn- PowerFlt- MRL- CmdCplt- PresDet+ Interlock-
Changed: MRL- PresDet+ LinkState+
RootCtl: ErrCorrectable- ErrNon-Fatal- ErrFatal- PMEIntEna- CRSVisible-
RootCap: CRSVisible-
RootSta: PME ReqID 0000, PMEStatus- PMEPending-
DevCap2: Completion Timeout: Range BCD, TimeoutDis+, LTR-, OBFF Not Supported ARIFwd+
DevCtl2: Completion Timeout: 260ms to 900ms, TimeoutDis-, LTR-, OBFF Disabled ARIFwd-
LnkCtl2: Target Link Speed: 5GT/s, EnterCompliance- SpeedDis-
Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS-
Compliance De-emphasis: -6dB
LnkSta2: Current De-emphasis Level: -6dB, EqualizationComplete-, EqualizationPhase1-
EqualizationPhase2-, EqualizationPhase3-, LinkEqualizationRequest-
Capabilities: [e0] Power Management version 3
Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0+,D1-,D2-,D3hot+,D3cold+)
Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-

G5s-Mac-Pro:sbin g5$ sudo lspci -nnvv -s 00:7
00:07.0 PCI bridge [0604]: Intel Corporation 5520/5500/X58 I/O Hub PCI Express Root Port 7 [8086:340e] (rev 22) (prog-if 00 [Normal decode])
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr+ Stepping- SERR+ FastB2B- DisINTx-
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 0, Cache Line Size: 256 bytes
Bus: primary=00, secondary=09, subordinate=09, sec-latency=0
I/O behind bridge: 00003000-00003fff
Memory behind bridge: a0000000-a30fffff
Prefetchable memory behind bridge: 000000ff98000000-000000ff9fffffff
Secondary status: 66MHz- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort+ <SERR- <PERR-
BridgeCtl: Parity- SERR+ NoISA- VGA- MAbort- >Reset- FastB2B-
PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn-
Capabilities: [40] Subsystem: Intel Corporation Device [8086:0000]
Capabilities: [60] MSI: Enable- Count=1/2 Maskable+ 64bit-
Address: 00000020 Data: 0000
Masking: 00000000 Pending: 00000000
Capabilities: [90] Express (v2) Root Port (Slot+), MSI 00
DevCap: MaxPayload 256 bytes, PhantFunc 0
ExtTag+ RBE+
DevCtl: Report errors: Correctable- Non-Fatal- Fatal- Unsupported-
RlxdOrd- ExtTag- PhantFunc- AuxPwr- NoSnoop-
MaxPayload 128 bytes, MaxReadReq 128 bytes
DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr- TransPend-
LnkCap: Port #7, Speed 5GT/s, Width x16, ASPM not supported, Exit Latency L0s <512ns, L1 <4us
ClockPM- Surprise+ LLActRep+ BwNot+
LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- CommClk+
ExtSynch+ ClockPM- AutWidDis- BWInt- AutBWInt-
LnkSta: Speed 5GT/s, Width x16, TrErr- Train- SlotClk+ DLActive+ BWMgmt- ABWMgmt-
SltCap: AttnBtn+ PwrCtrl+ MRL+ AttnInd+ PwrInd+ HotPlug- Surprise+
Slot #128, PowerLimit 0.000W; Interlock+ NoCompl-
SltCtl: Enable: AttnBtn- PwrFlt- MRL- PresDet- CmdCplt- HPIrq- LinkChg-
Control: AttnInd Off, PwrInd Off, Power- Interlock-
SltSta: Status: AttnBtn- PowerFlt- MRL- CmdCplt- PresDet+ Interlock-
Changed: MRL- PresDet- LinkState-
RootCtl: ErrCorrectable- ErrNon-Fatal- ErrFatal- PMEIntEna- CRSVisible-
RootCap: CRSVisible-
RootSta: PME ReqID 0000, PMEStatus- PMEPending-
DevCap2: Completion Timeout: Range BCD, TimeoutDis+, LTR-, OBFF Not Supported ARIFwd+
DevCtl2: Completion Timeout: 260ms to 900ms, TimeoutDis-, LTR-, OBFF Disabled ARIFwd-
LnkCtl2: Target Link Speed: 5GT/s, EnterCompliance- SpeedDis-
Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS-
Compliance De-emphasis: -6dB
LnkSta2: Current De-emphasis Level: -6dB, EqualizationComplete-, EqualizationPhase1-
EqualizationPhase2-, EqualizationPhase3-, LinkEqualizationRequest-
Capabilities: [e0] Power Management version 3
Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0+,D1-,D2-,D3hot+,D3cold+)
Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-

G5s-Mac-Pro:sbin g5$ sh fast.sh -s 00:03.0
setpci: Unable to parse filter -s Invalid slot number.
Try `setpci --help' for more information.
# Initial PCIe 0.0 x0
setpci: Unable to parse filter -s Invalid slot number.
Try `setpci --help' for more information.
setpci: Unable to parse filter -s Invalid slot number.
Try `setpci --help' for more information.
setpci: Unable to parse filter -s Invalid slot number.
Try `setpci --help' for more information.
# Final PCIe 0.0 x0
G5s-Mac-Pro:sbin g5$ sh fast.sh -s 00:01.0
setpci: Unable to parse filter -s Invalid slot number.
Try `setpci --help' for more information.
# Initial PCIe 0.0 x0
setpci: Unable to parse filter -s Invalid slot number.
Try `setpci --help' for more information.
setpci: Unable to parse filter -s Invalid slot number.
Try `setpci --help' for more information.
setpci: Unable to parse filter -s Invalid slot number.
Try `setpci --help' for more information.
# Final PCIe 0.0 x0
G5s-Mac-Pro:sbin g5$ sh fast.sh -s 00:07.0
setpci: Unable to parse filter -s Invalid slot number.
Try `setpci --help' for more information.
# Initial PCIe 0.0 x0
setpci: Unable to parse filter -s Invalid slot number.
Try `setpci --help' for more information.
setpci: Unable to parse filter -s Invalid slot number.
Try `setpci --help' for more information.
setpci: Unable to parse filter -s Invalid slot number.
Try `setpci --help' for more information.
# Final PCIe 0.0 x0
G5s-Mac-Pro:sbin g5$ sh fast.sh -s 08:00.0
setpci: Unable to parse filter -s Invalid slot number.
Try `setpci --help' for more information.
# Initial PCIe 0.0 x0
setpci: Unable to parse filter -s Invalid slot number.
Try `setpci --help' for more information.
setpci: Unable to parse filter -s Invalid slot number.
Try `setpci --help' for more information.
setpci: Unable to parse filter -s Invalid slot number.
Try `setpci --help' for more information.
# Final PCIe 0.0 x0





I even changed the part number of the RX580 in the bios to get the Orinoco framebuffer (which screwed the operation in Windows because the driver refused to start the card) and still can not get 5GT/s even though the linkCap is 8GT/s

Does anybody have an idea what is going on?
 

joevt

macrumors 604
Jun 21, 2012
6,968
4,262
Here is what I get:
Code:
G5s-Mac-Pro:sbin g5$ sudo lspci -nnvv -s 08:00.0
08:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Ellesmere [Radeon RX 470/480/570/570X/580/580X] [1002:67df] (rev c7) (prog-if 00 [VGA controller])
   Subsystem: Dell Device [1028:1701]
   Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
   Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
   Latency: 0, Cache Line Size: 256 bytes
   Interrupt: pin A routed to IRQ 16
   Region 0: Memory at ff80000000 (64-bit, prefetchable)
   Region 2: Memory at ff90000000 (64-bit, prefetchable)
   Region 4: I/O ports at 4000 [disabled]
   Region 5: Memory at a3500000 (32-bit, non-prefetchable)
   Expansion ROM at a3540000 [disabled]
   Capabilities: [48] Vendor Specific Information: Len=08 <?>
   Capabilities: [50] Power Management version 3
       Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0-,D1+,D2+,D3hot+,D3cold+)
       Status: D0 NoSoftRst+ PME-Enable- DSel=0 DScale=0 PME-
   Capabilities: [58] Express (v2) Legacy Endpoint, MSI 00
       DevCap:   MaxPayload 256 bytes, PhantFunc 0, Latency L0s <4us, L1 unlimited
           ExtTag+ AttnBtn- AttnInd- PwrInd- RBE+ FLReset-
       DevCtl:   Report errors: Correctable- Non-Fatal- Fatal- Unsupported-
           RlxdOrd+ ExtTag+ PhantFunc- AuxPwr- NoSnoop+
           MaxPayload 128 bytes, MaxReadReq 512 bytes
       DevSta:   CorrErr+ UncorrErr- FatalErr- UnsuppReq+ AuxPwr- TransPend-
       LnkCap:   Port #0, Speed 8GT/s, Width x16, ASPM L1, Exit Latency L0s <64ns, L1 <1us
           ClockPM- Surprise- LLActRep- BwNot-
       LnkCtl:   ASPM Disabled; RCB 64 bytes Disabled- CommClk-
           ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
       LnkSta:   Speed 2.5GT/s, Width x16, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
       DevCap2: Completion Timeout: Not Supported, TimeoutDis-, LTR+, OBFF Not Supported
       DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis-, LTR-, OBFF Disabled
       LnkCtl2: Target Link Speed: 5GT/s, EnterCompliance- SpeedDis-
            Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS-
            Compliance De-emphasis: -6dB
       LnkSta2: Current De-emphasis Level: -3.5dB, EqualizationComplete-, EqualizationPhase1-
            EqualizationPhase2-, EqualizationPhase3-, LinkEqualizationRequest-
   Capabilities: [a0] MSI: Enable+ Count=1/1 Maskable- 64bit+
       Address: 00000000fee00000  Data: 4072

G5s-Mac-Pro:Documents g5$ sudo lspci -nnvv -s 09:00.0
09:00.0 VGA compatible controller [0300]: NVIDIA Corporation G96 [GeForce 9500 GT] [10de:0640] (rev a1) (prog-if 00 [VGA controller])
   Subsystem: Apple Inc. Device [106b:00b3]
   Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
   Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
   Latency: 0
   Interrupt: pin A routed to IRQ 16
   Region 0: Memory at a2000000 (32-bit, non-prefetchable)
   Region 1: Memory at ff98000000 (64-bit, prefetchable)
   Region 3: Memory at a0000000 (64-bit, non-prefetchable)
   Region 5: I/O ports at 3000 [disabled]
   Capabilities: [60] Power Management version 3
       Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
       Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
   Capabilities: [68] MSI: Enable+ Count=1/1 Maskable- 64bit+
       Address: 00000000fee00000  Data: 4071
   Capabilities: [78] Express (v2) Endpoint, MSI 00
       DevCap:   MaxPayload 128 bytes, PhantFunc 0, Latency L0s <1us, L1 <4us
           ExtTag+ AttnBtn- AttnInd- PwrInd- RBE+ FLReset-
       DevCtl:   Report errors: Correctable- Non-Fatal- Fatal- Unsupported-
           RlxdOrd+ ExtTag+ PhantFunc- AuxPwr- NoSnoop+
           MaxPayload 128 bytes, MaxReadReq 512 bytes
       DevSta:   CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr- TransPend-
       LnkCap:   Port #0, Speed 5GT/s, Width x16, ASPM L0s L1, Exit Latency L0s <512ns, L1 <1us
           ClockPM- Surprise- LLActRep- BwNot-
       LnkCtl:   ASPM Disabled; RCB 128 bytes Disabled- CommClk-
           ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
       LnkSta:   Speed 5GT/s, Width x16, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
       DevCap2: Completion Timeout: Not Supported, TimeoutDis+, LTR-, OBFF Not Supported
       DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis-, LTR-, OBFF Disabled
       LnkCtl2: Target Link Speed: 5GT/s, EnterCompliance- SpeedDis-
            Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS-
            Compliance De-emphasis: -6dB
       LnkSta2: Current De-emphasis Level: -6dB, EqualizationComplete-, EqualizationPhase1-
            EqualizationPhase2-, EqualizationPhase3-, LinkEqualizationRequest-
   Capabilities: [b4] Vendor Specific Information: Len=14 <?>

G5s-Mac-Pro:sbin g5$ sudo lspci -nnvv -s 00:1
00:01.0 PCI bridge [0604]: Intel Corporation 5520/5500/X58 I/O Hub PCI Express Root Port 1 [8086:3408] (rev 22) (prog-if 00 [Normal decode])
   Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr+ Stepping- SERR+ FastB2B- DisINTx-
   Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
   Latency: 0, Cache Line Size: 256 bytes
   Bus: primary=00, secondary=01, subordinate=07, sec-latency=0
   Memory behind bridge: a3600000-a37fffff
   Secondary status: 66MHz- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort+ <SERR- <PERR-
   BridgeCtl: Parity- SERR+ NoISA- VGA- MAbort- >Reset- FastB2B-
       PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn-
   Capabilities: [40] Subsystem: Intel Corporation Device [8086:0000]
   Capabilities: [60] MSI: Enable- Count=1/2 Maskable+ 64bit-
       Address: 00000020  Data: 0000
       Masking: 00000000  Pending: 00000000
   Capabilities: [90] Express (v2) Root Port (Slot+), MSI 00
       DevCap:   MaxPayload 256 bytes, PhantFunc 0
           ExtTag+ RBE+
       DevCtl:   Report errors: Correctable- Non-Fatal- Fatal- Unsupported-
           RlxdOrd- ExtTag- PhantFunc- AuxPwr- NoSnoop-
           MaxPayload 128 bytes, MaxReadReq 128 bytes
       DevSta:   CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr- TransPend-
       LnkCap:   Port #1, Speed 5GT/s, Width x4, ASPM not supported, Exit Latency L0s <512ns, L1 <4us
           ClockPM- Surprise+ LLActRep+ BwNot+
       LnkCtl:   ASPM Disabled; RCB 64 bytes Disabled- CommClk+
           ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
       LnkSta:   Speed 5GT/s, Width x4, TrErr- Train- SlotClk+ DLActive+ BWMgmt+ ABWMgmt-
       SltCap:   AttnBtn+ PwrCtrl+ MRL+ AttnInd+ PwrInd+ HotPlug- Surprise+
           Slot #0, PowerLimit 0.000W; Interlock+ NoCompl-
       SltCtl:   Enable: AttnBtn- PwrFlt- MRL- PresDet- CmdCplt- HPIrq- LinkChg-
           Control: AttnInd Off, PwrInd Off, Power- Interlock-
       SltSta:   Status: AttnBtn- PowerFlt- MRL- CmdCplt- PresDet+ Interlock-
           Changed: MRL- PresDet- LinkState-
       RootCtl: ErrCorrectable- ErrNon-Fatal- ErrFatal- PMEIntEna- CRSVisible-
       RootCap: CRSVisible-
       RootSta: PME ReqID 0000, PMEStatus- PMEPending-
       DevCap2: Completion Timeout: Range BCD, TimeoutDis+, LTR-, OBFF Not Supported ARIFwd+
       DevCtl2: Completion Timeout: 260ms to 900ms, TimeoutDis-, LTR-, OBFF Disabled ARIFwd-
       LnkCtl2: Target Link Speed: 5GT/s, EnterCompliance- SpeedDis-
            Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS-
            Compliance De-emphasis: -6dB
       LnkSta2: Current De-emphasis Level: -6dB, EqualizationComplete-, EqualizationPhase1-
            EqualizationPhase2-, EqualizationPhase3-, LinkEqualizationRequest-
   Capabilities: [e0] Power Management version 3
       Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0+,D1-,D2-,D3hot+,D3cold+)
       Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-

G5s-Mac-Pro:sbin g5$ sudo lspci -nnvv -s 00:3
00:03.0 PCI bridge [0604]: Intel Corporation 5520/5500/X58 I/O Hub PCI Express Root Port 3 [8086:340a] (rev 22) (prog-if 00 [Normal decode])
   Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr+ Stepping- SERR+ FastB2B- DisINTx-
   Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
   Latency: 0, Cache Line Size: 256 bytes
   Bus: primary=00, secondary=08, subordinate=08, sec-latency=0
   I/O behind bridge: 00004000-00004fff
   Memory behind bridge: a3500000-a35fffff
   Prefetchable memory behind bridge: 000000ff80000000-000000ff901fffff
   Secondary status: 66MHz- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort+ <SERR- <PERR-
   BridgeCtl: Parity- SERR+ NoISA- VGA- MAbort- >Reset- FastB2B-
       PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn-
   Capabilities: [40] Subsystem: Intel Corporation Device [8086:0000]
   Capabilities: [60] MSI: Enable- Count=1/2 Maskable+ 64bit-
       Address: 00000020  Data: 0000
       Masking: 00000000  Pending: 00000000
   Capabilities: [90] Express (v2) Root Port (Slot+), MSI 00
       DevCap:   MaxPayload 256 bytes, PhantFunc 0
           ExtTag+ RBE+
       DevCtl:   Report errors: Correctable- Non-Fatal- Fatal- Unsupported-
           RlxdOrd- ExtTag- PhantFunc- AuxPwr- NoSnoop-
           MaxPayload 128 bytes, MaxReadReq 128 bytes
       DevSta:   CorrErr- UncorrErr+ FatalErr- UnsuppReq- AuxPwr- TransPend-
       LnkCap:   Port #3, Speed 5GT/s, Width x16, ASPM not supported, Exit Latency L0s <512ns, L1 <4us
           ClockPM- Surprise+ LLActRep+ BwNot+
       LnkCtl:   ASPM Disabled; RCB 64 bytes Disabled- CommClk+
           ExtSynch+ ClockPM- AutWidDis- BWInt- AutBWInt-
       LnkSta:   Speed 2.5GT/s, Width x16, TrErr- Train- SlotClk+ DLActive+ BWMgmt+ ABWMgmt-
       SltCap:   AttnBtn+ PwrCtrl+ MRL+ AttnInd+ PwrInd+ HotPlug- Surprise+
           Slot #192, PowerLimit 0.000W; Interlock+ NoCompl-
       SltCtl:   Enable: AttnBtn- PwrFlt- MRL- PresDet- CmdCplt- HPIrq- LinkChg-
           Control: AttnInd Off, PwrInd Off, Power- Interlock-
       SltSta:   Status: AttnBtn- PowerFlt- MRL- CmdCplt- PresDet+ Interlock-
           Changed: MRL- PresDet+ LinkState+
       RootCtl: ErrCorrectable- ErrNon-Fatal- ErrFatal- PMEIntEna- CRSVisible-
       RootCap: CRSVisible-
       RootSta: PME ReqID 0000, PMEStatus- PMEPending-
       DevCap2: Completion Timeout: Range BCD, TimeoutDis+, LTR-, OBFF Not Supported ARIFwd+
       DevCtl2: Completion Timeout: 260ms to 900ms, TimeoutDis-, LTR-, OBFF Disabled ARIFwd-
       LnkCtl2: Target Link Speed: 5GT/s, EnterCompliance- SpeedDis-
            Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS-
            Compliance De-emphasis: -6dB
       LnkSta2: Current De-emphasis Level: -6dB, EqualizationComplete-, EqualizationPhase1-
            EqualizationPhase2-, EqualizationPhase3-, LinkEqualizationRequest-
   Capabilities: [e0] Power Management version 3
       Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0+,D1-,D2-,D3hot+,D3cold+)
       Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-

G5s-Mac-Pro:sbin g5$ sudo lspci -nnvv -s 00:7
00:07.0 PCI bridge [0604]: Intel Corporation 5520/5500/X58 I/O Hub PCI Express Root Port 7 [8086:340e] (rev 22) (prog-if 00 [Normal decode])
   Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr+ Stepping- SERR+ FastB2B- DisINTx-
   Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
   Latency: 0, Cache Line Size: 256 bytes
   Bus: primary=00, secondary=09, subordinate=09, sec-latency=0
   I/O behind bridge: 00003000-00003fff
   Memory behind bridge: a0000000-a30fffff
   Prefetchable memory behind bridge: 000000ff98000000-000000ff9fffffff
   Secondary status: 66MHz- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort+ <SERR- <PERR-
   BridgeCtl: Parity- SERR+ NoISA- VGA- MAbort- >Reset- FastB2B-
       PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn-
   Capabilities: [40] Subsystem: Intel Corporation Device [8086:0000]
   Capabilities: [60] MSI: Enable- Count=1/2 Maskable+ 64bit-
       Address: 00000020  Data: 0000
       Masking: 00000000  Pending: 00000000
   Capabilities: [90] Express (v2) Root Port (Slot+), MSI 00
       DevCap:   MaxPayload 256 bytes, PhantFunc 0
           ExtTag+ RBE+
       DevCtl:   Report errors: Correctable- Non-Fatal- Fatal- Unsupported-
           RlxdOrd- ExtTag- PhantFunc- AuxPwr- NoSnoop-
           MaxPayload 128 bytes, MaxReadReq 128 bytes
       DevSta:   CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr- TransPend-
       LnkCap:   Port #7, Speed 5GT/s, Width x16, ASPM not supported, Exit Latency L0s <512ns, L1 <4us
           ClockPM- Surprise+ LLActRep+ BwNot+
       LnkCtl:   ASPM Disabled; RCB 64 bytes Disabled- CommClk+
           ExtSynch+ ClockPM- AutWidDis- BWInt- AutBWInt-
       LnkSta:   Speed 5GT/s, Width x16, TrErr- Train- SlotClk+ DLActive+ BWMgmt- ABWMgmt-
       SltCap:   AttnBtn+ PwrCtrl+ MRL+ AttnInd+ PwrInd+ HotPlug- Surprise+
           Slot #128, PowerLimit 0.000W; Interlock+ NoCompl-
       SltCtl:   Enable: AttnBtn- PwrFlt- MRL- PresDet- CmdCplt- HPIrq- LinkChg-
           Control: AttnInd Off, PwrInd Off, Power- Interlock-
       SltSta:   Status: AttnBtn- PowerFlt- MRL- CmdCplt- PresDet+ Interlock-
           Changed: MRL- PresDet- LinkState-
       RootCtl: ErrCorrectable- ErrNon-Fatal- ErrFatal- PMEIntEna- CRSVisible-
       RootCap: CRSVisible-
       RootSta: PME ReqID 0000, PMEStatus- PMEPending-
       DevCap2: Completion Timeout: Range BCD, TimeoutDis+, LTR-, OBFF Not Supported ARIFwd+
       DevCtl2: Completion Timeout: 260ms to 900ms, TimeoutDis-, LTR-, OBFF Disabled ARIFwd-
       LnkCtl2: Target Link Speed: 5GT/s, EnterCompliance- SpeedDis-
            Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS-
            Compliance De-emphasis: -6dB
       LnkSta2: Current De-emphasis Level: -6dB, EqualizationComplete-, EqualizationPhase1-
            EqualizationPhase2-, EqualizationPhase3-, LinkEqualizationRequest-
   Capabilities: [e0] Power Management version 3
       Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0+,D1-,D2-,D3hot+,D3cold+)
       Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-

G5s-Mac-Pro:sbin g5$ sh fast.sh -s 00:03.0
setpci: Unable to parse filter -s Invalid slot number.
Try `setpci --help' for more information.
# Initial PCIe 0.0 x0
setpci: Unable to parse filter -s Invalid slot number.
Try `setpci --help' for more information.
setpci: Unable to parse filter -s Invalid slot number.
Try `setpci --help' for more information.
setpci: Unable to parse filter -s Invalid slot number.
Try `setpci --help' for more information.
# Final PCIe 0.0 x0
G5s-Mac-Pro:sbin g5$ sh fast.sh -s 00:01.0
setpci: Unable to parse filter -s Invalid slot number.
Try `setpci --help' for more information.
# Initial PCIe 0.0 x0
setpci: Unable to parse filter -s Invalid slot number.
Try `setpci --help' for more information.
setpci: Unable to parse filter -s Invalid slot number.
Try `setpci --help' for more information.
setpci: Unable to parse filter -s Invalid slot number.
Try `setpci --help' for more information.
# Final PCIe 0.0 x0
G5s-Mac-Pro:sbin g5$ sh fast.sh -s 00:07.0
setpci: Unable to parse filter -s Invalid slot number.
Try `setpci --help' for more information.
# Initial PCIe 0.0 x0
setpci: Unable to parse filter -s Invalid slot number.
Try `setpci --help' for more information.
setpci: Unable to parse filter -s Invalid slot number.
Try `setpci --help' for more information.
setpci: Unable to parse filter -s Invalid slot number.
Try `setpci --help' for more information.
# Final PCIe 0.0 x0
G5s-Mac-Pro:sbin g5$ sh fast.sh -s 08:00.0
setpci: Unable to parse filter -s Invalid slot number.
Try `setpci --help' for more information.
# Initial PCIe 0.0 x0
setpci: Unable to parse filter -s Invalid slot number.
Try `setpci --help' for more information.
setpci: Unable to parse filter -s Invalid slot number.
Try `setpci --help' for more information.
setpci: Unable to parse filter -s Invalid slot number.
Try `setpci --help' for more information.
# Final PCIe 0.0 x0
I even changed the part number of the RX580 in the bios to get the Orinoco framebuffer (which screwed the operation in Windows because the driver refused to start the card) and still can not get 5GT/s even though the linkCap is 8GT/s

Does anybody have an idea what is going on?
I think the command requires sudo like this:
Code:
sudo ./fast.sh -s 00:03.0
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.