splittscheid 3.0

FAQs und Tweaks zu meiner Phoniebox

Ich bekomme häufig die selben Fragen in Kommentaren, per Mail oder auch im Forum gestellt. Daher versuche ich mit diesem Beitrag einige davon abzufangen…

Inhalt

Beim Abspielen mit dem HifiBerry MiniAmp kommt kein Ton…

Hierfür gibt es häufig zwei Hauptgründe:

  1. Die Datei gpio-buttons.py hat standardmäßig einige Ports in Beschlag genommen, die auch vom HifiBerry benötigt werden. Der HifiBerry benötigt folgende GPIOs + Stromversorung:

    – Pins 3V, 5V, GND
    – GPIO 18 (Pin 12)
    – GPIO 19 (Pin 35)
    – GPIO 20 (Pin 38)
    – GPIO 21 (Pin 40)

    Die GPIOs 19 (Volume down), 20 (Previos) und 21 (Next) sind allerdings vorbelegt und müssen angepasst werden. Daher bitte gut aufpassen welche GPIOs wie belegt sind und diese unbedingt in der gpio-buttons.py pflegen!

    Die Datei kann wird im Regelfall hier liegen:
    /home/pi/RPi-Jukebox-RFID/scripts/gpio-buttons.py
    Falls das Script zum installieren des Displays verwendet und die Datei aus dem Repository gezogen wurde, dann liegt die Konfiguration hier:
    /home/pi/oled_phoniebox/scripts/gpio-buttons/gpio-buttons.py
    Es reicht zwar den Dienst neu zu starten, aber tatsächlich teste ich es eher, indem ich die komplette Box reboote…
  2. Bei der Installation der Jukebox4Kids wird irgendwann nach einem iFace-Name gefragt. Diesen setze ich aus Gewohnheit auf Master, kann selbstverständlich auch was anderes sein. Die asound.conf ist dann allerdings auch zu pflegen. Dies ist auch hier beschrieben. Recht häufig wird die Installation in anderer Reihenfolge durchgeführt, so dass der HifiBerry nicht angesprochen wird.

    Dann ist die Datei
    /etc/mpd.conf
    zu editieren und der control.name aus der asound.conf als Audio_iFace_Name zu hinterlegen. Einmal die Box neu starten und der Sound ist hoffentlich da 😉

Shutdownsound mit OnOffShim

Um den Shutdownsound einzuarbeiten müsst Ihr etwas „dreckig“ am Code rumwurschteln. Dafür ist es notwendig die Datei /usr/bin/cleanshutd zu bearbeiten. Fügt nach

folgendes ein (sollte bei Zeile 85 sein):

Wer sich nicht ran traut und einen fertigen Befehl sucht:

Danach noch den Service neu starten und es funktioniert:

Hier funktioniert natürlich auch jede andere MP3. Ich persönlich finde folgende Sounds gut:

Start-Sound Quelle: success 1 by Leszek_Szary
Shutdown-Sound Quelle: game over by Leszek_Szary

Auto-Idle-Shutdown mit OnOffShim: Phoniebox lässt sich nicht einschalten

Diverse Anwender haben über Probleme berichtet, dass nach dem Idle-Shutdown die Box nicht mehr über den OnOffShim + Powerbank eingeschaltet werden kann. Hintergrund ist, dass es verschiedene Arten gibt die Box auszuschalten. Bei Poweroff wird wohl dem System das Ausschalten per ACPI befohlen, also auch das „Auschalten der Stromversorgung“ um es leichter verständlich zu machen. Dagegen werden bei Halt alle Dienste beendet und die Maschine müsste „manuell“ ausgeschaltet werden. Das übernimmt hier der OnOffShim.

Im Endeffekt hatte ich keine Probleme beim Shutdown mit dem Befehel:

Dieser kann einfach in der Datei /home/pi/RPi-Jukebox-RFID/scripts/playout_controls.sh gegen poweroff ausgetauscht werden:

Kann die Box schneller starten

