Date: Mon, 1 Oct 2018 23:12:25 +0200 From: Jakob Alvermark <jakob@alvermark.net> To: Johannes Lundberg <johalun0@gmail.com> Cc: freebsd-current <freebsd-current@freebsd.org> Subject: Re: Sound issues with Dell Latitude 7490 (kabylake) Message-ID: <596a89fa-d7a3-1d39-d296-e07359cb487f@alvermark.net> In-Reply-To: <CAECmPwvqaWbWDu7TVpYxxTr7-Zr=RWnUWi1C=8S=TOmrBKdpZg@mail.gmail.com> References: <CAECmPws%2BqW0-zy0ucN0JSDEX=JLpAHm=AbXJYRJ-Mejnoy4ecA@mail.gmail.com> <85518f55-20a8-f534-7266-a9e847912afc@alvermark.net> <CAECmPwvqaWbWDu7TVpYxxTr7-Zr=RWnUWi1C=8S=TOmrBKdpZg@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On 10/1/18 10:56 PM, Johannes Lundberg wrote: > On Mon, Oct 1, 2018 at 8:37 PM Jakob Alvermark <jakob@alvermark.net> wrote: > >> On 10/1/18 5:57 PM, Johannes Lundberg wrote: >>> Hi >>> >>> While sound work out of the box (with headphone switching) on the 1-2 >> year >>> older Latitude 7270, it does not on my new machine. >>> >>> The internal speaker works fine. If I plug in external speakers in the >>> headphone jack, sound still goes to the internal speaker while a very >> load >>> buzz comes from the external speakers. >>> >>> Do we have a solution for this? >>> >>> # cat /dev/sndstat >>> Installed devices: >>> pcm0: <Realtek ALC256 (Internal Analog)> (play/rec) default >>> pcm1: <Realtek ALC256 (Front Analog Headphones)> (play) >>> pcm2: <Intel Kabylake (HDMI/DP 8ch)> (play) >>> No devices installed from userspace. >>> >>> # sysctl hw.snd >>> hw.snd.maxautovchans: 16 >>> hw.snd.default_unit: 0 >>> hw.snd.version: 2009061500/amd64 >>> hw.snd.default_auto: 1 >>> 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 >>> >>> # sysctl dev.pcm >>> dev.pcm.2.bitperfect: 0 >>> dev.pcm.2.buffersize: 65536 >>> dev.pcm.2.play.vchanformat: s16le:2.0 >>> dev.pcm.2.play.vchanrate: 48000 >>> dev.pcm.2.play.vchanmode: passthrough >>> dev.pcm.2.play.vchans: 1 >>> dev.pcm.2.play.32bit: 24 >>> dev.pcm.2.%parent: hdaa1 >>> dev.pcm.2.%pnpinfo: >>> dev.pcm.2.%location: nid=3 >>> dev.pcm.2.%driver: pcm >>> dev.pcm.2.%desc: Intel Kabylake (HDMI/DP 8ch) >>> dev.pcm.1.bitperfect: 0 >>> dev.pcm.1.buffersize: 65536 >>> dev.pcm.1.play.vchanformat: s16le:2.0 >>> dev.pcm.1.play.vchanrate: 48000 >>> dev.pcm.1.play.vchanmode: fixed >>> dev.pcm.1.play.vchans: 1 >>> dev.pcm.1.play.32bit: 24 >>> dev.pcm.1.%parent: hdaa0 >>> dev.pcm.1.%pnpinfo: >>> dev.pcm.1.%location: nid=33 >>> dev.pcm.1.%driver: pcm >>> dev.pcm.1.%desc: Realtek ALC256 (Front Analog Headphones) >>> dev.pcm.0.bitperfect: 0 >>> dev.pcm.0.buffersize: 65536 >>> dev.pcm.0.rec.vchanformat: s16le:2.0 >>> dev.pcm.0.rec.vchanrate: 48000 >>> dev.pcm.0.rec.vchanmode: fixed >>> dev.pcm.0.rec.vchans: 1 >>> dev.pcm.0.rec.autosrc: 2 >>> dev.pcm.0.rec.32bit: 24 >>> dev.pcm.0.play.vchanformat: s16le:2.0 >>> dev.pcm.0.play.vchanrate: 48000 >>> dev.pcm.0.play.vchanmode: fixed >>> dev.pcm.0.play.vchans: 2 >>> dev.pcm.0.play.32bit: 24 >>> dev.pcm.0.%parent: hdaa0 >>> dev.pcm.0.%pnpinfo: >>> dev.pcm.0.%location: nid=20,18 >>> dev.pcm.0.%driver: pcm >>> dev.pcm.0.%desc: Realtek ALC256 (Internal Analog) >>> dev.pcm.%parent: >> >> You could try >> >> sysctl dev.hdaa.0.nid33_config="as=1 seq=15 device=Headphones" >> >> sysctl dev.hdaa.0.reconfig=1 >> >> >> It should result in you having only one pcm device for the two outputs >> and it should switch from >> >> internal to external when you plug in the external speakers and vice versa. >> >> To make it permanent put 'hint.hdaa.0.nid33.config="as=1 seq=15 >> device=Headphones"' in your loader.conf >> >> >> The loud buzz is a bit worrying, it could be related to the problem I >> have been having, where I got strange sound >> >> when using headphones on my laptop. I have worked around it by patching >> the sound driver, I have kept my local >> >> patch for years. >> >> > With that hint it does turn off the internal speakers but I can hear > nothing in my headphones. Turning the volume to 100% I can hear the > playback in my internal speakers at very low volume (with headphones > connected). > The headphones has no buzzing sound, that is only my external speakers and > they only act like that when connect to this laptop (kind of like the buzz > noise you get when the connector touches something (ground?))... Do the headphones work with this patch? Index: sys/dev/sound/pci/hda/hdaa.c =================================================================== --- sys/dev/sound/pci/hda/hdaa.c (revision 339076) +++ sys/dev/sound/pci/hda/hdaa.c (working copy) @@ -5034,11 +5034,13 @@ pincap = w->wclass.pin.cap; /* Disable everything. */ + /* w->wclass.pin.ctrl &= ~( HDA_CMD_SET_PIN_WIDGET_CTRL_HPHN_ENABLE | HDA_CMD_SET_PIN_WIDGET_CTRL_OUT_ENABLE | HDA_CMD_SET_PIN_WIDGET_CTRL_IN_ENABLE | HDA_CMD_SET_PIN_WIDGET_CTRL_VREF_ENABLE_MASK); + */ if (w->enable == 0) { /* Pin is unused so left it disabled. */
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?596a89fa-d7a3-1d39-d296-e07359cb487f>