Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.
Status
The first post of this thread is a WikiPost and can be edited by anyone with the appropiate permissions. Your edits will be public.

tsialex

Contributor
Jun 13, 2016
13,455
13,601
Since the PCIe slots of my cMP are working properly and since I was able to convince the vendor who sold me the card on return, I ask you for advice on whether to send me a new card or get my money back.
In the second case, which card do you suggest me to buy?
Highpoint for example? Or other? Thanks!!!
Lot's of reports of recent SYBA/IO-Crest cards not working. I'd get the money back and try to get a SSD7101A-1.
 

Gr1f

macrumors regular
Oct 1, 2009
160
29
Debating on that SYBA/IO-Crest myself for the 7,1 as I'm struggling to find the HighPoint card at anywhere near a reasonable price in EU/Ireland.
 

tsialex

Contributor
Jun 13, 2016
13,455
13,601
Debating on that SYBA/IO-Crest myself for the 7,1 as I'm struggling to find the HighPoint card at anywhere near a reasonable price in EU/Ireland.
For a MP7,1, Sonnet has two cards that fit a lot better than with a MP5,1. Sonnet cards are non managed, but some people prefer it this way.

AFAIK, Sonnet has Europe direct distribution and someone posted what you have to do to get one from the distributor on the thread already.
 

joevt

macrumors 604
Jun 21, 2012
6,967
4,262
I bought this card from Amazon: Startech PEX4M2E1 since I had an extra Samsung 970 Pro. Would that work as a boot drive?
If you have EFI NVMe driver in your EFI firmware or loaded by Driver#### NVRAM variable or loaded by boot loader such as RefindPlus or OpenCore.

Some HighPoint cards may boot without EFI NVMe driver (in EFI, it treats NVMe devices as SCSI) - I still need to test this with the card that I have (HighPoint SSD7505 gen 4) in my MacPro3,1 which doesn't have EFI NVMe driver.
 

Lance Nanek

macrumors member
Jun 23, 2020
31
5
Anyone know how to set the PCIe link speed on an OWC Mercury Helios ThunderBolt 2 dock using setpci?

I'm trying to add external storage to a MacPro6,1 via the Thunderbolt 2 ports. I found several used OWCHELIOS1TB2 Enclosures. Bought some cheap PCIe 3.0 x 4 NVME adapters off amazon:

Plugged in a Sabrent Rocket 4 PCIe 4.0 x 4 512GB:

But unfortunately the whole thing is only running at PCIe 1.0 speeds, 2.5GT/s. System Diagnostics:
Code:
Sabrent Rocket 4.0 500GB:

  Capacity:    500.11 GB (500,107,862,016 bytes)
  TRIM Support:    Yes
  Model:    Sabrent Rocket 4.0 500GB
  Revision:    RKT401.3
  Serial Number:    A5CD0709019183159384
  Link Width:    x4
  Link Speed:    2.5 GT/s
  Detachable Drive:    No
  BSD Name:    disk2
  Partition Map Type:    GPT (GUID Partition Table)
  Removable Media:    No
  S.M.A.R.T. status:    Verified
  Volumes:
EFI:
  Capacity:    209.7 MB (209,715,200 bytes)
  File System:    MS-DOS FAT32
  BSD Name:    disk2s1
  Content:    EFI
  Volume UUID:    0E239BC6-F960-3107-89CF-1C97F78BB46B
disk2s2:
  Capacity:    499.9 GB (499,898,105,856 bytes)
  BSD Name:    disk2s2
  Content:    Apple_APFS

***

pci1987,5016:

  Type: NVM Express Controller
  Driver Installed: Yes
  Tunnel Compatible:  Yes
  Pause Compatible: Yes
  MSI:  Yes
  Bus:  PCI
  Slot: Thunderbolt@236,0,0
  Vendor ID:  0x1987
  Device ID:  0x5016
  Subsystem Vendor ID:  0x1987
  Subsystem ID: 0x5016
  Revision ID:  0x0001
  Serial Number:  A5CD0709019183159384
  Link Width: x4
  Link Speed: 2.5 GT/s


***

Helios:

  Vendor Name:  Other World Computing
  Device Name:  Helios
  Vendor ID:  0x5A
  Device ID:  0xDE06
  Device Revision:  0x1
  UID:  0x005ADE0614A00600
  Route String: 3
  Firmware Version: 25.1
  Port (Upstream):
  Status: Device connected
  Link Status:  0x2
  Speed:  Up to 20 Gb/s x1
  Current Link Width: 0x2
  Cable Firmware Version: 1.0.16
  Cable Serial Number:  C4M032504FLF798AT
  Link Controller Firmware Version: 0.14.0
  Port:
  Status: No device connected
  Link Status:  0x7
  Speed:  Up to 20 Gb/s x1
  Current Link Width: 0x1
  Link Controller Firmware Version: 0.14.0

lspci:
Code:
 \-[0000:00]-+-00.0  Intel Corporation Xeon E7 v2/Xeon E5 v2/Core i7 DMI2 [8086:0e00]
             +-01.0-[10-fe]----00.0-[11-fe]--+-01.0-[13]----00.0  Fresco Logic FL1100 USB 3.0 Host Controller [1b73:1100]
             |                               +-02.0-[b1-fe]----00.0-[b2-fe]--+-00.0-[b3]----00.0  Intel Corporation DSL5520 Thunderbolt 2 NHI [Falcon Ridge 4C 2013] [8086:156c]
             |                               |                               +-03.0-[ea-ee]----00.0-[eb-ee]--+-03.0-[ec]----00.0  Phison Electronics Corporation E16 PCIe4 NVMe Controller [1987:5016]
             |                               |                               |                               +-04.0-[ee]--
             |                               |                               |                               \-05.0-[ed]--
             |                               |                               +-04.0-[d8]--
             |                               |                               +-05.0-[c6]--
             |                               |                               \-06.0-[b4]--

Black Magic benchmark 723MB/s only.

I tried "CAP_EXP+30.w=2:F" then "CAP_EXP+10.w=20:20" on all three by device name and root port without any luck. E.g.:
Code:
speed=2
rootport=00:3
 sudo setpci -s $rootport CAP_EXP+12.w
3103

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

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

 sudo setpci -s $rootport CAP_EXP+12.w
