Beiträge von veloci

    Da bin ich leider etwas ratlos.

    Bei mir sieht es so aus (remote, ssh -X):

    Code
    pi@raspberrypi:~ $ newtron-radio
    pygame 1.9.4.post1
    Hello from the pygame community. https://www.pygame.org/contribute.html
    using X-Display localhost:10.0
    Display area size: 320 x 200
    connected using unix socket...

    Benutzt du irgendeinen besonderen Font für die Darstellung?

    Irgendeinen selbstgebauten Skin?

    Ich hatte kurzzeitig eine ältere Version des Radios Online gestellt, die ich dann schnellstmöglich stillschweigend ausgetauscht habe. Diese hatte einen vergleichbaren Fehler - allerdings beim _artist_label in Zeile 1565 - da stimmte dann der vorgegebene Fensterausschnitt nicht mit dem tatsächlich benutzten Fensterausschnitt überein.

    Deshalb die Frage: Wann hattest du das Radio heruntergeladen? Wenn das schon ein paar Tage her ist, dann könntest du evtl. mal nur die newtron-radio.py aus #1.752 herunterladen und die vorhandene in /usr/local/lib/newtron-v3 damit ersetzen.

    BTW: Die Meldung could not set volume - continuing anyway... in deiner Ausgabe deutet möglicherweise auf einen fehlenden Eintrag in deiner /etc/mpd.conf hin. Nämlich mixer_type  "software" in der audio_output-Sektion.

    Und nochwas: Mit dem Pi4 hab ich noch keinerlei Erfahrung - Ich denke aber auch, das der 4er etwas oversized für das Radio ist - hab das Radio selbst auf Pi1B, Pi2B, Pi3B und Pi3B+ mit verschiedenen Displays am laufen (alle aber ohne Desktop und nur im Konsolenmodus).


    Gruß,

    veloci

    Touchdisplays im Konsolenmodus

    Wenn man sich so umschaut, liefern die Hersteller von Touchdisplays meistens nur Installationsskripte für den grafischen Desktop. Wer mit Raspbian Lite arbeitet und trotzdem ein Touchdisplay nutzen will kommt daher mit den Herstellereigenen Installationsskripten oft nicht weit, da bei Raspbian Lite keine Desktopumgebung installiert wird. Die Aufgabe, das Touchdisplay auf der Konsole funktionsfähig zu bekommen obliegt daher meistens dem Benutzer. Oft scheitert dieses Vorhaben jedoch an Kleinigkeiten, wie dieser Thread zeigt.

    Ich habe mir daher die Mühe gemacht, zumindest für einige Waveshare Touchdisplays, ein Installationsskript für den Konsolenmodus zu entwickeln. Mit diesem Skript und einem dazu passenden Display wird die Einrichtung von NewTron-Radio so einfach wie nie zuvor.

    Folgende Waveshare-Displays werden vom Skript bisher unterstützt:

    • 2.8inch RPi LCD (A)
    • 3.2inch RPi LCD (B)
    • 3.2inch RPi LCD (C)
    • 3.5inch RPi LCD (A)
    • 3.5inch RPi LCD (B)
    • 3.5inch RPi LCD (B) v2
    • 3.5inch RPi LCD (C)
    • 4inch RPi LCD (A)
    • 4inch RPi LCD (C)

    Das sind alles Displays, die direkt auf die 40-polige Stiftleiste des Pi aufgesteckt werden und keine weiteren Kabel oder Steckadapter benötigen.

    Download: waveshare-spi-console-setup.sh

    Installation als user 'pi' mit sh waveshare-spi-console-setup.sh

    Damit vereinfacht sich die Neueinrichtung von NewTron-Radio zu

    • Raspbian Lite installieren / konfigurieren / aktualisieren
    • sh waveshare-spi-console-setup.sh , rebooten und sudo ts_calibrate ausführen
    • sh newtron-radio-setup-v3.1.sh
    • Radio starten mit sudo newtron-radio oder
    • für Autostart einfach /usr/local/bin/newtron-radio& in /etc/rc.local vor dem exit 0 eintragen.

    Weiter gehts mit "Touchdisplays im Konsolenmodus (Teil 2)" in Beitrag #1824

    Gruß,

    veloci

    Was du mal probieren könntest:

    entferne mal in /etc/usbmount/usbmount.conf die Einträge ext2, ext3, ext4 in FILESYSTEMS=

    oder

    stelle den Ursprünglichen Wert von MOUNTOPTIONS= wieder her ("sync,noexec,nodev,noatime,nodiratime") und füge für jedes Dateisystem in FS_MOUNTOPTIONS= das 'ro'-Flag hinzu.

    Beide Varianten müssten dafür sorgen, dass /dev/sda2 weiterhin 'rw' gemountet wird, wobei die erste Variante zusätzlich verhindert, dass zumindest /dev/sda2 als usb1 in der Musikauswahl auftaucht (usb0 (/dev/sda1) taucht weiterhin auf, da vfat).

    Wo hast du das ro gesetzt?

    Das Setup-Skript in Beitrag #1770 macht auch nichts anderes als MOUNTOPTIONS in /etc/usbmount/usbmount.conf auf 'ro' zu setzen.

    Übrigens kann man auch den jetzigen Zustand wieder korrigieren - auch ohne das System neu aufzusetzen.

    Am einfachsten, man hängt die USB-Systemplatte an einen Linux-Rechner und macht dort die Änderung rückgängig.

    Alternativ kann man am pi nach dem emergency-login mittels mount -o remount,rw /dev/sda2 die root-Partition beschreibbar einhängen und dann die Änderung rückgängig machen.

    Der USB-Stick mit dem System wird doch nicht von usb-mount gemountet?

    Vermutlich doch. Zusätzlich zum mount mit UUID beim Systemstart. Aber da könnte mount erhellendes beitragen.

    Du hast beabsichtigtes Schreiben auf den Stick im Kopf, das damit verhindert würde.

    Ja, möglicherweise. Deswegen bat ich dich in #1.766 das mal zu testen ob es so ist.


    Hier eine modifizierte Version des Setup-Skripts die alles ReadOnly einhängt (MOUNTOPTIONS="ro") und die Dateisysteme ext2, ext3 sowie ext4 vom automatischen mounten ausschließt: usbmount-setup-for-mpd-ro.sh

    Wer das will, kann in /etc/usbmount/usbmount.conf einfach zu den MOUNTOPTIONS ein 'ro' hinzufügen.

    in meinem Fall zeigt er zusätzlich die 2 Partitionen des USB-Sticks an auf dem das System ist als USB0 und USB1.

    In so einem Fall weiß ich allerdings nicht, welche Auswirkungen das 'ro'-Flag auf das System hat. Deshalb lasse ich es erstmal so und überlasse es dem Benutzer entsprechende Änderungen vorzunehmen.

    Vielleicht testest du das mal aus...

    Ah, fehler entdeckt... Danke!

    Das Skript ist fast vollständig durchgelaufen nur der letzte Punkt fehlt noch:

    follow_outside_symlinks "yes" in /etc/mpd.conf setzen

    Dann sollte usbmount eigentlich funktionieren (spätestens nach einem reboot).

    Zeile 50: "perl -pi" habe ich im man perl nicht gesehen

    perl -pi -e ...  steht für "in Place Edit"

    Hier die korrigierte Version die jetzt auch im Originalbeitrag #1760 steht: usbmount-setup-for-mpd.sh

    -i used with no filenames on the command line, reading from STDIN.

    Danach kommt nichts mehr?

    '-i' kommt im Setupskript gar nicht vor. Woher das kommt kann ich also nicht sagen.

    Rückgängig machen? Komme ich gleich zu!

    Füge mal im Setupskript in die Zweite Zeile set -x ein und starte das Skript erneut und zeige mir die Ausgabe.

    Nun zum Rückgängig machen:

    Ich muß erstmal wissen, wie weit das Skript überhaupt gekommen ist und welches Raspbian du verwendet hast.

    Wenn es komplett durchgelaufen ist (Raspbian stretch oder buster):

    sudo apt purge exfat-fuse exfat-utils fuse libfuse2 lockfile-progs liblockfile-bin liblockfile1 pmount

    sudo rm /etc/systemd/system/systemd-udevd.service

    sudo systemctl daemon-reload

    sudo rm -rf /etc/usbmount

    Bei jessie oder wheezy fallen die beiden mittleren Kommandos weg.

    Dann müsstest du noch mal in deine mpd.conf schauen ob da irgendwo etwas verändert ist (das Skript soll dort follow_outside_symlinks "yes" setzen).

    Danach rebooten.


    Gruß,

    veloci

    Das usbmount Setup-Skript für mpd habe ich ebenfalls aktualisiert. Es sollte jetzt auch unter stretch und buster funktionieren.

    Es wäre schön, wenn das mal jemand testen könnte: usbmount-setup-for-mpd.sh

    • usbmount-setup-for-mpd.sh auf den pi mit dem Newtron-Radio kopieren
    • chmod +x usbmount-setup-for-mpd.sh (Skript ausführbar machen)
    • ./usbmount-setup-for-mpd.sh (Skript ausführen)
    • pi neustarten
    • USB-Stick mit Audiodateien einstecken
    • Nachschauen, ob der Stick im Radio sichtbar wird (in der Playlistenauswahl z.B. als usb0)
    • Etwas warten - je nach Anzahl der Audiodateien kann es etwas dauern bis der mpd seine Datenbank aktualisiert hat
    • Musikstück vom Stick auswählen und abspielen
    • Mitteilen, ob's funktioniert oder nicht unter Angabe von Raspbian version, Dateisystem auf dem Stick, usw...

    Hier eine Version, die alle angeschlossenen USB-Datenträger ReadOnly einhängt: usbmount-setup-for-mpd-ro.sh

    :!:Achtung: Diese Version nur verwenden, wenn nicht von USB gebootet werden soll, wenn keine Systemplatte am USB hängt oder wenn nicht auf die per USB angeschlossenen Datenträger geschrieben werden soll:!:

    Das automatische Einbinden von USB-Datenträgern mit den Linux-Dateisystemen ext2, ext3 und ext4 wurde in dieser Version deaktiviert.

    Danke im voraus,

    veloci

    Das Problem mit /dev/fb0 hatte ich irgendwie auch mit der version vom 20.6. Nach einem apt update / upgrade Durchgang und anschließendem Reboot war der Kernel aktualisiert und Buster auf dem Stand vom 10.7 - und ich musste wieder auf /dev/fb1 umstellen.

    Das Headset ist auch in der mpd.conf als Output eingetragen?

    Version 3.0 ist nur noch über meinen Dropbox-Account zu haben

    Download NewTron-Radio (Dropbox)

    Die aktuelle Version finden Sie dort ebenfalls - oder hier -> NewTron-Radio (Beitrag #1781)

    Was hat sich bei v3.0 geändert?

    • Statt dem nicht mehr funktionierenden kaa wird jetzt pynanosvg verwendet. Das vereinfacht auch die Installation.
    • Das Radioskript wurde auf python3 umgestellt.
    • Die beigefügten Radio-Playlistenbeispiele wurden aktualisiert.
    • Die Wettervorhersage funktioniert nun auch mit neueren API-Keys.
    • Der Ort für die Wetteranzeige kann anstelle der OWM_ID jetzt auch mittels Postleitzahl, geogr. Koordinaten oder Ortsnamen festgelegt werden.
    • Da die Raspbian-Version der libSDL keine Touchscreen-Unterstützung (libts) mehr bietet, stelle ich eine selbstkompilierte Version zur Verfügung (pygame benötigt libSDL für den 'touch'). Siehe oben
    • Viele weitere kleine Anpassungen...

    Gruß,

    veloci