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

  • [V] Quartz64B V1.3

    Frank's Resterampe
    1
    0 Stimmen
    1 Beiträge
    111 Aufrufe
    Niemand hat geantwortet
  • Qurtz64 - Modell B - GPIO

    Quartz64 - B
    1
    0 Stimmen
    1 Beiträge
    86 Aufrufe
    Niemand hat geantwortet
  • Kernel 5.19-rc1

    Quartz64
    2
    0 Stimmen
    2 Beiträge
    157 Aufrufe
    FrankMF

    Man kann dann den aktuell Kernel

    [root@frank-pc ~]# uname -a Linux frank-pc 5.17.0-3-MANJARO-ARM-Q64 #1 SMP PREEMPT Sat Jun 4 14:34:03 UTC 2022 aarch64 GNU/Linux

    mit diesem Befehl aktualisieren

    sudo pacman -S linux-rc linux-rc-headers

    Man wechselt dann vom Zweig linux-quartz64 auf linux-rc. Der Zweig linux-rc entspricht dem Mainline Kernel.

    Achtung! Zum Zeitpunkt der Erstellung des Beitrages crasht das Eure Installation!!

    Ursache ist, das es aktuell diesen Kernel

    linux-rc-5.18.rc7-7-aarch64

    installiert, dieser enthält aber keine Unterstützung für das Modell B.

    Und zum Nachschauen, ob schon was Neues da ist 😉

    [root@frank-pc ~]# pacman -Ss linux-rc linux-rc-headers core/linux-rc-headers 5.18.rc7-7 Header files and scripts for building modules for linux kernel - AArch64 multi-platform (release candidate)
  • Quartz64 - Modell B - Manjaro Image

    Images
    6
    0 Stimmen
    6 Beiträge
    192 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
    129 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 - Modell B - M.2 Anschluss

    Quartz64 - B
    3
    0 Stimmen
    3 Beiträge
    251 Aufrufe
    FrankMF

    Ich hatte schon drauf getippt, das der Slot nur mit einer Lane angeschlossen ist.

    <pgwipeout> It is a single lane pcie2 port.

    Und damit ist das das erwartete Ergebnis

    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.4993 s, 294 MB/s

    Das alles mit Debian 10, was man mit Peters Buildsystem installieren kann. Kann man aber auch bei Bedarf auf 11.3 hochziehen 🙂

    root@debian:/etc# uname -a Linux debian 5.17.0 #1 SMP PREEMPT Thu Apr 7 13:38:56 UTC 2022 aarch64 GNU/Linux root@debian:/etc# cat debian_version 11.3 root@debian:/etc#
  • Quartz64 - Modell B - UART

    Angeheftet Quartz64 - B
    4
    0 Stimmen
    4 Beiträge
    198 Aufrufe
    FrankMF

    Um das hier zu komplettieren, habe ich mich gerade gefragt "Wo speichert er die Settings?"

    Ok, ich habe sie gefunden.

    /root/.minirc.dfl

    Inhalt

    # Diese Datei ist maschinell erzeugt. Bitte verwenden Sie das # Einstellungs-Menü im minicom-Programm, um die Einstellungen # zu ändern. pu rtscts No

    Jetzt habe ich ausreichend hier dokumentiert, falls ich da nochmal Probleme mit habe.

  • QuartzPro64

    Allgemeine Diskussionen
    1
    0 Stimmen
    1 Beiträge
    154 Aufrufe
    Niemand hat geantwortet