7102
Reported link speed in System Diagnostics is still the same, however. Any help is appreciated!
 

DigitaLife

macrumors regular
Jan 24, 2019
170
13
Italy
Lot's of reports of recent SYBA/IO-Crest cards not working. I'd get the money back and try to get a SSD7101A-1.
Great! Thanks tsialex!
I ordered a Highpoint SSD7101A-1 on Amazon (very expensive... 542 Euro!), but I hope I have solved it definitively!
At this point, since there are slots for up 4 NVMe SSDs in this card I would like some advice.
Could I put an OSx in each disk (e.g.: Mojave on #1, Catalina on #2, Big Sur on #3, Windows 10 on #4) or hold Mojave in a SATA SSD?
And do I install the EFI volume with OC? In a SATA SSD?
Can you give me some advice?
Thanks in advance!
 

joevt

macrumors 604
Jun 21, 2012
6,967
4,262
Anyone know how to set the PCIe link speed on an OWC Mercury Helios ThunderBolt 2 dock using setpci?

I'm trying to add external storage to a MacPro6,1 via the Thunderbolt 2 ports. I found several used OWCHELIOS1TB2 Enclosures. Bought some cheap PCIe 3.0 x 4 NVME adapters off amazon:

Plugged in a Sabrent Rocket 4 PCIe 4.0 x 4 512GB:

But unfortunately the whole thing is only running at PCIe 1.0 speeds, 2.5GT/s. System Diagnostics:
Code:
Sabrent Rocket 4.0 500GB:

  Capacity:    500.11 GB (500,107,862,016 bytes)
  TRIM Support:    Yes
  Model:    Sabrent Rocket 4.0 500GB
  Revision:    RKT401.3
  Serial Number:    A5CD0709019183159384
  Link Width:    x4
  Link Speed:    2.5 GT/s
  Detachable Drive:    No
  BSD Name:    disk2
  Partition Map Type:    GPT (GUID Partition Table)
  Removable Media:    No
  S.M.A.R.T. status:    Verified
  Volumes:
EFI:
  Capacity:    209.7 MB (209,715,200 bytes)
  File System:    MS-DOS FAT32
  BSD Name:    disk2s1
  Content:    EFI
  Volume UUID:    0E239BC6-F960-3107-89CF-1C97F78BB46B
disk2s2:
  Capacity:    499.9 GB (499,898,105,856 bytes)
  BSD Name:    disk2s2
  Content:    Apple_APFS

***

pci1987,5016:

  Type: NVM Express Controller
  Driver Installed: Yes
  Tunnel Compatible:  Yes
  Pause Compatible: Yes
  MSI:  Yes
  Bus:  PCI
  Slot: Thunderbolt@236,0,0
  Vendor ID:  0x1987
  Device ID:  0x5016
  Subsystem Vendor ID:  0x1987
  Subsystem ID: 0x5016
  Revision ID:  0x0001
  Serial Number:  A5CD0709019183159384
  Link Width: x4
  Link Speed: 2.5 GT/s


***

Helios:

  Vendor Name:  Other World Computing
  Device Name:  Helios
  Vendor ID:  0x5A
  Device ID:  0xDE06
  Device Revision:  0x1
  UID:  0x005ADE0614A00600
  Route String: 3
  Firmware Version: 25.1
  Port (Upstream):
  Status: Device connected
  Link Status:  0x2
  Speed:  Up to 20 Gb/s x1
  Current Link Width: 0x2
  Cable Firmware Version: 1.0.16
  Cable Serial Number:  C4M032504FLF798AT
  Link Controller Firmware Version: 0.14.0
  Port:
  Status: No device connected
  Link Status:  0x7
  Speed:  Up to 20 Gb/s x1
  Current Link Width: 0x1
  Link Controller Firmware Version: 0.14.0

lspci:
Code:
\-[0000:00]-+-00.0  Intel Corporation Xeon E7 v2/Xeon E5 v2/Core i7 DMI2 [8086:0e00]
             +-01.0-[10-fe]----00.0-[11-fe]--+-01.0-[13]----00.0  Fresco Logic FL1100 USB 3.0 Host Controller [1b73:1100]
             |                               +-02.0-[b1-fe]----00.0-[b2-fe]--+-00.0-[b3]----00.0  Intel Corporation DSL5520 Thunderbolt 2 NHI [Falcon Ridge 4C 2013] [8086:156c]
             |                               |                               +-03.0-[ea-ee]----00.0-[eb-ee]--+-03.0-[ec]----00.0  Phison Electronics Corporation E16 PCIe4 NVMe Controller [1987:5016]
             |                               |                               |                               +-04.0-[ee]--
             |                               |                               |                               \-05.0-[ed]--
             |                               |                               +-04.0-[d8]--
             |                               |                               +-05.0-[c6]--
             |                               |                               \-06.0-[b4]--

Black Magic benchmark 723MB/s only.

I tried "CAP_EXP+30.w=2:F" then "CAP_EXP+10.w=20:20" on all three by device name and root port without any luck. E.g.:
Code:
speed=2
rootport=00:3
sudo setpci -s $rootport CAP_EXP+12.w
3103

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

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

sudo setpci -s $rootport CAP_EXP+12.w
7102
Reported link speed in System Diagnostics is still the same, however. Any help is appreciated!
I don't think System Information.app updates the PCIe link speed numbers when it changes. Try my pcitree.sh script instead. If you use the script then your output should look something like this:
Code:
┬[0000:00]
├─00:00.0              #                [8086:0e00] Intel Corporation Xeon E7 v2/Xeon E5 v2/Core i7 DMI2
├┬00:01.0-[10-fe]      # g3x8           [8086:    ] Intel root port
│└┬10:00.0-[11-fe]     # g3x8           [    :    ] Pex Upstream
│ ├┬11:01.0-[13]       # g3x4 > g2x1    [    :    ] Pex downstream
│ │└─13:00.0           # g2x1           [1b73:1100] Fresco Logic FL1100 USB 3.0 Host Controller
│ ├┬11:02.0─[b1─fe]    # g3x4 > g2x4    [    :    ] Pex downstream
│ │└┬b1:00.0─[b2─fe]   # g2x4           [8086:    ] Intel Corporation DSL5520 Thunderbolt 2 Bridge Upstream [Falcon Ridge 4C 2013]
│ │ ├┬b2:00.0─[b3]     # g1x4           [8086:    ] Intel Corporation DSL5520 Thunderbolt 2 Bridge Downstream [Falcon Ridge 4C 2013]
│ │ │└─b3:00.0         # g1x4           [8086:156c] Intel Corporation DSL5520 Thunderbolt 2 NHI [Falcon Ridge 4C 2013]
│ │ ├┬b2:03.0─[ea─ee]  # g1x4           [8086:    ] Intel Corporation DSL5520 Thunderbolt 2 Bridge Downstream [Falcon Ridge 4C 2013]
│ │ │└┬ea:00.0─[eb─ee] # g1x4           [8086:    ] Intel Corporation Thunderbolt 2 Bridge Upstream (OWCHELIOS1TB2)
│ │ │ ├┬eb:03.0 [ec]   # g1x4           [8086:    ] Intel Corporation Thunderbolt 2 Bridge Downstream
│ │ │ │└─ec:00.0       # g4x4 > g1x4    [1987:5016] Phison Electronics Corporation E16 PCIe4 NVMe Controller
│ │ │ ├┬eb:04.0 [ee]   # g1x4           [8086:    ] Intel Corporation Thunderbolt 2 Bridge Downstream
│ │ │ └┬eb:05.0 [ed]   # g1x4           [8086:    ] Intel Corporation Thunderbolt 2 Bridge Downstream
│ │ ├┬b2:04.0-[d8]     # g1x4           [8086:    ] Intel Corporation DSL5520 Thunderbolt 2 Bridge Downstream [Falcon Ridge 4C 2013]
│ │ ├┬b2:05.0-[c6]     # g1x4           [8086:    ] Intel Corporation DSL5520 Thunderbolt 2 Bridge Downstream [Falcon Ridge 4C 2013]
│ │ └┬b2:06.0-[b4]     # g1x4           [8086:    ] Intel Corporation DSL5520 Thunderbolt 2 Bridge Downstream [Falcon Ridge 4C 2013]

The root port you tried 00:3 looks to be bus zero device 3, properly written as 00:03.0, and is running at PCIe 3.0 x16 which must be one of the GPUs.

The nvme appears to be at ec:00.0 and is incorrectly running at PCIe 1.0 x4 speed.
The Thunderbolt bridge downstream for the NVMe is at eb:03.0 so that's the port you want to try to retrain.

Code:
retrain () {
    speed=$1
    rootport=$2
    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))
}

