我有一台 Lenovo Ideapad 100S 14'' IBR-14'' Intel Celeron CPU N3060 @ 1.60GHz、32GB SSD、4GB RAM,芯片声音为 Realtek ALC269。
该机器运行的是FreeBSD 12.0;我已成功设置内部扬声器和耳机插孔的声音。但是我在它们之间自动切换时遇到问题。
为了切换我运行:
要激活扬声器(也可以在启动时执行):
sudo sysctl hw.snd.default_unit=1
要激活耳机声音:
sudo sysctl hw.snd.default_unit=0
如果我不更改default_unit,它将默认为0,即该模型中的耳机插孔。
我听说人们成功地在需要时从内置扬声器自动转换到耳机。
目前,正如我所说,我只能手动让声音通过内部扬声器或耳机,并且设置如下:
/boot/loader.conf
# load sound driver
snd_hda="YES"
# load mixer
mixer_enable="YES"
sound_load="YES"
# Minimize the number of interrupts from the sound card
hint.pcm.0.buffersize=65536
hint.pcm.1.buffersize=65536
hw.snd.feeder_buffersize=65536
hw.snd.latency=7
/etc/sysctl.conf
# Without this sound does not even work, both in speakers or headphones
dev.hdac.0.polling=1
# Sound for speakers when booting
hw.snd.default_unit=1
我还尝试使用设置耳机的切换:
添加到/boot/loader.conf
:
# Out : speaker + headphones
hint.hdac.0.cad0.nid25.config="as=1 seq=15"
添加到/boot/devices.hints
:
hint.hdaa.0.nid20.config="as=1 seq=0 device=Speaker"
hint.hdaa.0.nid21.config="as=1 seq=15 device=Headphones"
并且:
hint.hdaa.1.nid20.config="as=1 seq=0"
hint.hdaa.1.nid21.config="as=1 seq=15 device=Headphones"
我还尝试添加/etc/sysctl.conf
:
hw.snd.default_auto=1
从耳机切换到扬声器的修改并不成功。
我现在没有想法,有什么建议吗?
PCI信息
# pciconf -l | grep hda
hdac0@pci0:0:27:0: class=0x040300 card=0x390517aa chip=0x22848086 rev=0x35 hdr=0x00
# pciconf -lVv -a hdac0
hdac0@pci0:0:27:0: class=0x040300 card=0x390517aa chip=0x22848086 rev=0x35 hdr=0x00
vendor = 'Intel Corporation'
device = 'Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Series High Definition Audio Controller'
class = multimedia
subclass = HDA
系统的额外调试信息:
$ dmesg | grep pcm
pcm0: <Realtek ALC269 (Right Analog)> at nid 21 and 24 on hdaa0
pcm1: <Realtek ALC269 (Internal Analog)> at nid 20 and 18 on hdaa0
pcm2: <Intel (0x2883) (HDMI/DP 8ch)> at nid 5 on hdaa1
$ cat /dev/sndstat
Installed devices:
pcm0: <Realtek ALC269 (Right Analog)> (play/rec)
pcm1: <Realtek ALC269 (Internal Analog)> (play/rec) default
pcm2: <Intel (0x2883) (HDMI/DP 8ch)> (play)
No devices installed from userspace.
$ dmesg | grep hdac
hdac0: <Intel (0x2284) HDA Controller> mem 0x91310000-0x91313fff at device 27.0 on pci0
hdacc0: <Realtek ALC269 HDA CODEC> at cad 0 on hdac0
hdaa0: <Realtek ALC269 Audio Function Group> at nid 1 on hdacc0
hdacc1: <Intel (0x2883) HDA CODEC> at cad 2 on hdac0
hdaa1: <Intel (0x2883) Audio Function Group> at nid 1 on hdacc1
$sysctl hw | grep snd
hw.snd.maxautovchans: 16
hw.snd.default_unit: 1
hw.snd.version: 2009061500/amd64
hw.snd.default_auto: 0
hw.snd.verbose: 0
hw.snd.vpc_mixer_bypass: 1
hw.snd.feeder_rate_quality: 1
hw.snd.feeder_rate_round: 25
hw.snd.feeder_rate_max: 2016000
hw.snd.feeder_rate_min: 1
hw.snd.feeder_rate_polyphase_max: 183040
hw.snd.feeder_rate_presets: 100:8:0.85 100:36:0.92 100:164:0.97
hw.snd.feeder_eq_exact_rate: 0
hw.snd.feeder_eq_presets: PEQ:16000,0.2500,62,0.2500:-9,9,1.0:44100,48000,88200,96000,176400,192000
hw.snd.basename_clone: 1
hw.snd.compat_linux_mmap: 0
hw.snd.syncdelay: -1
hw.snd.usefrags: 0
hw.snd.vpc_reset: 0
hw.snd.vpc_0db: 45
hw.snd.vpc_autoreset: 1
hw.snd.timeout: 5
hw.snd.latency_profile: 1
hw.snd.latency: 5
hw.snd.report_soft_matrix: 1
hw.snd.report_soft_formats: 1
相关dmesg
输出用boot_verbose=1
in启动/boot/loader.conf
:
hdac0: <Intel (0x2284) HDA Controller> mem 0x91310000-0x91313fff at device 27.0 on pci0
hdacc0: <Realtek ALC269 HDA CODEC> at cad 0 on hdac0
hdaa0: <Realtek ALC269 Audio Function Group> at nid 1 on hdacc0
hdaa0: hdaa_audio_as_parse: Duplicate pin 0 (21) in association 1! Disabling association.
pcm0: <Realtek ALC269 (Right Analog Mic)> at nid 24 on hdaa0
pcm1: <Realtek ALC269 (Internal Analog Mic)> at nid 18 on hdaa0
hdacc1: <Intel (0x2883) HDA CODEC> at cad 2 on hdac0
hdaa1: <Intel (0x2883) Audio Function Group> at nid 1 on hdacc1
pcm2: <Intel (0x2883) (HDMI/DP 8ch)> at nid 5 on hdaa1
can't evaluate \134_SB_.PCI0.GFX0.ISP0._DCS - AE_NOT_FOUND
FreeBSD 12.0-CURRENT #0 r315864: Thu Mar 23 18:13:29 UTC 2017
CPU: Intel(R) Celeron(R) CPU N3060 @ 1.60GHz (1600.05-MHz K8-class CPU)
Origin="GenuineIntel" Id=0x406c4 Family=0x6 Model=0x4c Stepping=4
Timecounter "i8254" frequency 1193182 Hz quality 0
Event timer "i8254" frequency 1193182 Hz quality 100
hdac0: <Intel (0x2284) HDA Controller> mem 0x91310000-0x91313fff at device 27.0 on pci0
hdacc0: <Realtek ALC269 HDA CODEC> at cad 0 on hdac0
hdaa0: <Realtek ALC269 Audio Function Group> at nid 1 on hdacc0
pcm0: <Realtek ALC269 (Right Analog)> at nid 21 and 24 on hdaa0
pcm1: <Realtek ALC269 (Internal Analog)> at nid 20 and 18 on hdaa0
hdacc1: <Intel (0x2883) HDA CODEC> at cad 2 on hdac0
hdaa1: <Intel (0x2883) Audio Function Group> at nid 1 on hdacc1
pcm2: <Intel (0x2883) (HDMI/DP 8ch)> at nid 5 on hdaa1
info: [drm] Initialized drm 1.1.0 20060810
Calibrating TSC clock ... TSC clock: 1600051020 Hz
CPU: Intel(R) Celeron(R) CPU N3060 @ 1.60GHz (1600.05-MHz K8-class CPU)
Origin="GenuineIntel" Id=0x406c4 Family=0x6 Model=0x4c Stepping=4
snd_unit_init() u=0x00ff8000 [512] d=0x00007c00 [32] c=0x000003ff [1024]
feeder_register: snd_unit=-1 snd_maxautovchans=16 latency=7 feeder_rate_min=1 feeder_rate_max=2016000 feeder_rate_round=25
ahci0: <AHCI SATA controller> port 0x1060-0x107f mem 0x9131a000-0x9131a7ff at device 19.0 on pci0
ahci0: attempting to allocate 1 MSI vectors (1 supported)
msi: routing MSI IRQ 256 to local APIC 0 vector 50
ahci0: using IRQ 256 for MSI
ahci0: AHCI v1.31 with 2 6Gbps ports, Port Multiplier not supported
ahci0: Caps: 64bit NCQ AL CLO 6Gbps PMD SSC PSC 32cmd 2ports
ahci0: Caps2: DESO SADM SDS APST
ahcich0: <AHCI channel> at channel 0 on ahci0
ahcich0: Caps: DSP
ahcich1: <AHCI channel> at channel 1 on ahci0
ahcich1: Caps: DSP
hdac0: <Intel (0x2284) HDA Controller> mem 0x91310000-0x91313fff at device 27.0 on pci0
hdac0: PCI card vendor: 0x17aa, device: 0x3905
hdac0: HDA Driver Revision: 20120126_0002
hdac0: Config options: on=0x00000000 off=0x00000000
hdac0: attempting to allocate 1 MSI vectors (1 supported)
msi: routing MSI IRQ 258 to local APIC 0 vector 51
hdac0: using IRQ 258 for MSI
hdac0: Caps: OSS 4, ISS 4, BSS 0, NSDO 1, 64bit, CORB 256, RIRB 256
ioapic0: routing intpin 45 (PCI IRQ 45) to lapic 0 vector 52
ahcich0: AHCI reset...
hdacc0: <Realtek ALC269 HDA CODEC> at cad 0 on hdac0
hdaa0: <Realtek ALC269 Audio Function Group> at nid 1 on hdacc0
hdaa0: Subsystem ID: 0x17aa3802
hdaa0: NumGPIO=2 NumGPO=0 NumGPI=0 GPIWake=0 GPIUnsol=1
hdaa0: GPIO0: disabled
hdaa0: GPIO1: disabled
hdaa0: Original pins configuration:
hdaa0: nid 0x as seq device conn jack loc color misc
hdaa0: 18 90a60140 4 0 Mic Fixed Digital Internal Unknown 1
hdaa0: 20 90170120 2 0 Speaker Fixed Analog Internal Unknown 1
hdaa0: 21 04211010 1 0 Headphones Jack 1/8 Right Black 0
hdaa0: 23 40000000 0 0 Line-out None Unknown 0x00 Unknown 0
hdaa0: 24 04a11030 3 0 Mic Jack 1/8 Right Black 0
hdaa0: 25 411111f0 15 0 Speaker None 1/8 Rear Black 1
hdaa0: 26 411111f0 15 0 Speaker None 1/8 Rear Black 1
hdaa0: 27 411111f0 15 0 Speaker None 1/8 Rear Black 1
hdaa0: 29 40f4a105 0 5 Other None RCA 0x00 Res.A 1
hdaa0: 30 411111f0 15 0 Speaker None 1/8 Rear Black 1
hdaa0: Patching widget caps nid=29 0x00400400 -> 0x00700400
hdaa0: Patched pins configuration:
hdaa0: nid 0x as seq device conn jack loc color misc
hdaa0: 18 90a60140 4 0 Mic Fixed Digital Internal Unknown 1
hdaa0: 20 90170120 2 0 Speaker Fixed Analog Internal Unknown 1
hdaa0: 21 04211010 1 0 Headphones Jack 1/8 Right Black 0
hdaa0: 23 40000000 0 0 Line-out None Unknown 0x00 Unknown 0 DISA
hdaa0: 24 04a11030 3 0 Mic Jack 1/8 Right Black 0
hdaa0: 25 411111f0 15 0 Speaker None 1/8 Rear Black 1 DISA
hdaa0: 26 411111f0 15 0 Speaker None 1/8 Rear Black 1 DISA
hdaa0: 27 411111f0 15 0 Speaker None 1/8 Rear Black 1 DISA
hdaa0: 30 411111f0 15 0 Speaker None 1/8 Rear Black 1 DISA
hdaa0: 4 associations found:
hdaa0: Association 0 (1) out:
hdaa0: Pin nid=21 seq=0
hdaa0: Association 1 (2) out:
hdaa0: Pin nid=20 seq=0
hdaa0: Association 2 (3) in:
hdaa0: Pin nid=24 seq=0
hdaa0: Association 3 (4) in:
hdaa0: Pin nid=18 seq=0
hdaa0: Tracing association 0 (1)
hdaa0: Pin 21 traced to DAC 2
hdaa0: Association 0 (1) trace succeeded
hdaa0: Tracing association 1 (2)
hdaa0: Pin 20 traced to DAC 3
hdaa0: Association 1 (2) trace succeeded
hdaa0: Tracing association 2 (3)
hdaa0: Pin 24 traced to ADC 8
hdaa0: Association 2 (3) trace succeeded
hdaa0: Tracing association 3 (4)
hdaa0: Pin 18 traced to ADC 9
hdaa0: Association 3 (4) trace succeeded
hdaa0: Looking for additional DAC for association 0 (1)
hdaa0: Looking for additional DAC for association 1 (2)
hdaa0: Looking for additional ADC for association 2 (3)
hdaa0: Looking for additional ADC for association 3 (4)
hdaa0: Tracing input monitor
hdaa0: Tracing nid 11 to out
hdaa0: nid 11 is input monitor
hdaa0: Tracing nid 34 to out
hdaa0: Tracing nid 35 to out
hdaa0: Tracing other input monitors
hdaa0: Tracing nid 18 to out
hdaa0: Tracing nid 24 to out
hdaa0: Tracing beeper
hdaa0: Pin sense: nid=21 sense=0x80000000 (connected)
hdaa0: Pin sense: nid=24 sense=0x80000000 (connected)
hdaa0: FG config/quirks: forcestereo ivref50 ivref80 ivref100 ivref
pcm0: <Realtek ALC269 (Right Analog)> at nid 21 and 24 on hdaa0
pcm0: Playback:
pcm0: Stream cap: 0x00000001 PCM
pcm0: PCM cap: 0x000e0560 16 20 24 bits, 44 48 96 192 KHz
pcm0: DAC: 2
pcm0:
pcm0: nid=21 [pin: Headphones (Black Jack)]
pcm0: + <- nid=12 [audio mixer] [src: pcm, mix]
pcm0: + <- nid=2 [audio output] [src: pcm]
pcm0: + <- nid=11 [audio mixer] [src: mix]
pcm0:
pcm0: Record:
pcm0: Stream cap: 0x00000001 PCM
pcm0: PCM cap: 0x000e0560 16 20 24 bits, 44 48 96 192 KHz
pcm0: ADC: 8
pcm0:
pcm0: nid=8 [audio input]
pcm0: + <- nid=35 [audio mixer] [src: speaker, mic, mix]
pcm0: + <- nid=24 [pin: Mic (Black Jack)] [src: mic]
pcm0: + <- nid=29 [beep widget] [src: speaker]
pcm0: + <- nid=11 [audio mixer] [src: mix]
pcm0:
pcm0: Input Mix:
pcm0:
pcm0: nid=11 [audio mixer]
pcm0: + <- nid=24 [pin: Mic (Black Jack)] [src: mic]
pcm0: + <- nid=29 [beep widget] [src: speaker]
pcm0:
pcm0: Master Volume (OSS: vol): -65/0dB
pcm0: +- ctl 1 (nid 2 out): -65/0dB (88 steps)
pcm0: +- ctl 10 (nid 12 in 0): mute
pcm0: +- ctl 11 (nid 12 in 1): mute
pcm0: +- ctl 18 (nid 21 in ): mute
pcm0:
pcm0: PCM Volume (OSS: pcm): -65/0dB
pcm0: +- ctl 1 (nid 2 out): -65/0dB (88 steps)
pcm0: +- ctl 10 (nid 12 in 0): mute
pcm0:
pcm0: Microphone Volume (OSS: mic): 0/30dB
pcm0: +- ctl 5 (nid 11 in 0): -34/12dB (32 steps) + mute
pcm0: +- ctl 21 (nid 24 out): 0/30dB (4 steps)
pcm0: +- ctl 35 (nid 35 in 0): mute
pcm0:
pcm0: Speaker/Beep Volume (OSS: speaker): -34/12dB
pcm0: +- ctl 9 (nid 11 in 4): -34/12dB (32 steps) + mute
pcm0: +- ctl 39 (nid 35 in 4): mute
pcm0:
pcm0: Recording Level (OSS: rec): -17/30dB
pcm0: +- ctl 3 (nid 8 in 0): -17/30dB (64 steps) + mute
pcm0: +- ctl 35 (nid 35 in 0): mute
pcm0: +- ctl 39 (nid 35 in 4): mute
pcm0: +- ctl 40 (nid 35 in 5): mute
pcm0:
pcm0: Input Mix Level (OSS: mix): -34/12dB
pcm0: +- ctl 5 (nid 11 in 0): -34/12dB (32 steps) + mute
pcm0: +- ctl 9 (nid 11 in 4): -34/12dB (32 steps) + mute
pcm0: +- ctl 11 (nid 12 in 1): mute
pcm0: +- ctl 40 (nid 35 in 5): mute
pcm0:
pcm0: Input Monitoring Level (OSS: igain): 0/0dB
pcm0: +- ctl 11 (nid 12 in 1): mute
pcm0:
pcm0: Mixer "vol":
pcm0: Mixer "pcm":
pcm0: Mixer "speaker":
pcm0: Mixer "mic":
pcm0: Mixer "mix":
pcm0: Mixer "rec":
pcm0: Mixer "igain":
pcm0: Mixer "ogain":
pcm0: Playback channel set is: Front Left, Front Right,
pcm0: Playback channel matrix is: 2.0 (connected)
pcm0: Automatically set rec source to: mic
pcm0: Recording channel set is: Front Left, Front Right,
pcm0: Recording channel matrix is: 2.0 (connected)
random: harvesting attach, 8 bytes (4 bits) from pcm0
pcm1: <Realtek ALC269 (Internal Analog)> at nid 20 and 18 on hdaa0
pcm1: Playback:
pcm1: Stream cap: 0x00000001 PCM
pcm1: PCM cap: 0x000e0560 16 20 24 bits, 44 48 96 192 KHz
pcm1: DAC: 3
pcm1:
pcm1: nid=20 [pin: Speaker (Fixed)]
pcm1: + <- nid=13 [audio mixer] [src: pcm, mix]
pcm1: + <- nid=3 [audio output] [src: pcm]
pcm1: + <- nid=11 [audio mixer] [src: mix]
pcm1:
pcm1: Record:
pcm1: Stream cap: 0x00000001 PCM
pcm1: PCM cap: 0x000e0560 16 20 24 bits, 44 48 96 192 KHz
pcm1: ADC: 9
pcm1:
pcm1: nid=9 [audio input]
pcm1: + <- nid=34 [audio mixer] [src: speaker, monitor]
pcm1: + <- nid=29 [beep widget] [src: speaker]
pcm1: + <- nid=18 [pin: Mic (Fixed)] [src: monitor]
pcm1:
pcm1: Master Volume (OSS: vol): -65/0dB
pcm1: +- ctl 2 (nid 3 out): -65/0dB (88 steps)
pcm1: +- ctl 12 (nid 13 in 0): mute
pcm1: +- ctl 13 (nid 13 in 1): mute
pcm1: +- ctl 17 (nid 20 in ): mute
pcm1:
pcm1: PCM Volume (OSS: pcm): -65/0dB
pcm1: +- ctl 2 (nid 3 out): -65/0dB (88 steps)
pcm1: +- ctl 12 (nid 13 in 0): mute
pcm1:
pcm1: Microphone2 Volume (OSS: monitor): 0/30dB
pcm1: +- ctl 16 (nid 18 out): 0/30dB (4 steps)
pcm1: +- ctl 34 (nid 34 in 6): mute
pcm1:
pcm1: Speaker/Beep Volume (OSS: speaker)
pcm1: +- ctl 32 (nid 34 in 4): mute
pcm1:
pcm1: Recording Level (OSS: rec): -17/30dB
pcm1: +- ctl 4 (nid 9 in 0): -17/30dB (64 steps) + mute
pcm1: +- ctl 16 (nid 18 out): 0/30dB (4 steps)
pcm1: +- ctl 32 (nid 34 in 4): mute
pcm1: +- ctl 34 (nid 34 in 6): mute
pcm1:
pcm1: Input Mix Level (OSS: mix)
pcm1: +- ctl 13 (nid 13 in 1): mute
pcm1:
pcm1: Input Monitoring Level (OSS: igain): 0/0dB
pcm1: +- ctl 13 (nid 13 in 1): mute
pcm1:
pcm1: Mixer "vol":
pcm1: Mixer "pcm":
pcm1: Mixer "rec":
pcm1: Mixer "igain":
pcm1: Mixer "ogain":
pcm1: Mixer "monitor":
pcm1: Playback channel set is: Front Left, Front Right,
pcm1: Playback channel matrix is: 2.0 (unknown)
pcm1: Automatically set rec source to: monitor
pcm1: Recording channel set is: Front Left, Front Right,
pcm1: Recording channel matrix is: 2.0 (unknown)
hdacc1: <Intel (0x2883) HDA CODEC> at cad 2 on hdac0
hdaa1: <Intel (0x2883) Audio Function Group> at nid 1 on hdacc1
hdaa1: Subsystem ID: 0x80860101
hdaa1: NumGPIO=0 NumGPO=0 NumGPI=0 GPIWake=0 GPIUnsol=0
hdaa1: Original pins configuration:
hdaa1: nid 0x as seq device conn jack loc color misc
hdaa1: 5 18560010 1 0 Digital-out Jack Digital 0x18 Unknown 0
hdaa1: 6 58560020 2 0 Digital-out None Digital 0x18 Unknown 0
hdaa1: 7 58560030 3 0 Digital-out None Digital 0x18 Unknown 0
hdaa1: Patched pins configuration:
hdaa1: nid 0x as seq device conn jack loc color misc
hdaa1: 5 18560010 1 0 Digital-out Jack Digital 0x18 Unknown 0
hdaa1: 6 58560020 2 0 Digital-out None Digital 0x18 Unknown 0 DISA
hdaa1: 7 58560030 3 0 Digital-out None Digital 0x18 Unknown 0 DISA
hdaa1: 1 associations found:
hdaa1: Association 0 (1) out:
hdaa1: Pin nid=5 seq=0
hdaa1: Tracing association 0 (1)
hdaa1: Pin 5 traced to DAC 2
hdaa1: Association 0 (1) trace succeeded
hdaa1: Looking for additional DAC for association 0 (1)
hdaa1: Tracing input monitor
hdaa1: Tracing other input monitors
hdaa1: Tracing beeper
hdaa1: FG config/quirks: forcestereo ivref50 ivref80 ivref100 ivref
pcm2: <Intel (0x2883) (HDMI/DP 8ch)> at nid 5 on hdaa1
pcm2: Playback:
pcm2: Stream cap: 0x00000005 AC3 PCM
pcm2: PCM cap: 0x001e07f0 16 20 24 32 bits, 32 44 48 88 96 176 192 KHz
pcm2: DAC: 2
pcm2:
pcm2: nid=5 [pin: Digital-out (Jack)]
pcm2: + <- nid=2 [audio output] [src: pcm]
pcm2:
pcm2: Master Volume (OSS: vol): 0/0dB
pcm2: +- ctl 1 (nid 5 in ): mute
pcm2:
pcm2: PCM Volume (OSS: pcm): 0/0dB
pcm2: +- ctl 1 (nid 5 in ): mute
pcm2:
pcm2: Mixer "vol":
pcm2: Mixer "pcm":
pcm2: Soft PCM mixer ENABLED
pcm2: Playback channel matrix is: unknown, assuming 7.1 (disconnected)
hdac0: poll interval 1000 -> 500 ticks
答案1
重新在我的 Lenovo 中使用 FreeBSD,现在使用 FreeBSD 12.0。之前的答案虽然不完全正确,但让我走上了正轨。
要让声音正常工作,请将耳机插入音频插孔时,拆开包装盒并切换到耳机:
sysctl.conf
指令 hw.snd.default_unit 必须从;中取出- 默认的 as/audioset 是 2,所以必须使用 2,而不是 1。尝试过
as=1
,an 绝对不能按预期工作。
根据默认的sysctl
目视检查、问题/之前的帖子以及 @Trevor 的回答,获得 Lenovo Ideapad 100S IBR 以让声音正常工作并自动切换到耳机的完整配置是:
文件:/etc/sysctl.conf
# Without this sound does not even work, both in speakers or headphones
dev.hdac.0.polling=1
文件:/boot/loader.conf
snd_hda_load="YES"
mixer_enable="YES"
sound_load="YES"
文件:/boot/device.hints
hint.hdaa.1.nid20.config="as=2 seq=0 device=Speaker conn=Fixed ctype=Analog loc=Internal"
hint.hdaa.0.nid21.config="as=2 seq=15 device=Headphones conn=Jack"
附言。仅用于文档目的的默认系统配置是:
# sysctl -a | egrep "nid20|nid21" | grep original
dev.hdaa.0.nid21_original: 0x04211010 as=1 seq=0 device=Headphones conn=Jack ctype=1/8 loc=Right color=Black misc=0
dev.hdaa.0.nid20_original: 0x90170120 as=2 seq=0 device=Speaker conn=Fixed ctype=Analog loc=Internal color=Unknown misc=1
答案2
当您输入:
sudo sysctl hw.snd.default_unit=1
或者
sudo sysctl hw.snd.default_unit=0
您正在 pcm1 和 pcm0 之间切换
如果您查看 dmesg 输出,在“Playback:”下,对于 pcm0 和 pcm1,您会发现看起来像一个层次结构。
line 124: pcm0: nid=21 [pin: Headphones (Black Jack)]
pcm0: + <- nid=12 [audio mixer] [src: pcm, mix]
pcm0: + <- nid=2 [audio output] [src: pcm]
pcm0: + <- nid=11 [audio mixer] [src: mix]
line 200: pcm1: nid=20 [pin: Speaker (Fixed)]
pcm1: + <- nid=13 [audio mixer] [src: pcm, mix]
pcm1: + <- nid=3 [audio output] [src: pcm]
pcm1: + <- nid=11 [audio mixer] [src: mix]
*nid=21 上的耳机(映射到 nid=12、nid=2 和 nid=11)
*nid=20 上的扬声器(映射到 nid=13、nid=3 和 nid=11)
对于 BSD 来说自动切换在它们之间,它们必须都是同一个 (a)udio (s)et 的成员:
“如=1”音频集等于一
“序列”顺序序数 (0,1,2,...15)
您之前尝试编辑 /boot/device.hints
[ERROR!!] hint.hdaa.0.nid20.config="as=1 seq=0 device=Speaker"
[CORRECT] hint.hdaa.0.nid21.config="as=1 seq=15 device=Headphones"
并且:
[CORRECT] hint.hdaa.1.nid20.config="as=1 seq=0"
[ERROR!!] hint.hdaa.1.nid21.config="as=1 seq=15 device=Headphones"
记住:
*the Headphones are on pcm0 (pcm0) = hint.hdaa.0
*the Speaker is on pcm1 (pcm1) = hint.hdaa.1
解决方案:使用“as”关键字参数将它们放在同一个(a)audio(s)et中。
/boot/device.hints
hint.hdaa.1.nid20.config="as=1 seq=0"
hint.hdaa.0.nid21.config="as=1 seq=15 misc=0"
“misc=0”可能是不必要的。我认为这是特定于硬件的。
答案3
谢谢。这里也工作得很好。区别在于我的 pcm 地址。
pcm0: <Realtek ALC1220 (Analog 2.0+HP/2.0)> at nid 20,27 and 24,26 on hdaa0
pcm1: <Realtek ALC1220 (Front Analog Mic)> at nid 25 on hdaa0
所以我把我的改为/boot/device.hint
:
hint.hdaa.1.nid20.config="as=1 seq=0"
hint.hdaa.0.nid27.config="as=1 seq=15"
奇迹般有效。