• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Gelöst Nach Reboot kein Sound

Hallo,

bei einem älteren HP Computer mit einer Onboard-Soundkarte erkennt das System zwei Soundkarten. YAST zeigt zwei Soundkarten an:
Code:
0 High Definition Audio Controller
1 Compaq 5000 Nicrotower
Nachdem ich mit YAST ene oder beide Soundkarten konfiguriert habe (schnelles Setup), funktioniert die Ton-Ausgabe über die Lautsprecher.

cat /proc/asound/cards zeigt folgendes an:
Code:
0 [Intel]: HDA-Intel - HDA Intel
      HDA Intel at 0xfcffc000 irq 27
1 [NVidia]: HDA-Intel - HDA NVidia
      HDA NVidia at 0xfea7c000 irq 16

Nach jedem Reboot des Rechners ist der Ton wieder weg. Die Soundkarten werden nicht erkannt, wie mir cat /proc/asound/cards zeigt.

YAST zeigt die Soundkarten zwar an, aber ich muss diese nach jedem Reboot löschen (deaktivieren) und wieder konfigurieren, dann hört man wieder etwas.

Noch etwas:
Beim Booten sehe ich ganz am Anfang einige Meldungen bezüglich der Soundkarte:
Code:
snd-hda-intel can't probe codecs - giving up

Aber das dürfte nicht sehr bedeutend sein, denke ich, da ja nach der Konfiguration mit YAST alles funktioniert.

Hat jemand eine Idee für mich?
Systeminformation: openSUSE Leap 15.4
 
Zuletzt bearbeitet:
Code:
dmesg | egrep -i "hda-intel|snd"
Code:
[ 1.906418] snd_hda_intel 0000:01:00.1: Disabling MSI
[ 1.906430] snd_hda_intel 0000:01:00.1: Handle vga_switcheroo audio client
[ 1.931739] snd_hda_intel 0000:00:1b.0: Cannot probe codecs, giving up
[ 1.962769] snd_hda_intel 0000:01:00.1: Cannot probe codecs, giving up
Code:
lsmod | egrep -i "snd|hda"
Code:
snd_hda_intel          57344  0
snd_intel_dspcfg       32768  1 snd_hda_intel
snd_intel_sdw_acpi     20480  1 snd_intel_dspcfg
snd_hda_codec         176128  1 snd_hda_intel
snd_hwdep              16384  1 snd_hda_codec
snd_hda_core          110592  2 snd_hda_intel,snd_hda_codec
snd_pcm               176128  3 snd_hda_intel,snd_hda_codec,snd_hda_core
snd_timer              40960  1 snd_pcm
snd                   118784  5 snd_hwdep,snd_hda_intel,snd_hda_codec,snd_timer,snd_pcm
soundcore 16384 1 snd
 
Nachdem ich die Soundkartenkonfiguration mit YAST wieder gelöscht habe und die Karte erneut mit YAST konfiguriere, bekomme ich folgende Ausgaben.

Aber - wie gesagt - nach dem nächsten Reboot ist der Sound wieder weg und die Ausgabe der zwei Kommandos so wie oben.

Code:
dmesg | egrep -i "hda-intel|snd"

[ 404.053692] snd_hda_intel 0000:01:00.1: Disabling MSI
[ 404.053705] snd_hda_intel 0000:01:00.1: Handle vga_switcheroo audio client
[ 404.095078] snd_hda_codec_realtek hdaudioC0D0: autoconfig for ALC662 rev1: line_outs=1 (0x14/0x0/0x0/0x0/0x0) type:line
[ 404.095087] snd_hda_codec_realtek hdaudioC0D0:    speaker_outs=0 (0x0/0x0/0x0/0x0/0x0)
[ 404.095090] snd_hda_codec_realtek hdaudioC0D0:    hp_outs=1 (0x1b/0x0/0x0/0x0/0x0)
[ 404.095092] snd_hda_codec_realtek hdaudioC0D0:    mono: mono_out=0x0
[ 404.095094] snd_hda_codec_realtek hdaudioC0D0:    inputs:
[ 404.095096] snd_hda_codec_realtek hdaudioC0D0:      Front Mic=0x19
[ 404.095098] snd_hda_codec_realtek hdaudioC0D0:      Rear Mic=0x18
[ 404.095100] snd_hda_codec_realtek hdaudioC0D0:      Line=0x1a

Code:
lsmod | egrep -i "snd|hda"

