Headset oder Lautsprecher

toor

Bruchpilot
Hallo,
ich möchte bei meinem Laptop, das wenn ich das Headset mit normalen Audiostecker (3,5mm oder wie die heißen) anstecke, der Sound NUR über das Headset läuft.

Grundsätzlich sollte das ja funktionieren, da unter Vista das ganze auch funktioniert hat. Leider ist das anscheinend nicht Hardwaremäßig gelöst.

Ich hab mich schon ein bisschen im System umgeschaut,aber ich hab weder im Mixer einen eigenen Channel für den "Headset-Ausgang" noch hab ich eine sysctrl Variable gefunden.
 
Hab auch ein aehnliches Problem.
Hab eine HDA-Soundkarte (du bestimmt auch (da es, soweit mir bekannt, bei den nicht HDA so ist, wie du es gerne haettest)) und sie mal Testweise unter Linux betrieben.
Es gibt getrennte Einstellungsmoeglichkeiten fuer die Lautsprecher und den Headset-Ausgang.

Leider werden diese beim FreeBSD-HDA-Modul nicht erkannt:
Code:
$ mixer 
Mixer vol      is currently set to   0:0
Mixer pcm      is currently set to  75:75
Mixer rec      is currently set to   0:0
Recording source: mic

Kann man sich die zusaetzlichen Regler irgendwie freischalten ?
 
sorry, ich dachte ich häts reingeschrieben, ich hab auch eine hda Soundkarte

Ich dachte es mir schon das es am Treiber liegt ....
 
Das ganze ist äußert ungewöhnlich. Normalerweise ist in dem Stecker ein Schalter eingebaut, der interne Lautsprecher abschaltet, sobald etwas eingesteckt wird. Das klingt vielleicht etwas blöd, aber hast du geprüft ob der Stecker komplett drin steckt oder mal daran gewackelt?
 
ja sicher, ich hab ja zuerst auch gedacht, das es hardwaremäßig realisiert ist.

Leider ist es aber nicht so ...
 
Das sollte bei HDA-Soundkarten so normal sein.
Find ich aber auch besser so, wenn der Treiber richtig funktioniert.

Was noch interessant waere, ob es auch eine Moeglichkeit gibt, auf jeden Regler andere Musik abzuspielen.

(Wenn dann mal alle zur Verfuegung stehen wuerden....)
 
http://archive.netbsd.se/?ml=freebsd-multimedia&a=2007-11&t=5704214
.............................................
> The driver need to handle all these kind of plug in/out events, that's
> for sure.
>
> Try this one (-> sys/dev/sound/pci/hda/hdac.c):
>
> http://people.freebsd.org/~ariff/test/hdac.c

Sweet. Plugging the headphones mutes the speakers. Removing the
headphones un-mutes the speakers. :) Nothing on mixer about headphones
but that is totally secondary. :-D

Will this be released with 7.0-RELEASE?

Regards,
..................................................
 
Habe mal meine Sourcen aktualisiert und die angegebenen Datei ersetzt und anschließend das System neu gebaut.

Leider hat sich nicht wirklich was veraendert (außer die Farbe des WLAN-LED, was aber nichts mit den Topic zu tun hat ;) ).

Optionen sollten soweit ich mitbekommen habe, keine gesetzt werden muessen.

Was koennte ich noch falsch gemacht haben ?

edit:
Meine Karte (Intel 82801H) ist in der neuen hdac.c vorhanden.
 
Zuletzt bearbeitet:
Wie viele Sound-Devices hat der Chipsatz eingebaut? Ich habe zum Beispiel 2 Stück auf meinem Mainboard (snd_hda) und es funktioniert alles viel besser, wenn ich das zweite wähle.

Hier kannst Du herauskriegen wieviele pcm-Devices Du hast:
Code:
# cat /dev/sndstat

Eine spezifische Soundkarte kannst Du als "default" so wählen:
Code:
# sysctl hw.snd.default_unit=n

