FreeBSD:スピーカーサウンドと内蔵ヘッドフォンジャックの間の自動切り替え機能はありません。

FreeBSD:スピーカーサウンドと内蔵ヘッドフォンジャックの間の自動切り替え機能はありません。

私は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次から始まります/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

引用:snd_hda FreeBSD 12.0

答え1

LenovoでFreeBSDを使用して再起動し、現在FreeBSD 12.0を使用しています。以前の答えは完全に正確ではないが、正しい方向に進んだ。

サウンドが正しく機能するには、ボックスを外してオーディオジャックに接続されているヘッドフォンに切り替えます。

  • sysctl.confhw.snd.default_unit コマンドは、以下から取得する必要があります。
  • デフォルトのas / audiosetは2なので、1の代わりに2を使用する必要があります。試してみると、as=1間違いなく期待どおりに動作しません。

基本的な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"

PS。文書化目的でのみ使用される基本的なシステム構成は次のとおりです。

# 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を切り替えています。

pcm0とpcm1の「Playback:」の下のdmesg出力を見ると、階層のように見えることがわかります。

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)オーディオ(s)セットのメンバーでなければなりません。

"if=1"オーディオセットは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

解決策:同じ(a)audio(s)etに入れるには、「as」キーワード引数を使用します。

/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"

奇跡的に動作します。

関連情報