snd_hda_codec_realtek   167936  1
snd_hda_codec_generic    98304  1 snd_hda_codec_realtek
snd_hda_codec_hdmi     73728  4
ledtrig_audio 16384 1 snd_hda_codec_generic
snd_hda_intel          57344  3
snd_intel_dspcfg       32768  1 snd_hda_intel
snd_intel_sdw_acpi     20480  1 snd_intel_dspcfg
snd_hda_codec         176128  4 snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec_realtek
snd_hda_core          110592  5 snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec,snd_hda_codec_realtek
snd_hwdep              16384  1 snd_hda_codec
snd_pcm               176128  4 snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec,snd_hda_core
snd_timer              40960  1 snd_pcm
snd                   118784  14 snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hwdep,snd_hda_intel,snd_hda_codec,snd_hda_codec_realtek,snd_t
imer,snd_pcm
soundcore 16384 1 snd
 
Zuletzt bearbeitet:
Gibt es in /etc/modprobe.conf oder einer Datei im Verzeichnis /etc/modprobe.d eine Eintragung blacklist snd_hda_codec_realtek?

Reicht es, wenn Du statt der Konlfiguration in YaST als rootmodprobe snd_hda_codec_realtek ausführst?
 
Die Eingabe von modprobe snd_hda_codec_realtek zeigt keine Wirkung.
Eine Datei /etc/modprobe.conf existiert nicht.
In /etc/modprobe.d existiert eine Datei 50-sound.conf
Ich habe jetzt mit YAST beide erkannten Soundkarten konfiguriert und der Inhalt der Datei /etc/modprobe.d/50-sound.conf ist nun:
Code:
options snd slots=snd-hda-intel,snd-hda-intel
# u1Nb.xjr32eQ0CT6:Compaq 500B Microtower
alias snd-card-0 snd-hda-intel
# NXNs.Iwkxn63KaHE:High Definition Audio Controller
alias snd-card-1 snd-hda-intel
Also, wie gesagt, nach der Konfiguration mit YAST geht der Sound. Nach dem nächsten Reboot nicht mehr.

Noch etwas:
Die Datei /etc/modules-load.d/yast.conf enthält eine einzige Zeile:
Code:
snd-hda-intel

In /etc/modprobe.d sind keine Blacklist-Dateien, aber in
/lib/modprobe.d befinden sich folgende Dateien:
Code:
-rw-r--r-- 1 root root 1298  2. Feb 11:13 10-unsupported-modules.conf
-rw-r--r-- 1 root root  308  3. Mai 09:53 20-kernel-default-extra.conf
-rw-r--r-- 1 root root   21  2. Feb 11:13 40-alias-autofs.conf
-rw-r--r-- 1 root root   15  2. Feb 11:13 40-alias-nfs.conf
-rw-r--r-- 1 root root   81  2. Feb 11:13 40-alias-paride.conf
-rw-r--r-- 1 root root   34  2. Feb 11:13 40-alias-parport.conf
-rw-r--r-- 1 root root   75  2. Feb 11:13 40-alias-qemu-acpiphp.conf
-rw-r--r-- 1 root root  728  2. Feb 11:13 40-bttv_skip_it.conf
-rw-r--r-- 1 root root  134  2. Feb 11:13 40-cifs.conf
-rw-r--r-- 1 root root  424  2. Feb 11:13 50-blacklist-acpi_power_meter.conf
-rw-r--r-- 1 root root   41  2. Feb 11:13 50-blacklist-bfusb.conf
-rw-r--r-- 1 root root   78  2. Feb 11:13 50-blacklist-dpt_i2o.conf
-rw-r--r-- 1 root root  175  2. Feb 11:13 50-blacklist-evbug.conf
-rw-r--r-- 1 root root 1477  2. Feb 11:13 50-blacklist-fb.conf
-rw-r--r-- 1 root root  308  2. Feb 11:13 50-blacklist-isst.conf
-rw-r--r-- 1 root root  131  2. Feb 11:13 50-blacklist-mtd.conf
-rw-r--r-- 1 root root  230  2. Feb 11:13 50-blacklist-pata_acpi.conf
-rw-r--r-- 1 root root   81  2. Feb 11:13 50-blacklist-usbcore.conf
-rw-r--r-- 1 root root  183  2. Feb 11:13 50-blacklist-xircom.conf
-rw-r--r-- 1 root root  128 22. Mär 20:40 50-bluetooth.conf
-rw-r--r-- 1 root root   33  7. Mai 2022  50-ipw2200.conf
-rw-r--r-- 1 root root   34  7. Mai 2022  50-iwl3945.conf
-rw-r--r-- 1 root root  551  8. Mai 2022  50-libmlx4.conf
-rw-r--r-- 1 root root   18  7. Mai 2022  50-prism54.conf
-rw-r--r-- 1 root root  421 21. Feb 11:33 60-blacklist_fs-adfs.conf
-rw-r--r-- 1 root root  421 21. Feb 11:33 60-blacklist_fs-affs.conf
-rw-r--r-- 1 root root  421 21. Feb 11:33 60-blacklist_fs-befs.conf
-rw-r--r-- 1 root root  415 21. Feb 11:33 60-blacklist_fs-bfs.conf
-rw-r--r-- 1 root root  433 21. Feb 11:33 60-blacklist_fs-cramfs.conf
-rw-r--r-- 1 root root  415 21. Feb 11:33 60-blacklist_fs-efs.conf
-rw-r--r-- 1 root root  427 21. Feb 11:33 60-blacklist_fs-erofs.conf
-rw-r--r-- 1 root root  427 21. Feb 11:33 60-blacklist_fs-exofs.conf
-rw-r--r-- 1 root root  445 21. Feb 11:33 60-blacklist_fs-freevxfs.conf
-rw-r--r-- 1 root root  415 21. Feb 11:33 60-blacklist_fs-hfs.conf
-rw-r--r-- 1 root root  421 21. Feb 11:33 60-blacklist_fs-hpfs.conf
-rw-r--r-- 1 root root  415 21. Feb 11:33 60-blacklist_fs-jfs.conf
-rw-r--r-- 1 root root  427 21. Feb 11:33 60-blacklist_fs-minix.conf
-rw-r--r-- 1 root root  433 21. Feb 11:33 60-blacklist_fs-nilfs2.conf
-rw-r--r-- 1 root root  421 21. Feb 11:33 60-blacklist_fs-ntfs.conf
-rw-r--r-- 1 root root  421 21. Feb 11:33 60-blacklist_fs-omfs.conf
-rw-r--r-- 1 root root  421 21. Feb 11:33 60-blacklist_fs-qnx4.conf
-rw-r--r-- 1 root root  421 21. Feb 11:33 60-blacklist_fs-qnx6.conf
-rw-r--r-- 1 root root  421 21. Feb 11:33 60-blacklist_fs-sysv.conf
-rw-r--r-- 1 root root  415 21. Feb 11:33 60-blacklist_fs-ufs.conf
-rw-r--r-- 1 root root   69  2. Feb 11:13 70-softdep-ata_piix.conf
-rw-r--r-- 1 root root  102  2. Feb 11:13 70-softdep-csiostor.conf
-rw-r--r-- 1 root root   54  2. Feb 11:13 70-softdep-dm_crypt.conf
-rw-r--r-- 1 root root  163  2. Feb 11:13 70-softdep-ehci_hcd.conf
-rw-r--r-- 1 root root  170  2. Feb 11:13 70-softdep-usb_storage.conf
-rw-r--r-- 1 root root  180  2. Feb 11:13 80-options-cdrom.conf
-rw-r--r-- 1 root root  117  2. Feb 11:13 80-options-ch.conf
-rw-r--r-- 1 root root  158 20. Feb 06:17 firewalld-sysctls.conf
-rw-r--r-- 1 root root 1004  6. Jän 2022  mlx4.conf
-rw-r--r-- 1 root root  306 28. Feb 10:02 README
-rw-r--r-- 1 root root  773 28. Feb 10:02 systemd.conf
-rw-r--r-- 1 root root   88  8. Mai 2022  truescale.conf
 
Zuletzt bearbeitet:
Der Kernel lädt die für Deine Soundkarte notwendigen Module aus irgendwelchen Gründen nicht. YaST weiß, welche Module zu laden sind, und lädt sie. Wir wissen es aber nicht, daher müssen wir forschen. Wir wissen den Stand vor YaST und nach YaST. Als nächstes brauchen wir das Ergebnis vonlsmod | egrep -i "snd|hda"nachmodprobe snd_hda_codec_realtek(bei der Menge ist mir eine Analyse der Abhängigkeiten ohne diese Information zu aufwendig).
 
