snd_hda Intel gleicher output auf zwei verschiedene Buchsen

uii

Member
Hallo BSD Forum,

ich habe seit ca. 2 Wochen FreeBSD laufen und konnte bis jetzt ein kleines Problem mit meiner Soundkarte nicht loesen.

Mein Computer ist ein:
System Information Manufacturer: LENOVO Product Name: 6234BM4 Version: ThinkCentre M58p

Es gibt auf der Rueckseite drei Audiobuchsen. Blau, Gruen und Pink. Die gruene ist mit dem Monitor verbunden, die blaue mit meinen Lautsprechern.
Meistens genügt der Monitorsound, aber zum Musik hoeren nutze ich die Lautsprecher.

Leider weiss ich nicht, wie ich den gleichen Output auf zwei verschiedene Buchsen lenken kann, damit ich mir das umschalten sparen kann, oder ob das ueberhaupt mit FreeBSD gehen kann?

Umschalten funktioniert mit:
sysctl hw.snd.default_unit=0

Habe einiges probiert, d. h. nid21 zB als as 1 und seq geaendert, aber den gleichen Output auf zwei verschieden Buchsen bekomme ich nicht konfiguriert.
Vielleicht habt ihr einen Tip fuer mich.

Danke fuer das Lesen und jede Hilfe.


meine /boot/device.hints
Code:
hint.hdaa.0.nid17.config="as=1 seq=15"
hint.hdaa.0.nid18.config="as=1 seq=0 device=Line-out"
hint.hdaa.0.nid23.config="as=1 seq=4 device=Line-out"
hint.hdaa.0.nid21.config="as=2 seq=0 device=Line-out"

hint.hdaa.0.nid19.config="as=0"
hint.hdaa.0.nid20.config="as=0"
hint.hdaa.0.nid19.config="as=0"
hint.hdaa.0.nid22.config="as=0 seq=0 device=Line-in"
hint.hdaa.0.nid23.config="as=0"
hint.hdaa.0.nid24.config="as=0"
hint.hdaa.0.nid27.config="as=0"
hint.hdaa.0.nid36.config="as=0"


% cat /dev/sndstat Installed devices: pcm0: <Analog Devices AD1882 (Analog 2.0+HP)> (play) pcm1: <Analog Devices AD1882 (Rear Analog Line-out)> (play) default No devices installed from userspace.

% dmesg | grep hda hdac0: <Intel 82801JD HDA Controller> mem 0xfc520000-0xfc523fff irq 16 at device 27.0 on pci0 hdacc0: <Analog Devices AD1882 HDA CODEC> at cad 2 on hdac0 hdaa0: <Analog Devices AD1882 Audio Function Group> at nid 1 on hdacc0 hdaa0: Adding 58 (nid=35): Max connection reached! max=32 pcm0: <Analog Devices AD1882 (Analog 2.0+HP)> at nid 18,17 on hdaa0 pcm1: <Analog Devices AD1882 (Rear Analog Line-out)> at nid 21 on hdaa0 hdaa0: Dumping AFG pins: hdaa0: nid 0x as seq device conn jack loc color misc hdaa0: 17 0221401f 1 15 Headphones Jack 1/8 Front Green 0 hdaa0: Caps: IN OUT HP Sense: 0x000003d8 (disconnected) delay 60us hdaa0: 18 01014010 1 0 Line-out Jack 1/8 Rear Green 0 hdaa0: Caps: IN OUT HP EAPD Sense: 0x80001b00 (connected) delay 40us hdaa0: 19 91171100 0 0 Speaker Fixed Analog 0x11 Black 1 DISA hdaa0: Caps: OUT EAPD hdaa0: 20 02a19001 0 1 Mic Jack 1/8 Front Pink 0 DISA hdaa0: Caps: IN VREF Sense: 0x0000bd00 (disconnected) delay 40us hdaa0: 21 01013020 2 0 Line-out Jack 1/8 Rear Blue 0 hdaa0: Caps: IN OUT VREF Sense: 0x80004700 (connected) delay 40us hdaa0: 22 41811000 0 0 Line-in None 1/8 Rear Black 0 DISA hdaa0: Caps: OUT Sense: 0x0000ff00 (disconnected) delay 40us hdaa0: 23 01a19000 0 0 Mic Jack 1/8 Rear Pink 0 DISA hdaa0: Caps: IN OUT VREF Sense: 0x00003500 (disconnected) delay 40us hdaa0: 24 99331102 0 2 CD Fixed ATAPI Onboard Black 1 DISA hdaa0: Caps: IN hdaa0: 27 4145f100 0 0 SPDIF-out None Optical Rear Other 1 DISA hdaa0: Caps: OUT hdaa0: 36 41016001 0 1 Line-out None 1/8 Rear Orange 0 DISA hdaa0: Caps: OUT Sense: 0x0000ff00 (disconnected) delay 40us hdaa0: NumGPIO=2 NumGPO=0 NumGPI=0 GPIWake=0 GPIUnsol=1 hdaa0: GPIO0: disabled hdaa0: GPIO1: disabled
 
In meiner derzeitigen Konfiguration "muted" der in die Frontbuchse eingesteckte Kopfhoerer die Ausgaenge auf der Rueckseite. Das finde ich praktisch.

Wenn ich die hinteren "Line-out" auf "Headphone" und seq=15 umstelle wird eine Buchse "gemuted". Ziehe ich den Stecker, wird auf die andere Buchse umgeschaltet. Auch wenn ich das misc bit auf 0 setzte, kann ich das "automatic mute" nicht abschalten.

Gibt es eigentlich eine ausfuehrlichere Beschreibung als die manpage?
 
Das Thema Sound kann unendlich kompliziert werden, jedenfalls für unbedarfte Anwender, wie ich es bin.
Da gibt es schon mal unterschiedliche Soundserver, die man nutzen kann. Ich nenne mal OSS, ALSA, PULSEAUDIO. Jeweils gibt es unterschiedliche Mixer und die überlagern evtl das, was du rein HW-seitig in BSD mit dessen mixer eingestellt hast.
Deshalb ist beinahe die erste Frage: hast du ein Desktop-Environment installiert oder nutzt du nur die shell?
Wenn du ein DE nutzt, installier vielleicht einfach eine Mixer-GUI. Die haben den Vorteil, beinahe intuitiv zu sein und alle Möglichkeiten anzuzeigen. Ich selbst nutze gerne XFCE-Mixer, setze aber bei Fehlersuche und erster Bestimmung der HW auf die Konsole.
Ich weiß, dass dies keine echte Antwort ist. Vielleicht ist es trotzdem hilfreich.
 
Danke fuer eure Antworten,

ich bin auch ein unbedarfter Nutzer, komme von Debian.
Bei mir laeuft Mate. Da ist auch ein Mixer dabei der gut funktioniert. Habe auch schon andere Mixer GUI's ausprobiert, aber die zeigen bei mir nie etwas anderes, als was ich auf der Konsole mit mixer abrufen koennte.

Ich haette schon lange aufgegeben, wenn es unter Debian nicht standardmaessig "out of the box" funktionieren wuerde. Gleicher output auf gruen und blau. Im Moment kann ich auch damit leben mit einem Befehl zwischen den Buchsen umzuschalten. Hauptsache, ich muss nicht dauernd unterm Schreibtisch rumwerkeln um Musik zu hoeren. :-)
Mir gefaellt FreeBSD trotzdem, auch wenn die Audiokonfiguration nicht automatisch den Wuenschen entspricht.
 
Die Frage dürfte sein wer unter Debian das Multiplexing macht. Wenn es die Hardware macht, müsste es auch unter FreeBSD irgendwie machbar sein. Wobei ich die HDA-Konfiguration immer sehr hirnzerfressend fand und meist einfach glücklich war, wenn irgendwann der Ton da rauskam,wo er sollte. Es besteht aber auch die Möglichkeit, dass die Hardware gar kein Multiplexing kann und Debian dafür eine ALSA-Konfiguration oder schlimmer Pulseaudio nutzt. In dem Fall bräuchte man auch unter FreeBSD einen Softwaremultiplexer.
 
  • Like
Reaktionen: uii
Einer ähnlichen Herausforderung stand ich auch gegenüber bei meinem alten Rechner, dessen Tower keine Front-Anschlüsse hatte...hab's nie hinbekommen. Neuer Tower mit Front-Buchsen, die nicht funktionierten und nach ewigem hin und her zumindest mit mute gingen.
Durch Zufall habe ich dann eine zweizeilige Lösung gefunden (beliebige 2 Buchsen - je nach Einstellung - liefern gleichen Sound):

Code:
hint.hdac.1.cad0.nid20.config="as=1"
hint.hdac.1.cad0.nid27.config="as=1 seq=15"

