Re: Sound issues with Dell Latitude 7490 (kabylake)

From: Johannes Lundberg <johalun0_at_gmail.com>
Date: Tue, 2 Oct 2018 20:56:38 +0100
On Mon, Oct 1, 2018 at 10:12 PM Jakob Alvermark <jakob_at_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_at_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)
> _at__at_ -5034,11 +5034,13 _at__at_
>           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.
Received on Tue Oct 02 2018 - 17:57:18 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:41:18 UTC