Okay, ich habe nach dem Reboot den Befehl modprobe snd_hda_codec_realtek aufgerufen.
Dann lsmod | egrep -i "snd|hda" mit folgender Ausgabe:
Code:
snd_hda_codec_realtek   167936  0
snd_hda_codec_generic    98304  1 snd_hda_codec_realtek
ledtrig_audio 16384 1 snd_hda_codec_generic
snd_hda_intel          57344  0
snd_intel_dspcfg       32768  1 snd_hda_intel
snd_intel_sdw_acpi     20480  1 snd_intel_dspcfg
snd_hda_codec         176128  3 snd_hda_codec_generic,snd_hda_intel,snd_hda_codec_realtek
snd_hwdep              16384  1 snd_hda_codec
snd_hda_core          110592  4 snd_hda_codec_generic,snd_hda_intel,snd_hda_codec,snd_hda_codec_realtek
snd_pcm               176128  3 snd_hda_intel,snd_hda_codec,snd_hda_core
snd_timer              40960  1 snd_pcm
snd                   118784  7 snd_hda_codec_generic,snd_hwdep,snd_hda_intel,snd_hda_codec,snd_hda_codec_realtek,snd_timer,snd_pcm
soundcore 16384 1 snd
 
Als einzigen Unterschied sehe ich, daß YaST auch das Modul snd_hda_codec_hdmi lädt. Also laden wir beide Module:
Code:
modprobe snd_hda_codec_realtek
modprobe snd_hda_codec_hdmi

