Skip to content

Quartz64 - USB3 oder SATA?

Verschoben Quartz64 - A
  • Es sieht so aus, das man nur einen Port benutzen kann und nicht beide gleichzeitig.

    [D] <@pgwipeout> The switch is handled by whichever device is enabled.
    [D] <@pgwipeout> So if SATA1 is enabled, USB3 has to be disabled, and the PHY switches automatically into SATA mode.

    Einstellen würde man das über das dtf File, das heißt dann man hätte zur Laufzeit nur einen von beiden Ports 😞

    Achtung, ich hoffe ich habe die Diskussion richtig verstanden. Ich werde das weiter beobachten.

  • Soll man zur Laufzeit switchen könen. Mal sehen was da noch so als Überraschung auftaucht..

  • Bei sowohl RK3566 als auch RK3568 sind viele I/O-Ports multiplexed ausgeführt. Beim RK3566 sind SATA1 und USB3 durch einen Combo-PHY rausgeführt und dasselbe Spiel mit SATA2 und PCIE, weshalb M.2-Slot mit Key B eigentlich eine smarte Wahl ist.

    Und ja, das kann spannend werden 😉 https://www.cnx-software.com/2021/07/19/rock-3a-sbc-nvme-ssd-wifi-6-raspberry-pi-form-factor/#comment-583790

  • @tkaiser Danke für die Erläuterung. Ich verstehe aber nicht warum man auf der PCIe-Schnittstelle SATA haben möchte?

  • 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)

  • FrankMF FrankM verschob dieses Thema von Hardware am

  • Quartz64 - Heartbeat LED

    Quartz64
    1
    0 Stimmen
    1 Beiträge
    45 Aufrufe
    Niemand hat geantwortet
  • Quartz64 - Modell B - Kernelversionen

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

    Images
    6
    0 Stimmen
    6 Beiträge
    153 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 - dts File bearbeiten

    Angeheftet Verschoben Quartz64
    3
    0 Stimmen
    3 Beiträge
    266 Aufrufe
    FrankMF

    Ich weiß nicht, wonach ich gesucht habe, vermutlich nach

    apt install device-tree-compiler

    das gibt es im Manjaro Image nicht, es heißt ganz einfach dtc 😎 Also, ganz einfach mit

    pacman -S dtc

    installieren. Dann kann man sich diesen Umweg mit snapd sparen.

  • Quartz64 - Missing SPI ?

    Verschoben Quartz64
    1
    0 Stimmen
    1 Beiträge
    402 Aufrufe
    Niemand hat geantwortet
  • Quartz64 - Manjaro Image Aktuell!

    Images
    8
    0 Stimmen
    8 Beiträge
    319 Aufrufe
    FrankMF

    Gestern hatte ich nach langer Zeit mal wieder das Bedürfnis zu schauen, was Manjaro so macht 😉

    Dieses Image habe ich ausgewählt. Manjaro-ARM-kde-plasma-quartz64-a-20220418.img.xz

    Nach der Installation bemerkt, das jetzt beim Login steht, das man eine Wayland Session startet 😍

    20220421_205322.jpg

    Man merkt dem KDE Plasma direkt an, das er wesentlich weniger Latenzen hat, als das olle X11. Ich musste dann dem Dan wieder auf die Nerven gehen, weil ich doch von dem Thema Grafik, 3D-Beschleunigung usw. NULL Ahnung habe. Er meinte dann zu mir, das Panfrost mittlerweile aktiv ist. Panfrost?

    Schauen wir mal nach. https://docs.mesa3d.org/drivers/panfrost.html

    The Panfrost driver stack includes an OpenGL ES implementation for Arm Mali GPUs based on the Midgard and Bifrost microarchitectures.

    Im Quartz64 ist folgende GPU verbaut

    Mali-G52 2EE Bifrost GPU@800MHz

    Diese wird von Panfrost unterstützt.

    Jetzt stand da noch OpenGLS ES, was ist das?

    OpenGL for Embedded Systems (OpenGL ES or GLES) is a subset[2] of the OpenGL computer graphics rendering application programming interface (API) for rendering 2D and 3D computer graphics such as those used by video games, typically hardware-accelerated using a graphics processing unit (GPU).
    Quelle: https://en.wikipedia.org/wiki/OpenGL_ES

    Ich habe dann mal geschaut, wie man Panfrost testen kann. Hier bin ich gelandet.

    Ich habe zwei Test gemacht, einmal mit X11 und das andere Mal mit Wayland. Von dem X11 Test habe ich ein kleines Video angefertigt.

    Am Ende könnt ihr den glmark Score erkennen 112

    Und hier mal das Ergebnis mit Wayland 365 Ich würde jetzt als Noob sagen, Wayland ist 3,3 mal schneller. Da ich aber eingangs schon erwähnte, das ich von dem Thema keine Ahnung habe, überlasse ich den Menschen mit Fachkenntnissen die Einschätzung.

    2022-04-21_20-49.png

    Mein subjektiver Eindruck ist, Wayland läuft wesentlich besser. Das habe ich auch auf meinem Haupt-PC schon festgestellt. Vor allen Dingen die Latenz ist um ein vielfaches besser. Aber wir dürfen auch nicht verschweigen, bei Wayland geht vieles noch immer nicht. Zum Beispiel konnte ich das Video nur auf X11 mit SimpleScreenRecorder machen.

    Leider sind wir immer noch nicht an dem Punkt, wo z.B. Youtube Videos im FF einwandfrei laufen. Von der HArdware Unterstützung brauchen wir auch nicht zu sprechen, da geht immer noch nicht so richtig viel. Die PCIe Schnittstelle habe ich noch kurz mit einer NVMe getestet.

    [frank@frank-pc e5f97e94-0e45-4fa6-b8fb-373e35c708f8]$ iozone -e -I -a -s 100M -r 4k -r 16k -r 512k -r 1024k -r 16384k -i 0 -i 1 -i 2 Iozone: Performance Test of File I/O Version $Revision: 3.489 $ Compiled for 64 bit mode. Build: linux Contributors:William Norcott, Don Capps, Isom Crawford, Kirby Collins Al Slater, Scott Rhine, Mike Wisner, Ken Goss Steve Landherr, Brad Smith, Mark Kelly, Dr. Alain CYR, Randy Dunlap, Mark Montague, Dan Million, Gavin Brebner, Jean-Marc Zucconi, Jeff Blomberg, Benny Halevy, Dave Boone, Erik Habbinga, Kris Strecker, Walter Wong, Joshua Root, Fabrice Bacchella, Zhenghua Xue, Qin Li, Darren Sawyer, Vangel Bojaxhi, Ben England, Vikentsi Lapa, Alexey Skidanov, Sudhir Kumar. Run began: Thu Apr 21 21:49:06 2022 Include fsync in write timing O_DIRECT feature enabled Auto Mode File size set to 102400 kB Record Size 4 kB Record Size 16 kB Record Size 512 kB Record Size 1024 kB Record Size 16384 kB Command line used: iozone -e -I -a -s 100M -r 4k -r 16k -r 512k -r 1024k -r 16384k -i 0 -i 1 -i 2 Output is in kBytes/sec Time Resolution = 0.000001 seconds. Processor cache size set to 1024 kBytes. Processor cache line size set to 32 bytes. File stride size set to 17 * record size. random random bkwd record stride kB reclen write rewrite read reread read write read rewrite read fwrite frewrite fread freread 102400 4 53221 74745 76900 77656 46983 73982 102400 16 135113 181063 182235 183108 131535 180494 102400 512 354092 361813 357888 362080 351316 361385 102400 1024 368909 373104 374076 378286 372179 372881 102400 16384 384251 378963 376150 377334 376874 377929 iozone test complete.
  • Quartz64 - Wireguard

    Verschoben Quartz64
    1
    0 Stimmen
    1 Beiträge
    223 Aufrufe
    Niemand hat geantwortet
  • Quartz64 - Image von Peter Geis

    Images
    4
    0 Stimmen
    4 Beiträge
    312 Aufrufe
    FrankMF

    Nach langer Zeit habe ich mich mal wieder mit diesem Image beschäftigt. Peter hat da mittlerweile viel dran gearbeitet und jetzt schau ich mal, was so wie funktioniert. Also, das Image wie gewohnt auf eine SD-Karte und starten. Gewählt habe ich dieses Image -> rk3566-quartz64-a.dtb.img

    Wenn man das Image startet, wird man hiermit begrüßt

    screen01.png

    Punkt 1Buildroot-recovery startet ein Minimalsystem, womit man verschiedene Dinge auf der Konsole durchführen kann. Das brauchen wir gleich noch. Punkt 2 startet den Debian Installer Punkt 3 startet ein installiertes Debian von der SD-Karte Punkt 4 startet ein installiertes Debian vom eMMC-Modul

    Ich möchte heute mal schauen, ob man ein Minimal-System auf die PCIe-NVMe-Karte installieren kann. Peter hat nämlich den PCIe-Treiber mittlerweile im Kernel mit eingebaut.

    Dazu starte ich den Debian-Installer und führe die Installation durch. Für mich nichts besonderes, das mache ich ja sehr oft. Nach erfolgreicher Installation startet die Installation nicht, weil Peter in seinem Image das so nicht vorgesehen hat.

    Es gibt mehrere Möglichkeiten, das jetzt zu ändern. Wir machen das über UART direkt auf dem Quartz64.

    Die Struktur von Peters Image sieht so aus.

    e50bf2fe-723c-41f8-acba-227e148374ed-image.png

    Ich gehe nicht auf alles ein, die wichtigsten Partitionen haben einen Namen. Uns interessiert hier die Partition Nummer 5 mit dem Namen efi. (Auf der SD-Karte!!) Der Inhalt

    3c5cbf5f-811d-4c1f-95e9-cd007a37155c-image.png

    Im Ordner extlinux liegt die Konfigurationsdatei, die wir bearbeiten müssen. extlinux.config

    default l0 menu title Quartz64 Installer prompt 0 timeout 50 label l0 menu label Buildroot-recovery linux /vmlinuz initrd /rootfs.cpio.zst fdt /dtbs/rockchip/rk3566-quartz64-a.dtb append earlycon=uart8250,mmio32,0xfe660000 console=ttyS2,1500000n8 label l1 menu label Debian-Installer linux /vmlinuz initrd /initrd.gz fdt /dtbs/rockchip/rk3566-quartz64-a.dtb append earlycon=uart8250,mmio32,0xfe660000 console=ttyS2,1500000n8 label l6 menu label Boot Root SDMMC linux /vmlinuz fdt /dtbs/rockchip/rk3566-quartz64-a.dtb append earlycon=uart8250,mmio32,0xfe660000 console=ttyS2,1500000n8 root=/dev/mmcblk0p7 rootwait label l9 menu label Boot Root eMMC linux /vmlinuz fdt /dtbs/rockchip/rk3566-quartz64-a.dtb append earlycon=uart8250,mmio32,0xfe660000 console=ttyS2,1500000n8 root=/dev/mmcblk1p7 rootwait

    Ich nehme den Eintrag label l9 und passe ihn ein wenig an.

    label l9 menu label Boot Root NVMe linux /dev/nvme0n1p1/vmlinuz fdt /dtbs/rockchip/rk3566-quartz64-a.dtb append earlycon=uart8250,mmio32,0xfe660000 console=ttyS2,1500000n8 root=/dev/nvme0n1p2 rootwait

    Das wird abgespeichert, danach kann man den Quartz64 neustarten und mit Eingabe der Taste 4 startet man dann das Debian von der NVMe SSD.

    root@debian:~# df -h Filesystem Size Used Avail Use% Mounted on /dev/root 457G 926M 432G 1% / devtmpfs 1.9G 0 1.9G 0% /dev tmpfs 2.0G 0 2.0G 0% /dev/shm tmpfs 2.0G 17M 1.9G 1% /run tmpfs 5.0M 0 5.0M 0% /run/lock tmpfs 2.0G 0 2.0G 0% /sys/fs/cgroup /dev/nvme0n1p1 472M 49M 400M 11% /boot tmpfs 391M 0 391M 0% /run/user/1000

    PCIe

    root@debian:~# lspci 00:00.0 PCI bridge: Fuzhou Rockchip Electronics Co., Ltd Device 3566 (rev 01) 01:00.0 Non-Volatile memory controller: Samsung Electronics Co Ltd NVMe SSD Controller SM981/PM981

    Es handelt sich um ein Debian Buster 10

    VERSION="10 (buster)"

    Wollen wir das? Nö

    # deb http://deb.debian.org/debian/ buster main deb http://deb.debian.org/debian/ bullseye main deb-src http://deb.debian.org/debian/ bullseye main deb http://security.debian.org/debian-security bullseye-security main deb-src http://security.debian.org/debian-security bullseye-security main # buster-updates, previously known as 'volatile' deb http://deb.debian.org/debian/ bullseye-updates main deb-src http://deb.debian.org/debian/ bullseye-updates main

    Danach ein

    apt update && apt upgrade

    Neustarten und wir haben ein Debian Bullseye 11 🙂 Dieses Debian nutzt so jetzt nicht den Kernel von Debian, sondern Peters

    root@debian:/etc# uname -a Linux debian 5.17.0-rc3 #1 SMP PREEMPT Wed Feb 16 00:41:25 UTC 2022 aarch64 GNU/Linux

    Die Entscheidung überlasse ich Euch, ob ihr das Ändern wollt. Ich lasse das jetzt mal so. Wenn ihr wollt, das die Installation von alleine startet, dann müsst ihr Label 0 anpassen, das startet nach einem Timeout automatisch.