Rockpro64 PCI-Express Issue.
#1
http://files.pine64.org/doc/rockpro64/ro...21-SCH.pdf
"PCIe x4"-page 27

Please refer to the above page
What we want to pay attention to is the series of parts attached to the signal "PCIE_RX3P / PCIE_RX3P".
(These parts are not a typographical mistake in the circuit diagram. These parts are actually mounted.)

----

I would like to ask someone with hardware experience.
Is it allowed to add such parts to high-speed signal lines that require strict impedance matching?
In the first place, what is the significance of adding these parts?

If such a component is added to a high-speed signal line such as "PCIEx"
The signal amplitude that passes is greatly reduced, and it can be presumed that the eye pattern at the receiving end will be severe.
And all cards of type "x4" are actually affected.
For example, "nvme", but it goes without saying that the impact is not limited to this.

I own 3 "rockpro64" units. (2 units are unstable or limited)
And I actually removed the parts described above for these.
The result is as expected,
It was confirmed that all three units were operating stably, including two units that were originally unstable (crash or limited-Link).
---

Another product, for example:
"pinebookpro_v2.1_mainboard_schematic.pdf"
Does not include the parts described above.
And it is the same for other manufacturers.
From this, it is clear that these additional parts are not due to restrictions in "RK3399".

I think it is a complete mistake in circuit design.
Perhaps they forgot to remove the parts that were added for operation verification at the prototype stage.
#2
Hello!

Xalius and I have both taken a look at the schematics and agree that the extra components on the RX3 pair shouldn't be there.

Glad to hear that once you removed them, things started working as epected and that it fixed your devices! Nice find!

We will pass this on and hopefully have it fixed for the next release.

M.
#3
> Xalius and I have both taken a look at the schematics and agree that the extra components on the RX3 pair shouldn't be there.

Thank you for checking the items I pointed out.

---

Because it might help someone,
The confirmed environment is specifically shown below.

NVME(256GB):
https://www.amazon.com/Intel-760P-256GB-...B078VBL3T9
https://www.amazon.com/dp/B07KZ4TFRS/ref...UTF8&psc=1
Controler: Silicon Motion SM2262

NVME-Adapter:
https://store.pine64.org/?product=rockpr...rface-card
https://www.amazon.co.uk/Taoytou-NVME-Ex...9&sr=8-163

The second adapter has a regulator.
This was selected with reference to the following report.
Unfortunately, it was not effective in my environment.
https://forum.pine64.org/showthread.php?...2#pid51072

---

We can understand from my example,
That is, there is little difference in whether them (my 3 units) work stably.

Thinking paradoxically about this,
even one unit that seems to be stable in its original state is suspicious.

---
Finally.
Removing parts without damaging the board involves some risk.
I don't think anyone can do it easily.

If you feel suspicious, try limiting it ("dtb") in the device-tree.
In this way there is no risk of breaking the board.
Although performance is degraded, it is much better than crashing and losing data.

Unfortunately, for cards that only work with x4 (cards that do not support x2 x1),
There is no way to rescue with software alone.
Let's give up.
#4
(11-19-2019, 07:34 PM)t4_4t Wrote: Finally.
Removing parts without damaging the board involves some risk.
I don't think anyone can do it easily.

Really interesting thread, thank you. A shame it is difficult to remove the parts: I was tempted to have a go but have yet to find the correct items on the board (presume R89506/7 and C50007/8). If you have any hints they would be welcome.

Although it seems I have a lucky board.
  • ROCKPro64 v2.1 2GB, 16Gb eMMC for rootfs, SX8200Pro 512GB NVMe for /home, HDMI video & sound, Bluetooth keyboard & mouse. Arch (6.2 kernel, Openbox desktop) for general purpose daily PC.
  • PinePhone Pro Explorer Edition, daily driver, rk2aw & U-boot on SPI, Arch/SXMO & Arch/phosh on eMMC
  • PinePhone BraveHeart now v1.2b 3/32Gb, Tow-boot with Arch/SXMO on eMMC
#5
> Although it seems I have a lucky board.
In the case of a lucky board, there is no way to check the effect.

In my case, the symptoms appeared at the "boot" stage, so it was easy to check the effect.
unit 1: 10/10 @ x4 / Gen2
unit 2: 10/10 @ x2 / Gen2
unit 3:  3/10 @ x4 / Gen2, x4 / Gen1, x2 / Gen2, or Crash.

---
The component of interest is near the "PCI-Express" connector.
The parts are very small,
You must assume that the removed parts cannot be restored.

I haven't confirmed it by spice simulation,
I think "C50007 / C50008" has little or no effect.
In fact, I have left these two parts as they are.
(The inserted capacitance for the GHz signal is 100nF. Even if 100nF is changing to 50nF, it is within the margin of error)

I first tried from the "R89506 / R89507" short (0Ω), which can be expected to be effective without removing the parts.
This change alone was sufficient to confirm the effect. (unit 2: 10/10 @ x4 / Gen2)
I was able to confirm the effect as expected, and then I removed all the remaining resistances、I did the same for all units.
#6
> I was tempted to have a go but have yet to find the correct items on the board (presume R89506/7 and C50007/8).
> We welcome any hints.

