Radxa Rock5 RK3588 SBC: PCIe lanes clarification

@jack investigation/discussion why we’re stuck on CBS already started: https://forum.odroid.com/viewtopic.php?p=352738#p352738

Would be great if you can join the efforts maybe asking Rockchip whether there’s a missing DT property or something that needs to be tweaked in the kernel to get from AHCI_HFLAG_NO_FBS to AHCI_HFLAG_YES_FBS :wink:

1 Like


I asked Rockchip about the issue and posted answer in ODROID forum (since there are people who actually could test). Still hoping you get such a JMB575 thingy to try out with ROCK 5B and the aforementioned patches.


@jack: now it’s time for Radxa to get their things done.

We as community showed how important FIS-based switching vs. CBS is now it’s your turn to fix DT/kernel. :slight_smile:


Sorry, confused a bit. Will M.2 M-key to SATA adapter work? Like this:

Should work as expected. At least JMB585 is confirmed to work with RK3568: https://forum.odroid.com/viewtopic.php?f=212&t=44318

But you should check this thread (it’s not about NVMe issues but PCIe link training which could affect every PCIe card in the M.2 key M slot).

Haven’t tried one but as TK says confirmed to work on RK3568 which is Pcie3.0 x2 lanes which also is the JMB585 from memory.
RK3588 is Pcie3.0 x4 lanes so has surplus.

Has anyone actually tried a bifurcation adapter? I bought an m2 to full size (x16) adapter then used this to try to bifurcate into two 2x lanes slots.

Didn’t work, only the first slot would work, tested with two cards that were known to work. Dmesg did show that it was operating at x2 speeds in the one slot that would detect. If you have an adapter works I’d love a link to it.

Thats Pciex8 card and likely dumb so your 2nd x4 isn’t even wired in as likely your 1st x4 lanes are connected to the x4 of the 1st splitter.

I knew that pcie will negotiate and use whatever is available so I gave it a try knowing it was an 8x. I thought it was interesting that it still negotiated down to 2x, which doesn’t quite match up with your theory as I’d expect it to stay at 4x if it was wired that way.

At any rate, a 4x to two 2x adapter still looks like a unicorn, but I’ll keep looking.

This one is not on JMB585, but ASM1166. I’ve got it and was producing similar output like my hp nvme. I need to find some sata drive (and power for it) to check it with some drive, it may need something extra from kernel.

I don’t know of anything but likely if it is m.2 connector or pciex4 its likely got a better chance.
If one doesn’t exist then maybe Radxa can provide a 2280 splitter card with even better pice3.0 packet switches?

4x PCIe x1

Cheaper on aliexpress but can not find a x2 never looked to see if usb3 m.2 boards exist where even though pciex1 guess you could attach 4 x pcie m.2

This is awesome idea! I also could not find m.2 4x 3.0 to 2x m.2 2x 3.0 thing.
Also 4x splitter would be nice to connect 4x small 2230 nvmes - each on 1x pcie 3.0, that would be extra small soft raid :slight_smile:

This one should be better:


That looks like a PCIe switch based on the chip. I was looking for an actual bifurcation splitter but that’ll probably do too. Thanks for the link!

Now that is a find all we need now is for radxa to make a M.2 version but with a bit of cable and adapter spaghetti that should work.

Bifurcation should make a real cheap card as isn’t it only a pcb that splits the pcie and parallels the vcc and stuff and maybe radxa would.
But either way should be possible now

1 Like

They have a M.2 to PCIE x4 device in the accessories at Allnet China. If you plugged the two together it seems like you’d have something like what you want at least for early testing purposes. It’d be M.2 to PCIE x4 to two M.2 that must have either 1 or 2 PCIE lanes each.

Note, connecting multiple PCI devices to one PCI interface is done either via a PCI switch chip such as ASM2824 (https://www.anandtech.com/show/13022/asmedia-preps-asm2824-pcie-30-switch) or via PCI bifurcation.

The RK3588 specs say that the 4-lane PCIe v3 interface can run both in 1x4 (one PCI device, gets all 4 lanes), 2x2 (two PCI devices, each gets 2 lanes) and 4x1 (four PCI devices, each gets 1 lane).

For PCI bifurcation to work, must the RK3588 / the Linux kernel running on it have particular settings? Did anyone have actual success with it?

1 Like

Yeah it needs a DTS overlay and a reboot, but that’s all

Is anyone aware of any adapters that go from M.2 E-key to PCIe x1 over a USB3 connector, basically an E-key version of this: