LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Hardware (https://www.linuxquestions.org/questions/linux-hardware-18/)
-   -   crackling/popping sound on Intel Corporation Sunrise Point-LP HD Audio (rev 21) (https://www.linuxquestions.org/questions/linux-hardware-18/crackling-popping-sound-on-intel-corporation-sunrise-point-lp-hd-audio-rev-21-a-4175655862/)

zeebra 06-17-2019 05:26 AM

crackling/popping sound on Intel Corporation Sunrise Point-LP HD Audio (rev 21)
 
Code:

00:1f.3 Audio device: Intel Corporation Sunrise Point-LP HD Audio (rev 21)
        Subsystem: Acer Incorporated [ALI] Device 1164
        Flags: bus master, fast devsel, latency 32, IRQ 132
        Memory at b1220000 (64-bit, non-prefetchable) [size=16K]
        Memory at b1210000 (64-bit, non-prefetchable) [size=64K]
        Capabilities: [50] Power Management version 3
        Capabilities: [60] MSI: Enable+ Count=1/1 Maskable- 64bit+
        Kernel driver in use: snd_hda_intel
        Kernel modules: snd_hda_intel, snd_soc_skl

Code:

dmesg | grep snd
[  11.091003] snd_hda_intel 0000:00:1f.3: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
[  11.163317] snd_hda_codec_realtek hdaudioC0D0: autoconfig for ALC255: line_outs=1 (0x14/0x0/0x0/0x0/0x0) type:speaker
[  11.163320] snd_hda_codec_realtek hdaudioC0D0:    speaker_outs=0 (0x0/0x0/0x0/0x0/0x0)
[  11.163322] snd_hda_codec_realtek hdaudioC0D0:    hp_outs=1 (0x21/0x0/0x0/0x0/0x0)
[  11.163323] snd_hda_codec_realtek hdaudioC0D0:    mono: mono_out=0x0
[  11.163324] snd_hda_codec_realtek hdaudioC0D0:    inputs:
[  11.163326] snd_hda_codec_realtek hdaudioC0D0:      Headset Mic=0x19
[  11.163327] snd_hda_codec_realtek hdaudioC0D0:      Internal Mic=0x12
[  11.185285] snd_hda_codec_realtek hdaudioC0D0: Failed to find dell wmi symbol dell_micmute_led_set

So, what I've tried already (but was already in place or not effective) is to (1)switch the encoding to realtek, blacklist snd_soc_skl and verified that loopback is deactivated in alsamixer.

I found these "solutions" on various places online, but this issue is still haunting my speakers. Sure I have considered the speakers could be bust, but I doubt that is the issue on a fairly new and mostly unused laptop.

I'm running a Mageia 6 distro (and I've not tried in another distro).
Code:

4.14.121-desktop-1.mga6 x86_64 GNU/Linux
I've never really had to deal much with sound on the computer, and thus I am running out of ideas. I am considering making a custom Kernel to try to see if that can solve it, but I've not yet done that.

I just don't understand where the issue is coming from, and I don't know how to handle the sound driver (snd_hda_intel). The sound in general is not very good, but I prescribed that to speakers not being good. I'd also like to tune and equalize the sound across the system, but I've not got the knowledge about the sound drivers, frameworks etc to do that.

First of all I need to get rid of the cracking/popping sound. I've run the sound over FFT based equalizer on KDE to try to improve the sound, and it did help slightly both with the poor sound quality and the popping (maybe, by my own faulty impressions).

So, any ideas how to solve this issue? Any ideas how to go about it in the first place?

I just tried the sound on a headset, with the same crackling and popping, so it's not the speakers.

Since I also want to tune and equalize the whole system, I don't mind complex solutions to this issue, including configuring and compiling a new Kernel, adding and equalizing framework to pulseaudio, dealing with pulseaudio and or tuning alsa.

Any suggestions would be appreciated, solutions will be rewarded with great joy and thanks.

zeebra 06-17-2019 05:32 AM

additionally: verified that i915 firmware is loaded correctly
Code:

Byte Order: Little Endian
Alsamixer says: Chipet:Realtek ALC255

zeebra 06-18-2019 04:38 AM

So i've tried to install a newer kernel version, 4.19.51 without changing the configuration (oldconfig), and there is no change to the sound situation.

I guess the next step will be to make a truly custom kernel with a new configuration and inspection of it. I already have an alternative working configuration file that I will use, and then review the configurations after loading that. I guess it would make most sense to really have a hard look into the devices -> sound cards and alsa to try to find something in there which can solve the issue or create another form of output.

I might also try the 5.10 kernel with the oldconfig file to see if that makes any difference as well, but my hope is not so high for this potential solution.

Maybe an option is to blacklist Realtek ALC255 and see if it is possible to run the sound over another type of output.

An additional entry to the todo list and further possible information:
https://help.ubuntu.com/community/HdaIntelSoundHowto

In my current oldconfig 4.19.51 Kernel, this is the situation:
Code:

dmesg | grep realtek
[  10.331843] snd_hda_codec_realtek hdaudioC0D0: autoconfig for ALC255: line_outs=1 (0x14/0x0/0x0/0x0/0x0) type:speaker
[  10.331850] snd_hda_codec_realtek hdaudioC0D0:    speaker_outs=0 (0x0/0x0/0x0/0x0/0x0)
[  10.331852] snd_hda_codec_realtek hdaudioC0D0:    hp_outs=1 (0x21/0x0/0x0/0x0/0x0)
[  10.331853] snd_hda_codec_realtek hdaudioC0D0:    mono: mono_out=0x0
[  10.331853] snd_hda_codec_realtek hdaudioC0D0:    inputs:
[  10.331855] snd_hda_codec_realtek hdaudioC0D0:      Mic=0x19
[  10.331856] snd_hda_codec_realtek hdaudioC0D0:      Internal Mic=0x12

Some useful Kerne.org information before getting into the configuration:
https://www.kernel.org/doc/html/v4.1...dio/notes.html

Nothing useful found in the Kernel configuration. No generic codec, no alternatives. Trying to simply compile without Realtek and see if there is a fallback mechanic of some sort. Not a solution that offers much hope. But smaller config without alot of unecessary stuff added to it. Fast to compile, will recompile with Realtek afterwards. If anything can be solved with this minimal Kernel it would be some kind of unecessary driver which conflicts with the sound somehow, but this ofcourse is a far stretch. Expected result, no sound at all, recompile with Realtek, will probably result in the same bad sound.

zeebra 06-18-2019 05:48 AM

Code:

4.19.52slack-mageia-custom-v1-initrd x86_64 GNU/Linux
note to self. Remember to configure initrd when using a config file from a non-initrd kernel/distro. lol.

Surprise result after removing Realtek ALC255 codec support. There is a fallback mechanism in snd_hda_intel, and the sound still works:
Code:

[    9.762212] snd_hda_codec_generic hdaudioC0D0: autoconfig for Generic: line_outs=1 (0x14/0x0/0x0/0x0/0x0) type:speaker
[    9.762214] snd_hda_codec_generic hdaudioC0D0:    speaker_outs=0 (0x0/0x0/0x0/0x0/0x0)
[    9.762216] snd_hda_codec_generic hdaudioC0D0:    hp_outs=1 (0x21/0x0/0x0/0x0/0x0)
[    9.762217] snd_hda_codec_generic hdaudioC0D0:    mono: mono_out=0x0
[    9.762218] snd_hda_codec_generic hdaudioC0D0:    inputs:
[    9.762219] snd_hda_codec_generic hdaudioC0D0:      Mic=0x12

Code:

00:1f.3 Audio device: Intel Corporation Sunrise Point-LP HD Audio (rev 21)
        Subsystem: Acer Incorporated [ALI] Device 1164
        Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
        Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
        Latency: 32, Cache Line Size: 64 bytes
        Interrupt: pin A routed to IRQ 134
        Region 0: Memory at b1220000 (64-bit, non-prefetchable) [size=16K]
        Region 4: Memory at b1210000 (64-bit, non-prefetchable) [size=64K]
        Capabilities: [50] Power Management version 3
                Flags: PMEClk- DSI- D1- D2- AuxCurrent=55mA PME(D0-,D1-,D2-,D3hot+,D3cold+)
                Status: D0 NoSoftRst+ PME-Enable- DSel=0 DScale=0 PME-
        Capabilities: [60] MSI: Enable+ Count=1/1 Maskable- 64bit+
                Address: 00000000fee003d8  Data: 0000
        Kernel driver in use: snd_hda_intel
        Kernel modules: snd_hda_intel

Guessing the snd_soc_skl is not configured in my custom-config, or that the module is not needed. It is not loaded.

Some generic sound testing with music and videoes:
-Random popping sound seem to be gone
-Crackling sound in 1 of the test videoes is still there, but it could be down to the video itself.
-Going to test with further videoes, could one of the issues be encoding with gstreamer?
-Sound quality when playing music is without popping/crackling issues, which is already better than before, but sound quality is still not good in and of itself (maybe because I had better speakers on another laptop and got used to that?)

Sound testing commencing...

zeebra 06-18-2019 05:57 AM

testing the video on another laptop, a video with real bad crackling and another one with random popping sounds, these issues are still present on this laptop with the current custom-kernel (generic hda codec). Testing the same video on another laptop with ALC271X, these crackling and popping sounds is not due to the video itself.

The mystery continues.

Note to self: could the crackling etc have to do with the sound range and output quality and could it be solved by en equalizer? other laptop "professionally tuned by dolby", this one with a poorer sound in general, could be wrongly tuned.

Sound testing complete. Result is better than with Realtek ALC255 codec. Trying to re-introduce ALC255 codec in a new Kernel configuration to make a more valid comparison.

zeebra 06-18-2019 06:43 AM

Code:

4.19.52-working-custom-v2-realtek x86_64 GNU/Linux
Code:

[  10.119435] snd_hda_intel 0000:00:1f.3: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
[  10.163593] snd_hda_codec_realtek hdaudioC0D0: autoconfig for ALC255: line_outs=1 (0x14/0x0/0x0/0x0/0x0) type:speaker
[  10.163596] snd_hda_codec_realtek hdaudioC0D0:    speaker_outs=0 (0x0/0x0/0x0/0x0/0x0)
[  10.163597] snd_hda_codec_realtek hdaudioC0D0:    hp_outs=1 (0x21/0x0/0x0/0x0/0x0)
[  10.163598] snd_hda_codec_realtek hdaudioC0D0:    mono: mono_out=0x0
[  10.163599] snd_hda_codec_realtek hdaudioC0D0:    inputs:
[  10.163601] snd_hda_codec_realtek hdaudioC0D0:      Mic=0x19
[  10.163602] snd_hda_codec_realtek hdaudioC0D0:      Internal Mic=0x12

Code:

00:1f.3 Audio device: Intel Corporation Sunrise Point-LP HD Audio (rev 21)
        Subsystem: Acer Incorporated [ALI] Device 1164
        Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
        Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
        Latency: 32, Cache Line Size: 64 bytes
        Interrupt: pin A routed to IRQ 134
        Region 0: Memory at b1220000 (64-bit, non-prefetchable) [size=16K]
        Region 4: Memory at b1210000 (64-bit, non-prefetchable) [size=64K]
        Capabilities: [50] Power Management version 3
                Flags: PMEClk- DSI- D1- D2- AuxCurrent=55mA PME(D0-,D1-,D2-,D3hot+,D3cold+)
                Status: D0 NoSoftRst+ PME-Enable- DSel=0 DScale=0 PME-
        Capabilities: [60] MSI: Enable+ Count=1/1 Maskable- 64bit+
                Address: 00000000fee003d8  Data: 0000
        Kernel driver in use: snd_hda_intel
        Kernel modules: snd_hda_intel

Note to self. snd_soc_skl was blacklisted early in the process, thus not loaded. Unblacklist for testing with the new custom kernel with Realtek, if available in the Kernel. After soundtesting without.

New sound testing. No real difference with previous setup (custom kernel v1 - snd_hda generic codec).

Kernel config testing is reaching its limits and no real progress has been made with this path. But random popping sounds just randomly vanished somewhere during this process (generic kernel to custom kernel??). Conclusions that can be made from Kernel testing:

- There is a generic fallback SND_HDA codec if one removes the Realtek Codec. This is probably so with any codec for SND_HDA. Good to know.
- snd_soc_skl is not needed (can safely be blacklisted)
- The issue lays either with 1) SND_HDA itself 2) ALSA 3) Pulseaudio
- The issue can potentially be solved with "tuning", adding equalizer
- Updating bios?

Next step is dealing with ALSA and Pulseaudio of which I will not know what I am doing and will have issues dealing with alltogether. ALSA is closer to the Kernel and it might be easier for me to start there. Pulseaudio is greek to me.

Are there any pulseaudio experts out there? Anyone who can help with that? Anyone who have any ideas or tips in that regard?

Same goes for ALSA.

zeebra 06-18-2019 07:02 AM

Note. Almost no testing has been done with suspend and resume. This has been a suggested issue for similar problems in various threads across the web:
-v2-realtek seems to have no such issue.
-custom kernel is configured without snd_soc_skl
-adding snd_soc_skl to another config for testing this
-no further results of interest from Kernel tweaks

I'm currently running the 5.1.11 custom Kernel. The final conclusion of the Kernel phase: no results from dealing with the Kernel

Next steps:

1. Software codecs etc (gstreamer??)
2. ALSA
3. Pulseaudio
4. Equalizer

zeebra 06-19-2019 03:45 AM

Initial testing for software codec errors done. Probably not the cause of the issues. Run the same file through both gstreamer and vlc, same result.

ALSA
Alsaeq and Alsaequal (libasound2-plugin-equal) seem outdated and like dead ends in regards to getting an equalizer with Alsa. Ladspa based plugins to Alsamixer. There seem to be no equalizer for ALSA anymore and all efforts in that regards have ended. How sad. Managed to download alsaequal-0.6 from the internet time machine archive. Hardly something which will be useful for a productive 64 bit system.

Note to self. how sad is it to have a central sound architecture for Linux and GNU, but with absolutely no powerful tools. Not even a system wide equalizer. It would be so easy to have it implemented at this level wouldn't it? Sound analyses? Nothing? Just volume control... The policy is "do one thing and do it well" NOT "keep it simple stupid".

Onto more hands on approach to trying "something" with ALSA, a few tips might be available in this guide:
https://wiki.archlinux.org/index.php...ty_or_clipping

Adjusting sampling rate and width? Could that do anything?

Some further info on ALSA:
https://www.volkerschatz.com/noise/alsa.html

Converted the testvideo from mp4 to wav with ffmpeg, simply playing this file with aplay, the sound issue remains the same. This is interesting for analytical purposes. Going to try to play it in various ways with aplay. Assuming the issue is then not with Pulseaudio and cannot be fixed with Pulseaudio. Tested the same file in another distro, with aplay (on the same computer) and got the same result.

Makes me think the issue is not with the driver or in Kernel, yet not in Pulseaudio. The issue has been observed in ALSA using aplay as well. Makes me very pessimistic of the prospect of solving this issue. Going to double check the Wav file on another computer to make sure it is not the sound processing alltogether (defect sound card?).

Note on aplay: I might have jumped to conclusions here. I assumed aplay run directly on ALSA without pulseaudio, but it seems that it might run through pulseaudio (perhaps).. Which makes it pointless to "test ALSA" with aplay outside of pulseaudio. Going to have to test the aplay with no-pulse on a no-systemd distro to avoid the perpetual pulseaudio daemon forcing that systemd enforces. Luckily, I have such a distro to try on.

Note to self. Does pulseaudio really need to take control of ALSA? I guess that is the general policy of the pulseaudio creator, to control everything in an authoritarian fashion. It makes very little sense that aplay uses pulseaudio instead of a direct stream with ALSA. ffs.

ALSA test complete: (NOT, this test was later invalidated by file integrity testing)
On a non-systemD distro edit /etc/pulse/client.conf autospawn both to no, and move /etc/asound.conf to another file. System (in my case) will fall back on ALSA and not be able to use Pulse or libpulse and work without these as "pure ALSA".
Playing the same file with aplay on a "pure ALSA" system, the result was the same bad sound. Now I just need to verify the integrity of the file on another system to make sure the sound processing on this system has not altered the file in some way. If the sound is as expected (good) on the other computer, tests can be verified.

File verification:
So this thing just got a whole lot worse. Testing the same .wav file on the other computer, which plays the video with no sound issues, there are the SAME issues when playing the wav file extracted from the machine with the problematic sound! The inegrity of the file is NOT verified. To make matters worse, I did the same process in reverse. Used ffmpeg to convert the same (but seperate download) mp4 video to a wav file on the other machine. When playing this file on the sound problematic machine, there is no issue with the sound on the file!

The conclusion I have to draw from this test is that there is an issue with the entire sound processing.

zeebra 06-19-2019 07:36 AM

Note to self. Sound process does not only depend on ALSA but also depends on pulseaudio, codecs (gstreamer etc) unless this is done on a "pure ALSA" system. Currently no testing can be done in this regards on the "pure ALSA" system as it does not have the right codecs to play and convert the online testvideo. On a "pure ALSA" system the sound processing will still depend on codecs (gstreamer) but not pulseaudio. Doing testing this way one can analyse if pulseaudio is relevant to this issue and possibly make a preliminary conclusion on pulseaudio role in this issue.

This could be done with alc255 driver codec and/or with the generic snd codec.

For now I have given up on this issue, but I will return to it when I have time. If anyone has any useful input here, please help me!

As of now it seems to be a "sound processing issue". As I've read a sound card really only process digital signals and make these into analogues and record analogue and make them into digital. Alot of sound seems to work fine, but some sound not so much. Certain sound ranges seem to produce a "random" crackling sound while some sound source material seem to produce constant crackling/garbled sound and very poor results. I'm guessing these digital sources is processed into analogue sound to produce on the speakers and on the headset. I guess this happens via ALSA, via the Kernel (in & out) which does not indicate that this issue surely is a hardware/firmware issue. To test this theory, one could ofcourse test an installation of Windows or OS X, but I don't currently have the time for this, and I'm not sure my available Windows 7 copy would suffice, and I'm not prepared to invest anything into Microsoft products to try.

Another alternative is to re-test the "pure-ALSA" system, but this would take significant time and research as I would need to install the correct codecs on this system to be able to process the same test-video-file on that pure-ALSA system. It seems like a logical next step, but I can't spends weeks installing different codecs and media programs and all their dependencies manually without knowing exactly where it is leading, so I first need to narrow down to as few software packages as possible to be able to handle the youtube file correctly with a pure-ALSA system. On both systems I've downloaded the file as a 720p MP4 in the browser and used ffmpeg to extract a wav file from it. However on my pure-ALSA system I cannot play the video file in the browser or the download file in any media programs I have on that system. I could try without a codec, but I wouldn't feel that it would be a 100% reliable test.

business_kid 06-22-2019 01:37 PM

I have the Intel Panther Point (I HATE stupid software names). That's Series 7.

Back in 2015, I had to get HDMI Audio, and it sucked real bad. It sounded like I was getting square waves instead of sinewaves to my low-fi techie's ear. Bu8t a guy here said it needed resampling. So the sound came at 44khz, was re-sampled at 48khz, and that sorted it. I still have the .asoundrc, and a script to tweak so that hdmi sound went to the earphone jack plug (I know, I know - There was a good reason for that).

frankbell 06-22-2019 08:53 PM

You could try booting to a Live CD of something and testing the audio. If the problem happens with the Live CD, it could be a hardware problem. If nothing else, the test might be worthwhile to rule out hardware, because, if it is hardware, no amount of mucking about in software will fix it.

zeebra 07-21-2019 03:31 PM

During the summer (holiday, no further testing done) I have also noticed a disturbance on the sound on the analogue output to a headset. When there is no sound playing, there is a kind of whistling/grinding sound on the headset. This could ofcourse be due to the headset, but could also be due to the sound situation which was not fixed.

Generally I've not had such an issue with this headset on other units, but the headset is old. However, I do suspect the issue is not due to the headset, but I've not tested this extensively yet, but on the other units I have tested it on, there is no such disturbing sounds. Sound can be described alike to that which is present during a bad headset connection.

Just noting this down for when I have time to revisit the issue.

dugan 07-21-2019 04:00 PM

Might this be the problem?

https://www.reddit.com/r/linux/comme...ug_in_snd_hda/

zeebra 08-02-2019 02:59 PM

Quote:

Originally Posted by dugan (Post 6017309)

Not if that issue is ONLY with AMD. I have an Intel processor on this laptop.

However, just from a first peek that reddit thread looks like it might have alot of useful information. I need to read through it.

zeebra 08-02-2019 04:33 PM

Tried to re-initialize the driver with alsa
Code:

alsactl init
this did not help.

Tried to change a setting in /etc/pulseaudio/default.pa
Code:

load-module module-udev-detect tsched=0
adding the "tsched=0" did not help.

Found this link with various HDA_Intel guides and troubleshooting links:
https://ubuntuforums.org/showthread.php?t=1043568

In a related thread (https://bugzilla.kernel.org/show_bug.cgi?id=195303) it seems this issue was introduced with a Kernel version. It could possibly be a solution to try an old Kernel pre-4.10 to test.


All times are GMT -5. The time now is 07:34 PM.