Radxa M.2 E key to SATA breakout card

I made a little PCB which splits the x4 Lanes into 2x2:


I haven’t tested it yet. I ordered the wrong thickness (should be .8mm, is 1.0mm) and i still need to find out how to modify the PCI-E configuration in Linux. I’m still not sure what to do with the signals wake, clkreq and perst because they only exist once on the Radax M.2 port. The pins on the RK3588 intended for this signals for the second PCE-E port are already used otherwise
In the end it should look something like this:

It’s intended for a NAS with a PCI-E to SATA adapter and an NVME SSD

5 Likes

The second one is totally worth its money, for m.2 to x16 slot

I use this 15€ one for my nas-build with
SATA controller: JMicron Technology Corp. JMB58x AHCI SATA controller
for a month without any problems so far.
grafik.

@Semi This is a great idea, can you please keep us updated. Thank you very much.
The original M.2 E key to SATA breakout card is out of stock at allnetchina, does maybe some mod know if another production batch is planned soon?

This is exactly what I meant :slight_smile:
I would just place m2 on left of rock5 m.2 or rotated by 180 degrees on the right side so it would not extend of sbc.

I think that also 2x + 1x + 1x would be nice product and maybe 1x1x1x1x (but this one for smaller nvmes like 2230 modules that are cheaper and much more faster than sd cards today.

Any progress on Your m.2 splitter card? :slight_smile:

Yes i did make some progress. I made a new PCB which now fits completely under the Rock5. I am able to boot from an NVME-ssd connected to two lanes while a JMB585 sata controller is connected to the other two lanes. I’m planning to use it as a NAS but i have only made some experiments, so i can’t say anything about reliability, especially since the power stage was designed for only one device.


You can have a look at the files here:
Files (altium.com)

10 Likes

Looks just perfect, thanks for sharing this!
@jack @RadxaYuntian @hipboi @setq please take a look at this, any advices or similar product planned for RK3588 boards?
There should be also possible to do 1x 1x 2x board
@semi thanks for your hard work, looking forward for any test result too :slight_smile:

1 Like

@Semi
Thank you very much for sharing your design with us, it looks perfect and I am happy to try out a solution similar to yours, using the Rock 5 as a NAS with Sata and a NVME.

1 Like

I tested two 5-Port jmb585 controllers in m.2 format. I consistently get problems after a couple of hours, especially if I move around a lot of data or read a lot of data (test case is usually first moving a couple hundred gb from one drive to another and then scan a plex library). Timeouts, drives spinning down and spinning up, finally leading to readonly failing filesystems. I ruled out: cabling, drives, cooling of the jmb chip (still not sure, that’s a ridiculous small heatsink), and power supply.
I’m using armbian, booting from sd, rootfs on drive 1 (SSD) and the 4 others are spinning rust.
Anyone else having problems? I’ll attach a log once i’m back at my main workstation.

This adapter looks interesting for me, have you tested two nvme ssd on this?

@Semi Have you thought of using an ASM2812 (or PEX8712 / PEX8714) PCIe Gen3 Packet Switch to get either 2x4 or 4x2?

I also wonder whether having 1x4 and 4x1 with such a switch is possible so that we can have a full x4 slot for either ssd or gpu and four x1 slot for wifi card, sata card, or even multiple 2.5GbE (or 5GbE) LAN card.

@dominik do you think it is possible to do a 3 slot splitter that can work either in 2x 2x or 2x 1x 1x?

For example first two slot will be 2x slot, if both slot has 2 lanes device plugged in, the third slot will not work, but if the second slot got a 1-lane device plugged in, we can plug a 1-lane device on the third slot and config the rock 5b in 2x 1x 1x

Without pcie switch, two 2x 2-lane PCIe is possible on current 5B. Nice work indeed. @Semi

2 Likes

Have You tried that with @semi extension or just on m.2 port?
JMB585 is same as the one from quad sata hat by radxa and also wired with pcie on rock4 or rock3a boards. Take a look at this thread for some other issue, both probably caused by same thing?

1 Like

should be possible as far as I know, but powering up that may be another issue here…

1 Like

Radxa used available clocks for different peripheral.
Rk3588 supports 4, 2-2, 2-1-1, 1-1-1-1, but Rock5b only 4, 2-2.

(i may be wrong)

Is it okay to have different length between of RX_N and RX_P traces? (the differential pair within one lane)

What is the reason that the Rock5B can’t do 4x1 despite the general capabilities of the RK3588? Can someone please confirm this?

The datasheet states even 1 more mode: 1x4, 2x2, 4x1, 1x2+2x1.

1 Like

Thanks for your great work semi! Really appreciate it and i actually had get this board made too. However, i was stucked in utilizing this board as i cannot get the kernel actually recognize both of the pcie slot. Did you actually get it working? Could you share more information on how to get the kernel to use both of the board? Really appreciate your kind help!

I planed to use rock 5b with 10gbps nic and a ssd as NAS.