Nach etwas Rumspielen an hdac.* und cad* und nid* funktioniert es nun.


P.S. bei dir könnte es dann hint.hdac.0.cad2.nid* .... sein
 
  • Like
Reaktionen: uii
Die Frage dürfte sein wer unter Debian das Multiplexing macht [...] schlimmer Pulseaudio nutzt.

Sofern bei der Installation einfach nur ein Desktop ausgewählt worden ist, dürfte es mit ziemlicher Sicherheit Pulseaudio sein. Da ich jetzt aber schon seit einigen Jahren sehr zufrieden mit Pulseaudio bin, was sind denn noch so die Kritikpunkte daran? Gerade da jeder Computer heutzutage dank HDMI und Co. meist 2 "Soundkarten" hat und man doch mal in die Verlegenheit kommt dazwischen umschalten zu wollen, oder eben zwischen deren Ausgängen, ist das alles eigentlich sehr bequem. Auch das Handling von Kopfhörern, Bluetooth Headsets, USB Sound-Interfaces oder auch so Bonbons wie Virtual Surround auf Kopfhörern bei Mehrkanal-Quellen...
 
Danke fuer eure Hilfe.

Nach etwas Rumspielen an hdac.* und cad* und nid* funktioniert es nun.
Hat bei mir leider nicht funktioniert. Schaltete auf die andere Buchse wenn ein Stecker gezogen wurde.
Es besteht aber auch die Möglichkeit, dass die Hardware gar kein Multiplexing kann
Wuerde mich bei der Kiste nicht wundern.

Konnte aber einen Surroundsoundtest erfolgreich abspielen lassen. https://www2.iis.fraunhofer.de/AAC/ChID-BLITS-EBU.mp4
Code:
hint.hdaa.0.nid18.config="as=1 seq=4 device=Line-out"
hint.hdaa.0.nid21.config="as=1 seq=0 device=Line-out"

sysctl dev.pcm.0.play.vchanformat="s16le:4.0"

Bei Stereo spielt weiterhin nur ein Paar.
 
Da ich jetzt aber schon seit einigen Jahren sehr zufrieden mit Pulseaudio bin, was sind denn noch so die Kritikpunkte daran?
Moin @-Nuke-

ich habe eine M-Delta Audiofile Soundkarte, und auch unter Linux damals mochte die mit PA gar nicht.
Weiteres Szenario: Unter Void Linux an meinem als HTPC zweckentfremdeten Notebook kodi verwendet, externe USB-Soundkarte verwendet, PA ist auch bei Void standardmäßig aktiv. Nach diversen Frickeleien, testen mit Mixern, Einstellungen in kodi selbst war keine Soundausgabe möglich. Nach Deaktivieren des PA-Krams und Verwendung von nativem alsa war Sound sofort da.

PA mag schön sein, wo es out-of-the-box so tut, wie Nutzer möchte. Wenn es aber klemmt, ist das Herumfrickeln meines Erachtens damit schlimmer, als unter Linux natives Alsa oder unter FreeBSD sndio zu benutzen, was mir zwar Spielereien mit Erkennen eingestöpselter Kopfhörer u.ä. nicht bietet, aber solide meine Bedürfnisse von Soundausgabe am PC erfüllt, u.z. sofort, ohne Hand anlegen zu müssen.
 
PA mag schön sein, wo es out-of-the-box so tut, wie Nutzer möchte. Wenn es aber klemmt, ist das Herumfrickeln meines Erachtens damit schlimmer, als unter Linux natives Alsa oder unter FreeBSD sndio zu benutzen, was mir zwar Spielereien mit Erkennen eingestöpselter Kopfhörer u.ä. nicht bietet, aber solide meine Bedürfnisse von Soundausgabe am PC erfüllt, u.z. sofort, ohne Hand anlegen zu müssen.

In deinem konkreten Fall liegt es z.B. daran, dass die Soundkarte nicht meldet, sie hätte 5 Ausgänge mit je 2 Kanälen, sondern sie hätte einen Ausgang mit 10 Kanälen. Und Pulseaudio ist für solcherlei hardwarespezifischer Workarounds halt die falsche Ebene. Klar, wenn es einfach nur darum geht irgendwas aus dem PC an Ton raus zu bekommen kann Pulseaudio unnötiger Ballast sein. Aber wenn man irgendwo das Feature-Level eines normalen Desktop-PC haben will, dann ist es halt so ziemlich alternativlos und imo auch gar nicht schlecht.
 
Zurück
Oben