retrain 2 eb:03.0
 
Last edited:

tsialex

Contributor
Jun 13, 2016
13,455
13,601
Great! Thanks tsialex!
I ordered a Highpoint SSD7101A-1 on Amazon (very expensive... 542 Euro!), but I hope I have solved it definitively!
At this point, since there are slots for up 4 NVMe SSDs in this card I would like some advice.
Could I put an OSx in each disk (e.g.: Mojave on #1, Catalina on #2, Big Sur on #3, Windows 10 on #4) or hold Mojave in a SATA SSD?
And do I install the EFI volume with OC? In a SATA SSD?
Can you give me some advice?
Thanks in advance!
Please try to be a good forum user and don't hijack threads, for OC questions - it's totally off-topic here - please go to the OC thread.

Btw, I wouldn't even look at BigSur now, lot's of USB problems.
 

Gr1f

macrumors regular
Oct 1, 2009
160
29
Interesting Observation regarding Sabrent NVMe SSDs. While I thought I had 2 identical 1T drives (just thought one had older sticker...duh) turns out one is a Sabrent Rocket 1T and the other is a Sabrent Rocket Q.

What's interesting is that both are in the 7,1 via identical Sabrent 4x PCIe adapters but both give quite different Speed test results.

The Rocket is coming in at 2105 write / 2263 read while the Q initially burst on first 1900 write / 480 read.

Both drop down to under 500 after a few read/writes.

Seems the rocket Q is QLC Nand and the rocket is TLC.

Interesting insight into why here.... from about 10min

 
Last edited:

jofarmer

macrumors member
Jan 18, 2006
50
5
Just to give some feedback: I tried using the WD_Black SN750 2TB (without heatsink) and the Sintec "-C" adapter, and contrary to the wikipost in this thread it did NOT work. Only warm boot would work, cold boot does not.
 

tsialex

Contributor
Jun 13, 2016
13,455
13,601
Just to give some feedback: I tried using the WD_Black SN750 2TB (without heatsink) and the Sintec "-C" adapter, and contrary to the wikipost in this thread it did NOT work. Only warm boot would work, cold boot does not.
MP5,1 and MP6,1 are different, sometimes a blade that works perfectly with a MP5,1 is problematic with a MP6,1 - the focus of this thread is MP5,1 and a lesser degree MP7,1.

For any late-2013 Mac Pro, stick to blades that are commonly used on it. Some WD/SanDisk blades are problematic even with MP5,1.

Please post the exact model and firmware of your SN750, so we can update the first post and warn MP6,1 users of the incompatibility problems.
 

jofarmer

macrumors member
Jan 18, 2006
50
5
Assume your bootrom is 144.0.0. Seems odd, I read reports that a blade with a simple 20 buck Lycom "adapter" boots just fine...
I actually bought the SSD based on good reports, but alas, in my case it did not work.

System Firmware is 426.0.0.0.0 after the upgrade to 11.1
 

Lance Nanek

macrumors member
Jun 23, 2020
31
5
Got some ancient PCIe 2.0 x4 LITEON EP1-KB480 AHCI SSDs today and was able to confirm both the OWC Mercury Helios ThunderBolt 2 enclosure and HLT NGFF(M.2) to PCIe adapter card are cable of Link Width: x4
and Link Speed: 5.0 GT/s on the Mac Pro 6,1.

Will try joevt's setpci instructions to save the Sabrent Rocket 4 SSD next. Thanks for the help!
 

Attachments

  • notes_liteon_benchmark.png
    notes_liteon_benchmark.png
    290.3 KB · Views: 150
  • notes_liteon_AHCI.png
    notes_liteon_AHCI.png
    188 KB · Views: 149
  • notes_liteon_link_speed.png
    notes_liteon_link_speed.png
    153.4 KB · Views: 166
  • Like
Reactions: Amethyst1

joevt

macrumors 604
Jun 21, 2012
6,967
4,262
Got some ancient PCIe 2.0 x4 LITEON EP1-KB480 AHCI SSDs today and was able to confirm both the OWC Mercury Helios ThunderBolt 2 enclosure and HLT NGFF(M.2) to PCIe adapter card are cable of Link Width: x4
and Link Speed: 5.0 GT/s on the Mac Pro 6,1.

Will try joevt's setpci instructions to save the Sabrent Rocket 4 SSD next. Thanks for the help!
Is that normal for AHCI M.2 devices to report as SATA 6 Gbps but give performance higher than 600 MB/s? I guess it makes sense if there's no real SATA connection between the AHCI controller and the flash chips.

It's like with the Thunderbolt downstream bridges and devices that report PCIe 1.0 x4 but there's no actual PCIe connection at that level (only the connections that lead outside the Thunderbolt chip matter - the upstream connection and the PCIe connection to downstream PCIe devices such as an eGPU or USB/Ethernet/FireWire/SATA/NVMe controllers in a dock).
 
  • Like
Reactions: Amethyst1

joevt

macrumors 604
Jun 21, 2012
6,967
4,262
HighPoint SSD7505 notes


Pictures:


Highpoint SSD7505 heatsink fan.JPG Highpoint SSD7505 heatsink thermal pads.JPG Highpoint SSD7505 front overview.JPG Highpoint SSD7505 front populated.JPG Highpoint SSD7505 front closeup.JPG Highpoint SSD7505 back closeup.JPG
PCI.png NVMExpress.png

Setup:

I have the card installed in a Netstor NA255A connected to a MacPro3,1 in slot 2. The NA255A has PCIe 3.0 x8 slots (similar in bandwidth to the PCIe 2.0 x16 of slot 2). PCIe 4.0 x4 is like PCIe 2.0 x16 so I should be able to get near full performance from PCIe 4.0 NVMe devices.
The MacPro3,1 has unmodified firmware.
There are two devices on the card besides the four NVMe devices.
The Catalina System Information.app PCI and NVMExpress tabs do not show the 16 GT/s link speed of the Sabrent Rocket 2TB 4.0. I wonder if Big Sur is the same?

pcitree.sh shows the following:
Code:
┬[0000:00]
├─00:00.0               # g1x4           [8086:4003] [0600] (rev 20) Host bridge               : Intel Corporation 5400 Chipset Memory Controller Hub
├┬00:01.0-[01-17]       # g2x16          [8086:4021] [0604] (rev 20) PCI bridge                : Intel Corporation 5400 Chipset PCI Express Port 1
│└┬01:00.0-[02-17]      # g3x16 > g2x16  [10b5:8747] [0604] (rev ca) PCI bridge                : PLX Technology, Inc. PEX 8747 48-Lane, 5-Port PCI Express Gen 3 (8.0 GT/s) Switch
│ ├┬02:08.0-[03-08]     # g3x8 > g3x4    [10b5:8747] [0604] (rev ca) PCI bridge                : PLX Technology, Inc. PEX 8747 48-Lane, 5-Port PCI Express Gen 3 (8.0 GT/s) Switch
│ │└┬03:00.0-[04-08]    # g3x4           [8086:15ea] [0604] (rev 06) PCI bridge                : Intel Corporation JHL7540 Thunderbolt 3 Bridge [Titan Ridge 4C 2018]
│ │ ├┬04:00.0-[05]      # g1x4           [8086:15ea] [0604] (rev 06) PCI bridge                : Intel Corporation JHL7540 Thunderbolt 3 Bridge [Titan Ridge 4C 2018]
│ │ │└─05:00.0          # g1x4           [8086:15eb] [0880] (rev 06) System peripheral         : Intel Corporation JHL7540 Thunderbolt 3 NHI [Titan Ridge 4C 2018]
│ │ ├┬04:01.0-[06]      # g1x4           [8086:15ea] [0604] (rev 06) PCI bridge                : Intel Corporation JHL7540 Thunderbolt 3 Bridge [Titan Ridge 4C 2018]
│ │ ├┬04:02.0-[07]      # g1x4           [8086:15ea] [0604] (rev 06) PCI bridge                : Intel Corporation JHL7540 Thunderbolt 3 Bridge [Titan Ridge 4C 2018]
│ │ │└─07:00.0          # g1x4           [8086:15ec] [0c03] (rev 06) USB controller            : Intel Corporation JHL7540 Thunderbolt 3 USB Controller [Titan Ridge 4C 2018]
│ │ └┬04:04.0-[08]      # g1x4           [8086:15ea] [0604] (rev 06) PCI bridge                : Intel Corporation JHL7540 Thunderbolt 3 Bridge [Titan Ridge 4C 2018]
│ ├┬02:09.0-[09-15]     # g3x8           [10b5:8747] [0604] (rev ca) PCI bridge                : PLX Technology, Inc. PEX 8747 48-Lane, 5-Port PCI Express Gen 3 (8.0 GT/s) Switch
│ │└┬09:00.0-[0a-15]    # g4x16 > g3x8   [1000:c010] [0604] (rev b0) PCI bridge                : Broadcom / LSI Device
│ │ ├┬0a:00.0-[0b-10]   # g4x16          [1000:c010] [0604] (rev b0) PCI bridge                : Broadcom / LSI Device
│ │ │└┬0b:00.0-[0c-10]  # g4x16          [1000:c010] [0604] (rev b0) PCI bridge                : Broadcom / LSI Device
│ │ │ ├┬0c:10.0-[0d]    # g4x4           [1000:c010] [0604] (rev b0) PCI bridge                : Broadcom / LSI Device
│ │ │ │└─0d:00.0        # g4x4           [1987:5016] [0108] (rev 01) Non-Volatile memory controller : Phison Electronics Corporation E16 PCIe4 NVMe Controller
│ │ │ ├┬0c:14.0-[0e]    # g4x4 > g3x4    [1000:c010] [0604] (rev b0) PCI bridge                : Broadcom / LSI Device
│ │ │ │└─0e:00.0        # g3x4           [1cc1:8201] [0108] (rev 03) Non-Volatile memory controller : ADATA Technology Co., Ltd. XPG SX8200 Pro PCIe Gen3x4 M.2 2280 Solid State Drive
│ │ │ ├┬0c:18.0-[0f]    # g4x4 > g3x4    [1000:c010] [0604] (rev b0) PCI bridge                : Broadcom / LSI Device
│ │ │ │└─0f:00.0        # g3x4           [144d:a804] [0108]          Non-Volatile memory controller : Samsung Electronics Co Ltd NVMe SSD Controller SM961/PM961
│ │ │ └┬0c:1c.0-[10]    # g4x4 > g3x4    [1000:c010] [0604] (rev b0) PCI bridge                : Broadcom / LSI Device
│ │ │  └─10:00.0        # g3x4           [144d:a802] [0108] (rev 01) Non-Volatile memory controller : Samsung Electronics Co Ltd NVMe SSD Controller SM951/PM951
│ │ ├┬0a:0c.0-[11-14]   # g4x16          [1000:c010] [0604] (rev b0) PCI bridge                : Broadcom / LSI Device
│ │ │└┬11:00.0-[12-14]  # g4x16          [1000:c010] [0604] (rev b0) PCI bridge                : Broadcom / LSI Device
│ │ │ ├┬12:14.0-[13]    # g4x1 > g2x1    [1000:c010] [0604] (rev b0) PCI bridge                : Broadcom / LSI Device
│ │ │ │└─13:00.0        # g2x2 > g2x1    [1103:7505] [0104] (rev 01) RAID bus controller       : HighPoint Technologies, Inc. Device
│ │ │ └┬12:15.0-[14]    # g4x1 > g1x0    [1000:c010] [0604] (rev b0) PCI bridge                : Broadcom / LSI Device
│ │ └┬0a:1c.0-[15]      # g4x16          [1000:c010] [0604] (rev b0) PCI bridge                : Broadcom / LSI Device
│ │  └─15:00.0          # g4x16          [1000:c010] [0180] (rev b0) Mass storage controller   : Broadcom / LSI Device
│ ├┬02:10.0-[16]        # g3x8           [10b5:8747] [0604] (rev ca) PCI bridge                : PLX Technology, Inc. PEX 8747 48-Lane, 5-Port PCI Express Gen 3 (8.0 GT/s) Switch
│ │├─16:00.0            # g3x16 > g3x8   [10de:17c2] [0300] (rev a1) VGA compatible controller : NVIDIA Corporation GM200 [GeForce GTX TITAN X]
│ │└─16:00.1            # g3x16 > g3x8   [10de:0fb0] [0403] (rev a1) Audio device              : NVIDIA Corporation GM200 High Definition Audio
│ └┬02:11.0-[17]        # g3x8 > g3x4    [10b5:8747] [0604] (rev ca) PCI bridge                : PLX Technology, Inc. PEX 8747 48-Lane, 5-Port PCI Express Gen 3 (8.0 GT/s) Switch
│  └┬17:00.0-[XX]       # g3x4           [ffff:ffff] [0604]          PCI bridge                : Illegal Vendor ID Device
The PCI ID Repository needs to be updated with the info for some of these devices.

Bus 00, Device 01 is slot 2.
Bus 01 is the upstream bridge of the PEX8747 of the NA255A
Bus 02 is the four downstream bridge of the PEX8747 of the NA255A
Bus 03 is the upstream bridge of a GC-TITAN RIDGE
Bus 09 1000:c010 is the upstream bridge of the PEX88048 (50 lanes, Gen 4) of the SSD7505
The PEX layout of the SSD7505 is different than what we usually see with a PEX - it has two levels of buses instead of the usual single level.
The first level (under the PEX upstream bridge at bus 09) is 16 lanes with three downstream bridges at bus 0A:
  1. upstream bridge at bus 0B, four downstream bridges at bus 0C, four NVMe endpoint devices: the four NVMe devices are connected under this bridge in the next level of buses. 1987:5016 is the Sabrent Rocket 2TB 4.0 which is running at gen 4 speed. All the other NVMe devices are running at gen 3 speed.
  2. upstream bridge at bus 11, two downstream bridges at bus 12, one endpoint device at bus 13: 1103:7505 HighPoint RAID bus controller. Is this an external device connected with a single PCIe 2.0 lane? This maybe where the Marvell 88SE9235 is connected which is a PCIe 2.0 x2 four port SATA 6Gbps device.
  3. end point device at bus 15: 1000:c010 Mass storage controller. Is this a PEX software device?
Bus 16 is a Nvidia Titan X (Maxwell)
Bus 17 is a hidden GC-ALPINE RIDGE. During this boot, I did not execute the command to unhide the Thunderbolt controller.


Booting:

Some HighPoint cards may boot without EFI NVMe driver (in EFI, it treats NVMe devices as SCSI) - I still need to test this with the HighPoint SSD7505 in my MacPro3,1 which doesn't have EFI NVMe driver. It has code in the PEX chip that makes the nvme devices appear as SCSI so they can be booted by the Startup Manager (hold option at boot) without an NVMe driver. The Startup Manager will set the EFI boot device path if you hold the control key and press return on an item. If there's a mystery item in the Startup Manager then doing that will help you discover what it is. I haven't tested the boot from fake SCSI to see if it completes booting. Of course, the EFI device path created by Startup Disk preferences would point to NVMe instead of SCSI, so that method may not boot without NVMe driver (which I could try adding using the Driver#### method). That's another thing to test. Third thing to test is the hardware RAID feature - the PEX chip has code to act as a RAID. Anyway, regardless of the EFI device driver (SCSI) used to start boot.efi, there should be a successful transition to kext device driver (NVMe). The transition waits for the proper system partition to appear as a kext device - the partition is matched by volume UUID I guess.

Using the dumpallbootvars command, here's what the boot variable looks like when selecting a Preboot volume of an APFS container on an NVMe by pressing the control key in the Startup Manager (hold option at boot):
Code:
Boot0080: 1, "", "PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x0)/Pci(0x9,0x0)/Pci(0x0,0x0)/Pci(0x0,0x0)/Pci(0x0,0x0)/Pci(0x1C,0x0)/Pci(0x0,0x0)/Scsi(0x2,0x0)/HD(2,GPT,0686E618-76AB-46CD-AA68-508E81F9B395,0x64028,0x5DA13B80)/VenMedia(BE74FCF7-0B7C-49F3-9147-01F4042E6842,4FA09B303BC86E498E61CB17F0D6A2FA)/\5CF6AC3D-4597-439F-8501-E07149A248C5\System\Library\CoreServices\boot.efi"
The EFI device path is using the UEFI 2.x format. It will appear slightly differently in EFI 1.1 - here's the partition part in EFI 1.1 format:
Acpi(PNP0A03,0)/Pci(1|0)/Pci(0|0)/Pci(9|0)/Pci(0|0)/Pci(0|0)/Pci(0|0)/Pci(1C|0)/Pci(0|0)/Scsi(Pun2,Lun0)/HD(Part2,Sig0686E618-76AB-46CD-AA68-508E81F9B395)
In either case, you see that it is a Scsi device. I have not tried this with the NVMe efi driver installed into the Driver#### nvram variable. Maybe this Preboot volume will appear as an NVMe, or maybe it will appear as both a Scsi and an NVMe.
The path is pointing to the NVMe device at bus 10, not at either of the controllers at bus 13 or 15. So how did a Scsi protocol get attached to an NVMe device?
In EFI, each of the four NVMe devices is a "HighPoint RocketNVMe Controller". Under the fourth at (Device 1C), is attached a "HPT VD0-# SCSI Disk Device" for each NVMe (where # is 0,1,2,3) and a "HPT RCM Device". Under each SCSI device is the partitions. These devices are all controlled by the "HighPoint RocketNVMe driver". There is a "Samsung Electronics NVMe Driver" (probably from the 960 Pro's PCI option rom? I need to dump it to find out) but it's not attached to a device so maybe it got overridden by the Highpoint driver. The device at bus 13 also has an option rom - maybe this is where the Highpoint driver is stored? (need to dump it to find out).

My MacPro3,1 currently cannot boot into Windows using legacy BIOS boot (I have not tried Windows EFI boot). It might be because of the PCI option roms of the Highpoint, or Titan X or something. I should see if I can make an EFI driver to bypass PCI legacy BIOS option roms (my current idea is to just set rom size and location to 0 for each PCI protocol device - it may work if the legacy booter does not read the rom from PCI).


Benchmarks:

Different benchmarks will give different numbers. sequential read usually gives the highest value.
1st highest is AmorphousDiskMark. If you want to see the max speed from your storage device, then click the SEQ1M QD8 button.
2nd is AJA System Test Lite.
3rd is Blackmagic Disk Speed Test.
I've just started using ATTO Disk Benchmark. I like how it shows how different transfer sizes changes performance. The max number is a little less than that from Amorphous Disk Mark. Below are pictures of benchmarks for a Sabrent 2TB Rocket NVMe PCIe 4.0 connected to my MacPro3,1 with a Highpoint SSD7505 (PCIe 4.0 x16 to four M.2 card):
ATTO Sabrent.png ADM Sabrent.png
ATTO Disk Benchmark also has the ability to test multiple disks at once even if they're not in a RAID (My HighPoint SSD7505 currently has 4 NVMe's attached - the max 6 GB/s shows the limit of my PCIe 2.0 slot):
ATTO four NVMe not RAID.png

Noise:
The fan is larger and therefore quieter than the one on the Amfeltec Squid gen 3 carrier.

Heat:
The Amfeltec didn't have a heat sink but this Highpoint does. I haven't measured temperatures in either case.

Software:
Untested. It has the usual web interface for creating hardware RAID. I need to test how it works and if it's bootable.
 
Last edited:

Lance Nanek

macrumors member
Jun 23, 2020
31
5
Is that normal for AHCI M.2 devices to report as SATA 6 Gbps but give performance higher than 600 MB/s? I guess it makes sense if there's no real SATA connection between the AHCI controller and the flash chips.

It's like with the Thunderbolt downstream bridges and devices that report PCIe 1.0 x4 but there's no actual PCIe connection at that level (only the connections that lead outside the Thunderbolt chip matter - the upstream connection and the PCIe connection to downstream PCIe devices such as an eGPU or USB/Ethernet/FireWire/SATA/NVMe controllers in a dock).
When I Google "6gbps in mb/s" it says:
6 Gbps750 MB/s

And the Blackmagic benchmark is giving 746.3 MB/s, so seems to be right on the money? Gigabit is a power of 10 and MB is a power of 2, so the two don't convert cleanly.
 

Lance Nanek

macrumors member
Jun 23, 2020
31
5
More Benchmarks:
MacPro 6,1 -> Apple Thunderbolt 2 to 3 Adapter -> Kensington SD5000T -> GLOTRENDS Thunderbolt 3 NVME Enclosure -> LITEON EP1-KB480 AHCI SSD = 737.9 MB/s

MacPro 6,1 -> Apple Thunderbolt 2 to 3 Adapter -> Kensington SD5200T -> GLOTRENDS Thunderbolt 3 NVME Enclosure -> LITEON EP1-KB480 AHCI SSD = 712.5 MB/s

Amusing the cheap old Mac only dock is faster than the newer Mac+Windows one.
 

Attachments

  • SD5200T_USB.png
    SD5200T_USB.png
    165.5 KB · Views: 120
  • SD5200T_ethernet.png
    SD5200T_ethernet.png
    163.5 KB · Views: 139
  • SD5200T_benchmark.png
    SD5200T_benchmark.png
    246.7 KB · Views: 140
  • SD5200T_AHCI.png
    SD5200T_AHCI.png
    164.4 KB · Views: 136
  • SD5200T_SATA.png
    SD5200T_SATA.png
    187.6 KB · Views: 132
  • SD5200T_Thunderbolt.png
    SD5200T_Thunderbolt.png
    244.7 KB · Views: 132
  • SD5000T_USB.png
    SD5000T_USB.png
    165.4 KB · Views: 119
  • SD5000T_ethernet.png
    SD5000T_ethernet.png
    163.5 KB · Views: 126
  • SD5000T_benchmark.png
    SD5000T_benchmark.png
    245.8 KB · Views: 120
  • SD5000T_AHCI.png
    SD5000T_AHCI.png
    164.4 KB · Views: 142
  • SD5000T_SATA.png
    SD5000T_SATA.png
    187.9 KB · Views: 128
  • SD5000T_thunderbolt.png
    SD5000T_thunderbolt.png
    244.4 KB · Views: 130

Lance Nanek

macrumors member
Jun 23, 2020
31
5
No luck with setpci saving the Sabrent Rocket 4:
Code:
 \-[0000:00]-+-00.0  Intel Corporation Xeon E7 v2/Xeon E5 v2/Core i7 DMI2 [8086:0e00]
             +-01.0-[10-fe]----00.0-[11-fe]--+-01.0-[13]----00.0  Fresco Logic FL1100 USB 3.0 Host Controller [1b73:1100]
             |                               +-02.0-[b1-fe]--
             |                               +-08.0-[12]--
             |                               +-09.0-[63-b0]--
             |                               \-0a.0-[14-62]----00.0-[15-62]--+-00.0-[16]----00.0  Intel Corporation DSL5520 Thunderbolt 2 NHI [Falcon Ridge 4C 2013] [8086:156c]
             |                                                               +-03.0-[4d-51]----00.0-[4e-51]--+-03.0-[4f]----00.0  Phison Electronics Corporation E16 PCIe4 NVMe Controller [1987:5016]
             |                                                               |                               +-04.0-[51]--
             |                                                               |                               \-05.0-[50]--
             |                                                               +-04.0-[3b]--
             |                                                               +-05.0-[29]--
             |                                                               \-06.0-[17]--

Seems to stay the same speed:
Code:
retrain 2 4e:03.0
# Before: PCIe 1.0 x4
#  After: PCIe 1.0 x4

Although after that I went and ran it on every Falcon Ridge address in "sudo lspci -nnvv" in a fresh boot plugged into a different port and did manage to get one odd one that mentioned it supported 5GT/s, but was "downgraded". See attached lspci-nnvv.txt.

Benchmarks:
MacPro 6,1 -> OWC Mercury Helios TB2 -> HLT NGFF M.2 Adapter -> LITEON EP1-KB480 AHCI SSD = 746.3 MB/s
MacPro 6,1 -> Apple Thunderbolt 2 to 3 Adapter -> Kensington SD5000T -> GLOTRENDS Thunderbolt 3 NVME Enclosure -> LITEON EP1-KB480 AHCI SSD = 737.9 MB/s
MacPro 6,1 -> Apple Thunderbolt 2 to 3 Adapter -> Kensington SD5200T -> GLOTRENDS Thunderbolt 3 NVME Enclosure -> LITEON EP1-KB480 AHCI SSD = 712.5 MB/s

MacPro 6,1 -> OWC Mercury Helios TB2 -> HLT NGFF M.2 Adapter -> Sabrent Rocket 4 500GB = 574MB/s
MacPro 6,1 -> Apple Thunderbolt 2 to 3 Adapter -> Kensington SD5000T -> GLOTRENDS Thunderbolt 3 NVME Enclosure -> Sabrent Rocket 4 500GB = 1,194 MB/s

I have three of the Helios enclosures, hoping to put one on each Thunderbolt bus, but it
feels like the LITEON EP1-KB480 chips are too slow, and the Rocket 4 is stuck at PCIe 1.0. Guess I have to find something older than the Rocket - that can still negotiate PCIe 2.0, but newer than the EP1, which is crippled by a SATA III AHCI interface instead of NVME.
 

Attachments

  • glort_benchmark.png
    glort_benchmark.png
    246.8 KB · Views: 152
  • helios_benchmark.png
    helios_benchmark.png
    248.7 KB · Views: 124
  • lspci-nnvv.txt
    203.3 KB · Views: 125

joevt

macrumors 604
Jun 21, 2012
6,967
4,262
When I Google "6gbps in mb/s" it says:
6 Gbps750 MB/s

And the Blackmagic benchmark is giving 746.3 MB/s, so seems to be right on the money? Gigabit is a power of 10 and MB is a power of 2, so the two don't convert cleanly.
SATA uses a 8b/10b encoding like DisplayPort and USB 3.0. This means it takes 10 bits to output a byte.
6 Gb/s * 8b/10b * 1B/8b * 1000M/G = 600 MB/s.

Besides, if the max were 750 MB/s, then 746.3 MB/s is much too near the max - it would mean that SATA has almost no overhead. Not many things have that low of an overhead. For example, PCIe 2.0 x4 is 2000 MB/s but you don't see that get much faster than 1600 MB/s.

power of 2 storage numbers haven't been used by macOS for a very long time. Only RAM is measured in power of 2 these days. For power of 2 numbers, include the lower case I in the units like this:
600 MB/s = 572.2 MiB/s.
No luck with setpci saving the Sabrent Rocket 4:

Although after that I went and ran it on every Falcon Ridge address in "sudo lspci -nnvv" in a fresh boot plugged into a different port and did manage to get one odd one that mentioned it supported 5GT/s, but was "downgraded". See attached lspci-nnvv.txt.
Your lspci doesn't match your -t output and I don't want to try reconstructing the tree from that.


Benchmarks:
MacPro 6,1 -> OWC Mercury Helios TB2 -> HLT NGFF M.2 Adapter -> LITEON EP1-KB480 AHCI SSD = 746.3 MB/s
MacPro 6,1 -> Apple Thunderbolt 2 to 3 Adapter -> Kensington SD5000T -> GLOTRENDS Thunderbolt 3 NVME Enclosure -> LITEON EP1-KB480 AHCI SSD = 737.9 MB/s
MacPro 6,1 -> Apple Thunderbolt 2 to 3 Adapter -> Kensington SD5200T -> GLOTRENDS Thunderbolt 3 NVME Enclosure -> LITEON EP1-KB480 AHCI SSD = 712.5 MB/s

MacPro 6,1 -> OWC Mercury Helios TB2 -> HLT NGFF M.2 Adapter -> Sabrent Rocket 4 500GB = 574MB/s
MacPro 6,1 -> Apple Thunderbolt 2 to 3 Adapter -> Kensington SD5000T -> GLOTRENDS Thunderbolt 3 NVME Enclosure -> Sabrent Rocket 4 500GB = 1,194 MB/s

I have three of the Helios enclosures, hoping to put one on each Thunderbolt bus, but it
feels like the LITEON EP1-KB480 chips are too slow, and the Rocket 4 is stuck at PCIe 1.0. Guess I have to find something older than the Rocket - that can still negotiate PCIe 2.0, but newer than the EP1, which is crippled by a SATA III AHCI interface instead of NVME.
Ok, there are some things left to try:
1) test changing link speed of Liteon in the OWC.
2) do you have a gen 3 NVMe device? If so, then also test that in the OWC.
3) test changing link speed of Liteon in the GLOTRENDS.
4) test changing link speed of Sabrent in the GLOTRENDS.

For each test use sudo lspci -nnvv -s 0c:10.0 | grep -E 'Lnk(Cap|Sta): to check capabilities and status (or use pcitree.sh) - don't forget to change the PCI bus:device.function numbers.

Maybe the problem is the combo of gen 4 NVMe and Thunderbolt 2 enclosure? I don't have a Thunderbolt 2 enclosure to test.

I am able to change the speed of a gen 3 NVMe in a Thunderbolt 3 enclosure:
Code:
getspeed () {
    rootport=$1
    linkstatus=$(sudo setpci -s $rootport CAP_EXP+12.w); echo '#Current: PCIe' $(( 0x$linkstatus & 15)).0 x$(( 0x$linkstatus >> 4 & 31))
}

sudo lspci -nnvt
+-02.0-[ce]----00.0  Intel Corporation JHL7540 Thunderbolt 3 USB Controller [Titan Ridge DD 2018] [8086:15f0]
\-04.0-[d0-d2]----00.0-[d1-d2]--+-01.0-[d2]----00.0  Samsung Electronics Co Ltd NVMe SSD Controller SM951/PM951 [144d:a802]

sudo lspci -nnvv -s d2:00.0 | grep -E "Lnk(Cap|Sta):"
		LnkCap:	Port #0, Speed 8GT/s, Width x4, ASPM L1, Exit Latency L1 <64us
		LnkSta:	Speed 8GT/s (ok), Width x4 (ok)

