Skip to content

Quartz64 - Modell B - Peter Geis Entwicklungsumgebung

Images
  • Da ich ja erste Gehversuche mit dem B mache, habe ich mal das Image von Peter genommen.

    Zur Erinnerung, wenn man das Image auf die SD-Karte gebügelt hat, macht man als erstes die Rootpartition größer. Geht z.B. sehr gut mit gparted.

    Danach die Karte in den B und starten. Danach das Image starten und in die freie Rootpartition installieren.

    Ich komme noch auf Einzelheiten zu sprechen.

    Was nicht geht?

    • LAN

    Was geht?

    • PCIe NVMe SSD
  • 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 - Kernel 6.1-rc8

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

    Quartz64
    2
    0 Stimmen
    2 Beiträge
    139 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
    173 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 - SPDIF Modul

    Verschoben Quartz64 - A
    2
    0 Stimmen
    2 Beiträge
    245 Aufrufe
    FrankMF

    Für das bequeme Umschalten der Soundkarten kann man das Tool alsamixer benutzen.

    pacman -S alsa-utils

    Danach

    alsamixer

    e912744f-8f69-4b28-a50b-7ffc8a3ab399-grafik.png

  • Quartz64 - dts File bearbeiten

    Angeheftet Verschoben Quartz64
    3
    0 Stimmen
    3 Beiträge
    290 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.

  • WLan auf der Konsole einrichten

    Angeheftet Linux
    3
    0 Stimmen
    3 Beiträge
    583 Aufrufe
    FrankMF

    Ich kann im Manjaro keine WPA3 Sicherheit auswählen, dann bekomme ich keine Verbindung. Es geht nur WPA2 Personal. Gegenstelle ist eine FRITZ!Box 6591 Cable.

    2021-11-28_16-37.png

    In der Fritzbox sieht das so aus

    50d23aa8-5f67-485e-a994-244ef4f6a270-image.png

    Das kam als Fehlermeldung

    Nov 28 11:03:07 frank-pc wpa_supplicant[700]: wlan0: Trying to associate with SSID 'FRITZ!Box 6591 Cable AK' Nov 28 11:03:07 frank-pc wpa_supplicant[700]: wlan0: WPA: Failed to select authenticated key management type Nov 28 11:03:07 frank-pc wpa_supplicant[700]: wlan0: WPA: Failed to set WPA key management and encryption suites

    Ich denke, der Treiber unterstützt das nicht.

  • Quartz64 - Image von Peter Geis

    Images
    4
    0 Stimmen
    4 Beiträge
    328 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.

  • Quartz64 - GPIO Modell A

    Angeheftet Verschoben Quartz64 - A
    1
    0 Stimmen
    1 Beiträge
    164 Aufrufe
    Niemand hat geantwortet