Skip to content

Quartz64 - PCIe Schnittstelle

Verschoben Quartz64 - A
  • Ich habe ja schon ein wenig dazu geschrieben. Hier mal der direkte Vergleich zwischen einem ROCKPro64 und einem Quartz64.

    20210627_165708.jpg

    Hardware

    Samsung 970 EVO 500GB mit PCIe Adapter

    ROCKPro64

    lspci

    root@rockpro64:~# lspci
    00:00.0 PCI bridge: Fuzhou Rockchip Electronics Co., Ltd RK3399 PCI Express Root Port
    01:00.0 Non-Volatile memory controller: Samsung Electronics Co Ltd NVMe SSD Controller SM981/PM981
    

    Und aus dem ausführlichen Teil, also lspci -vvv

    LnkSta:	Speed 5GT/s, Width x4, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
    Kernel driver in use: nvme
    Kernel modules: nvme
    

    dd

    root@rockpro64:~# dd if=/dev/zero of=test bs=512k count=2048 oflag=direct         
           2048+0 Datensätze ein
           2048+0 Datensätze aus
           1073741824 bytes (1,1 GB, 1,0 GiB) copied, 1,24522 s, 862 MB/s
    

    Quartz64

    lspci

    [frank@quartz64 ~]$ lspci
    00:00.0 PCI bridge: Rockchip Electronics Co., Ltd RK3568 Remote Signal Processor (rev 01)
    01:00.0 Non-Volatile memory controller: Samsung Electronics Co Ltd NVMe SSD Controller SM981/PM981/PM983
    

    Und aus dem ausführlichen Teil, also lspci -vvv

    LnkSta:	Speed 5GT/s (downgraded), Width x1 (downgraded)
    Kernel driver in use: nvme
    Kernel modules: nvme
    

    dd

     [root@quartz64 tmp]# dd if=/dev/zero of=test bs=512k count=2048 oflag=direct  
     2048+0 Datensätze ein
     2048+0 Datensätze aus
     1073741824 Bytes (1,1 GB, 1,0 GiB) kopiert, 3,51793 s, 305 MB/s
    

    Fazit

    Wir sehen also, das die PCIe- Schnittstelle, auf dem Quartz64, nicht mit so vielen Lanes an die CPU angeschlossen ist, wie auf dem ROCKPro64. Das sieht man auch deutlich an der Schreibgeschwindigkeit.

  • FrankMF FrankM verschob dieses Thema von Hardware am

  • Quartz64 - Plebian

    Quartz64
    2
    0 Stimmen
    2 Beiträge
    147 Aufrufe
    FrankMF

    Mal beim Kaffee eben ausprobieren.

    Die Releases findet man hier -> https://github.com/Plebian-Linux/quartz64-images/releases

    Und ein paar Anmerkungen zum Image -> https://github.com/Plebian-Linux/quartz64-images/blob/main/RUNNING.md

    User:pleb PW: pleb

    Passwort muss wie gewohnt beim ersten Start geändert werden.

    Danach habe ich das Debian aktualisiert

    apt update && apt upgrade

    Danach haben wir dann einen

    root@plebian-quartz64b:~# uname -a Linux plebian-quartz64b 6.1.0-1-arm64 #1 SMP Debian 6.1.4-1 (2023-01-07) aarch64 GNU/Linux

    recht aktuellen Kernel. Die Debian Version ist

    root@plebian-quartz64b:/etc# cat debian_version bookworm/sid

    Bookworm ist das kommende Debian 12, das soll so ca. im März(?) released werden.

    Mit blkid werden alle angeschlossenen Laufwerke angezeigt.

    root@plebian-quartz64b:/etc# blkid /dev/nvme0n1p1: UUID="497aa9d6-2e0c-4927-bb8f-9927970b1abe" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="bd856e70-94c0-3345-a9d6-7ff080b5a2e0" /dev/mmcblk0p3: LABEL="root" UUID="da21d2fe-1093-46d2-bd96-5fb6b11e07eb" BLOCK_SIZE="4096" TYPE="ext4" PARTLABEL="root" PARTUUID="3fbd2cf5-e08d-4f39-8ca4-9fb5cff746df" /dev/mmcblk0p1: PARTLABEL="idbloader" PARTUUID="3eac6306-dee4-4c0c-9cfa-2d610b74b61b" /dev/mmcblk0p2: PARTLABEL="uboot" PARTUUID="7129c8a9-86f4-4807-be66-7d12398c6e9a" /dev/sda4: LABEL="linux-root" UUID="b1612f09-7ae0-4217-be0e-bdc2e51248d1" BLOCK_SIZE="4096" TYPE="ext4" PARTLABEL="linux_root" PARTUUID="cdc03a35-d726-48f6-8bef-918981debbf6" /dev/sda2: SEC_TYPE="msdos" LABEL_FATBOOT="boot-efi" LABEL="boot-efi" UUID="6891-ACCB" BLOCK_SIZE="512" TYPE="vfat" PARTLABEL="boot_efi" PARTUUID="0af3de6b-3b38-42f3-ae0c-336c5d39c874" /dev/sda3: LABEL="linux-boot" UUID="e64ed73c-b603-43af-851c-d5eef81a1aa9" BLOCK_SIZE="1024" TYPE="ext4" PARTLABEL="linux_boot" PARTUUID="b3b30dbb-4dcb-4652-aef1-ebc720eb0e59" /dev/sda1: PARTLABEL="loader1" PARTUUID="86d433a9-c91b-48aa-9867-36ef588a600f"

    Man sieht meine angeschlossene NVMe SSD und die Platte am USB3.

    Man hat eine HDMI Ausgabe, Netzwerk ist klar, der WiFi-Chip geht nicht. Dazu steht im Readme

    Plebian (or Debian, for that matter) does not yet properly package the wireless firmware needed for the Model B or SOQuartz's Wi-Fi chip. Therefore, Wi-Fi won't work out of the box.

    Müsste man sich also mit beschäftigen....

    Ansonsten macht das für mich auf den ersten Blick einen soliden Eindruck.

  • Quartz64 - Modell B - WiFi

    Quartz64 - B
    1
    0 Stimmen
    1 Beiträge
    178 Aufrufe
    Niemand hat geantwortet
  • Quartz64 - Modell B - Manjaro Image

    Images
    6
    0 Stimmen
    6 Beiträge
    180 Aufrufe
    FrankMF

    Heute kam dann der Kernel 5.19

    [root@frank-pc ~]# uname -a Linux frank-pc 5.19.0-rc1-0.2-MANJARO-ARM-Q64 #1 SMP PREEMPT Fri Jun 10 14:51:37 UTC 2022 aarch64 GNU/Linux

    am Anfang war es Version 5.19.0-rc1-0.1, aber was das? Keine Tastatur mehr? Häh.... Es ging nur noch der obere USB2 Port. Na gut, man weiß sich ja zu helfen, also einen USB Switch dran gehangen, alles wieder gut. Aber blöd ist das schon!? Außerdem war Sound über HDMI weg.

    So, warum? Ich nutze hier den Kernel

    linux-quartz64

    der wird im Manjaro Buildsystem direkt vom Peter gezogen. Und Peter arbeitet ja so, das er alles zum Mainline-Kernel hochladen kann usw.

    Der Audio Patch ist aber upstream noch nicht akzeptiert und für USB2 gibt es einen Patch, der wohl USB OTG aktivieren soll.

    USB2

    So in Peters dtb war die USB2 Schnittstelle auf OTG konfiguriert. Das macht aus irgendeinem Grund Ärger, ich habe das dann im dtb auf HOST umgestellt, danach war alles wieder wie vorher 🙂

    Schaut mal auf die Unterseite des B und ihr werdet folgendes finden.

    usb2_host.jpeg

    Fragt mich nicht, wozu man das braucht. Im Moment habe ich keine Ahnung. Steht bei mir aktuell auf HOST.

    Audio über HDMI

    Blöd, das das jetzt auf einmal nicht mehr geht. Dan hat dann ein paar Patche losgelassen, so das nun wieder Audio über HDMI funktioniert. So Desktop Betriebssysteme ohne Sound sind blöd - oder? 😉

    PCIe NVMe SSD

    Meine PCIe NVMe SSD funktionierte ja nicht, wenn man große Datenmengen kopierte crashte der Controller. Peter hat das gefixt, das ist seit 5.19 jetzt funktional. Und direkt als Root eingebunden.

    [root@frank-pc ~]# df -h Dateisystem Größe Benutzt Verf. Verw% Eingehängt auf dev 1,7G 0 1,7G 0% /dev run 1,9G 1,3M 1,9G 1% /run /dev/nvme0n1p1 458G 11G 424G 3% / tmpfs 1,9G 0 1,9G 0% /dev/shm tmpfs 1,9G 220K 1,9G 1% /tmp /dev/mmcblk0p1 458M 42M 417M 9% /boot tmpfs 374M 48K 374M 1% /run/user/1000 /dev/mmcblk0p2 59G 3,7G 52G 7% /run/media/frank/ROOT_MNJRO /dev/sda1 458G 11G 424G 3% /run/media/frank/777684c9-e74f-44b9-b491-694daafb9723

    Somit haben wir seit Kernel 5.19 PCIe NVMe SSD Unterstützung Yeah

    Und seit Kernel 5.19.0-rc1-0.2 geht auch wieder Audio über HDMI.

    Danke Dan für die Patches! Und Danke an den feinen Patch für PCIe NVMe an Peter!
  • Quartz64 - Modell B - Peter Geis Entwicklungsumgebung

    Images
    2
    0 Stimmen
    2 Beiträge
    126 Aufrufe
    FrankMF
    Was geht? Funktion Status Bemerkung cpufreq ok *3 UART ja *5 LAN hat Fehler *1 USB3 ja ca. 210MB/s *2 PCIe ja ca. 296 MB/s, ist mit einer Lane angeschlossen *4 HDMI nein LAN *1 root@debian:~# iperf3 -c 192.168.3.213 Connecting to host 192.168.3.213, port 5201 [ 5] local 192.168.3.10 port 39124 connected to 192.168.3.213 port 5201 [ ID] Interval Transfer Bitrate Retr Cwnd [ 5] 0.00-1.00 sec 434 KBytes 3.55 Mbits/sec 61 2.83 KBytes [ 5] 1.00-2.00 sec 475 KBytes 3.89 Mbits/sec 44 2.83 KBytes [ 5] 2.00-3.00 sec 396 KBytes 3.24 Mbits/sec 43 2.83 KBytes [ 5] 3.00-4.00 sec 318 KBytes 2.61 Mbits/sec 40 2.83 KBytes [ 5] 4.00-5.00 sec 315 KBytes 2.58 Mbits/sec 31 2.83 KBytes [ 5] 5.00-6.00 sec 396 KBytes 3.24 Mbits/sec 46 2.83 KBytes [ 5] 6.00-7.00 sec 396 KBytes 3.24 Mbits/sec 43 2.83 KBytes [ 5] 7.00-8.00 sec 396 KBytes 3.24 Mbits/sec 43 1.41 KBytes [ 5] 8.00-9.00 sec 396 KBytes 3.24 Mbits/sec 47 2.83 KBytes [ 5] 9.00-10.00 sec 317 KBytes 2.59 Mbits/sec 39 2.83 KBytes - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bitrate Retr [ 5] 0.00-10.00 sec 3.75 MBytes 3.14 Mbits/sec 437 sender [ 5] 0.00-10.00 sec 3.67 MBytes 3.08 Mbits/sec receiver iperf Done. root@debian:~# iperf3 -R -c 192.168.3.213 Connecting to host 192.168.3.213, port 5201 Reverse mode, remote host 192.168.3.213 is sending [ 5] local 192.168.3.10 port 39130 connected to 192.168.3.213 port 5201 [ ID] Interval Transfer Bitrate [ 5] 0.00-1.00 sec 112 MBytes 941 Mbits/sec [ 5] 1.00-2.00 sec 112 MBytes 942 Mbits/sec [ 5] 2.00-3.00 sec 112 MBytes 942 Mbits/sec [ 5] 3.00-4.00 sec 112 MBytes 942 Mbits/sec [ 5] 4.00-5.00 sec 112 MBytes 942 Mbits/sec [ 5] 5.00-6.00 sec 112 MBytes 942 Mbits/sec [ 5] 6.00-7.00 sec 112 MBytes 942 Mbits/sec [ 5] 7.00-8.00 sec 112 MBytes 942 Mbits/sec [ 5] 8.00-9.00 sec 112 MBytes 942 Mbits/sec [ 5] 9.00-10.00 sec 112 MBytes 942 Mbits/sec - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bitrate Retr [ 5] 0.00-10.00 sec 1.10 GBytes 943 Mbits/sec 370 sender [ 5] 0.00-10.00 sec 1.10 GBytes 942 Mbits/sec receiver iperf Done. USB3 *2 root@debian:~# lsusb Bus 002 Device 003: ID 046d:c52f Logitech, Inc. Unifying Receiver Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 006 Device 002: ID 152d:0578 JMicron Technology Corp. / JMicron USA Technology Corp. JMS578 SATA 6Gb/s Bus 006 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 005 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 003 Device 002: ID 046d:c31c Logitech, Inc. Keyboard K120 Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Disk /dev/sda: 238.47 GiB, 256060514304 bytes, 500118192 sectors Disk model: Generic Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: gpt Disk identifier: 05AB264B-738E-47BB-9F67-5C04CC24A736 Device Start End Sectors Size Type /dev/sda1 2048 500118158 500116111 238.5G Linux filesystem root@debian:~# mount /dev/sda1 /mnt/sda/ root@debian:~# cd /mnt/sda root@debian:/mnt/sda# dd if=/dev/zero of=sd.img bs=4M count=4096 oflag=direct 4096+0 records in 4096+0 records out 17179869184 bytes (17 GB, 16 GiB) copied, 81.5051 s, 211 MB/s -------------- root@debian:/# lsusb Bus 002 Device 003: ID 046d:c52f Logitech, Inc. Unifying Receiver Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 006 Device 003: ID 04e8:61f5 Samsung Electronics Co., Ltd Portable SSD T5 Bus 006 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 005 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 003 Device 002: ID 046d:c31c Logitech, Inc. Keyboard K120 Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub root@debian:/mnt/sda# dd if=/dev/zero of=sd.img bs=4M count=4096 oflag=direct 4096+0 records in 4096+0 records out 17179869184 bytes (17 GB, 16 GiB) copied, 83.7618 s, 205 MB/s cpufreq *3 root@debian:~# cat /sys/devices/system/cpu/cpu*/cpufreq/cpuinfo_max_freq 1800000 1800000 1800000 1800000 root@debian:~# cat /sys/devices/system/cpu/cpu*/cpufreq/cpuinfo_cur_freq 1416000 1416000 1416000 1416000 root@debian:~# cat /sys/devices/system/cpu/cpu*/cpufreq/cpuinfo_cur_freq 1800000 1800000 1800000 1800000 root@debian:~# cat /sys/devices/system/cpu/cpu*/cpufreq/cpuinfo_cur_freq 1416000 1416000 1416000 1416000 PCIe NVMe SSD *4 root@debian:/mnt/nvme# dd if=/dev/zero of=sd.img bs=4M count=4096 oflag=direct 4096+0 records in 4096+0 records out 17179869184 bytes (17 GB, 16 GiB) copied, 58.0362 s, 296 MB/s

    Das soll laut Peter die maximal mögliche Geschwindigkeit der PCIe Schnittstelle sein. Diese Schnittstelle ist nur mit einer Lane an den Prozessor angeschlossen!

    UART

    Bitte drauf achten, diese Schnittstelle arbeitet mit Level Shifting, was billige Adapter oft nicht abkönnen. Habe ich hier im Beitrag ausführlich erklärt, mit passenden Adapter, wenn es so wie bei mir nicht funktionierte.

  • Quartz64 - USB3 oder SATA?

    Verschoben Quartz64 - A
    5
    0 Stimmen
    5 Beiträge
    271 Aufrufe
    T

    Naja, es geht ja jetzt bei "Schnittstelle" um mechanische Konnektoren. Und sowohl mPCIe/mSATA als auch M.2 sehen die unterschiedlichsten Protokolle vor, darunter die populären USB, PCIe und eben SATA.

    Ich hab bspw. ein Clearfog Pro mit 2 mPCIe/mSATA-Slots, in dem man per u-boot simpel zwischen SATA und PCIe wechseln kann. Und wenn der M.2-Slot auf dem Quartz64 Model B tatsächlich Key B ist, dann bedeutet das, dass man jede – ggf. eh schon herumliegende – M.2-SATA-SSD reinstecken kann, wohingegen dann nur ein paar NVMe-SSDs passen (das Gros ist Key M only, nur paar kommen mit Key B/M).

    Hmm... eigentlich wäre Key M dann schlauer, denn M.2-SATA-SSDs sind alle Key B/M, und NVMe-SSDs entweder Key M oder auch B/M.

    Wie auch immer bzw. um den Bogen zu Deinem Quartz64 Model A zu spannen. Ein Billo-Adapter von Aliexpress (wie der hier) sollte reichen, um M.2-SATA-SSDs verwenden zu können (sowas kann wie schon geschrieben eh bereits rumliegen und zumindest sequenzielle Transferraten sind mit SATA einen Tuck schneller als NVMe mit der einen Gen2-Lane des RK3566)

  • Quartz64 - sbc-bench

    Verschoben Quartz64
    7
    0 Stimmen
    7 Beiträge
    370 Aufrufe
    FrankMF

    @tkaiser Nein, kein Kühler und kein Lüfter. Nacktes Board 😁

  • Quartz64 - Was geht?

    Angeheftet Verschoben Quartz64 - A
    10
    0 Stimmen
    10 Beiträge
    591 Aufrufe
    FrankMF

    Die Tabelle habe ich überarbeitet.

  • Quartz64 - Model A

    Angeheftet Verschoben Quartz64 - A
    3
    0 Stimmen
    3 Beiträge
    493 Aufrufe
    FrankMF

    Bitte unbedingt beachten!

    https://forum.frank-mankel.org/topic/1042/quartz64-missing-spi