ROCK 5B Debug Party Invitation

it’s great that you did it.
the SAS standard had no use in PCIe 2 but with PCIe 3 it becomes fun and gives a lot of freedom.
Anyway, I’m glad to hear that it works.

Just in case. That wasn’t SAS. That was NVMe

P.S. I only now noticed, that second pcie is E-key, and now i need to find an adapter to make him b key…

Hi,
I finally received my 2.5/5/10G RJ45 NIC for testing. It’s a TP-Link TX-401 equipped with an Aquantia AQC107 chip:
02:00.0 Ethernet controller [0200]: Aquantia Corp. AQC107 NBase-T/IEEE 802.3bz Ethernet Controller [AQtion] [1d6a:07b1] (rev 02)

IMG_1311s

Thus I could run some quic tests to validate the 2.5G capability of the Rock5B with it. Well, to put it short, I find that Realtek has made lots of progress, as I was expecting to see traffic drops, hangs or anything but on the opposite, it went very well, with 2.35 Gbps of HTTP traffic flowing in each direction. I monitored the CPU as well and it reached 16-17%, knowing that both the client and the server were running on the board, all this is extremely correct:

Thus my conclusion here is that this board, out of the box, is already very capable as an application server, file server or networked equipment. Maybe even used as a single-port firewall via 802.1q port tagging would to a great job. And in any case this Realtek chip is way ahead of the dwmac controller usually found on such families of SoCs, so it was a good decision to sacrifice one PCIe lane instead of using the internal NICs. The board could possibly even be extended via the second M.2 slot if a 5GbE NIC was available in this format (e.g. using the AQC107 chip above maybe or rather its little brother AQC108 which is limited to 5GbE and could make optimal use of a single PCIe3 lane).

3 Likes

From reading rk_pm_callback_power_on in mali_kbase_config_rk.c, I’ve found a workaround which allows removing kbase to work without causing a kernel panic:

# echo 1 >/sys/kernel/debug/regulator/vdd_gpu_s0/enable
# rmmod bifrost_kbase

At the moment, it is unlikely to be useful for anyone except for myself, but once Panfrost becomes more usable…

2 Likes

For those interested in inexpensive network extensions, I’ve found an M.2 A+E RTL8125 board for ~20 EUR which should be compatible with the M.2 slot designed for the WiFi board on the top side: https://www.aliexpress.com/item/1005004166784408.html
Since they’re using passive RJ45 jacks and the transformers are on the board, there’s no room for a second chip nor the PCIe bridge that the PCIe bus would easily support, but that allows to easily add a second port without taking much space, if needed.

I’ve also found an M.2 A+E dual-sata3 board for ~14 EUR: https://www.aliexpress.com/item/1005003545144525.html

It’s really great that this SBC doesn’t impose a WiFi chip by default and leaves the port spare like this, that makes it particularly modular and more extensible than what’s usually found with SBCs.

It’s getting tempting to move my file server to this board, but I’ll rather wait for mainline support to appear first or I know I’ll eventually regret it.

3 Likes

tl;dr - 1 core of rk3588 is enough for 10G channel and it have a lot of space for other tasks.

So after a bit of learnings I was able to get my NC552SFP running on Rock5 as well. Since I have discovered that second pcie is E slot and I don’t have e --> pcie expander I’m waiting for one from Ali.
Since e slot is just PCIe 2.1 x1, which means 4Gbit/s at max. Not 10G, but still more than 2.5Gbit

In meantime here is 10G results (connection throught mikrotik CRS305-1G-4S+IN):