I don't have a way to present high resolution photos.
So refer to the image below.

---
https://www.cnx-software.com/wp-content/...-Large.jpg
Image size is 4648 x 3082

The extra components of the RX3 pair are in the rectangle indicated by the coordinates below.
(Left, top) = (1840, 2360) <-> (right, bottom) = (2040, 2480)
#7
(11-20-2019, 09:44 AM)t4_4t Wrote: > I was tempted to have a go but have yet to find the correct items on the board (presume R89506/7 and C50007/8).
> We welcome any hints.

I don't have a way to present high resolution photos.
So refer to the image below.

---
https://www.cnx-software.com/wp-content/...-Large.jpg
Image size is 4648 x 3082

The extra components of the RX3 pair are in the rectangle indicated by the coordinates below.
(Left, top) = (1840, 2360) <-> (right, bottom) = (2040, 2480)

Thanks so much for the details - one day, perhaps when my PinePhone can be a backup PC, I will have a go Smile
  • ROCKPro64 v2.1 2GB, 16Gb eMMC for rootfs, SX8200Pro 512GB NVMe for /home, HDMI video & sound, Bluetooth keyboard & mouse. Arch (6.2 kernel, Openbox desktop) for general purpose daily PC.
  • PinePhone Pro Explorer Edition, daily driver, rk2aw & U-boot on SPI, Arch/SXMO & Arch/phosh on eMMC
  • PinePhone BraveHeart now v1.2b 3/32Gb, Tow-boot with Arch/SXMO on eMMC
#8
If you are having trouble with PCIe detection and a specific device, I compiled an older mrfixit2001 kernel that works for my device (Silicon Image SiI 3132) whereas the newer kernels do not detect the root PCIe either.

Try the debs.tar.gz here:
https://github.com/digitalsanity/rockchi...-pcie-test
#9
(11-19-2019, 08:02 AM)maya.b Wrote: Hello!

Xalius and I have both taken a look at the schematics and agree that the extra components on the RX3 pair shouldn't be there.

Glad to hear that once you removed them, things started working as epected and that it fixed your devices! Nice find!

We will pass this on and hopefully have it fixed for the next release.

M.

Good Morning,

Has there been any official word on an engineering change to fix this?
I've seen the ECN posted for the original revision of the board to fix 3.3v to PCIe.
I understand this would be a bit more involved, but I think it deserves the attention.

PCIe is really twitchy on the rockpro64.
#10
(04-17-2020, 05:46 AM)pgwipeout Wrote:
(11-19-2019, 08:02 AM)maya.b Wrote: Hello!

Xalius and I have both taken a look at the schematics and agree that the extra components on the RX3 pair shouldn't be there.

Glad to hear that once you removed them, things started working as epected and that it fixed your devices! Nice find!

We will pass this on and hopefully have it fixed for the next release.

M.

Good Morning,

Has there been any official word on an engineering change to fix this?
I've seen the ECN posted for the original revision of the board to fix 3.3v to PCIe.
I understand this would be a bit more involved, but I think it deserves the attention.

PCIe is really twitchy on the rockpro64.

I've just conducted surgery on my rockpro64 and did the following:
Removed R89508, R89509, R89510, and R89511.
Jumpered across R89506 and C50007.
Jumpered across R89506 and C50007.

This effectively makes RX3P/N as if they were electrically the same as the other RX data pairs.

PCIe performance is improved with 4x+ cards, and it is more stable.


.jpg   rockpro64-pcie-fix.jpg (Size: 176.6 KB / Downloads: 1,250)


Possibly Related Threads…
Thread Author Replies Views Last Post
  ROCKPro64 Battery Power Supply hoarfrosty 12 4,162 04-01-2024, 10:24 PM
Last Post: nano2
  Powering on the Rockpro64 JPT223 1 1,294 09-24-2023, 12:23 PM
Last Post: hoarfrosty
  ROCKPro64 with 16 ports SATA controller ZeblodS 19 29,116 12-18-2022, 06:25 PM
Last Post: heyghoge
  Using RPI hat on RockPro64? misterc 0 1,123 12-16-2022, 02:05 PM
Last Post: misterc
  GPIO on the RockPro64 - all pins high? colinmarc 2 2,187 11-18-2022, 10:20 AM
Last Post: colinmarc
  ROCKPro64 DOA ajtravis 8 8,132 11-08-2022, 03:40 AM
Last Post: ajtravis
  RockPro64 not booting up mvicha@gmail.com 0 1,425 09-19-2022, 07:35 AM
Last Post: mvicha@gmail.com
  GPIO Expander HAT for ROCKPro64 and Quartz64 CounterPillow 7 6,612 07-18-2022, 10:05 PM
Last Post: zer0sig
  RockPro64 premium aluminium casing justwantin 2 2,715 05-27-2022, 06:51 PM
Last Post: justwantin
  charging 3 rockpro64 from single source rpt312 1 2,096 05-16-2022, 02:34 AM
Last Post: dukla2000

Forum Jump:


Users browsing this thread: 4 Guest(s)