Date: Tue, 2 Oct 2018 21:55:42 +0100 From: Johannes Lundberg <johalun0@gmail.com> To: Jakob Alvermark <jakob@alvermark.net> Cc: freebsd-current <freebsd-current@freebsd.org> Subject: Re: Sound issues with Dell Latitude 7490 (kabylake) Message-ID: <CAECmPwv9_qQqwOc9TzA7BwOeS1k_x0S0CAvuGpo%2Bt8uhB4%2BOpw@mail.gmail.com> In-Reply-To: <CAECmPwvDz0dhUmS54wca1MOh0wrcyURnzmAtJRqU=Dzon0YRiA@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> <596a89fa-d7a3-1d39-d296-e07359cb487f@alvermark.net> <CAECmPws_WPscvmazu%2BoxsjParfUZnFfTEHkq8iQYoNFhBJxpdg@mail.gmail.com> <3a68412a-493c-a242-58db-419702687b13@alvermark.net> <CAECmPwvDz0dhUmS54wca1MOh0wrcyURnzmAtJRqU=Dzon0YRiA@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, Oct 2, 2018 at 9:36 PM Johannes Lundberg <johalun0@gmail.com> wrote: > > > On Tue, Oct 2, 2018 at 9:32 PM Jakob Alvermark <jakob@alvermark.net> > wrote: > >> On 10/2/18 9:56 PM, Johannes Lundberg wrote: >> >> >> >> On Mon, Oct 1, 2018 at 10:12 PM Jakob Alvermark <jakob@alvermark.net> >> wrote: >> >>> 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. */ >>> >>> >>> >> YES!!!! >> >> With this patch and this in loader.conf >> hint.hdaa.0.nid33.config="as=1 seq=15 device=Headphones" >> >> I got it switching automatically between internal and headphones and no >> more buzzing sound in my external speakers when they are connected to the >> headphone jack. >> >> >> Ok, great! So my suspicion was right. >> >> I had a similar problem on my laptop, where the audio in the headphones >> was really strange, like the ground pin was not connected somehow. >> >> It worked fine running Windows. >> >> My understanding is this: >> >> 1. The BIOS/firmware is supposed to set up the parameters correctly when >> you boot the machine. >> >> 2. When snd_hda starts, it clears some of the settings, for reasons I >> don't understand. >> >> 3. hdaa_patches.c adds some specific settings for particular hardware. >> >> >> What I did was commenting out what was happening in (2) above. That's >> what the patch does. My headphones worked! >> >> So, your headphone pins are correctly set up by your firmware, and >> snd_hda destroys that. >> >> You could compare the output of 'sysctl dev.hdaa.0' with and without the >> patch and see what changed, that would be interesting. >> >> >> Jakob >> > > Thanks, will do! Now, onto the next problem. Minecraft sound effects are > distorted and openal cause crashes.... (openal-soft with oss backend - > default installations) > Ok, that's being caused by openal 1.19. 18.2 is fine. on to bugzilla.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAECmPwv9_qQqwOc9TzA7BwOeS1k_x0S0CAvuGpo%2Bt8uhB4%2BOpw>