Kein Ton über HiFiBerry MiniAmp am RPi 4

  • Hallo zusammen.


    Nachdem ich mir gestern die Nacht mit Fehlersuche um die Ohren geschlagen habe, ist es denke ich an der Zeit, hier mal um Hilfe zu fragen.


    Ich habe aktuell einen RPi 4 frisch mit buster lite aufgesetzt und das Script von MiczFlor ausgeführt:

    Code
    cd; rm buster-install-*; wget https://raw.githubusercontent.com/MiczFlor/RPi-Jukebox-RFID/master/scripts/installscripts/buster-install-default.sh; chmod +x buster-install-default.sh; ./buster-install-default.sh

    Ich möchte einen HiFiBerry MiniAmp verwenden. Damit die Phoniebox damit funktioniert, sind ja ein paar zusätzliche Einstellungen vorzunehmen.

    Die beste Zusammenfassung an einem Ort, die ich gefunden habe, ist hier:

    Tutorial von farbschein / Issue 261


    Aber ich krieg's einfach nicht hin.

    Die Weboberfläche funktioniert, ich kann dort die Lautstärke einstellen und auch Dateien abspielen. Nur höre ich keinen einzigen Ton.

    Ich hab schon einen anderen RPi getestet, die Boxen ausgetauscht... ich weiß echt nicht mehr, was ich noch tun kann.


    Kann es sein, dass das eine Spezialität des RPi 4 ist?

    Hat jemand eine Idee, was ich noch versuchen könnte?

  • Hi,


    ich habe gestern Abend erst einen frischen RaspiPi 4 mit Buster und MiczFlors Jukebox aufgesetzt, u.a. mit Hifiberry.

    Hier ist alles dokumentiert: https://wordpress.amueller.org/phoniebox/


    Im Prinzip:

    - in /boot/config.txt den Hifiberry konfigurieren
    - die /etc/asound.conf anlegen
    - beim Installieren von RPI-Jukebox "Master" als iFace Name angeben

    - Sicherstellen, dass kein anderes Script die GPIOs des Hifiberry nutzt.
    (Kommt beim hochfahren ganz kurz ein Startton und danach nichts mehr ist das ein Zeichen dafür).


    Gut ist auch erstmal vor der Installation von MiczFlors Jukebox den Hifiberry zu testen.

  • (Kommt beim hochfahren ganz kurz ein Startton und danach nichts mehr ist das ein Zeichen dafür).

    Danke für den Link! Starke Lösung mit dem HAT, toll gemacht!


    Ich hab grundsätzlich eigentlich alles so gemacht, wie es von dir beschrieben ist.


    Bei mir kommt aber kein Pieps. Naja, der Kartenleser piept beim Booten. Sonst herrscht Stille.

    Die GPIOs habe ich in /scripts/gpio-buttons.py übrigens sicherheitshalber alle auskommentiert.


    Es ist zum Verzweifeln, echt...

  • Was ergibt die Ausgabe von aplay -l auf der Kommandozeile?

    Das ergibt Folgendes:

    Code
    pi@raspberrypi:~ $ aplay -l
    **** List of PLAYBACK Hardware Devices ****
    card 0: sndrpihifiberry [snd_rpi_hifiberry_dac], device 0: HifiBerry DAC HiFi pcm5102a-hifi-0 []
    Subdevices: 1/1
    Subdevice #0: subdevice #0
  • Code
    pi@raspberrypi:~ $ aplay -l
    **** List of PLAYBACK Hardware Devices ****
    card 0: sndrpihifiberry [snd_rpi_hifiberry_dac], device 0: HifiBerry DAC HiFi pcm5102a-hifi-0 []
    Subdevices: 1/1
    Subdevice #0: subdevice #0

    das sieht schonmal gut aus. Ich nehme and speaker-test funktioniert auch nicht?

    Wenn du "alsamixer" aufrufst wird oben Links als card der Hifiberry angezeigt?


    Ich würde nochmal alles neu aufsetzen und schrittweise vorgehen.
    Vor der Installation des MiczFlor Scripts erst sicherstellen dass der HifiBerry tut (mit speaker-test).
    Man muss die /etc/mpd.conf nicht manuell ändern, die Angabe von "Master" als iFace beim Installationsscript
    ist alles was man tun muss.

    Ich hab übrigens anfangs genau mit dem gleichen Problem gekämpft und bei mir waren es immer GPIO Konflikte.
    Du bist sicher du hast kein anderes Script installiert (für die LEDs, fürs Display etc?)

  • So Leute, haltet auch fest. Ich hatte noch einen zweiten Miniamp, mit dem ich den Aufbau jetzt getestet habe.

    Ihr wisst schon, was jetzt kommt...


    DER ERSTE MINIAMP WAR IM 4%$#§!!!


    Ich pack's nicht. So viel Zeit...

    Tatsache ist, jetzt geht's.


    Für alle mit ähnlichen Problemen:
    Arbeitet diese Anleitung durch:

    Klick 1

    Klick 2 (Abschnitt Raspberry Image mit HifiBerry)

    Wenn es dann immer noch Probleme gibt, würde ich beginnen, Verbindungen und Hardware zu testen.


    A propos, damit habe ich immer noch ein Problem:
    Wenn ich den MiniAmp nicht aufsetze, sondern mit Jumperkabeln verbinde (GPIOs 18 bis 21, Pins 12, 35, 38 und 40), kommt kein Mucks.

    Nachdem ich das aber eigentlich so vor gehabt hätte, um auf die anderen GPIOs für Buttons und Co. zugreifen zu können, stehe ich erst recht wieder vor einem Problem.


    Ich hab schon zwei verschiedene Satz Kabeln getestet (von unterschiedlichen Herstellern).

    Es mag nicht.

  • Wenn ich den MiniAmp nicht aufsetze, sondern mit Jumperkabeln verbinde (GPIOs 18 bis 21, Pins 12, 35, 38 und 40), kommt kein Mucks.

    Dazu brauchst du dann noch 5V und Ground, also PIN2 und z.B: PIN 6 oder 39
    Die genannten PINs sind nur für die Datenübertragung

  • :neutral: Wo sind die Löcher, wenn man ein's zum Versinken braucht...


    Ich hab schon gedacht, dass da noch irgendwo Strom herkommen muss, aber war nicht sicher, ob das nicht auch über die GPIO Pins geht.

    Man darf aber, denke ich, schon behaupten, dass das bei HiFiBerry auch nicht besonders gut dokumentiert ist.


    Update: Also, nur PIN 2 und PIN 6 reichen meinem MiniAmp offenbar nicht. Hab auch Varianten mit PIN 4 für die 5 V und PIN 39 als Ground getestet, kein Erfolg.

    Geht sonst noch was ab? :denker:

  • Schau dir das Pinout an, wenn ich mir das Bild vom HiFiBerry MiniAmp anschaue, dann sehe ich dort eine Leiterbahn die vom Pin1 kommt.

    Hm dann braucht er auch noch 3,3V (PIN1). Kann mich nicht mehr erinnern (müsste meine Box 1 aufschrauben, da habe ich es genau so mit Jumperkabel angeschlossen und es funktioniert. Probiers doch einfach (wenn du ihn aufsteckst ist der PIN ja auch verbunden)

  • Jetzt hat's geklappt! Es sind tatsächlich die 3,3 V, 5 V und eine Masse notwendig.


    Falls mal jemand das gleiche Problem hat, hab ich hier mal Bilder meines jetzt funktionierenden Aufbaus angefügt.
    Zu sehen ist die Pinbelegung auf dem Raspberry Pi 4 und auf dem HiFiBerry MiniAmp.


    Strom- und Spannungsversorgung hängen an einem "Strang", die Daten laufen über die zweite Gruppe mit violett, grau, weiß und schwarz.


    Danke euch für eure Hilfe!!

  • auch wenn das Problem jetzt gelöst ist, will ich der Vollständigkeit halber noch auf meine Messungen und Untersuchungen des MiniAmps hinweisen:


    Wenn man den MiniAmp nur teilweise verkabeln will, braucht man folgende Pins:

    Stromversorgung:

    Pin 1: 3,3V

    Pin 2: 5V

    Pin 6: Masse

    I2S-Audioübertragung:

    Pin 12 (GPIO 18, PCM_CLK): I2S-BCLK

    Pin 35 (GPIO 19): I2S-SYNC

    Pin 40 (GPIO 21): I2S-DATA

    Direkte Steuerung des Verstärker-ICs PAM8403:

    Pin 36 (GPIO 16): MUTE (PAM8403)

    Pin 37 (GPIO 26): SHDN (PAM8403)


    Neben der Spannungsversorgung (5V, 3,3V, GND) sind zwingend nur die Pins 12, 35, 40 zwischen MiniAmp und RPi zu verbinden.

    Optional kann man über die Pins 36 und 37 den Verstärkerbausten PAM8403 stummschalten und auf Shutdown setzen, indem man sie mit GND verbindet oder über den RPi mittels GPIO 16 bzw. GPIO24 auf low zieht. Auf der MiniAmp-Leiterplatte befinden sich an diesen Signalen 10k-PullUp-Widerstände.

    --> siehe Stromlaufplan HifiBerry Miniamp und dort die PDF-Datei herunterladen

  • Liebe Leute,


    ich hatte bei dem Miniamp in Kombination mit der Phoniebox noch ein anderes Problem, das mich ziemlich viel Zeit gekostet hat und ich frage mich, ob nur ich darüber gestolpert bin: Es gibt da scheinbar einen Konflikt in den GPIOs. Der Miniamp verwendet ja u.A. folgende Pins:


    Pin 35 (GPIO 19): I2S-SYNC

    Pin 40 (GPIO 21): I2S-DATA


    Diese GPIOs werden aber von der Phoniebox mit diversen Funktionen belegt und dafür mit einem Pullup-Widerstand initialisiert. Wenn ich diese Buttons im Script auskommentiere, funktioniert der Miniamp, sonst nicht.


    Ist da auch mal jemand drüber gestolpert?


    Gruß

    Thomas

    • Official Post

    Hallo twolf,


    ganz genau! Das es in diesem Fall Konflikte gibt ist einer der Gründe, weshalb ich den Maintainer der Phoniebox nicht verstehe. Die Doku auf der Seite ist schon chaotisch verwirrend genug, aber statt sich mal mit den GPIO oder dem gpiozero-Python-Modul (für die gpio-buttons.py) zu beschäftigen, wird an Spotify oder anderem Mist gearbeitet. :no_sad:


    Sorry für den OT Benzinbruder! Manchmal muss ich mir auch Luft machen... ;)

  • Ich finde die Doku der Phoniebox herausragend. Insbesondere für ein Hobby-Projekt. Da wünsche ich mir manchmal bei kommerziellen Produkten eine ähnlich ausführliche Doku. Durch den Umfang ist ein wenig die Struktur verloren gegangen, aber das ist wirklich Klagen auf hohem Niveau. Ohne jede Ahnung von Raspberry Pi konnte ich damit die Phoniebox in 90 Minuten aufsetzen...


    Vielleicht kann man das an der einen oder anderen Stelle noch verbessern - hier z.B. den Hinweis auf mögliche Konflikte einfügen: https://github.com/MiczFlor/RP…-Non-USB-Audio-DAC-ES9023 .Werde es ggf. mal vorschlagen.

  • Weil's mir gerade aufgefallen ist: Laut HiFiBerry benötigt man wohl auch Pin 38 (GPIO 20) zwingend für den MiniAmp:

    HiFiBerry MiniAmp

    GPIOs 18-21 (pins 12, 35, 38 and 40) are used for the sound interface. GPIO16 can be used to mute the power stage. GPIO26 shuts down the power stage. You can’t use these GPIOs for any other purpose.

  • Ich finde die Doku der Phoniebox herausragend. Insbesondere für ein Hobby-Projekt. Da wünsche ich mir manchmal bei kommerziellen Produkten eine ähnlich ausführliche Doku. Durch den Umfang ist ein wenig die Struktur verloren gegangen, aber das ist wirklich Klagen auf hohem Niveau. Ohne jede Ahnung von Raspberry Pi konnte ich damit die Phoniebox in 90 Minuten aufsetzen...


    Vielleicht kann man das an der einen oder anderen Stelle noch verbessern - hier z.B. den Hinweis auf mögliche Konflikte einfügen: https://github.com/MiczFlor/RP…-Non-USB-Audio-DAC-ES9023 .Werde es ggf. mal vorschlagen.

    Auf der Seite zu den Hardware Pinouts gibt es schon Hinweise auf mögliche Konflikte und Vorschläge für Pinbelegungen:

    https://github.com/MiczFlor/RP…Overview#flexible-pin-out


    Dass die Standardkonfiguration der Phoniebox Konflikte mit dem (offenbar) oft verwendeten MiniAmp hat ist etwas unglücklich, aber diese Hardwareerweiterung war wohl nicht von Anfang an ein fester Teil des Projekts - und es ist ja auch jetzt noch nicht unbedingt notwendig, einen MiniAmp zu verwenden.


    Auch ich musste aber schon viele Seiten im Wiki zum Projekt viele Male lesen um eine Idee zu bekommen, was und wie es zu tun ist.

    Das ist aber ein Leider vieler Dokumentationen auf git. So einfach ist das auch nicht, so eine Doku zu schreiben und auf Stand zu halten.


    Glücklicherweise gibt's euch alle hier! ;):bravo2:

  • Weil's mir gerade aufgefallen ist: Laut HiFiBerry benötigt man wohl auch Pin 36 (GPIO 20) zwingend für den MiniAmp:

    richtig, siehe meinen Beitrag #13 oben. Für technische Details siehe Stromlaufplan HifiBerry Miniamp

    EDIT: Dummschwätz, stimmt nur teilweise und ist keine richtige Antwort auf Deine Feststellung, siehe Beitrag #22!

    So einfach ist das auch nicht, so eine Doku zu schreiben und auf Stand zu halten.

    oh ja, das ist so eine Sache, insbesondere, wenn Debian (bzw. Raspbian) wieder mal von z.B. Stretch auf Buster "hüpft" :baeh2:
    Das betrifft leider auch die Doku zu meinen Projekten auf github. Um da up-to-date zu bleiben, bedarf es schon eines gewissen Aufwandes. Aber da schludere auch ich zur Zeit "etwas". :stumm: