• Diese Seite verwendet Cookies. Indem du diese Website weiterhin nutzt, erklärst du dich mit der Verwendung von Cookies einverstanden. Erfahre mehr

snd_hda Intel gleicher output auf zwei verschiedene Buchsen

Themenstarter #1
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
 
Themenstarter #3
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?
 

pit234a

Well-Known Member
#4
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.
 
Themenstarter #5
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.
 

Yamagi

Possessed With Psi Powers
Mitarbeiter
#6
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.
 
Gefällt mir: uii

Ego

Der Teufel im Detail
#7
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
 
Gefällt mir: uii

-Nuke-

Well-Known Member
#8
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...
 
Themenstarter #9
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.
 

holgerw

Well-Known Member
#10
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.
 

-Nuke-

Well-Known Member
#11
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.