sudo lspci -nnvv -s d1:01.0 | grep -E "Lnk(Cap|Sta):"
		LnkCap:	Port #1, Speed 8GT/s, Width x4, ASPM L0s L1, Exit Latency L0s <2us, L1 <4us
		LnkSta:	Speed 8GT/s (ok), Width x4 (ok)

retrain 2 d1:01.0
# Before: PCIe 3.0 x4
#  After: PCIe 2.0 x4

getspeed d2:00.0
#Current: PCIe 2.0 x4

And I am able to change the speed of a gen 4 NVMe in a gen 4 PEX:
Code:
sudo lspci -nnvt
           |                               +-09.0-[09-15]----00.0-[0a-15]--+-00.0-[0b-10]----00.0-[0c-10]--+-10.0-[0d]----00.0  Phison Electronics Corporation E16 PCIe4 NVMe Controller [1987:5016]
           |                               |                               |                               +-14.0-[0e]----00.0  ADATA Technology Co., Ltd. XPG SX8200 Pro PCIe Gen3x4 M.2 2280 Solid State Drive [1cc1:8201]
           |                               |                               |                               +-18.0-[0f]----00.0  Samsung Electronics Co Ltd NVMe SSD Controller SM961/PM961 [144d:a804]
           |                               |                               |                               \-1c.0-[10]----00.0  Samsung Electronics Co Ltd NVMe SSD Controller SM951/PM951 [144d:a802]
           |                               |                               +-0c.0-[11-14]----00.0-[12-14]--+-14.0-[13]----00.0  HighPoint Technologies, Inc. Device [1103:7505]

