Eu tenho um processador Intel Celeron N3060 de 1,8 '' da Lenovo Ideapad '' IBR-14 '@ 1,60 GHz, SSD de 32 GB, 4 GB de RAM, com um Realtek ALC269 como o chip de som.
A máquina está executando o FreeBSD 12.0; Consegui configurar com sucesso o som nele para o (s) alto-falante (s) interno (s) e o fone de ouvido. No entanto, estou com problemas para alternar automaticamente entre eles.
Para a mudança, corro:
Para ativar o (s) alto-falante (s) (e também no tempo de inicialização):
sudo sysctl hw.snd.default_unit=1
Para ativar o som do fone de ouvido:
sudo sysctl hw.snd.default_unit=0
Se eu não alterar a unidade_padrão, o padrão será 0, que é o conector de fones de ouvido neste modelo.
Ouvi falar que as pessoas conseguiram fazer uma transição automática do (s) alto-falante (s) interno (s) para os fones de ouvido, quando necessário.
No momento, como eu disse, eu só tenho o som passando pelos alto-falantes internos ou fones de ouvido manualmente, e é configurado como tal:
/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
Eu também tentei usar a configuração da troca dos fones de ouvido:
Adicionando a /boot/loader.conf
:
# Out : speaker + headphones
hint.hdac.0.cad0.nid25.config="as=1 seq=15"
Adicionando a /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"
e também:
hint.hdaa.1.nid20.config="as=1 seq=0"
hint.hdaa.1.nid21.config="as=1 seq=15 device=Headphones"
Eu também tentei adicionar ainda a /etc/sysctl.conf
:
hw.snd.default_auto=1
As modificações para a mudança de fones de ouvido para alto-falantes não tiveram sucesso.
Estou sem ideias por enquanto, alguma sugestão?
Informação 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
Informação de DEBUG extra para o sistema:
$ 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
% dedmesg
relevante inicializa a saída com boot_verbose=1
em /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 4_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
Referência: man snd_hda FreeBSD 12.0