Tonausgabe über Kopfhörer

Elimelech

Member
freeBSD 13.2-System
Schließt man Kopfhörer an, geht der Ton weiterhin über die Lautsprecher des Laptops.
Zufällig wurde mir klar, dass man den Ton abstellt und schreibt
sysctl hw.snd.default_unit=2
dann Kopfhörer funktionieren, wenn 1 - Lautsprecher. Kann ich es automatisch umschalten lassen?



Code:
# cat /dev/sndstat

Installed devices:

pcm0: <ATI R6xx (HDMI)> (play)

pcm1: <Realtek ALC236 (Analog)> (play/rec) default

pcm2: <Realtek ALC236 (Right Analog Headphones)> (play)

No devices installed from userspace.



Code:
Apr  2 17:12:43 F3ja kernel: hdacc0: <ATI R6xx HDA CODEC> at cad 0 on hdac0
Apr  2 17:12:43 F3ja kernel: hdaa0: <ATI R6xx Audio Function Group> at nid 1 on hdacc0
Apr  2 17:12:43 F3ja kernel: pcm0: <ATI R6xx (HDMI)> at nid 3 on hdaa0
Apr  2 17:12:43 F3ja kernel: hdacc1: <Realtek ALC236 HDA CODEC> at cad 0 on hdac1
Apr  2 17:12:43 F3ja kernel: hdaa1: <Realtek ALC236 Audio Function Group> at nid 1 on hdacc1
Apr  2 17:12:43 F3ja kernel: pcm1: <Realtek ALC236 (Analog)> at nid 20 and 25 on hdaa1
Apr  2 17:12:43 F3ja kernel: pcm2: <Realtek ALC236 (Right Analog Headphones)> at nid 33 on hdaa1
 
Laut Ausgabe sollte das bei dir hint.hdaa.1 sein, hint.hdaa.0 ist die GPU/HDMI.
 
Mhm, nicht auszuschließen, dass auch oder ausschließlich die verbauten Lautsprecher von dem Ausgang der GPU befeuert werden und nur die Buchsen über die Realtek gehen.

Nochmal von vorne, also du hast drei Geräte zum Ansteuern:
Code:
pcm0: <ATI R6xx (HDMI)> (play)
pcm1: <Realtek ALC236 (Analog)> (play/rec) default
pcm2: <Realtek ALC236 (Right Analog Headphones)> (play)

Diese kannst du, wie du ja rausgefunden hast, 'live' wechseln via sysctl hw.snd.default_unit=0,1 oder 2 und damit das beim Boot gewählt wird, kann man das in /etc/sysctl.conf via hw.snd.default_unit=1 [oder 0,2] setzen.

Probier mal 1:1 so in /boot/device.hints:
hint.hdaa.0.cad0.nid=1 <- das raus
hint.hdaa.0.disabled=1 <- das raus
Code:
hint.hdac.1.cad0.nid33.config="as=1 seq=15 device=Headphones"
hint.hdac.1.cad0.nid25.config="as=2 seq=0 device=speakers"

Ich weiß jetzt nicht, wie das bei dem Laptop verdrahtet ist und ob es nicht nach einem reboot funktioniert wie gewünscht (nur mit dem Zweizeiler in /boot/device.hints ), wenn hw.snd.default_unit=1 ist. Da müsstest du eventuell mal etwas Rumspielen.
 
Ich danke Ihnen für Ihre Hilfe!
Folgende Einstellungen haben geholfen:

ee /boot/device.hints

Code:
hint.hdac.1.cad0.nid33.config="as=1 seq=15 device=Headphones"
hint.hdac.1.cad0.nid25.config="as=2 seq=0 device=speakers"


ee /etc/sysctl.conf

Code:
hw.snd.default_auto=1
hw.snd.default_unit=1



ee /boot/loader.conf


Code:
# Enable automatic audio jack sensing
hint.hdaa.0.cad0.nid=1
snd_hda_load="YES"
#hint.hdaa.0.cad0.nid25.config="as=1 seq=0 device=speakers"
#hint.hdaa.0.cad0.nid33.config="as=2 seq=0 device=Headphones"
#hint.hdaa.0.disabled=1
 
aber jetzt ist die meldung zur tonaufnahme weg, mikrofon (rec):​
Code:
root@F3ja:/usr/ports # cat /dev/sndstat

Installed devices:

pcm0: <ATI R6xx (HDMI)> (play)

pcm1: <Realtek ALC236 (Analog 2.0+HP)> (play) default

No devices installed from userspace.




Here's what it looked like before the settings were applied:
Code:
# cat /dev/sndstat

Installed devices:

pcm0: <ATI R6xx (HDMI)> (play)

pcm1: <Realtek ALC236 (Analog)> (play/rec) default

pcm2: <Realtek ALC236 (Right Analog Headphones)> (play)

No devices installed from userspace
 
Wenn Kopfhörer gesteckt, triggert es die Soundkarte so wie du es siehst/Mic weg.
 
Zurück
Oben