Skip to content

Quartz64 - SPDIF Modul

Verschoben Quartz64 - A
2 1 347
  • 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
  • 0 Stimmen
    2 Beiträge
    7 Aufrufe
    frankm@nrw.socialF
    @stevegio I love https://github.com/dani-garcia/vaultwarden"Unofficial Bitwarden compatible server written in Rust"
  • Debian Bookworm 12.11 released

    Linux linux debian
    1
    0 Stimmen
    1 Beiträge
    200 Aufrufe
    Niemand hat geantwortet
  • Raspberry Pi5 - First Boot

    RaspberryPi raspberrypi linux debian
    1
    2
    0 Stimmen
    1 Beiträge
    288 Aufrufe
    Niemand hat geantwortet
  • Crowdsec - Ein fail2ban Ersatz?

    Linux crowdsec linux fail2ban
    2
    1
    0 Stimmen
    2 Beiträge
    1k 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. [image: 1694411392066-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. https://docs.hetzner.com/de/robot/dedicated-server/troubleshooting/hetzner-rescue-system/ 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..
  • Quartz64 - Modell B - Manjaro Image

    Images quartz64
    6
    0 Stimmen
    6 Beiträge
    295 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. [image: 1654876676074-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!
  • checkmk - Debian Bullseye Release

    checkmk checkmk bullseye linux
    1
    0 Stimmen
    1 Beiträge
    521 Aufrufe
    Niemand hat geantwortet
  • Portainer - NodeBB Container erstellen

    Linux nodebb portainer linux redis
    1
    5
    0 Stimmen
    1 Beiträge
    346 Aufrufe
    Niemand hat geantwortet
  • Node.js Paketmanager npm Sicherheitsproblem!

    Linux security nodejs linux npm
    1
    0 Stimmen
    1 Beiträge
    263 Aufrufe
    Niemand hat geantwortet