staging.inyokaproject.org

Raspberry 4 stellt Audio immer wieder zurück

Status: Gelöst | Ubuntu-Version: Ubuntu 22.04 (Jammy Jellyfish)
Antworten |

LeoH

Avatar von LeoH

Anmeldungsdatum:
16. November 2008

Beiträge: 252

Hallo an alle,

ich habe Ubuntu 22.04 auf einen neuen Raspberry 4 installiert. Läuft soweit alles prächtig. Ein Problem hab ich aber bisher trotz allen Nachforschungen im Forum noch nicht lösen können:

Als Bildschirm (und Lautsprecher) nutze ich einen Fernseher über den HDMI-Port 0.

Wenn ich nach dem Start unter =>Einstellungen =>Audio diesen Ausgang auswähle habe ich einen tadellosen Ton. Allerdings muss ich diese Einstellung nach jedem Neustart erneut vornehmen. Ubuntu wählt immer den Ausgang "Headphones" als Voreinstellung aus.

Ich habe mich in die Gruppe "Audio" aufgenommen. Leider ohne dass sich daran etwas geändert hat.

Folgende Konfiguration konnte ich auslesen:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
ls /proc/asound
card0  card2  devices     modules  pcm  timers    vc4hdmi1
card1  cards  Headphones  oss      seq  vc4hdmi0  version


cat /proc/asound/cards
 0 [Headphones     ]: bcm2835_headpho - bcm2835 Headphones
                      bcm2835 Headphones
 1 [vc4hdmi0       ]: vc4-hdmi - vc4-hdmi-0
                      vc4-hdmi-0
 2 [vc4hdmi1       ]: vc4-hdmi - vc4-hdmi-1
                      vc4-hdmi-1

tail /proc/asound/modules

 0 snd_bcm2835
 1 vc4
 2 vc4

Die Karte 0 ist die, die immer voreingestellt ist. Die Karte 1 ist die, an der der Bildschirm angeschlossen ist.

In der Datei /etc/modprobe.d/alsa/alsa-base.conf habe ich folgende Zeilen gesetzt und dabei alle möglichen Varianten des Namens der Soundkarte benutzt:

1
2
options vc4hdmi0 index=0
options Headphones index=1

In der Datei /etc/pulse/client.conf habe ich folgendes versucht:

1
2
default-sink = 1
default-source = 1

Leider alles ohne den gewünschten Erfolg.

Vielleicht kann mir da ja jemand weiter helfen.

Gruß L-H

Marant--

Anmeldungsdatum:
4. April 2022

Beiträge: 680

Alles rückgängig machen. Neustart.

Dann

pavucontrol -t 3

HDMI als Ausweichoption setzen. (Ganz rechts) Bleiben die Kabel stecken wie sie sind dürfte sich dann nichts mehr ändern.

LeoH

(Themenstarter)
Avatar von LeoH

Anmeldungsdatum:
16. November 2008

Beiträge: 252

Hallo Marant--

vielen Dank für die prägnante Beschreibung zur Behebung des Fehlers.

Ich hab das gerade mal ausgeführt und dabei festgestellt, dass ich offensichtlich zusätzlich auch noch die "Headphones" deaktivieren muss.

In den Einstellungen erscheinen dann immer noch beide Geräte, S/PDIF ist aber vor-eingestellt.

Das ist dann so, wie ich es wollte. Vielen Dank.

Zusatz: Ich hab dann (aus Neugier) in den Einstellungen noch mal die "Headphones" eingestellt und dort Kopfhörer angeschlossen. Die funktionierten dann trotz der Deaktivierung. Nach einem Neustart waren die aber dann wieder an erster Stelle und im Lautstärkenregler "pavucontrol" waren die dann auch wieder aktiviert. Das ist wohl dann, wie du geschrieben hast, ...Bleiben die Kabel dann stecken wie sie sind.. ändert sich nichts. Im Umkehrschluss heißt das ja eigentlich ...wenn Kabel gesteckt werden, ändert sich das wieder... Das ist aber ja so ganz in Ordnung, denn das mache ich ja nur zum Test und kommt in meiner Praxis nicht vor. Mit "pavucontrol" kann das dann ganz einfach wieder geändert werden und funktioniert dann auch wie gewollt.

Vielen Dank noch mal für die schnelle Hilfe.

MfG L-H

Marant--

Anmeldungsdatum:
4. April 2022

Beiträge: 680

Es gibt noch 'ne einfache Möglichkeit, falls HDMI mal gezogen/gesteckt wurde und nicht automat. zurückgeht, bzw. wenn neues Gerät dazukommt. Folgendes in Autostart bzw. ausführen nach Anstecken anderer Geräte(ist dann das selbe wie Ausweichoption setzen):

pactl set-default-sink <sink>

(HDMI) <sink> auslesen mit

pactl list sinks short

(das 2. Feld)

Weiterhin gäbe es noch die Möglichkeit auf allen Ausgängen parallel auszugeben. Dann ist das An-/Abgestecke sowieso ohne Belang.(Wobei, falls da PipeWire läuft bin ich mir nicht sicher, müsste probiert werden.)

LeoH

(Themenstarter)
Avatar von LeoH

Anmeldungsdatum:
16. November 2008

Beiträge: 252

Das ist das Ergebnis:

1
2
pactl list sinks short
0	alsa_output.platform-fef00700.hdmi.iec958-stereo	module-alsa-card.c	s16le 2ch 48000Hz	SUSPENDED

Was davon nehme ich nun als <sink> ?

Edit: Blöde Frage! Du hast es ja geschrieben "das zweite Feld"

Dann heißt der Befehl also:?

1
pactl set-default-sink alsa_output.platform-fef00700.hdmi.iec958-stereo

Gruß L-H

Marant--

Anmeldungsdatum:
4. April 2022

Beiträge: 680

Ja, kommt keine Fehlermeldung(testen im Terminal) wird es akzeptiert.

LeoH

(Themenstarter)
Avatar von LeoH

Anmeldungsdatum:
16. November 2008

Beiträge: 252

Hallo Marant--,

das mit dem Autostart ist genial. Habs gerade eingerichtet.

Damit wird die HDMI immer zum Standard, auch wenn im Lautstärkeregler die "Headphones" aktiv geschaltet sind.

Das ist jetzt für mich die "Zucker-Lösung"!

Die Option, beide Karten parallel zu schalten benötige ich nicht.

Vielen Dank noch mal für die professionelle Hilfe.

MfG L-H

Marant--

Anmeldungsdatum:
4. April 2022

Beiträge: 680

Damit wird die HDMI immer zum Standard, auch wenn im Lautstärkeregler die "Headphones" aktiv geschaltet sind.

Getestet?

Falls es nicht ausgeführt wird dann(bash -c ".." und sleep 5 Sekunden(Warten) davor) in Autostart, also:

bash -c "sleep 5;pactl set-default-sink alsa_output.platform-fef00700.hdmi.iec958-stereo"

Das könnte so. z.B. auch auf irgendeine Taste(nkombi) gelegt werden,(ohne sleep 5;)u. es sollte dann keine Audio Anwendung laufen, sonst müsste vmtl. per "move sink" umgeschalten werden.

LeoH

(Themenstarter)
Avatar von LeoH

Anmeldungsdatum:
16. November 2008

Beiträge: 252

Hallo Marant--

Vielen Dank für den Zusatz.

Ich hab's getestet! Es läuft auch ohne die Pause.

MfG L-H

Antworten |