You are not logged in.
I've been getting it on every distro I've tried and on all kernels (I bought the card circa kernel 2.8 times I think). I've had enough. The popping is so annoying. When I use volume keys of my laptop on Gnome which has the 'tok' even sound for each stroke I hear *two* pops for each 'tok'! It can even be heard during dialogs on some YT videos.
I don't care about powersaving. I just want the popping to finally go away. I'd appreciate any help.
What I've tried:
1. disabling power saving
a) using TLP: SOUND_POWER_SAVE=0 SOUND_POWER_SAVE_CONTROLLER=N
b) /etc/pulse/default.pa : #load-module module-suspend-on-idle
c) modprobe snd_emu10k1 power_save=0
d) /etc/pulse/default.pa load-module module-udev-detect tsched=0
e) disabling all powersaving options in BIOS
2. enabling Line in alsamixer (no 'automute' option there BTW)
# lspci | grep -i audio
00:1b.0 Audio device: Intel Corporation 82801I (ICH9 Family) HD Audio Controller (rev 03)
16:00.0 Multimedia audio controller: Creative Labs SB0400 Audigy2 Value# dmesg | grep -i Audigy
[ 4.241031] Audigy2 value: Special config.# lsmod | grep -i snd
snd_emu10k1 141959 5
snd_util_mem 2403 1 snd_emu10k1
snd_ac97_codec 114256 1 snd_emu10k1
ac97_bus 1270 1 snd_ac97_codec
snd_rawmidi 19190 1 snd_emu10k1
snd_seq_device 5180 2 snd_rawmidi,snd_emu10k1
snd_hda_codec_conexant 38779 1
snd_hda_codec_generic 53860 2 snd_hda_codec_conexant
snd_hda_intel 38728 6
snd_hda_codec 101816 3 snd_hda_codec_conexant,snd_hda_codec_generic,snd_hda_intel
snd_hwdep 6396 2 snd_hda_codec,snd_emu10k1
snd_pcm 81607 8 snd_ac97_codec,snd_hda_codec,snd_hda_intel,snd_emu10k1
snd_timer 19038 2 snd_pcm,snd_emu10k1
snd 60086 30 snd_ac97_codec,snd_hwdep,snd_timer,snd_hda_codec_conexant,snd_pcm,snd_rawmidi,snd_hda_codec_generic,snd_hda_codec,snd_hda_intel,thinkpad_acpi,snd_emu10k1,snd_seq_device
soundcore 5551 1 snd/etc/asound.conf
# Use PulseAudio by default
pcm.!default {
type pulse
fallback "sysdefault"
hint {
show on
description "Default ALSA Output (currently PulseAudio Sound Server)"
}
}
ctl.!default {
type pulse
fallback "sysdefault"
}
# vim:set ft=alsaconf:# modinfo snd_emu10k1
filename: /lib/modules/3.14.4-1-ARCH/kernel/sound/pci/emu10k1/snd-emu10k1.ko.gz
license: GPL
description: EMU10K1
author: Jaroslav Kysela <perex@perex.cz>
firmware: emu/emu1010_notebook.fw
firmware: emu/emu0404.fw
firmware: emu/micro_dock.fw
firmware: emu/emu1010b.fw
firmware: emu/audio_dock.fw
firmware: emu/hana.fw
alias: pci:v00001102d00000008sv*sd*bc*sc*i*
alias: pci:v00001102d00000004sv*sd*bc*sc*i*
alias: pci:v00001102d00000002sv*sd*bc*sc*i*
depends: snd-pcm,snd-ac97-codec,snd-util-mem,snd,snd-rawmidi,snd-timer,snd-hwdep,snd-seq-device
intree: Y
vermagic: 3.14.4-1-ARCH SMP preempt mod_unload modversions
parm: high_res_gpr_volume:GPR mixer controls use 31-bit range. (bool)
parm: index:Index value for the EMU10K1 soundcard. (array of int)
parm: id:ID string for the EMU10K1 soundcard. (array of charp)
parm: enable:Enable the EMU10K1 soundcard. (array of bool)
parm: extin:Available external inputs for FX8010. Zero=default. (array of int)
parm: extout:Available external outputs for FX8010. Zero=default. (array of int)
parm: seq_ports:Allocated sequencer ports for internal synthesizer. (array of int)
parm: max_synth_voices:Maximum number of voices for WaveTable. (array of int)
parm: max_buffer_size:Maximum sample buffer size in MB. (array of int)
parm: enable_ir:Enable IR. (array of bool)
parm: subsystem:Force card subsystem model. (array of uint)
parm: delay_pcm_irq:Delay PCM interrupt by specified number of samples (default 0). (array of uint)/etc/asound.conf not modified.
/etc/pulse/default.pa not modified.
~/.asoundrc does not exist
Related:
https://bbs.archlinux.org/viewtopic.php?id=141664
Last edited by bbarcher (2014-05-24 12:50:48)
Put up or shut up.
--Austin Meyer, the lead developer of X-Plane
[ url=http://... ] Text [ /url ]
Offline
I assume you ruled pulseaudio out. Please provide the vid and pid:
lspci -nn | grep -i audio;What about module option "high_res_gpr_volume"? Did you check out emu-tools? (qlo10k1) This sounds like each command send resets volume level briefly before updating them.
Are you positive this does not come from the intel card? I assume it is integrated, so you probably could disable it for one boot, just to make sure.
Offline
Same as # lspci | grep -i audio
# lspci -nn | grep -i audio;
00:1b.0 Audio device [0403]: Intel Corporation 82801I (ICH9 Family) HD Audio Controller [8086:293e] (rev 03)
16:00.0 Multimedia audio controller [0401]: Creative Labs SB0400 Audigy2 Value [1102:0008]high_res_gpr_volume:
What about it? I assume it's an 'option'. How do I disable it to stay disabled even after reboots? Looking at the list of the parms I'd try disabling "delay_pcm_irq" as well.
emu-tools:
I haven't tried them. In what way do they suppose to help me? The docs don't mention power saving options.
Can the intel audio cause this?
I'm sure it can't. The 'pop!' is pretty much the same as during boot when the Audigy gets powered up. Besides, I've disabled audio powersaving in TLP *which applies only to Intel audio*. Confirmed using powertop - Intel audio (conexant) is at 100% 'usage'.
I forgot to add. This is a PCMCI card in Thinkpad T500.
Last edited by bbarcher (2014-05-24 11:59:52)
Put up or shut up.
--Austin Meyer, the lead developer of X-Plane
[ url=http://... ] Text [ /url ]
Offline
I do not have a sound card with the emu10k1 ic, so emu-tools might be unrelated, but might also have settings for your case.
The point of lspci -nn is to get vid and pid, like I already stated. You missed the difference? But yes, it is in the code, no problems here. Also searching for vid:pid combo, might narrow down the issue faster.
The high_res_gpr_volume is listed as an option in the output you provided. You first enable it by editing a conf file in /etc/modprobe.d:
options snd-emu10k1 high_res_gpr_volume=1To disable it drop the option or delete the whole file.
Did you rule out pulseaudio or not?
Last edited by emeres (2014-05-24 10:10:51)
Offline
My /etc/modprobe.d dir is empty. Do you mean e.g. /etc/modprobe.d/modprobe.conf?
Last edited by bbarcher (2014-05-24 12:09:04)
Put up or shut up.
--Austin Meyer, the lead developer of X-Plane
[ url=http://... ] Text [ /url ]
Offline
man modprobe.dJust create a file with conf extension and put the options in there. You can name it 60-emu10k1.conf.
Offline
I know but I'd prefer to keep all the options I'm going to use in one file. I'll comment it appropriately. I'll try
options snd_emu10k1 power_save=0 power_save_controller=N options snd-emu10k1 high_res_gpr_volume=0The point of lspci -nn is to get vid and pid, like I already stated. You missed the difference? But yes, it is in the code, no problems here.
I didn't know the values are of any importance ![]()
What value would you recommend for the "delay_pcm_irq"?
BTW, I've edited post #1. Added item 1.d) as well as post #3 to add 'Can the intel audio cause this?' info.
Could you edit you rpost #4? snd-emu10k1 -> snd_emu10k1
Last edited by bbarcher (2014-05-24 12:23:51)
Put up or shut up.
--Austin Meyer, the lead developer of X-Plane
[ url=http://... ] Text [ /url ]
Offline
Try
options snd_emu10k1 power_save=0 power_save_controller=0 high_res_gpr_volume=0 delay_pcm_irq=0And then every other combination, you may want to skip the power saving options. You should also be able to unload the module and load it with options on the fly without the need for reboot, although that would be the way to go, since sometimes hardware needs to power down before accepting new parameters.
Offline
The line didn't help. I did reboot. This pretty much axhausts the possibilities. Against what package I should file the bug report? Kernel?
Put up or shut up.
--Austin Meyer, the lead developer of X-Plane
[ url=http://... ] Text [ /url ]
Offline
I see 4 possibilities:
high_res_gpr_volume == a; delay_pcm_irq == b;
a | b
-------
0 | 0
0 | 1
1 | 0
1 | 1Ad Kernel: That is probably the best bet. You could try asking alsa devs on alsa-user mailing list also.
Last edited by emeres (2014-05-24 13:17:03)
Offline
delay_pcm_irq is 'array of int'. Are you sure it's only 0 or 1?
Put up or shut up.
--Austin Meyer, the lead developer of X-Plane
[ url=http://... ] Text [ /url ]
Offline
Right, an array of unsigned integers to be exact. You would have to look at the code, either in your sources or here and here. They may have changed somewhat, but I doubt any drastic changes. First link is to linux 3.14 version. At least I assume it gets passed on directly, if that really is the case, I do not know. Just try it, hardware damage risk is minimal.
Looking at the mask, I think it takes up to 31 samples. So try with 1, 2, 4, 8, 16, 24. I may be very well wrong about this.
Could you edit you rpost #4? snd-emu10k1 -> snd_emu10k1
Why? Modprobe should not care about hyphen or underscore. They should be always converted when parsing. On most keyboard layouts (also on the Polish programmer one) hyphen is one key one keystroke, where underscore is two key one keystroke, therefore more error prone and less efficient.
Last edited by emeres (2014-05-24 14:00:38)
Offline
Right, an array of unsigned integers to be exact. You would have to look at the code, either in your sources or here and here. They may have changed somewhat, but I doubt any drastic changes. First link is to linux 3.14 version. At least I assume it gets passed on directly, if that really is the case, I do not know. Just try it, hardware damage risk is minimal.
Looking at the mask, I think it takes up to 31 samples. So try with 1, 2, 4, 8, 16, 24. I may be very well wrong about this.
Since I already have 0 and 1 in the 'trial matrix' I'll add 24 only. Adding the combinations with 2, 4, 8, 16, 24 is too much for me ![]()
Why? Modprobe should not care about hyphen or underscore. They should be always converted when parsing. On most keyboard layouts (also on the Polish programmer one) hyphen is one key one keystroke, where underscore is two key one keystroke, therefore more error prone and less efficient.
Wow, I didn't know that! What do you know!
Linux being bitchy even about capital letters made me think it would be even more bitchy about '_' vs '-'.
Put up or shut up.
--Austin Meyer, the lead developer of X-Plane
[ url=http://... ] Text [ /url ]
Offline
Wow, I didn't know that! What do you know! :) Linux being bitchy even about capital letters made me think it would be even more bitchy about '_' vs '-'.
Both are interpreted as different characters, as any other characters are. It just happens that modprobe does not care. Windows does not respect capital and small letters distinction on the filesystem, if I recall correctly.
If it does not work, again, either ask on alsa mailing list or file a bug report, like you suggested. Please link any outside activity that may benefit other people here.
Offline
If it does not work, again, either ask on alsa mailing list or file a bug report, like you suggested. Please link any outside activity that may benefit other people here.
I sure will! The least I can do to thank for the assistance I got.
Put up or shut up.
--Austin Meyer, the lead developer of X-Plane
[ url=http://... ] Text [ /url ]
Offline
You are welcome.
Offline
https://bugzilla.kernel.org/show_bug.cgi?id=76841
http://mailman.alsa-project.org/piperma … 77050.html
Put up or shut up.
--Austin Meyer, the lead developer of X-Plane
[ url=http://... ] Text [ /url ]
Offline
I've just got rid of the pops. The last thing I did was killing the Intel HD Audio altogether by blacklisting the following modules in /etc/modprobe.d/modprobe.conf
:
[codec]
blacklist snd_hda_codec_conexant
blacklist snd_hda_codec_generic
blacklist snd_hda_intel
blacklist snd_hda_codec
[/codec]
I did it to basically get rid of the built-in (i.e. Intel HD Audio one) microphone that was constantly working in the background. I'll report back on what happens after I re-enable the Intel audio.
Put up or shut up.
--Austin Meyer, the lead developer of X-Plane
[ url=http://... ] Text [ /url ]
Offline