Ja, das kann sie. Das Thema hab ich ewig vor mich her geschoben, aber dank dieses Forenbeitrages vom User bCid ist Schwung ins Thema gekommen. Ich konnte meine Box damit 7 Sekunden schneller booten! Folgende Möglichkeiten bestehen die Box schneller zu booten:

Tweaks in der config.txt

Die folgenden beiden Werte sind teils selbsterklärend:

Die ersten beiden Parameter sind einmal ein delay, also eine Wartezeit beim booten, die auf 0 gestellt wird, und mit pi3-disable-bt wird Bluetooth nicht gestartet bzw. geladen.

Die Parameter avoid_warnings und initial_turbo sind mit Vorsicht zu genießen. Vor avoid_warnings möchte ich auch ausdrücklich warnen, damit hab ich schon Bootloops hervorgerufen, auch wenn damit ein subjektiv spürbarer Zeitgewinn möglich ist. Das Abschalten lief dann leider ebenso suboptimal. Die Zeiten für initial_turbo könnt Ihr bis 60 Sekunden hoch schrauben, tastet Euch mal ran, zuviel des Guten macht auch keinen Sinn!

Das hinzufügen geht mittels dieses Befehls:

Deaktvieren von Exim4

Hierbei handelt es sich um einen MTA (Message Transfer Agend) Dienst, der für Euch nur dann Sinn macht, wenn ihr auch Mails über den Server versendet, falls nicht, kann der Serice entfernt werden…

Anpassungen im dhcp-Client-Dienst

Der DHCP-Client-Dienst ist für das Aushandeln einer IP-Adresse für den Client, in unserem Fall der Raspberry, notwendig. Aber es gibt nun verschiedene Netzwerk-Konstellationen, z.B. wrden die meisten Heimnetzwerke nur IPv4 nutzen, daher habe ich IPv6 deaktiviert. Ein großer Geschwindigkeitszuwachs wird erzielt, wenn noarp aktiviert ist. ARP im Zusammenhang mit dem DHCP-Client-Dienst prüft im lokalen Netz, ob die IP schon vergeben ist. In Heimnetzwerken kann man das im Regelfall vernachlässigen:

Noch ein wenig Zeit gewinnt man, wenn die IP fest vergeben wird. Vorher solltet Ihr mal in Eurem Router / DHCP-Server schauen, welcher Adressbereich dynamisch vergeben wird und Euch eine IP raus picken, die möglichst nicht vergeben oder anderweitig belegt wird. Mit dem Befehl ifconfig (ifconfig wlan0) findet Ihr das Standardgateway raus (im Regelfall die IP des Routers):