wobei n die Unit-Number ist. man pcm und sysctl hw.snd verraten mehr dazu.
 
Soweit ich das sehe, hab ich nur ein Sound-Device:
Code:
FreeBSD Audio Driver (newpcm: 32bit 2007061600/i386)
Installed devices:
pcm0: <Intel 82801H High Definition Audio Controller> at memory 0xf8500000 irq 20 kld snd_hda [20071129_0050] [MPSAFE] (1p:1v/1r:1v channels duplex default)
        [pcm0:play:dsp0.p0]: spd 48000, fmt 0x10000010, flags 0x00101000, 0x00000000
        interrupts 0, underruns 0, feed 0, ready 0 [b:4096/2048/2|bs:4096/2048/2]
        {userland} -> feeder_vchan(0x10000010) -> {hardware}
        pcm0:play:dsp0.p0[pcm0:virtual:dsp0.vp0]: spd 0, fmt 0x00000000/0x00000008, flags 0x10000000, 0x00000000
        interrupts 0, underruns 0, feed 0, ready 0 [b:0/0/0|bs:0/0/0]
        {userland} -> feeder_root(0x00000000) -> {hardware}
        [pcm0:record:dsp0.r0]: spd 48000, fmt 0x10000010, flags 0x00101000, 0x00000000
        interrupts 0, overruns 0, feed 0, hfree 4096, sfree 4096 [b:4096/2048/2|bs:4096/2048/2]
        {hardware} -> feeder_root(0x10000010) -> feeder_vchan(0x10000010) -> {userland}
        pcm0:record:dsp0.r0[pcm0:virtual:dsp0.vr0]: spd 0, fmt 0x00000000/0x00000008, flags 0x10000000, 0x00000000
        interrupts 0, overruns 0, feed 0, hfree 0, sfree 0 [b:0/0/0|bs:0/0/0]
        {hardware} -> feeder_root(0x00000000) -> {userland}

File Versions:
$FreeBSD: src/sys/dev/sound/pci/hda/hdac.c,v 1.44.2.5 2007/12/15 04:06:12 ariff Exp $
$FreeBSD: src/sys/dev/sound/isa/sndbuf_dma.c,v 1.3 2005/01/06 01:43:17 imp Exp $
$FreeBSD: src/sys/dev/sound/pcm/vchan.c,v 1.36 2007/06/16 03:37:28 ariff Exp $
$FreeBSD: src/sys/dev/sound/pcm/sound.c,v 1.119 2007/06/17 19:02:05 ariff Exp $
$FreeBSD: src/sys/dev/sound/pcm/sndstat.c,v 1.28 2007/06/16 03:37:28 ariff Exp $
$FreeBSD: src/sys/dev/sound/pcm/mixer.c,v 1.61 2007/06/16 03:37:28 ariff Exp $
$FreeBSD: src/sys/dev/sound/pcm/feeder_volume.c,v 1.6 2007/06/16 20:36:39 ariff Exp $
$FreeBSD: src/sys/dev/sound/pcm/feeder_rate.c,v 1.23 2007/06/16 03:37:28 ariff Exp $
$FreeBSD: src/sys/dev/sound/pcm/feeder_fmt.c,v 1.23 2007/06/02 13:07:44 joel Exp $
$FreeBSD: src/sys/dev/sound/pcm/feeder.c,v 1.44 2007/06/17 15:53:11 ariff Exp $
$FreeBSD: src/sys/dev/sound/pcm/fake.c,v 1.18 2007/03/15 18:19:01 ariff Exp $
$FreeBSD: src/sys/dev/sound/pcm/dsp.c,v 1.107 2007/07/04 12:33:11 ariff Exp $
$FreeBSD: src/sys/dev/sound/pcm/channel.c,v 1.121.2.1 2007/12/06 05:21:39 ariff Exp $
$FreeBSD: src/sys/dev/sound/pcm/buffer.c,v 1.37 2007/06/16 03:37:27 ariff Exp $
$FreeBSD: src/sys/dev/sound/pcm/ac97_patch.c,v 1.10.2.1 2007/10/29 18:47:27 ariff Exp $
$FreeBSD: src/sys/dev/sound/pcm/ac97.c,v 1.73.2.1 2007/10/29 18:47:47 ariff Exp $

