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 (5.14 kernel, Openbox desktop) for general purpose daily PC.
  • PinePhone BraveHeart now v1.2b 3/32Gb daily driver, dual boot via p-boot with Mobian/f2fs/Phosh on eMMC, Arch/ext4/Phosh on SDcard
  • PinePhone v1.2a 2G/16Gb that needs USB board replaced
#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 (5.14 kernel, Openbox desktop) for general purpose daily PC.
  • PinePhone BraveHeart now v1.2b 3/32Gb daily driver, dual boot via p-boot with Mobian/f2fs/Phosh on eMMC, Arch/ext4/Phosh on SDcard
  • PinePhone v1.2a 2G/16Gb that needs USB board replaced
#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: 513)


Possibly Related Threads…
Thread Author Replies Views Last Post
  ROCKPro64 DOA ajtravis 3 155 12-01-2021, 07:41 PM
Last Post: Rocklobster
  RockPro64 doesn't boot when PCIe to M.2 adapter is installed Cerberus 3 154 11-27-2021, 11:38 PM
Last Post: Cerberus
  ROCKPro64 with 16 ports SATA controller ZeblodS 17 12,279 10-21-2021, 01:16 PM
Last Post: fieni
  Rockpro64 Sata Card kills itself jerry110 33 19,720 10-20-2021, 04:36 AM
Last Post: fieni
  RockPro64 has bad Memory (Software sogfaults and kernel panics) kop316 20 9,568 08-04-2021, 07:42 PM
Last Post: t4_4t
  rockpro64 13 megapixel camera Aycaramba 8 5,796 05-18-2021, 05:40 AM
Last Post: VictorSchonk
  zfs on rockpro64 - any dual nvme PCI adapter for software raid ? romadr 0 656 04-22-2021, 02:59 PM
Last Post: romadr
Question 1U Rackmount Case for ROCKPro64 tuaris 3 1,819 02-18-2021, 08:09 PM
Last Post: TRS-80
  DHT22 on Rockpro64 {-DesT-} 0 853 02-08-2021, 01:20 PM
Last Post: {-DesT-}
  case for RockPro64 + PCI-E M.2 NVMe Card? AndyOfLinux 9 5,851 01-05-2021, 05:05 PM
Last Post: kuleszdl

Forum Jump:


Users browsing this thread: 1 Guest(s)