[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-60.00  sec  65.7 GBytes  9.40 Gbits/sec    3             sender
[  5]   0.00-60.00  sec  65.7 GBytes  9.40 Gbits/sec                  receiver

image

whole logs

CPU:

iperf3:

root@rock-5b:/home/rock# iperf3 -c 192.168.1.38 -t 60
Connecting to host 192.168.1.38, port 5201
[  5] local 192.168.1.50 port 39420 connected to 192.168.1.38 port 5201
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec  1.09 GBytes  9.38 Gbits/sec    3   1.14 MBytes
[  5]   1.00-2.00   sec  1.09 GBytes  9.40 Gbits/sec    0   1.25 MBytes
[  5]   2.00-3.00   sec  1.09 GBytes  9.40 Gbits/sec    0   1.25 MBytes
[  5]   3.00-4.00   sec  1.09 GBytes  9.40 Gbits/sec    0   1.25 MBytes
[  5]   4.00-5.00   sec  1.09 GBytes  9.40 Gbits/sec    0   1.26 MBytes
[  5]   5.00-6.00   sec  1.09 GBytes  9.40 Gbits/sec    0   1.27 MBytes
[  5]   6.00-7.00   sec  1.09 GBytes  9.40 Gbits/sec    0   1.27 MBytes
[  5]   7.00-8.00   sec  1.09 GBytes  9.40 Gbits/sec    0   1.28 MBytes
[  5]   8.00-9.00   sec  1.09 GBytes  9.40 Gbits/sec    0   1.28 MBytes
[  5]   9.00-10.00  sec  1.09 GBytes  9.40 Gbits/sec    0   1.29 MBytes
[  5]  10.00-11.00  sec  1.09 GBytes  9.40 Gbits/sec    0   1.29 MBytes
[  5]  11.00-12.00  sec  1.09 GBytes  9.40 Gbits/sec    0   1.29 MBytes
[  5]  12.00-13.00  sec  1.09 GBytes  9.40 Gbits/sec    0   1.30 MBytes
[  5]  13.00-14.00  sec  1.09 GBytes  9.40 Gbits/sec    0   1.30 MBytes
[  5]  14.00-15.00  sec  1.09 GBytes  9.40 Gbits/sec    0   1.30 MBytes
[  5]  15.00-16.00  sec  1.09 GBytes  9.40 Gbits/sec    0   1.31 MBytes
[  5]  16.00-17.00  sec  1.09 GBytes  9.40 Gbits/sec    0   1.31 MBytes
[  5]  17.00-18.00  sec  1.09 GBytes  9.40 Gbits/sec    0   1.40 MBytes
[  5]  18.00-19.00  sec  1.09 GBytes  9.40 Gbits/sec    0   1.51 MBytes
[  5]  19.00-20.00  sec  1.09 GBytes  9.41 Gbits/sec    0   2.33 MBytes
[  5]  20.00-21.00  sec  1.09 GBytes  9.40 Gbits/sec    0   2.33 MBytes
[  5]  21.00-22.00  sec  1.09 GBytes  9.40 Gbits/sec    0   2.33 MBytes
[  5]  22.00-23.00  sec  1.09 GBytes  9.40 Gbits/sec    0   2.33 MBytes
[  5]  23.00-24.00  sec  1.09 GBytes  9.40 Gbits/sec    0   2.33 MBytes
[  5]  24.00-25.00  sec  1.09 GBytes  9.40 Gbits/sec    0   2.33 MBytes
[  5]  25.00-26.00  sec  1.09 GBytes  9.41 Gbits/sec    0   2.33 MBytes
[  5]  26.00-27.00  sec  1.09 GBytes  9.40 Gbits/sec    0   2.33 MBytes
[  5]  27.00-28.00  sec  1.09 GBytes  9.40 Gbits/sec    0   2.33 MBytes
[  5]  28.00-29.00  sec  1.09 GBytes  9.40 Gbits/sec    0   2.33 MBytes
[  5]  29.00-30.00  sec  1.09 GBytes  9.40 Gbits/sec    0   2.33 MBytes
[  5]  30.00-31.00  sec  1.09 GBytes  9.40 Gbits/sec    0   2.33 MBytes
[  5]  31.00-32.00  sec  1.09 GBytes  9.40 Gbits/sec    0   2.33 MBytes
[  5]  32.00-33.00  sec  1.09 GBytes  9.40 Gbits/sec    0   2.33 MBytes
[  5]  33.00-34.00  sec  1.09 GBytes  9.40 Gbits/sec    0   2.33 MBytes
[  5]  34.00-35.00  sec  1.09 GBytes  9.40 Gbits/sec    0   2.33 MBytes
[  5]  35.00-36.00  sec  1.09 GBytes  9.40 Gbits/sec    0   2.33 MBytes
[  5]  36.00-37.00  sec  1.09 GBytes  9.40 Gbits/sec    0   2.33 MBytes
[  5]  37.00-38.00  sec  1.09 GBytes  9.40 Gbits/sec    0   2.33 MBytes
[  5]  38.00-39.00  sec  1.09 GBytes  9.40 Gbits/sec    0   2.33 MBytes
[  5]  39.00-40.00  sec  1.09 GBytes  9.40 Gbits/sec    0   2.33 MBytes
[  5]  40.00-41.00  sec  1.09 GBytes  9.40 Gbits/sec    0   2.33 MBytes
[  5]  41.00-42.00  sec  1.09 GBytes  9.40 Gbits/sec    0   2.33 MBytes
[  5]  42.00-43.00  sec  1.09 GBytes  9.40 Gbits/sec    0   2.33 MBytes
[  5]  43.00-44.00  sec  1.09 GBytes  9.40 Gbits/sec    0   2.33 MBytes
[  5]  44.00-45.00  sec  1.09 GBytes  9.40 Gbits/sec    0   2.33 MBytes
[  5]  45.00-46.00  sec  1.09 GBytes  9.40 Gbits/sec    0   2.33 MBytes
[  5]  46.00-47.00  sec  1.09 GBytes  9.40 Gbits/sec    0   2.33 MBytes
[  5]  47.00-48.00  sec  1.09 GBytes  9.40 Gbits/sec    0   2.33 MBytes
[  5]  48.00-49.00  sec  1.09 GBytes  9.40 Gbits/sec    0   2.33 MBytes
[  5]  49.00-50.00  sec  1.09 GBytes  9.40 Gbits/sec    0   2.33 MBytes
[  5]  50.00-51.00  sec  1.09 GBytes  9.40 Gbits/sec    0   2.33 MBytes
[  5]  51.00-52.00  sec  1.09 GBytes  9.40 Gbits/sec    0   2.33 MBytes
[  5]  52.00-53.00  sec  1.09 GBytes  9.40 Gbits/sec    0   2.33 MBytes
[  5]  53.00-54.00  sec  1.09 GBytes  9.40 Gbits/sec    0   2.33 MBytes
[  5]  54.00-55.00  sec  1.09 GBytes  9.40 Gbits/sec    0   2.33 MBytes
[  5]  55.00-56.00  sec  1.09 GBytes  9.40 Gbits/sec    0   2.33 MBytes
[  5]  56.00-57.00  sec  1.09 GBytes  9.40 Gbits/sec    0   2.33 MBytes
[  5]  57.00-58.00  sec  1.09 GBytes  9.40 Gbits/sec    0   2.33 MBytes
[  5]  58.00-59.00  sec  1.09 GBytes  9.40 Gbits/sec    0   2.33 MBytes
[  5]  59.00-60.00  sec  1.09 GBytes  9.40 Gbits/sec    0   2.33 MBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-60.00  sec  65.7 GBytes  9.40 Gbits/sec    3             sender
[  5]   0.00-60.00  sec  65.7 GBytes  9.40 Gbits/sec                  receiver

iperf Done.

Hi @willy and @Dante4
The m.2 E key slot only features PCIe 2.0 (and SATA 3 and USB 3). Since PCIe 2.0 only has a raw data rate if 5 Gbit/s, you will not be able to saturate either a SATA 3 interface (the JMB582 controller is connected via PCIe) nor the 10G NIC… :confused:
Still great though that we are at all able to use those interfaces freely!
I was looking for some time whether there is something that could convert the m.2 m key slot with 4x PCIe 3.0 to four standard PCIe 1x slots. Sadly I have not found anything yet… Do you happen to known whether something like this exists?

2 Likes

Has anyone tested powering the 5B using 5v on the gpio?

Ah indeed, PCIe 2 will reduce the bandwidth. But for a NAS for example it’s no big deal since you don’t need much more BW on SATA than on Ethernet anyway.

Regarding your quest of x4 -> 4 times x1, I think you should look for a board equipped with a PCIe bridge. Maybe one of these boards taking PCIe x4/x8/x16 and providing 2 or 4 M2 connectors would have exactly such a bridge. You’d still have to convert the M2 ports to PCIe so that requires a lot of adapters. However what’s nice with a bridge is that you don’t need to reserve bandwidth. You can have it full on any bus, but lowered once the shared path it saturated (what’s typically found on a number of dual-port NICs).

1 Like

after the blows, it’s completely stupid, PCie Key E is unusable. it’s a vacant M.2 port!
I don’t know what to put on it that is relevant.
I hope to succeed in my bifurcations and not only in Nvme on the PCIEV3.

Hmmm this board is for the bottom M2 port, not the top one. I understood you need key E there (for which I only found single-port NICs as linked to above).

Yes I know. Literally said it in my post. Btw, 5 GT/s, it’s not the same as Gbit/s. It’s 4 Gbits/s raw and since it’s using 8/10b coding - the max speed is 3.2Gbit/s

2 Likes

I agree, since personally I dont have any need for wifi. On bright note - it’s better than having already built-in wifi.

Thankfully Ali have this:

Without any adapters:

  • Client WLAN+BT card e.g. AX210
  • 2-port SATA controller e.g. JMB582

With a riser:

  • AP-grade WLAN card e.g. QCN9074

With m.2 a e to m key adapter:

  • low-power NVME SSD
  • 4-5 port m.2 SATA controller e.g. Marvell 9235, JMB585

With m.2 a e to pcie adapter, any pcie card that will perform satisfactory with just x1 PCIe 2.1 link.

Bottom line, the possibilities are (almost) endless.

2 Likes

Requires ‘bifurcation’ if no PCIe switch should be in the path (adding latency, lowering bandwidth).

Sadly, @jack still hasn’t clarified whether that will work on Rock 5B or not.

1 Like

I think combing a 2 port JMB582 with an external JMB575 port multiplier board like this one (https://a.aliexpress.com/_u8skpT) might be interesting since this way you could even get 6 ports (or 10 with 2 JMB575 boards) if I am not mistaken and it does not really cost more.

1 Like

maybe we can do AP on the cheap using MT7921k / RZ608 (WiFi 6E 80MHz 2x2), which is available on Amazon for US$20 I think, and based on what I read online, it may work with the mt76 driver (I didn’t test it myself)

Hi. Can somebody share full output of glxinfo from rock5b?

Port multiplier is only good in theory, in reality - 1 drive on a port multiplier dies -> all drives on the multiplier might become inaccessible, unreliable.

Most adequate solution for 10 drives on Rock 5B, in my opinion - 2x m.2 JMB585. One in lower slot directly (or via riser if low height installation is desired), another via m.2 a e to m adapter.

A setup utilizing pcie bifurcation may be better, but occupies too much physical space in comparison, justifiable only if more devices are required.

We probably can, but the result will be pathetic. It is a client WLAN adapter, not AP - signal strength is too weak. For AP, MTK7915 or MTK7916, QCN9074/9024 and similar cards can deliver satisfying results. These are appropriately very power-hungry; m.2 variations too big to fit standard key e 2230 slot and require external power.

1 Like

Do you have a reliable source for this (reliable as in ‘not originating from FreeNAS/TrueNAS forum’ where BS like the ZFS scrub of death has been born)?