Sound nur nach jedem x-ten Reboot

Columbo0815

Kaffeemann
Teammitglied
Moin,

als Mainboard habe ich ein Asus ROG Strix X399-E (Gaming). Als Soundkarte ist "ROG SupremeFX S1220A 8-Achannel High Definition Audio CODEC" angegeben. Das ganze läuft auf einem FreeBSD 12.1.

Ich habe das Problem, dass die Soundkarte nur nach jedem x-ten Reboot funktioniert. Eine Ursache oder eine Regelmäßigkeit konnte ich noch keine feststellen. Manchmal funktioniert der Sound nach dem zweiten Boot, manchmal erst nach 5 oder gar 10 Boots. Ich kann ausschließen, dass es "hw.snd.default_unit" ist. Denn egal was ich setze, der Sound funktioniert nicht. Zwischendurch hatte ich - durch einen Tipp im IRC - den Verdacht, dass es an pulseaudio liegt. Leider ist pulseaudio als Abhängigkeit installiert, weshalb ich darauf angewiesen bin. Wenn der Sound nicht funktioniert, habe ich einen Prozess "pulseaudio", der eine hohe Last auf einem Kern erzeugt. Lustig ist ebenfalls, dass zB youtube-Videos stehen, solange pulseaudio zickt. Kille ich den Prozess, läuft das Video weiter, allerdings ohne Ton. Trotzdem würde ich inzwischen aber ausschließen, dass pulseaudio die Ursache ist.

Ich bin für Ideen, Tipps und Ansätze, wie ich die Ursache finde und vor allem Behebe, dankbar! :)

Die Ausgabe von /dev/sndstat ist, egal ob der Sound funktioniert oder nicht, folgende:
cat /dev/sndstat schrieb:
Installed devices:
pcm0: <Realtek (0x1168) (Rear Analog 5.1/2.0)> (play/rec) default
pcm1: <Realtek (0x1168) (Front Analog)> (play/rec)
pcm2: <Realtek (0x1168) (Rear Digital)> (play)
pcm3: <NVIDIA (0x0080) (HDMI/DP 8ch)> (play)
pcm4: <NVIDIA (0x0080) (HDMI/DP 8ch)> (play)
pcm5: <NVIDIA (0x0080) (HDMI/DP 8ch)> (play)
No devices installed from userspace.

Grüße
 
Mein Mainboard ist auch ein ROG, aber ich weiß nicht, wie das heißt. Audio sieht so aus
Code:
hdac0@pci0:0:31:3:    class=0x040300 card=0x87231043 chip=0xa2f08086 rev=0x00 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = '200 Series PCH HD Audio'
    class      = multimedia
    subclass   = HDA

pit@Celsius ~:- > cat /dev/sndstat
Installed devices:
pcm0: <Realtek (0x1168) (Rear Analog 5.1/2.0)> (play/rec) default
pcm1: <Realtek (0x1168) (Front Analog)> (play/rec)
pcm2: <Realtek (0x1168) (Rear Digital)> (play)
pcm3: <NVIDIA (0x0084) (HDMI/DP 8ch)> (play)
pcm4: <NVIDIA (0x0084) (HDMI/DP 8ch)> (play)
pcm5: <NVIDIA (0x0084) (HDMI/DP 8ch)> (play)
pcm6: <NVIDIA (0x0084) (HDMI/DP 8ch)> (play)
No devices installed from userspace.
Nutze kein pulseaudio und habe keine Probleme.

Oft gibt es in den Ports die Möglichkeit, pulseaudio als Abhängigkeit auszuschalten. Wäre das vielleicht ein weg, zumindest zur Fehlersuche?
 
Der Grund, weshalb ich ausschließe, dass pulseaudio die Ursache ist, ist folgender: pulseaudio wird von gdm als Abhängigkeit mitgezogen. Wenn ich den Rechner starte und mich (über gdm) in (xfce) anmelde, läuft kein (!) pulseaudio. Auch nicht als Daemon oder ähnliches. Starte ich dann vlc oder mpv geht kein Ton (das Bild steht), obwohl pulseaudio noch gar nicht läuft. Das wird erst gestartet, wenn ich firefox anwerfe. Ich nutze auf der Kiste pkg und keine Ports. Klar, poudriere habe ich da und auch schon konfiguriert.
 
Was passiert denn nach

cat /dev/random >/dev/dsp2 (Zahl je nach gewählten Audiodevice)?

Gesundheitshinweis für obiges Kommando: mixer Lautstärke etwas zurücknehmen und Ctrl-C in Reichweite halten
 
