FreeBSD 10.3: Keine Soundausgabe über ALC889A

xeno74

Well-Known Member
Hallo,

nach langer Pause habe ich wieder FreeBSD auf meinem Mac Pro 4.1 (2009) installiert. Vorher habe ich ubuntu MATE 16.04.1 LTS benutzt.
Nach einigen kleinen üblichen Konfigurationen habe ich die gleichen Möglichkeiten, die ich vorher mit ubuntu MATE hatte.

Meine Hardware:
Code:
Mac Pro 4.1 (2009), 8 GB RAM, Xeon CPU W3540 Quad-Core, GeForce GTX 680 PCI Express 2 x16 2 GB VRAM

System:
Code:
FreeBSD 10.3-RELEASE amd64, NVIDIA Treiber-Version 346.96, MATE-Desktop 1.12.1

Von der reinen Desktop-Erfahrung her, gibt es kaum Unterschiede zu ubuntu MATE 16.04.1 LTS. Alle meine Programme laufen problemlos. Als wenn ich das OS nicht gewechselt hätte. :)

OK zum eigentlichen Thema.

Ich habe zur Zeit nur Soundausgabe über USB-Audio vom Apple Cinema Display. Leider ist die Qualität nicht so gut. Es reicht aus und man könnte damit leben, aber mir wäre die Soundausgabe über den internen Soundchip vom Mac Pro lieber. Der Chip wird vollständig erkannt.

cat /dev/sndstat


Code:
Installed devices:
pcm0: <NVIDIA (0x0040) (HDMI/DP 8ch)> (play)
pcm1: <NVIDIA (0x0040) (HDMI/DP 8ch)> (play)
pcm2: <NVIDIA (0x0040) (HDMI/DP 8ch)> (play)
pcm3: <NVIDIA (0x0040) (HDMI/DP 8ch)> (play)
pcm4: <Realtek ALC889A (Analog)> (play/rec)
pcm5: <Realtek ALC889A (Rear Digital)> (play/rec)
pcm6: <Realtek ALC889A (Rear Analog Headphones)> (play)
pcm7: <Realtek ALC889A (Rear Analog Line-out)> (play)
pcm8: <USB audio> (play/rec) default

USB-Audio ist als Standard-Gerät aktiviert, weil dies die einzige Schnittstelle ist, wo ich eine Soundausgabe erhalte. An der Nvidia-Karte ist kein HDMI-Kabel angeschlossen.

Ich würde gerne Soundausgabe über pcm6 erhalten.

Mit sudo sysctl hw.snd.default_unit=6 kann ich die Standardausgabe auf pcm6 wechseln:

Code:
hw.snd.default_unit: 8 -> 6