Wenn es jetzt noch immer nicht funktioniert, fällt mir nur mehr ein, die verwendeten Modul-Parameter zu vergleichen:
Code:
grep . /sys/module/snd*/parameters/* /sys/module/soundcore/parameters/*
Danach richtest Du die Karte mit YaST ein und führst noch einmal
Code:
grep . /sys/module/snd*/parameters/* /sys/module/soundcore/parameters/*
aus. Und dann interessiert mich noch, um welche Karte es sich handelt:
Code:
inxi -Aa
 
Schaut alles ziemlich kompliziert und mühsam aus.

Wäre es vielleicht einfacher, eine PCI Soundkarte in das Gerät zu stecken und die Onboard-Soundkarte(n) zu deaktivieren? Das sollte ja auch im BIOS Setup gehen, denke ich, sonst aber die Onboard-Karte(n) mit YAST einfach nicht konfigurieren?

Ich habe mir jedenfalls bereits eine gebrauchte PCI Soundkarte um 4 € besorgt. ;)

Ich frage deshalb, bevor ich sie einbaue, weil es für mich leider etwas aufwändig ist, da sich dieser Computer 30 km von meinem Wohnort entfernt befindet.
 
Zuletzt bearbeitet:
Es ist eine Möglichkeit (wenn das mainboard über einen PCI-Steckplatz verfügt). Die on board-Karte sollte über ein vernünftiges BIOS bzw. UEFI deaktivierbar sein.
 
Hallo,

bei einem älteren HP Computer mit einer Onboard-Soundkarte erkennt das System zwei Soundkarten. YAST zeigt zwei Soundkarten an:
Code:
0 High Definition Audio Controller
1 Compaq 5000 Nicrotower
....
Systeminformation: openSUSE Leap 15.4
Da sind dann also schon zwei Soundkarten drin?! Eine dritte PCI-Soundkarte für 4 EUR einzubauen, erscheint mir nicht unbedingt notwendig.
Ich würde im BIOS mal eine Karte abschalten.

Grundsätzlich ist es bei Leap 15.4 inzwischen auch so, daß die Soundkarte beim Start automatisch erkannt werden sollten, so daß eine Konfiguration über YaST eigentlich nicht mehr notwendig sein sollte. Offenbar ist diese Konfigurationmöglichkeit über YaST nur noch ein Relikt aus der Vergangenheit, und manche diskutieren, ob man sie nicht ganz rausnehmen sollte (was ich nicht so gut finde, denn ich hätte schon gern noch ein grafisches Diagnosetool für den Sound in der Distribution).

Irgendwann hatte ich auch mal eine einfache USB-Soundkarte (als Stick) für wenig Geld gekauft. Ist manchmal auch ganz praktisch, hat man nicht das Gefrickel mit dem Einbau. Wenn ich die benutze, schalte ich vorher die anderen Karten im Bios ab.

Angesichts von eingebauten USB-Soundkarten in Audio-Interfaces oder in Webcams wäre es echt mal ganz gut, wenn sich jemand endlich mal dransetzte und Linux beibrächte, wirklich zuverlässig mit mehreren Soundkarten im System umzugehen, die sich wegen USB auch während der Laufzeit dynamisch verändern können. Auch in Bezug auf Videoaufnahme oder Videokonferenzen. Bei mir hakelt das oft immer noch, so daß ich wie gesagt immer noch Dinge im Bios abschalte, so daß dann nur die übrig bleibt, die ich benutzen will. Aber das ist doch nicht Sinn der Sache. Ich finde alsa ja eigentlich nicht schlecht, aber vielleicht wird es doch Zeit, das gesamte Soundsystem mal grundlegend zu überarbeiten. Aber das nur am Rande.

Ach so, pulseaudio war sicher schon ein Versuch in diese Richtung, baut aber immer noch auf alsa auf, wenn ich das richtig verstehe. Jedenfalls ist
Code:
pavucontrol
da das Tool, da kann man auch mal reingucken, was bzgl. der Karten angezeigt wird.
 
Zuletzt bearbeitet:
Warum YAST zwei Soundkarten anzeigt, weiß ich nicht. Die Soundkarte(n) in diesem PC sind ja im Motherboard integriert. Hinten befinden sich nur die üblichen Buchsen für Lautsprecher etc. Es sieht also nicht so aus, als ob es da zwei Soundkarten gäbe.

Natürlich wäre es mir lieber, wenn ich es hinkriegen könnte, dass der Sound nach einem Reboot auch noch funktioniert. Aber derzeit ist es eben so, dass es nur dann geht, wenn ich nach dem Reboot mit YAST die Karte(n) erneut konfiguriere. Da ich von den möglichen Parametern so gut wie gar nichts verstehe, mache ich immer das schnelle, automatische Setup. Und dann geht der Ton, aber nach dem nächsten Reboot wieder nicht.

Ja, eines sollte ich vielleicht noch erwähnen: Das System auf diesem Rechner wurde nicht auf genau diesem Rechner installiert. Die Festplatte wurde aus einem anderen Rechner ausgebaut und in diesen eingebaut. Vielleicht erklärt das einiges?

Wie gesagt, es wäre einen Versuch wert, eine PCI Sounkarte einzubauen und die Onboard-Soundunterstützung im BIOS zu deaktivieren. Wenn alles andere nichts bringt, werde ich das versuchen.
 
Jede Grafikkarte mit HDMI-Anschluß ist immer auch eine Soundkarte.

An Sauerland: Wir brauchen meinen Befehl, Deiner gibt hinsichtlich Audio zu wenig aus.
 
Jede Grafikkarte mit HDMI-Anschluß ist immer auch eine Soundkarte.
Bist du dir da sicher?
Jeder Rechner müsste dann unter Linux 2 Soundkarten konfiguriert haben. Dem ist aber nicht so.
Die OnBoard Soundkarte kann den HDMI Ausgang für die Audio Ausgabe verwenden. Die Grafikkarte mit dem HDMI Anschluss ist keine Soundkarte.

snd_hda_intel 0000:01:00.1: Handle vga_switcheroo audio client
Dies dürfte die Ursache sein. Wenn vga_switcheroo verwendet wird, dann ist eine Hybrid Grafikkarte verbaut. Hybrid bedeutet, dass die Grafikausgabe entweder über eine zusätzliche GPU (AMD) oder über die integrierte Grafikkarte erfolgt.
Das hat Auswirkungen auf den Sound.

Sieh dir mal [Solved]How to change audio card id for NVidia audio driver? / Kernel & Hardware / Arch Linux Forums an.
Da wird das gleiche Problem beschrieben.
 
Habe jetzt die 30 km Fahrt auf mich genommen und in den Rechner die besagte PCI Soundkarte eingebaut.
Sie wurde sofort automatisch erkannt und der Ton funktioniert - auch ohne Konfiguration mit YAST.

Obwohl ich daraufhin die OnBoard Soundunterstützung im BIOS deaktiviert habe, wird von YAST trotzdem noch eine weitere Soundkarte angezeigt. Nun, da ich sehe, dass die Grafikkarte eine HDMI Buchse hat, wird hier diese Grafikkarte auch als Soundkarte erkannt, wie oben schon erwähnt wurde.

Also, mein Problem ist gelöst - wenn auch keine "saubere" Lösung.
 
Oben