sudo lspci -nnvv -s 0c:10.0 | grep -E 'Lnk(Cap|Sta):'
		LnkCap:	Port #16, Speed 16GT/s, Width x4, ASPM L0s L1, Exit Latency L0s <4us, L1 <32us
		LnkSta:	Speed 2.5GT/s (downgraded), Width x4 (ok)

retrain 3 0c:10.0
# Before: PCIe 4.0 x4
#  After: PCIe 3.0 x4

retrain 2 0c:10.0
# Before: PCIe 3.0 x4
#  After: PCIe 2.0 x4

retrain 1 0c:10.0
# Before: PCIe 2.0 x4
#  After: PCIe 1.0 x4

sudo lspci -nnvv -s 0c:10.0 | grep -E 'Lnk(Cap|Sta):'
		LnkCap:	Port #16, Speed 16GT/s, Width x4, ASPM L0s L1, Exit Latency L0s <4us, L1 <32us
		LnkSta:	Speed 2.5GT/s (downgraded), Width x4 (ok)
 

Lance Nanek

macrumors member
Jun 23, 2020
31
5
Sounds like you are right re SATA. The 6 Gigabit link speed and SATA physical interconnect being claimed by the Thunderbolt AHCI Controller in system diagnostics when a Liteon EP1 SSD are inserted seem to be a lie. Reading the specs, the EP1 seems to use a Marvell 88SS9293 controller. Other products with these often advertise and benchmark higher than single channel SATA speeds:
"
Marvell's new 88SS9293 is another story. Code-named Altaplus, it doubles the theoretical bandwidth with a four-lane interface and a real world performance ceiling that's twice as fast as SATA.
"

And Samsung has an AHCI version of their SM951 SSD that also benchmarks faster than a single SATA III channel.

Controller specs often include higher speeds than a single channel for how fast they can talk to the host:
"
The Marvell 88SE14xx family of PCIe to SATA 6Gb/s host controllers offers an ideal cost effective solution for connecting Serial ATA (SATA) peripherals to a PCI Express (PCIe) 3.0 host, delivering up to 8GB/s bandwidth.
"

So not super surprising you can talk to the AHCI controller faster than a single 1 SATA port.

Kind of surprising the controller is getting away with lying and saying there's a single SATA device back there talking at a lower speed, though. The specs on the controller say you can connect up to 8 NAND chips. So it must be pretending they are a single device to the OS and has no way to report a faster speed for that single virtual device, it being out of spec for SATA III.
 

joevt

macrumors 604
Jun 21, 2012
6,967
4,262
The specs on the controller say you can connect up to 8 NAND chips. So it must be pretending they are a single device to the OS and has no way to report a faster speed for that single virtual device, it being out of spec for SATA III.
Yes, it seems the AHCI interface was made for SATA so it can report only the SATA speeds (1.5, 3, 6 Gbps) but can be used for devices that are faster than SATA.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.