Das Standardgateway bekommt Ihr über folgenden Befehl raus (das Feld Router in der Zeile von wlan0 im Regelfall:

Prüft bitte auch die DNS-Server mit folgendendem Befehl:

Jetzt geht es ans eingemacht, die Datei /etc/dhcpcd.conf muss editiert werden. Folgender Abschnitt muss dort ergänzt werden (Eingaben sind Beispielwerte):

Übrigens ist 8.8.8.8 ein DNS-Server im Internet, dieser kann, muss aber nicht verwendet werden. Natürlich hab ich wieder was für die Shell für Euch:

Eine Sache ist nun zwingend zu beachten: solltet Ihr zusätzlich zum OnBoard Wlan einen USB WLAN-Adapter im Einsatz haben, sollte man festlegen, dass das OnBoard-WLAN immer als wlan1 geladen oder deaktviert wird. Bevorzugt würde ich dann das OnBoard Wifi deaktivieren, dies geht mit fogendem Eintrag in der config.txt:

Folgende Befehle helfen Euch dabei Onboard Wifi als wlan1 zu laden, werden die wenigsten von Euch benötigen (nur durchführen, wenn Ihr wisst, wofür Ihr das braucht…):

IPv6 deaktivieren

Im Regelfall brauchen Eure Boxen kein IPv6, zumindest noch nicht… Daher könnt Ihr der Datei /etc/sysctl.conf folgendes anhängen:

Folgend wieder die Befehle für die Shell:

Deaktivieren von weiteren „unnötigen“ Diensten

Folgend werden mehrere Dienste deaktiviert, vorab der Kommentar, worum es sich bei dem Dienst handelt:

MPD Service eher laden

Dafür die Datei /etc/systemd/system/multi-user.target.wants/mpd.service ab Zeile 5 wie folgt anspassen:

Danach noch folgenden Befehl ausführen und die Box mit reboot neu starten:

Bitte prüft, ob Eure Box damit klar kommt…

cmdline.txt Tuning

Diese Datei bitte manuell anpassen. Ich werde hierfür keinen Automatismus bereit stellen!

Der Parameter quiet scheint im Netz allgemein anerkannt zu werden was den Zeitgewinn angeht. Die restlichen Parameter könnt Ihr mal durchtesten, Feedback ist ausdrücklich erwünscht!

SD Karten Speed ausnutzen

Unter der Vorraussetzung, dass Ihr eine gute SD Karte habt die UHS-I U3 fähig ist, könnt Ihr die Geschwindigkeit auch auskosten, in dem die config.txt folgende Zeile hinzugefügt bekommt:

Bitte seid Euch sicher, dass die SD Karte wirklich die Geschwindigkeit abkann, ansonsten war es das u.U. mit Eurer Installation! Ich empfehle diese SD: Samsung EVO 64GB microSDXC UHS-I U3

Für diejenigen, die einfach nur den Befehl ausführen wollen zum einfügen:

9 Kommentare

  1. Markus

    Moin moin
    hab da ne kurze Frage zu dem shutdownsound.
    Habe es so gemacht wie du es oben beschrieben hast…. jetzt habe ich das Problem das er beim Neustart immer eine Karte haben möchte damit er weiterspielt.
    Kann man das hinbekommen das die Box nach dem einschalten automatisch da weiterspielt wo sie aufgehört hat?
    Danke schon mal
    LG Annex
    Deine 2. Box ist ja der Hammer

    Antworten
    1. Olli (Beitrag Autor)

      Die Playlist bzw. Albenansicht hat ja den Punkt Resume, der sollte aktiviert werden.

  2. Florian

    Hallo,
    ich habe genau die gleiche Konfiguration wie bei deiner 2. Phoniebox und beim Starten erhalte ich die Meldung „Under Voltage detected“, wenn er mit der Powerbank startet.
    Was mache ich falsch?

    Habe den Hifiberry Miniamp, den RFID-Reader und den OnOff-Shim drauf.

    Danke!

    Viele Grüße

    Antworten
    1. Olli (Beitrag Autor)

      Hast du die EasyAcc Powerbank? Versuch ein anderes USB Kabel. Ich habe die Probleme nicht…

  3. Julius

    Hi!
    Vielen Dank für deine tollen und hilfreichen Artikel. Ich habe versucht mit deiner Anleitung den Shutdownsound in den OnOffShim einzubinden, leider ohne Erfolg (Sound kommt nicht, Phoniebox lässt sich nicht mehr über OnOffShim ausschalten).
    Meine /usr/bin/cleanshutd sieht jetzt so so:
    https://pastebin.com/7QbiEzQ3

    Hast du mir da irgendwelche Tipps? Danke!

    Antworten
    1. Olli (Beitrag Autor)

      Zeile 10 ist ein Copy Paste Fehler mit &amp…

    2. Julius

      Super, vielen Dank! Mit der Korrektur des Fehlers hat es nun geklappt. Übrigens steht der Fehler oben auch in dem Code, den du angegeben hattest. Nimm es doch bei Gelegenheit raus, damit „meine Nachfolger“ nicht darüber stolpern.

    3. Olli (Beitrag Autor)

      Danke für den Hinweis, lässt sich leider nicht so darstellen, Codec-Problematik. Weiß gerade auch noch nicht, wie ich das lösen soll…

  4. Simon

    Hi,

    wiedermal ein sehr hilfreicher Beitrag, danke! Hab meine Box wieder ein bisschen schneller gemacht.

    Auf die FAQ zu undervoltage bin ich gespannt, damit kämpf ich auch grad immer wieder.

    Antworten

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Wir benutzen Cookies um die Nutzerfreundlichkeit der Webseite zu verbessen. Durch Deinen Besuch stimmst Du dem zu.