Wenn ich es richtig verstehe rebootest du einfach nur, wenn du keinen Ton hast. Kannst du mal probieren:
  1. Komplett runterfahren
  2. Strom trennen
  3. 120 Sekunden warten
  4. Strom wieder rein und einschalten
Wenn der Ton danach geht, nimmt das UEFI Abkürzungen und initialisiert den Soundchip nicht vollständig. In dem Fall hast du hoffentlich eine Option "Fastboot" oder so ähnlich im UEFI, mit dem man es ihm austreiben kann.
 
Irgendwelche Auffälligkeiten bei
sysctl -a | grep audio (bzw. snd)

evtl. nach: sysctl hw.snd.verbose=1
Sobald ich die Möglichkeit habe, stelle ich beide Ausgaben hier rein (wenn er geht und wenn er nicht geht). Ich hatte mir das aber schon einmal angesehen (auch mit verbose), aber nichts bemerkt.

Wenn ich es richtig verstehe rebootest du einfach nur, wenn du keinen Ton hast.
NIcht immer. Manchmal habe ich auch komplett ausgeschaltet. Stromlos ist er im Moment (das ist auch der Grund, warum ich das überhaupt poste. Dank Elektroarbeiten kann ich den Rechner nicht durchlaufen lassen. Bislang habe ich so lange gebootet, bis es ging und hab' ihn laufen lassen).

Wenn der Ton danach geht, nimmt das UEFI Abkürzungen und initialisiert den Soundchip nicht vollständig. In dem Fall hast du hoffentlich eine Option "Fastboot" oder so ähnlich im UEFI, mit dem man es ihm austreiben kann.
Könnte zu meiner Einbildung passen, dass das Problem seit dem letzten "Bios"-Update aufgetreten ist. Aber wegen der seltenen Reboots, ist das natürlich schwer zu sagen. Müsste ich Fastboot aktivieren oder fragst du, ob ich fastboot anhabe?
 
Du hast Fastboot fast sicher eingeschaltet, weil die meisten Mainboard-Hersteller es in Standardeinstellung einschalten. Bei Fastboot spart er sich einen Teil der Hardwareinitialierung, das kann Nebenwirkungen haben. Du müsstest es also ausschalten.
 
Sound geht nicht:
sysctl -a | grep audio
dev.hdaa.1.nid13: audio output [DISABLED]
dev.hdaa.1.nid12: audio output
dev.hdaa.1.nid11: audio output
dev.hdaa.1.nid10: audio output
+ <- nid=10 [audio output] (selected)
+ <- nid=11 [audio output]
+ <- nid=12 [audio output]
+ <- nid=13 [audio output] [DISABLED]
+ <- nid=10 [audio output] (selected)
+ <- nid=11 [audio output]
+ <- nid=12 [audio output]
+ <- nid=13 [audio output] [DISABLED]
+ <- nid=10 [audio output] (selected)
+ <- nid=11 [audio output]
+ <- nid=12 [audio output]
+ <- nid=13 [audio output] [DISABLED]
+ [DISABLED] <- nid=10 [audio output]
+ [DISABLED] <- nid=11 [audio output]
+ <- nid=12 [audio output] (selected)
+ [DISABLED] <- nid=13 [audio output] [DISABLED]
+ [DISABLED] <- nid=10 [audio output]
+ <- nid=11 [audio output] (selected)
+ [DISABLED] <- nid=12 [audio output]
+ [DISABLED] <- nid=13 [audio output] [DISABLED]
+ <- nid=10 [audio output] (selected)
+ [DISABLED] <- nid=11 [audio output]
+ [DISABLED] <- nid=12 [audio output]
+ [DISABLED] <- nid=13 [audio output] [DISABLED]
dev.hdaa.0.nid38: audio mixer [DISABLED]
+ [DISABLED] <- nid=37 [audio output] [DISABLED]
+ [DISABLED] <- nid=11 [audio mixer]
dev.hdaa.0.nid37: audio output [DISABLED]
dev.hdaa.0.nid35: audio mixer
+ <- nid=11 [audio mixer]
dev.hdaa.0.nid34: audio mixer
+ [DISABLED] <- nid=11 [audio mixer]
+ <- nid=6 [audio output]
+ [DISABLED] <- nid=12 [audio mixer]
+ [DISABLED] <- nid=13 [audio mixer]
+ [DISABLED] <- nid=14 [audio mixer]
+ <- nid=15 [audio mixer] (selected)
+ [DISABLED] <- nid=38 [audio mixer] [DISABLED]
+ [DISABLED] <- nid=12 [audio mixer] (selected)
+ [DISABLED] <- nid=13 [audio mixer]
+ [DISABLED] <- nid=14 [audio mixer]
+ [DISABLED] <- nid=15 [audio mixer]
+ [DISABLED] <- nid=38 [audio mixer] [DISABLED]
+ [DISABLED] <- nid=12 [audio mixer] (selected)
+ [DISABLED] <- nid=13 [audio mixer]
+ [DISABLED] <- nid=14 [audio mixer]
+ [DISABLED] <- nid=15 [audio mixer]
+ [DISABLED] <- nid=38 [audio mixer] [DISABLED]
+ [DISABLED] <- nid=12 [audio mixer] (selected)
+ [DISABLED] <- nid=13 [audio mixer]
+ [DISABLED] <- nid=14 [audio mixer]
+ [DISABLED] <- nid=15 [audio mixer]
+ [DISABLED] <- nid=38 [audio mixer] [DISABLED]
+ [DISABLED] <- nid=15 [audio mixer]
+ <- nid=14 [audio mixer]
+ <- nid=13 [audio mixer]
+ <- nid=12 [audio mixer]
dev.hdaa.0.nid15: audio mixer
+ <- nid=5 [audio output]
+ <- nid=11 [audio mixer]
dev.hdaa.0.nid14: audio mixer
+ <- nid=4 [audio output]
+ <- nid=11 [audio mixer]
dev.hdaa.0.nid13: audio mixer
+ <- nid=3 [audio output]
+ <- nid=11 [audio mixer]
dev.hdaa.0.nid12: audio mixer
+ <- nid=2 [audio output]
+ <- nid=11 [audio mixer]
dev.hdaa.0.nid11: audio mixer
dev.hdaa.0.nid9: audio input
+ <- nid=34 [audio mixer]
dev.hdaa.0.nid8: audio input
+ <- nid=35 [audio mixer]
dev.hdaa.0.nid6: audio output
dev.hdaa.0.nid5: audio output
dev.hdaa.0.nid4: audio output
dev.hdaa.0.nid3: audio output
dev.hdaa.0.nid2: audio output
sysctl -a | grep snd
device snd_cmi
device snd_csa
device snd_emu10kx
device snd_es137x
device snd_hda
device snd_ich
device snd_via8233
hw.snd.maxautovchans: 16
hw.snd.default_unit: 0
hw.snd.version: 2009061500/amd64
hw.snd.default_auto: 1
hw.snd.verbose: 0
hw.snd.vpc_mixer_bypass: 1
hw.snd.feeder_rate_quality: 1
hw.snd.feeder_rate_round: 25
hw.snd.feeder_rate_max: 2016000
hw.snd.feeder_rate_min: 1
hw.snd.feeder_rate_polyphase_max: 183040
hw.snd.feeder_rate_presets: 100:8:0.85 100:36:0.92 100:164:0.97
hw.snd.feeder_eq_exact_rate: 0
hw.snd.feeder_eq_presets: PEQ:16000,0.2500,62,0.2500:-9,9,1.0:44100,48000,88200,96000,176400,192000
hw.snd.basename_clone: 1
hw.snd.compat_linux_mmap: 0
hw.snd.syncdelay: -1
hw.snd.usefrags: 0
hw.snd.vpc_reset: 0
hw.snd.vpc_0db: 45
hw.snd.vpc_autoreset: 1
hw.snd.timeout: 5
hw.snd.latency_profile: 1
hw.snd.latency: 2
hw.snd.report_soft_matrix: 1
hw.snd.report_soft_formats: 1

Sound geht:
sysctl -a | grep audio
dev.hdaa.1.nid13: audio output [DISABLED]
dev.hdaa.1.nid12: audio output
dev.hdaa.1.nid11: audio output
dev.hdaa.1.nid10: audio output
+ <- nid=10 [audio output] (selected)
+ <- nid=11 [audio output]
+ <- nid=12 [audio output]
+ <- nid=13 [audio output] [DISABLED]
+ <- nid=10 [audio output] (selected)
+ <- nid=11 [audio output]
+ <- nid=12 [audio output]
+ <- nid=13 [audio output] [DISABLED]
+ <- nid=10 [audio output] (selected)
+ <- nid=11 [audio output]
+ <- nid=12 [audio output]
+ <- nid=13 [audio output] [DISABLED]
+ [DISABLED] <- nid=10 [audio output]
+ [DISABLED] <- nid=11 [audio output]
+ <- nid=12 [audio output] (selected)
+ [DISABLED] <- nid=13 [audio output] [DISABLED]
+ [DISABLED] <- nid=10 [audio output]
+ <- nid=11 [audio output] (selected)
+ [DISABLED] <- nid=12 [audio output]
+ [DISABLED] <- nid=13 [audio output] [DISABLED]
+ <- nid=10 [audio output] (selected)
+ [DISABLED] <- nid=11 [audio output]
+ [DISABLED] <- nid=12 [audio output]
+ [DISABLED] <- nid=13 [audio output] [DISABLED]
dev.hdaa.0.nid38: audio mixer [DISABLED]
+ [DISABLED] <- nid=37 [audio output] [DISABLED]
+ [DISABLED] <- nid=11 [audio mixer]
dev.hdaa.0.nid37: audio output [DISABLED]
dev.hdaa.0.nid35: audio mixer
+ <- nid=11 [audio mixer]
dev.hdaa.0.nid34: audio mixer
+ [DISABLED] <- nid=11 [audio mixer]
+ <- nid=6 [audio output]
+ [DISABLED] <- nid=12 [audio mixer]
+ [DISABLED] <- nid=13 [audio mixer]
+ [DISABLED] <- nid=14 [audio mixer]
+ <- nid=15 [audio mixer] (selected)
+ [DISABLED] <- nid=38 [audio mixer] [DISABLED]
+ [DISABLED] <- nid=12 [audio mixer] (selected)
+ [DISABLED] <- nid=13 [audio mixer]
+ [DISABLED] <- nid=14 [audio mixer]
+ [DISABLED] <- nid=15 [audio mixer]
+ [DISABLED] <- nid=38 [audio mixer] [DISABLED]
+ [DISABLED] <- nid=12 [audio mixer] (selected)
+ [DISABLED] <- nid=13 [audio mixer]
+ [DISABLED] <- nid=14 [audio mixer]
+ [DISABLED] <- nid=15 [audio mixer]
+ [DISABLED] <- nid=38 [audio mixer] [DISABLED]
+ [DISABLED] <- nid=12 [audio mixer] (selected)
+ [DISABLED] <- nid=13 [audio mixer]
+ [DISABLED] <- nid=14 [audio mixer]
+ [DISABLED] <- nid=15 [audio mixer]
+ [DISABLED] <- nid=38 [audio mixer] [DISABLED]
+ [DISABLED] <- nid=15 [audio mixer]
+ <- nid=14 [audio mixer]
+ <- nid=13 [audio mixer]
+ <- nid=12 [audio mixer]
dev.hdaa.0.nid15: audio mixer
+ <- nid=5 [audio output]
+ <- nid=11 [audio mixer]
dev.hdaa.0.nid14: audio mixer
+ <- nid=4 [audio output]
+ <- nid=11 [audio mixer]
dev.hdaa.0.nid13: audio mixer
+ <- nid=3 [audio output]
+ <- nid=11 [audio mixer]
dev.hdaa.0.nid12: audio mixer
+ <- nid=2 [audio output]
+ <- nid=11 [audio mixer]
dev.hdaa.0.nid11: audio mixer
dev.hdaa.0.nid9: audio input
+ <- nid=34 [audio mixer]
dev.hdaa.0.nid8: audio input
+ <- nid=35 [audio mixer]
dev.hdaa.0.nid6: audio output
dev.hdaa.0.nid5: audio output
dev.hdaa.0.nid4: audio output
dev.hdaa.0.nid3: audio output
dev.hdaa.0.nid2: audio output
sysctl -a | grep snd
device snd_cmi
device snd_csa
device snd_emu10kx
device snd_es137x
device snd_hda
device snd_ich
device snd_via8233
hw.snd.maxautovchans: 16
hw.snd.default_unit: 0
hw.snd.version: 2009061500/amd64
hw.snd.default_auto: 1
hw.snd.verbose: 0
hw.snd.vpc_mixer_bypass: 1
hw.snd.feeder_rate_quality: 1
hw.snd.feeder_rate_round: 25
hw.snd.feeder_rate_max: 2016000
hw.snd.feeder_rate_min: 1
hw.snd.feeder_rate_polyphase_max: 183040
hw.snd.feeder_rate_presets: 100:8:0.85 100:36:0.92 100:164:0.97
hw.snd.feeder_eq_exact_rate: 0
hw.snd.feeder_eq_presets: PEQ:16000,0.2500,62,0.2500:-9,9,1.0:44100,48000,88200,96000,176400,192000
hw.snd.basename_clone: 1
hw.snd.compat_linux_mmap: 0
hw.snd.syncdelay: -1
hw.snd.usefrags: 0
hw.snd.vpc_reset: 0
hw.snd.vpc_0db: 45
hw.snd.vpc_autoreset: 1
hw.snd.timeout: 5
hw.snd.latency_profile: 1
hw.snd.latency: 2
hw.snd.report_soft_matrix: 1
hw.snd.report_soft_formats: 1

Fastboot auszuschalten hat vermutlich nichts gebracht. Nach dem ersten Boot ging kein Sound, beim zweiten ging Sound (vermutlich zufällig).
 
Es sieht in beiden Fällen alles gut aus. Eine Theorie wäre noch: Der Soundchip selbst ist völlig okay und spielt die Musik sauber ab. Aber der Digital->Analog-Wandler ist nicht initialisiert und daher hörst du nichts.

Ich habe gerade einmal in die Änderungen zwischen 12.0 und 12.1 geschaut. Da ist nichts offensichtliches, was das Problem erklären würde. Wenn du die Geduld hast, könntest du dir mal das Ubuntu Installations-Image auf einen USB-Stick schreiben, es mehrmals im Live-Modus booten und schauen ob du dort immer Ton hast. Wenn ja, wissen wir zumindest schon mal, dass es ein FreeBSD-Problem ist. Wenn nein, muss ich mich entschuldigen, dir das Board empfohlen zu haben...
 
Das riecht trotzdem verdächtig nach pulseaudio, kommt mir bekannt vor.

Du kannst ja mal auf ner GammelHDD frisch testweise installieren und dich überzeugen. Dann gdm draufbügeln und gegenprüfen.
 
Wenn du motiviert bist, koenntest du mal versuchen einen Kernel ohne "snd_hda" bauen und nachdem Boot, das Modul mit "kldload snd_hda" zu laden/entladen. So sparst du dir evtl. die Reboots. Auch wenn das keine schoene Loesung ist, aber vielleicht kommen wir so der Ursache naeher.
 
Hi !

Wie wärs mal Pulseaudio komplett zu deaktivieren und alsa zu installieren und zu benutzen !
Unter Linux mit Gnome3 funktioniert es einwandfrei !

Die conf sollte in /usr/local/etc/pulse zu finden sein .

Anleitung (für Linux) :

cp /etc/pulse/client.conf /etc/pulse/client.confbackup
nano /etc/pulse/client.conf
From:
; autospawn = yes
To:
autospawn = no

Reboot !


Versuch macht klug :ugly:
 
Hi !

Was Columbo0815 an Problemen schildert sind die gleichen Erfahrungen
die ich auch mit Pulseaudio hatte !
Um sagen zu können das es ein Hardware-Defekt ist, sollte man erst mal
ein anderes System testen.

Es geht auch nicht ganz klar hervor ob er schon mal Alsa angetestet hat !

Das deaktivieren von Pulse ist der beste weg finde ich, da er pkg benutzt !
Schätze wenn er Pulse löschen will, löscht er den halben Gnome3-Desktop,
wegen der Abhängigkeiten !

Gruss
 
Hi !

Wie wärs mal Pulseaudio komplett zu deaktivieren und alsa zu installieren und zu benutzen !
Unter Linux mit Gnome3 funktioniert es einwandfrei !

Die conf sollte in /usr/local/etc/pulse zu finden sein .

Anleitung (für Linux) :

cp /etc/pulse/client.conf /etc/pulse/client.confbackup
nano /etc/pulse/client.conf
From:
; autospawn = yes
To:
autospawn = no

Reboot !


Versuch macht klug :ugly:
Aktuell sieht es so aus, als wäre es tatsächlich pulseaudio. Ich habe "autospawn = no" gesetzt. Mehrfach gebootet. Bislang funktioniert der Sound bei jedem Boot. Wenn es das ist: So ist mir das die liebste Lösung. Ich werde weiter beobachten und ggfls berichten.

BTW: Ich nutze nur gdm als Loginmanager. Gnome selbst nutze ich nicht sondern xfce. :)

Was passiert denn nach

cat /dev/random >/dev/dsp2 (Zahl je nach gewählten Audiodevice)?

Gesundheitshinweis für obiges Kommando: mixer Lautstärke etwas zurücknehmen und Ctrl-C in Reichweite halten
Wenn mein Fehler tatsächlich pulseaudio ist und ich hiermit direkt auf das Hardwaredevice komme (selbst dann wenn pulseaudio zickt), dann muss mich meine Erinnerung täuschen. Ich könnte nämlich schwören, dass ich das gemacht habe.
 
Zwischen /dev/dsp und Audio HW liegt m.W. nur noch der eigentliche BS Treiber. Wenn's aber ohne Pulseaudio funzt ...
 
Zurück
Oben