Leider habe ich keine Soundausgabe. Ich habe dann noch auf pcm7 gewechselt. Leider ohne Erfolg. :(

Ich habe dann nachgeschaut, ob die Lautstärke auf Mute oder 0 steht:

mixer -f /dev/dsp6

Code:
Mixer pcm      is currently set to  45:45

Auch das Setzen von der Standard-Soundausgabe mit hw.snd.default_unit=6 in der Datei /boot/loader.conf und ein Neustart hat nichts gebracht. Hier meine jetzige /boot/loader.conf:

Code:
nvidia_load="YES"
snd_hda_load="YES"
hw.snd.default_unit=8

Habe ich irgendetwas falsch konfiguriert oder fehlt noch etwas?

Ich hatte damals mit FreeBSD 9 die gleichen Probleme. Da gab es einen Workaround.
Ich mußte nur hint.hdac.0.config="gpio0 gpio1" in der Datei /boot/device.hints eintragen. Danach funktionierte die Soundausgabe. Leider funktioniert dieser Trick nicht mehr mit FreeBSD 10.3.

Ansonsten bin ich sehr zufrieden. Ich freue mich, dass FreeBSD als Desktop-System so gut funktioniert. Ich habe schon fleißig SuperTuxKart gezockt und werde jetzt Dolphin einrichten.

Mein Desktop:



Viele Grüße

Christian
 
Ich habe gar keine Apple Hardware, aber vielleicht hilft etwas in diesem Thread dort weiter:
https://forums.freebsd.org/threads/37618/
Vielen Dank für die schnelle Antwort.

Ich habe mir den Thread durchgelesen und in der Datei /boot/device.hints die folgenden Einträge hinzugefügt:

Code:
hint.hdaa.0.config="ovref"
hint.hdaa.0.gpio_config="0=clear 1=set"

Danach ein Reboot und mit dem folgenden Kommando die Standard-Soundausgabe gewechselt:

Code:
sudo sysctl hw.snd.default_unit=6

Leider wieder keine Soundausgabe.

Achja, Dolphin läuft fantastisch. Ihr müsst es ausprobieren.
 
ohne Ahnung zu haben, aber ich täte da mal die verschiedenen pcm4 bis pcm7 durch-testen und nicht einfach der Beschreibung in der Ausgabe trauen.

Nebenbei: der Sound ist bei meinem I-Mac nach Umstellung auf GNU/Linux auch deutlich schwächer gewesen, als er unter Mac-OS-X war. Die machen da vermutlich noch ein wenig was zusätzlich. Sei vielleicht nicht so Erwartungsvoll sondern froh, wenn es überhaupt mal funktioniert.
 
ohne Ahnung zu haben, aber ich täte da mal die verschiedenen pcm4 bis pcm7 durch-testen und nicht einfach der Beschreibung in der Ausgabe trauen.

Nebenbei: der Sound ist bei meinem I-Mac nach Umstellung auf GNU/Linux auch deutlich schwächer gewesen, als er unter Mac-OS-X war. Die machen da vermutlich noch ein wenig was zusätzlich. Sei vielleicht nicht so Erwartungsvoll sondern froh, wenn es überhaupt mal funktioniert.

Danke für den Hinweis. Ich habe pcm4 bis pcm7 durchgetested aber leider ohne Erfolg.
 
Nebenbei: der Sound ist bei meinem I-Mac nach Umstellung auf GNU/Linux auch deutlich schwächer gewesen, als er unter Mac-OS-X war. Die machen da vermutlich noch ein wenig was zusätzlich. Sei vielleicht nicht so Erwartungsvoll sondern froh, wenn es überhaupt mal funktioniert.
Ja, leiser kann es geworden sein... Einfach mal alle Pegel hochdrehen: Lauter wird als besser wahrgenommen.
 
Hi,

leider bin ich nicht weitergekommen. In /var/log/messages steht:

Code:
Sep 17 12:36:29 freebsd pulseaudio[1234]: [(null)] oss-util.c: '/dev/dsp0' doesn't support full duplex
Sep 17 12:36:29 freebsd pulseaudio[1234]: [(null)] oss-util.c: '/dev/dsp1' doesn't support full duplex
Sep 17 12:36:29 freebsd pulseaudio[1234]: [(null)] oss-util.c: '/dev/dsp2' doesn't support full duplex
Sep 17 12:36:29 freebsd pulseaudio[1234]: [(null)] oss-util.c: '/dev/dsp3' doesn't support full duplex
Sep 17 12:36:29 freebsd pulseaudio[1234]: [(null)] oss-util.c: '/dev/dsp6' doesn't support full duplex
Sep 17 12:36:29 freebsd pulseaudio[1234]: [(null)] oss-util.c: '/dev/dsp7' doesn't support full duplex

Gibt es noch irgendeine Idee?

Cheers,

Christian
 
https://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/sound-setup.html

hast du das durchgearbeitet? Also, vor allem die Kapitel über testen und Troubleshooting.
sodann würde ich audio/sox installieren und damit dann mittels Befehl play versuchen, Sound aus der Kommandozeile zu spielen. Das ist nicht immer ganz zuverlässig, aber es hat Vorteile. In der Grundkonfiguration braucht sox kein pulseaudio oder Alsa und so können Fehler von dieser Seite ausgeschlossen werden.

Noch besser ist aber sicher der beschriebene Test mit cat einfach irgendwas auf das Soundgerät der Wahl zu schicken und zu testen, ob da was ankommt. Das braucht ja gar keine zusätzliche Sound-SW.
 
Noch besser ist aber sicher der beschriebene Test mit cat einfach irgendwas auf das Soundgerät der Wahl zu schicken und zu testen, ob da was ankommt. Das braucht ja gar keine zusätzliche Sound-SW.

Habe ich gerade versucht aber leider bekomme ich nur eine Soundausgabe über das USB-Audio vom Apple Cinema Display. Die anderen DSP-Schnittstellen bleiben stumm. Trotzdem danke für den Tipp.
 
dann streiche ich da mal die Segel.

Normalerweise ist Sound keine Hexerei. Die HW muss gefunden und erkannt werden (ist bei dir der Fall) und dann das entsprechende Soundmodul geladen werden (hast du auch gemacht, brauchte bei mir mit 10.3 schon nicht mehr zu passieren, da automatisch). Alternativ kannst du alle Soundmodule laden. das schadet auch nichts.
Anschließend die Mixer einstellen, also unterschiedlich zu Null und am Besten alles zunächst mal voll aufdrehen, bis man genau weiß, was wofür da ist (ich selbst bevorzuge GUIs dazu, es geht aber auch von der Kommandozeile aus. GUIs (wie Xfce-Mixer) bieten auch weitere Möglichkeiten, etwa die direkte Wahl des Soundsystems (bzw Sound-Servers)).
Schon geht Sound.
Will man einen Sound-Server nutzen, muss der natürlich auch installiert sein. Das erfolgt meist als Abhängigkeit zu entsprechender SW automatisch und bei mir tut es der gute alte OSS und mehr brauche ich nicht. Alternativ stehen Alsa oder Pulseaudio bereit, um entsprechende SW zu befriedigen.

So, wie sich das bei dir äußert, würde ich spontan auf einen HW-Fehler tippen, aber das ist so gut wie ausgeschlossen, weil es ja mit einem anderen System funktioniert, womit ich dann mit meiner geringen Weisheit schon am Ende bin.
 
dann streiche ich da mal die Segel.

Normalerweise ist Sound keine Hexerei. Die HW muss gefunden und erkannt werden (ist bei dir der Fall) und dann das entsprechende Soundmodul geladen werden (hast du auch gemacht, brauchte bei mir mit 10.3 schon nicht mehr zu passieren, da automatisch). Alternativ kannst du alle Soundmodule laden. das schadet auch nichts.
Anschließend die Mixer einstellen, also unterschiedlich zu Null und am Besten alles zunächst mal voll aufdrehen, bis man genau weiß, was wofür da ist (ich selbst bevorzuge GUIs dazu, es geht aber auch von der Kommandozeile aus. GUIs (wie Xfce-Mixer) bieten auch weitere Möglichkeiten, etwa die direkte Wahl des Soundsystems (bzw Sound-Servers)).
Schon geht Sound.
Will man einen Sound-Server nutzen, muss der natürlich auch installiert sein. Das erfolgt meist als Abhängigkeit zu entsprechender SW automatisch und bei mir tut es der gute alte OSS und mehr brauche ich nicht. Alternativ stehen Alsa oder Pulseaudio bereit, um entsprechende SW zu befriedigen.

So, wie sich das bei dir äußert, würde ich spontan auf einen HW-Fehler tippen, aber das ist so gut wie ausgeschlossen, weil es ja mit einem anderen System funktioniert, womit ich dann mit meiner geringen Weisheit schon am Ende bin.

Trotzdem danke für die Tipps. Ich habe den Xfce4-Mixer installiert. Interessant ist, dass ich nur den USB audio (OSS Mixer) auswählen kann. Auch Alsamixer zeigt mir nur das USB-Audio-Gerät an. Es sieht danach aus, dass OSS schon den Realtek ALC889A erkannt hat aber nicht konfiguriert hat.
 
Das Problem hatte ich auch. Mein Realtec Soundchip ALC880 (ein Vorläufer von ALC889A) auf dem Motherboard wurde nicht erkannt. Ich bin dann dem Rat eines FreeBSD Users gefolgt und habe mir einen USB Stick mit Soundblaster gekauft, da war mein Problem gelöst.
 
Hi All,

ich kämpfe immer noch mit meinem Soundchip. Ich habe gesehen, dass OSS nicht starten kann weil der Sound-Part vom FreeBSD-Kernel schon geladen ist. Wenn ich meinen Soundchip mit OSS testen möchte, muss ich dann einen eigenen Kernel ohne Sound-Support bauen?

Code:
osscore: Open Sound System conflicts with FreeBSD driver
osscore: Please remove sound(4) from kernel or unload it
module_register_init: MOD_LOAD (osscore, 0xffffffff828e3b60, 0) error 16

Kann ich mit kldunload den FreeBSD Kernel-Soundtreiber deaktivieren? Scheinbar liegt dieser nicht als Kernel-Modul vor.

Vielen Dank im Vorraus

Christian
 
Die Fehlermeldung kommt am Ende des Bootvorgangs. Es wird versucht, OSS zu starten aber der FreeBSD Soundtreiber ist scheinbar schon aktiv. Deshalb kann scheinbar OSS nicht geladen werden.

kldstat

Code:
Id Refs Address            Size     Name
1   52 0xffffffff80200000 17bc680  kernel
2    1 0xffffffff819bd000 b679b8   nvidia.ko
3    2 0xffffffff82525000 9aed0    linux.ko
4    3 0xffffffff825c0000 c128     linux_common.ko
5    3 0xffffffff825cd000 6d370    vboxdrv.ko
6    1 0xffffffff82811000 2ba8     uhid.ko
7    1 0xffffffff82814000 358d     ums.ko
8    1 0xffffffff82818000 10066    snd_uaudio.ko
9    1 0xffffffff82829000 4e83     ng_ubt.ko
10    7 0xffffffff8282e000 ba02     netgraph.ko
11    1 0xffffffff8283a000 93a0     ng_hci.ko
12    3 0xffffffff82844000 1076     ng_bluetooth.ko
13    1 0xffffffff82846000 c32e     ng_l2cap.ko
14    1 0xffffffff82853000 1a6f3    ng_btsocket.ko
15    1 0xffffffff8286e000 3831     ng_socket.ko
16    2 0xffffffff82872000 29b2     vboxnetflt.ko
17    1 0xffffffff82875000 4123     ng_ether.ko
18    1 0xffffffff8287a000 3f64     vboxnetadp.ko
19    1 0xffffffff8287e000 37ae5    linux64.ko

Ich habe schon versucht, das Kernel-Modul snd_uaudio.ko zu entladen aber leider lässt sich dieses nicht entladen. OK, langsam verstehe ich was hier abläuft. Ich versuche es mit oss_enable="YES" in der /etc/rc.conf zusätzlich zu laden obwohl der Kernel seinen internen OSS Soundtreiber schon geladen hat. Habe ich das jetzt richtig verstanden?
 
Code:
snd_uaudio_load="NO"

Rob

Funktioniert leider nicht. Ich habe diesen Eintrag in der /boot/loader.conf gemacht aber leider wird das Kernel-Modul trotzdem geladen.

Code:
osscore: Open Sound System conflicts with FreeBSD driver
osscore: Please remove sound(4) from kernel or unload it
module_register_init: MOD_LOAD (osscore, 0xffffffff828e3b60, 0) error 16
 
Aber grundsätzlich brauchst du doch da gar nichts manuell vorab zu laden.
Jedenfalls funktionierte das bei mir sofort richtig, genauso, wie ich das wollte.
Die entsprechenden Module werden automatisch geladen und OSS als Abhängigkeit gebaut und genutzt.
Einfach SW installiert und benutz. Etwa sox zum Spielen von Sound auf der Konsole oder XMMS oder VLC oder was immer vom Desktop und alles geht. Also grafischen Mixer nehme ich gerne den von XFCE, aber man kann sich auch gut mir der Kommandozeile helfen. Es ist jedenfalls wichtig, dass die Lautstärke auch auf "laut genug" steht, sonst hört man natürlich nichts.
 
Ähm, hast du denn nun OSS aus den Ports installiert oder nicht? Wenn ja, dann raus damit!
Ja, ich habe es über die Ports installiert. Nach dem Löschen von oss_enable="YES" in der Datei /etc/rc.conf sind die Fehlermeldungen am Ende des Bootvorgangs verschwunden. Ich habe aber weiterhin nur Soundausgabe über USB-Audio vom Apple Cinema Display. Vielleicht kaufe ich mir doch eine Soundblaster USB-Soundkarte.
 
Zurück
Oben