Skip to content

Manjaro Image - LAN Schnittstelle

Verschoben Quartz64
  • Heute haben die Experten mal wieder raus gefunden, warum was nicht klappt. Für die LAN-Schnittstelle fehlt im Manjaro Build ein Kernel Modul.

    Dan vom Manjaro Team hat daraufhin einen neuen Kernel gebaut, der wurde von meinem System auch ordentlich geladen usw.

    pacman -Syu
    

    Kernel-Version

    [root@quartz64 modules-load.d]# uname -a
    Linux quartz64 5.13.0-rc4-0.5-next-20210603-MANJARO-ARM #1 SMP PREEMPT Sat Jul 3 15:34:57 UTC 2021 aarch64 GNU/Linux
    

    Danach neugestartet, aber nix? Nachdenken.....

    lsmod
    

    Kein motorcomm (so heißt das Modul) zu finden. Dann in /etc/modules-load.d ein File angelegt mit Namen net.conf

    Inhalt des Files

    motorcomm
    

    Neustart, danach

    [root@quartz64 modules-load.d]# lsmod
    Module                  Size  Used by
    algif_aead             20480  0
    zram                   36864  2
    cfg80211              401408  0
    algif_skcipher         20480  0
    rfkill                 36864  3 cfg80211
    8021q                  32768  0
    garp                   16384  1 8021q
    algif_hash             20480  0
    mrp                    20480  1 8021q
    af_alg                 32768  3 algif_hash,algif_skcipher,algif_aead
    stp                    20480  1 garp
    llc                    20480  2 stp,garp
    nls_ascii              16384  1
    snd_soc_simple_card    24576  0
    snd_soc_simple_card_utils    28672  1 snd_soc_simple_card
    optee                  28672  0
    ax88179_178a           36864  0
    usbnet                 53248  1 ax88179_178a
    rtc_rk808              20480  1
    sch_fq_codel           20480  3
    motorcomm              16384  1
    fuse                  126976  1
    ip_tables              32768  0
    x_tables               45056  1 ip_tables
    sdhci_of_dwcmshc       16384  0
    nvme                   45056  0
    nvme_core             102400  1 nvme
    

    Ok, das ist es 😊

    [root@quartz64 modules-load.d]# ip a
    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
        link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
        inet 127.0.0.1/8 scope host lo
           valid_lft forever preferred_lft forever
        inet6 ::1/128 scope host 
           valid_lft forever preferred_lft forever
    2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
        link/ether 4e:c4:40:72:9c:35 brd ff:ff:ff:ff:ff:ff
        inet 192.168.3.245/24 brd 192.168.3.255 scope global dynamic noprefixroute eth0
           valid_lft 42520sec preferred_lft 37120sec
        inet6 fd8a:6ff:2880:0:e0ee:811c:d5cb:a139/64 scope global mngtmpaddr noprefixroute 
           valid_lft forever preferred_lft forever
        inet6 2a02:908:1260:xxxx/64 scope global dynamic mngtmpaddr noprefixroute 
           valid_lft 5698sec preferred_lft 2098sec
        inet6 fe80::cfce:6f17:cba1:2b98/64 scope link 
           valid_lft forever preferred_lft forever
    3: ip6tnl0@NONE: <NOARP> mtu 1452 qdisc noop state DOWN group default qlen 1000
        link/tunnel6 :: brd :: permaddr 829b:d7ba:dc5e::
    

    Yeah!

    Und schnell ein

    [root@quartz64 modules-load.d]# iperf3 -c 192.168.3.213
    Connecting to host 192.168.3.213, port 5201
    [  5] local 192.168.3.245 port 52246 connected to 192.168.3.213 port 5201
    [ ID] Interval           Transfer     Bitrate         Retr  Cwnd
    [  5]   0.00-1.00   sec   114 MBytes   953 Mbits/sec    0    411 KBytes       
    [  5]   1.00-2.00   sec   113 MBytes   944 Mbits/sec    0    411 KBytes       
    [  5]   2.00-3.00   sec   112 MBytes   940 Mbits/sec    0    433 KBytes       
    [  5]   3.00-4.00   sec   113 MBytes   947 Mbits/sec    0    502 KBytes       
    [  5]   4.00-5.00   sec   112 MBytes   942 Mbits/sec    0    527 KBytes       
    [  5]   5.00-6.00   sec   112 MBytes   940 Mbits/sec    0    527 KBytes       
    [  5]   6.00-7.00   sec   112 MBytes   940 Mbits/sec    0    527 KBytes       
    [  5]   7.00-8.00   sec   112 MBytes   936 Mbits/sec    0    527 KBytes       
    [  5]   8.00-9.00   sec   113 MBytes   948 Mbits/sec    0    527 KBytes       
    [  5]   9.00-10.00  sec   112 MBytes   937 Mbits/sec    0    527 KBytes       
    - - - - - - - - - - - - - - - - - - - - - - - - -
    [ ID] Interval           Transfer     Bitrate         Retr
    [  5]   0.00-10.00  sec  1.10 GBytes   943 Mbits/sec    0             sender
    [  5]   0.00-10.00  sec  1.10 GBytes   941 Mbits/sec                  receiver
    
    iperf Done.
    [root@quartz64 modules-load.d]# 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.245 port 52250 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   941 Mbits/sec                  
    [  5]   2.00-3.00   sec   112 MBytes   941 Mbits/sec                  
    [  5]   3.00-4.00   sec   112 MBytes   941 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   941 Mbits/sec                  
    [  5]   8.00-9.00   sec   112 MBytes   941 Mbits/sec                  
    [  5]   9.00-10.00  sec   112 MBytes   941 Mbits/sec                  
    - - - - - - - - - - - - - - - - - - - - - - - - -
    [ ID] Interval           Transfer     Bitrate         Retr
    [  5]   0.00-10.00  sec  1.10 GBytes   943 Mbits/sec    0             sender
    [  5]   0.00-10.00  sec  1.10 GBytes   941 Mbits/sec                  receiver
    
    iperf Done.
    

    Funktioniert!

  • Problem ist mittlerweile gefixt.

    [root@quartz64 ~]# uname -a
    Linux quartz64 5.13.0-rc4-0.6-next-20210603-MANJARO-ARM #1 SMP PREEMPT Sat Jul 3 16:52:43 UTC 2021 aarch64 GNU/Linux
    

    Ab dieser Kernelversion wird das Modul automatisch geladen, es ist im Kernel eingebaut.

  • @frankm

    and in 5.13.0-rc4-0.8 you have to do it again 😉

    nice tips 👍 i got the board working

  • FrankMF FrankM verschob dieses Thema von Quartz64 am
  • FrankMF FrankM verschob dieses Thema von Quartz64 - A am

  • 0 Stimmen
    3 Beiträge
    108 Aufrufe
    FrankMF

    Da gab es doch gestern noch einen bösen Fehler, als ich vom Kernel Linux 5.17.0-2 auf Linux 5.17.0-3 aktualisiert habe, war das System danach kaputt. Hmm, ich habe dann versucht das zu untersuchen und war zu der Erkenntnis gekommen, das das Boot Verzeichnis nicht korrekt gemountet war. Konnte es aber nicht selber lösen 😞

    Dan hat das dann heute erledigt, wenn man jetzt das Image installiert, dann ist auch das Boot Verzeichnis korrekt gemountet.

    [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,2M 1,9G 1% /run /dev/sda1 458G 4,5G 430G 2% / tmpfs 1,9G 0 1,9G 0% /dev/shm tmpfs 1,9G 9,6M 1,9G 1% /tmp /dev/mmcblk0p1 458M 41M 417M 9% /boot tmpfs 374M 44K 374M 1% /run/user/1000 /dev/mmcblk0p2 59G 3,7G 52G 7% /run/media/frank/ROOT_MNJRO

    Dann sollte das auch klappen, wenn man wie ich aktuell das Root Verzeichnis auf die SSD am USB3 Port gelegt hat.

  • Quartz64 - Manjaro Mai 2022

    Verschoben Quartz64
    1
    0 Stimmen
    1 Beiträge
    99 Aufrufe
    Niemand hat geantwortet
  • Quartz64 Model B im Shop bestellbar

    Verschoben Quartz64
    1
    0 Stimmen
    1 Beiträge
    351 Aufrufe
    Niemand hat geantwortet
  • Manjaro Image - Netzwerkkonfiguration

    Verschoben Quartz64
    2
    0 Stimmen
    2 Beiträge
    228 Aufrufe
    FrankMF

    Da fehlt doch was? Richtig - WLAN!

    Treiber usw. -> https://forum.frank-mankel.org/topic/1035/wlan-auf-der-konsole-einrichten

    systemd

    /etc/systemd/network/40-wireless.network

    [Match] Name=wlan0 [Network] DHCP=both

    Ok, das war einfach 🙂 Aber, wie übergebe ich jetzt die Konfiguration, also wpa_supplicant.conf ?

    Das geht so

    systemctl enable wpa_supplicant@wlan0.service

    Zum Neustarten der Services

    systemctl restart systemd-networkd.service systemctl restart wpa_supplicant@wlan0.service

    Hmm, danach ging es bei mir nicht. Schauen wir nach.

    [root@quartz64 ~]# systemctl status wpa_supplicant@wlan0 × wpa_supplicant@wlan0.service - WPA supplicant daemon (interface-specific version) Loaded: loaded (/usr/lib/systemd/system/wpa_supplicant@.service; enabled; vendor preset: disabled) Active: failed (Result: exit-code) since Sun 2021-10-10 18:34:59 CEST; 1min 20s ago Process: 518 ExecStart=/usr/bin/wpa_supplicant -c/etc/wpa_supplicant/wpa_supplicant-wlan0.conf -iwlan0 (code=exited, status=255/EXCEPTION) Main PID: 518 (code=exited, status=255/EXCEPTION) CPU: 17ms Okt 10 18:34:58 quartz64 systemd[1]: Started WPA supplicant daemon (interface-specific version). Okt 10 18:34:59 quartz64 wpa_supplicant[518]: Successfully initialized wpa_supplicant Okt 10 18:34:59 quartz64 wpa_supplicant[518]: Failed to open config file '/etc/wpa_supplicant/wpa_supplicant-wlan0.conf', error: No such file o> Okt 10 18:34:59 quartz64 wpa_supplicant[518]: Failed to read or parse configuration '/etc/wpa_supplicant/wpa_supplicant-wlan0.conf'. Okt 10 18:34:59 quartz64 systemd[1]: wpa_supplicant@wlan0.service: Main process exited, code=exited, status=255/EXCEPTION Okt 10 18:34:59 quartz64 systemd[1]: wpa_supplicant@wlan0.service: Failed with result 'exit-code'.

    Ok, das ist einfach.

    cd /etc/wpa_supplicant mv wpa_supplicant.conf wpa_supplicant-wlan0.conf

    Neustarten - Fertig!

    Kontrolle 6: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether ac:83:f3:e6:1f:b2 brd ff:ff:ff:ff:ff:ff inet 192.168.178.24/24 metric 1024 brd 192.168.178.255 scope global dynamic wlan0 valid_lft 863966sec preferred_lft 863966sec inet6 2a02:908:1260:13a0:ae83:f3ff:fee6:1fb2/64 scope global dynamic mngtmpaddr noprefixroute valid_lft 7169sec preferred_lft 3569sec inet6 fe80::ae83:f3ff:fee6:1fb2/64 scope link valid_lft forever preferred_lft forever
  • Quartz64 - Image von Peter Geis

    Images
    4
    0 Stimmen
    4 Beiträge
    314 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 - Manjaro Test-Image

    Verschoben Archiv
    2
    0 Stimmen
    2 Beiträge
    257 Aufrufe
    FrankMF

    Das mit der fehlenden Funktionalität ist zum Testen etwas blöd, ich mache das halt gerne mittels SSH. Mal in meiner Wühlkiste einen USB-to-LAN Adapter gesucht und gefunden.

    Der einzige USB-Port der aktuell funktioniert ist der doppelte USB2-Port. Der kombinierte USB2/USB3 macht nix.

    6: eth1: &lt;BROADCAST,MULTICAST,UP,LOWER_UP&gt; mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 00:0a:cd:2a:ec:37 brd ff:ff:ff:ff:ff:ff inet 192.168.3.220/24 brd 192.168.3.255 scope global dynamic noprefixroute eth1 valid_lft 42957sec preferred_lft 37557sec inet6 fd8a:6ff:2880:0:e751:542:6dcd:e08b/64 scope global mngtmpaddr noprefixroute valid_lft forever preferred_lft forever inet6 2a02:xxxxxxxxxxxxxxxxx/64 scope global dynamic mngtmpaddr noprefixroute valid_lft 5259sec preferred_lft 1659sec inet6 fe80::aa11:dbfb:980:4dfa/64 scope link valid_lft forever preferred_lft forever

    Ok, jetzt kann man erst mal mit dem Quartz64 arbeiten 😉

  • Quartz64 - GPIO Modell A

    Angeheftet Verschoben Quartz64 - A
    1
    0 Stimmen
    1 Beiträge
    147 Aufrufe
    Niemand hat geantwortet
  • Quartz64 - Boot Order

    Angeheftet Hardware
    1
    0 Stimmen
    1 Beiträge
    339 Aufrufe
    Niemand hat geantwortet