Skip to content

Quartz64 - SPDIF Modul

Verschoben Quartz64 - A
  • Das Quartz64 Board hat einen GPIO Pin für SPDIF Daten Ausgabe. Ein anderer Benutzer hat jetzt dafür ein Modul gebaut, was man aufstecken kann.

    Hardware

    3b57277f-0275-4a16-aaf3-894112b2f2ed-grafik.png

    Das Modul nutzt die Pins 16,18 und 20. Aufgesteckt sieht das dann so aus.

    index.jpeg

    Software

    Aktuell funktioniert das Modul noch nicht mit dem Kernel des Manjaro Images.

    [root@quartz64 ~]# uname -a
    Linux quartz64 5.15.0-rc1-0.3-MANJARO-ARM #1 SMP PREEMPT Thu Oct 7 06:08:24 UTC 2021 aarch64 GNU/Linux
    

    Kann man testen, wenn man sich die Soundkarten des Systems anzeigen lässt.

    [root@quartz64 ~]# cat /proc/asound/cards
     0 [RK817          ]: simple-card - Analog RK817
                          Analog RK817
    

    Ok, hier ist das Modul noch nicht vorhanden. Die Hardwaredefinition des Boards wird ja mit einem File gemacht. Das findet man unter

    /boot/dtbs/rockchip/rk3566-quartz64-a.dtb
    

    Vor der Bearbeitung bitte irgendwo sichern. Und drann denken, falsche Parameter können die Hardware beschädigen!

    Wir machen daraus jetzt ein lesbares File.

    dtc -I dtb -O dts -o /root/testfile.dts /root/rk3566-quartz64-a.dtb
    

    Wenn ihr das Tool dtc nicht habt, ein

    pacman -S dtc
    

    installiert euch das.

    Das File öffnen wir jetzt mal und suchen nach SPDIF. Ich finde das hier

    spdif@fe460000 {
                    compatible = "rockchip,rk3568-spdif";
                    reg = <0x00 0xfe460000 0x00 0x1000>;
                    interrupts = <0x00 0x66 0x04>;
                    dmas = <0x5a 0x01>;
                    dma-names = "tx";
                    clock-names = "mclk\0hclk";
                    clocks = <0x0b 0x5f 0x0b 0x5c>;
                    #sound-dai-cells = <0x00>;
                    pinctrl-names = "default";
                    pinctrl-0 = <0x5f>;
                    status = "disabled";
                    phandle = <0x9e>;
            };
    

    Ok, ist "disabled". Um es zu aktivieren, muss da ein "okay" hin.

    spdif@fe460000 {
                    compatible = "rockchip,rk3568-spdif";
                    reg = <0x00 0xfe460000 0x00 0x1000>;
                    interrupts = <0x00 0x66 0x04>;
                    dmas = <0x5a 0x01>;
                    dma-names = "tx";
                    clock-names = "mclk\0hclk";
                    clocks = <0x0b 0x5f 0x0b 0x5c>;
                    #sound-dai-cells = <0x00>;
                    pinctrl-names = "default";
                    pinctrl-0 = <0x5f>;
                    status = "okay";
                    phandle = <0x9e>;
            };
    

    Aus dem File jetzt wieder ein .dtb machen.

    dtc -I dts -O dtb -o /root/rk3566-quartz64-a.dtb /root/testfile.dts
    

    Das File kopieren wir jetzt an die richtige Stelle.

    cp rk3566-quartz64-a.dtb  /boot/dtbs/rockchip/
    

    Den Quartz64 neu starten! Wir schauen nach den Soundkarten.

    [root@quartz64 ~]# cat /proc/asound/cards
     0 [RK817          ]: simple-card - Analog RK817
                          Analog RK817
     1 [SPDIF          ]: simple-card - SPDIF
                          SPDIF
    

    Gut, das ist sie. Jetzt müssen wir dem System noch mitteilen, das es diese Soundkarte benutzen soll.

    ALSA

    Wir erzeugen folgendes File.

    nano /etc/asound.conf
    

    Inhalt

    defaults.pcm.card 1
    defaults.ctl.card 1
    

    Ich benutze zum Testen das Tool mpv

    pacman -S mpv
    

    z.B. so

    ~~mpv http://wdr-1live-live.icecast.wdr.de/wdr/1live/live/mp3/128/stream.mp3~~
    

    Das ist natürlich Bullshit, das Testfile muss natürlich auch Digital Ton enthalten. Ok, wir laden uns hier was runter.

    Dann geben wir das Video aus, müssen aber die Bildausgabe abschalten. Geht ja auf dem Quartz64 noch nicht 😞

    mpv --no-video /home/frank/Countdown-v1-Dolby-thedigitaltheater.mp4
    

    Vor Erstellung des Files kam der Sound aus der analogen Buchse, daran hängen hier zwei PC-Boxen. Jetzt geht im Adapter rotes Licht an 🙂

    index2.jpeg

    Und der Sound kommt aus meinem AVReiceiver 🤓

  • 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

  • FrankMF FrankM hat am auf dieses Thema verwiesen
  • FrankMF FrankM hat am auf dieses Thema verwiesen
  • FrankMF FrankM hat am auf dieses Thema verwiesen
  • FrankMF FrankM hat am auf dieses Thema verwiesen
  • FrankMF FrankM hat am auf dieses Thema verwiesen
  • FrankMF FrankM hat am auf dieses Thema verwiesen
  • FrankMF FrankM hat am auf dieses Thema verwiesen
  • FrankMF FrankM hat am auf dieses Thema verwiesen
  • FrankMF FrankM hat am auf dieses Thema verwiesen
  • FrankMF FrankM hat am auf dieses Thema verwiesen
  • FrankMF FrankM hat am auf dieses Thema verwiesen
  • FrankMF FrankM hat am auf dieses Thema verwiesen
  • FrankMF FrankM hat am auf dieses Thema verwiesen
  • FrankMF FrankM hat am auf dieses Thema verwiesen
  • FrankMF FrankM hat am auf dieses Thema verwiesen
  • FrankMF FrankM verschob dieses Thema von Hardware am

  • Restic feiert 10. Geburtstag

    Restic
    1
    0 Stimmen
    1 Beiträge
    125 Aufrufe
    Niemand hat geantwortet
  • Crowdsec - Ein fail2ban Ersatz?

    Linux
    2
    0 Stimmen
    2 Beiträge
    715 Aufrufe
    FrankMF

    Ich kann jetzt hier von meiner ersten Erfahrung berichten und wie CrowdSec mich gebannt hat 🙂

    Was war passiert? Ich war gestern sehr intensiv mit der Konfiguration von Nextcloud <-> Collabora Online beschäftigt. Nachdem ich irgendwie nicht weiterkam habe ich mich der Erstellung eines Dokumentes gewidmet. Nach einiger Zeit war die Nextcloud nicht mehr erreichbar.

    Ok, hatte ich bei der Konfiguration auch schon mal, den Server einmal neugestartet und fertig. Doch jetzt kam es, Server neugestartet - hilft nicht. Gut, schauen wir mal nach, Der SSH Login ging auch nicht 😞

    Jetzt war guter Rat gefragt. Zu diesem Zeitpunkt ging ich noch davon aus, das auf diesem Server kein CrowdSec installiert war, sondern fail2ban. Und fail2ban hatte eine sehr kurze Bantime vom 10M.

    Also blieb wohl nur noch das Rescue System von Hetzner.

    488866bc-3dcf-4abc-9e98-6107d65aa4c7-grafik.png

    Da hatte ich ja so gut wie gar keine Erfahrung mit. Also mal kurz den Nico angetriggert und es kam folgender Link.

    Link Preview Image Hetzner Rescue-System - Hetzner Docs

    favicon

    (docs.hetzner.com)

    Das Laufwerk war schnell bestimmt und schnell nach /tmp gemountet. Danach musste man sich noch mit chroot in diese Umgebung anmelden.

    chroot-prepare /mnt chroot /mnt

    Nachdem das klappte, habe ich eben fail2ban disabled.

    sysmctl disable fail2ban

    Danach das Rescue beendet. Der Server startete wieder und ich kam wieder per SSH drauf. Puuh.
    Bei meiner ersten Kontrolle fiel mir was auf

    root@:~# pstree systemd─┬─2*[agetty] ├─atd ├─cron ├─crowdsec─┬─journalctl │ └─8*[{crowdsec}] ├─crowdsec-firewa───9*[{crowdsec-firewa}]

    Wie? Da läuft CrowdSec? Da ich dabei bin die Server auf CrowdSec umzustellen, war das wohl hier schon gemacht, aber leider nicht vernünftig. fail2ban hätte mindestens disabled werden müssen und in meiner Dokumentation war das auch nicht enthalten. 6 setzen!

    CrowdSec besteht ja aus zwei Diensten, CrowdSec und dem Firewall-Bouncer. Der CrowdSec Dienst lief aber nicht, der war irgendwie failed. Ok, starten wir ihn und schauen was passiert. Nachdem er gestarte war mal die Banliste angeschaut.

    cscli decisions list

    ergab diesen Eintrag.

    2551501 │ crowdsec │ Ip:5.146.xxx.xxx │ crowdsecurity/http-crawl-non_statics │ ban │ │ │ 53 │ 1h5m55.391864693s │ 1671

    Meine IP war gebannt. Dann wissen wir ja , woher die Probleme kamen.

    cscli decisions delete --id 2551501

    Nach Eingabe war der Ban entfernt. Na gut, aber da ich aktuell immer noch an der richtigen Konfiguration von NC <-> CODE bastel, könnte das ja wieder passieren. Was machen? Kurz gegoogelt. Es gibt eine Whitelist. Aha!

    /etc/crowdsec/parsers/s02-enrich/whitelists.yaml

    name: crowdsecurity/whitelists description: "Whitelist events from private ipv4 addresses" whitelist: reason: "private ipv4/ipv6 ip/ranges" ip: - "127.0.0.1" - "::1" - "5.146.XXX.XXX" cidr: - "192.168.0.0/16" - "10.0.0.0/8" - "172.16.0.0/12" # expression: # - "'foo.com' in evt.Meta.source_ip.reverse"

    Danach den Dienst neustarten. Jetzt hoffen wir mal, das es hilft.

    Zum Schluss noch was, was mir aufgefallen war und was mich auch sehr verwirrt hatte. CrowdSec hatte wegen einem crowdsecurity/http-crawl-non_statics gebannt. Dadurch konnte ich meine
    subdomain.<DOMAIN> nicht erreichen. Ok, logisch, wenn der Ban von da ausgeht. Ich konnte aber gleichzeitig eine andere subdomain mit derselben <DOMAIN> auch nicht erreichen. Komplett verwirrte es mich dann, als ich eine andere <DOMAIN> auf dem selben Server erreichen konnte. Und zum Schluss ging auch der SSH nicht.

    Also, wieder viel gelernt.. 🤓

  • Konsolentext in Englisch

    Linux
    1
    0 Stimmen
    1 Beiträge
    51 Aufrufe
    Niemand hat geantwortet
  • Quartz64 - Missing SPI ?

    Verschoben Quartz64
    1
    0 Stimmen
    1 Beiträge
    425 Aufrufe
    Niemand hat geantwortet
  • Quartz64 - Jumper BAT ON/OFF

    Angeheftet Verschoben Quartz64 - A
    1
    0 Stimmen
    1 Beiträge
    197 Aufrufe
    Niemand hat geantwortet
  • ROCKPro64 - Kernel 5.6 und Wireguard 1.0

    ROCKPro64
    1
    0 Stimmen
    1 Beiträge
    305 Aufrufe
    Niemand hat geantwortet
  • Debian Buster 10 Release

    Linux
    3
    0 Stimmen
    3 Beiträge
    388 Aufrufe
    FrankMF

    Da man ja beim Login auswählen kann, mit was die Session startet, war ich doch jetzt etwas neugierig was überhaupt läuft.

    IMG_20190707_092217.jpg

    frank@debian:~$ echo $WAYLAND_DISPLAY frank@debian:~$ loginctl SESSION UID USER SEAT TTY 7 1000 frank seat0 tty2 c1 116 Debian-gdm seat0 tty1 2 sessions listed. frank@debian:~$ loginctl show-session c1 -p Type Type=x11 frank@debian:~$ loginctl show-session c1 Id=c1 User=116 Name=Debian-gdm Timestamp=Sat 2019-07-06 22:43:34 CEST TimestampMonotonic=30094837 VTNr=1 Seat=seat0 TTY=tty1 Remote=no Service=gdm-launch-environment Scope=session-c1.scope Leader=1015 Audit=4294967295 Type=x11 Class=greeter Active=no State=online IdleHint=yes IdleSinceHint=1562446130937731 IdleSinceHintMonotonic=346278596 LockedHint=yes

    Die Installation der Nvidia Treiber macht da wohl einen x11 Desktop raus. Aber auch nicht weiter schlimm, der Wayland lief ja hier überhaupt nicht. Würde mich aber über interessante Links zum Thema freuen 😉

  • SSH Login ohne Passwort

    Angeheftet Linux
    4
    0 Stimmen
    4 Beiträge
    1k Aufrufe
    FrankMF

    Wie ihr ja wisst, benutze ich das Forum hier auch gerne als Notizbuch 🙂 Also mal wieder was hier notieren. Mein Windows Systemadmin sagte mir heute, das es auch folgendes gibt

    # ssh-keygen -t ed25519 Generating public/private ed25519 key pair. Enter file in which to save the key (/root/.ssh/id_ed25519): /tmp/ed Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /tmp/ed Your public key has been saved in /tmp/ed.pub The key fingerprint is: SHA256:D33HCTW7Dy0p5kQdFTkPudx1PQh0EHFgkBvxy8KwhGM root@frank-ms7c92 The key's randomart image is: +--[ED25519 256]--+ | o=O*o=+=| | . oo o+oB+| | E o o.o.o+*| | . o +o...oo=o| | .So.o= O .| | o.= o + | | . . .| | | | | +----[SHA256]-----+

    Der Key liegt nur in /tmp kopieren lohnt also nicht 🙂

    Ob das jetzt die Zukunft ist, kann ich nicht beantworten. Ich wollte es aber hier mal festhalten, weil es wohl mittlerweile auch von vielen Projekten benutzt wird.

    Link Preview Image ssh-keygen - Wikipedia

    favicon

    (en.wikipedia.org)