Die neue hdac.c wird auch verwendet.
Und die eine die Installiert ist, ist auch als Standard-Device angegeben.
Code:
# sysctl hw.snd
hw.snd.latency_profile: 1
hw.snd.latency: 5
hw.snd.report_soft_formats: 1
hw.snd.compat_linux_mmap: 0
hw.snd.feeder_buffersize: 16384
hw.snd.feeder_rate_round: 25
hw.snd.feeder_rate_max: 2016000
hw.snd.feeder_rate_min: 1
hw.snd.verbose: 4
hw.snd.maxautovchans: 16
hw.snd.default_unit: 0
hw.snd.version: 2007061600/i386
hw.snd.default_auto: 0
 
Hallo,
ich habe auch das Problem, mit Kopfhörer und Lautsprechern.
Ich habe auch eine Intel HDA Soundkarte.
Die wird als Intel 82802H erkannt laut /dev/sndstats im Linux war das aber unter Also eine Realtek. Jetzt habe ich ein wenige gesucht und bin auf diese Maillist gestoßen: http://lists.freebsd.org/pipermail/freebsd-multimedia/2006-September/004725.html
dort habe ich irgendwo gelesen, ich weiß bloß nicht mehr wo und finde es auch nicht das ich auf http://people.freebsd.org/~ariff/test/ dort mir mal snd_hda.ko und sound.ko laden soll und diese laden soll. Das habe ich gemacht und es kommt:
pcm0: <Intel 82801H
High Definiton Audio controller> mem 0xfc300000-0xfc303fff irq 21 device 27.0 on pci0
pcm: [ITHREAD]
pcm: <HDA Codec: Realtek ALC268>
pcm: <HDA Driver Revison: 20071129_0050>

Ich glaube diese wurde auch im Linux so gennant. Trotzdem gehen Speaker und Kopfhörer noch zusammen. Habt ihr vlt eine Idee?

Mfg kashee Opeiah
 
Für den Fall, dass Du den Kernel selber baust, versuch es mit den Einträgen:

device sound
device snd_hda


in der kernelconf.
Die Module musst Du dann nicht mehr laden.
 
Code:
# sysctl hw.snd.default_unit=1

Hat mir geholfen, damit ich überhaupt etwas höre, da pcm0 nur ein mixer ist. Bei oss hatte ich ebenfalls "Doppelbeschallung". Danke an nakal.

Ausgabe von cat /dev/sndstat mit den beiden Modulen snd_hda und snd_ich:
Code:
FreeBSD Audio Driver (newpcm: 32bit 2007061600/i386)
Installed devices:
pcm0: <ATI (Unknown) High Definition Audio Controller> at memory 0xf0510000 irq 17 kld snd_hda [20071129_0050] [MPSAFE] (mixer only)
pcm1: <Intel ICH6 (82801FB)> at io 0xcfd00800, 0xcfd00a00 irq 21 bufsz 16384 kld snd_ich [MPSAFE] (1p:1v/1r:1v channels duplex default)

Das Problem hatte ich erst seit ich eine Gigabyte Radeon HD 2400 XT (GV-RX24T256HP) verbaut habe, die pcm0 mitbringt (Warum auch immer?).

mousaka
 
Anders als in 7.0 werden bei mir mit 7.2 jetzt 3 pcm Devices angezeigt.
Der Sound wird jetzt nicht mehr gleichzeitig über die verbauten Lautsprecher und über line-out sondern getrennt nach Device ausgegeben.
Ich kann also über die verbauten Lautsprecher und über die angeschlossenen getrennt etwas ausgeben.
 
Zurück
Oben