Bug 101501
Summary: | Realtek ALC892 codec keeps crashing under kernel 4.1.0 | ||
---|---|---|---|
Product: | Drivers | Reporter: | Artem S. Tashkinov (aros) |
Component: | Sound(ALSA) | Assignee: | Jaroslav Kysela (perex) |
Status: | RESOLVED CODE_FIX | ||
Severity: | high | CC: | superquad.vortex2, szg00000, tiwai |
Priority: | P1 | ||
Hardware: | i386 | ||
OS: | Linux | ||
Kernel Version: | 4.1.0 | Subsystem: | |
Regression: | Yes | Bisected commit-id: | |
Attachments: |
/proc/asound/card0/codec#0
alsa-info.txt |
It's weird to see HDMI type errors/warnings because my speakers are connected via an analogue port (I have six analogue input/outputs). My LCD monitor (which is capable of producing audio) is connected to the NVIDIA GPU that I have installed but that's a different sound card (the second here). It's hard to tell what went wrong. The code change in 4.1 is pretty large, but most of changes are rather restructuring. The best would be to identify the regression point via git bisect. The boot time message already looks strange, though: [ 6.156771] snd_hda_intel 0000:00:1b.0: azx_get_response timeout, switching to polling mode: last cmd=0x300f0000 [ 7.159161] snd_hda_intel 0000:00:1b.0: No response from codec, disabling MSI: last cmd=0x300f0000 [ 8.164874] snd_hda_intel 0000:00:1b.0: Codec #3 probe error; disabling it... The PCI entry 00:1b.0 is the onboard chipset, right? It has already spurious connection, maybe BIOS wrongly declared. You should pass probe_mask option to snd-hda-intel for either first or second slot. And, if you don't need HDMI audio, you can disable it via enable option to snd-hda-intel module. If the first second entry is HDMI, pass like enable=1,0. In anyway, please give alsa-info.sh output for checking more details. Created attachment 182631 [details] alsa-info.txt > The PCI entry 00:1b.0 is the onboard chipset, right? Yes. > You should pass probe_mask option to snd-hda-intel for either first or second > slot. What exactly should I pass? > And, if you don't need HDMI audio, you can disable it via enable option to > snd-hda-intel module. I'm wondering how it can possibly work here. My motherboard (Asus P8P67 Pro, http://www.asus.com/Motherboards/P8P67_PRO/specifications/ ), which is based the P67 chipset, doesn't have any HDMI outputs at all. Bisecting is not an option since this glitch occurs randomly, once per several hours. It will most likely take several months before I find the bad commit. (In reply to Artem S. Tashkinov from comment #3) > Created attachment 182631 [details] > alsa-info.txt > > > The PCI entry 00:1b.0 is the onboard chipset, right? > > Yes. > > > You should pass probe_mask option to snd-hda-intel for either first or > second slot. > > What exactly should I pass? probe_mask=0x01 > > And, if you don't need HDMI audio, you can disable it via enable option to > snd-hda-intel module. > > I'm wondering how it can possibly work here. My motherboard (Asus P8P67 Pro, > http://www.asus.com/Motherboards/P8P67_PRO/specifications/ ), which is based > the P67 chipset, doesn't have any HDMI outputs at all. The chipset can have a HDMI output. The HDMI over Intel onboard graphics would be connected to the same controller chip as Realtek codec. Although the onboard graphics is by BIOS with the use of Nvidia board, the BIOS setup might be wrong (as you see in the boot log) and still something might be interfered. So in short, try to pass like options snd-hda-intel probe_mask=0x01 enable=1,0 (In reply to Artem S. Tashkinov from comment #4) > Bisecting is not an option since this glitch occurs randomly, once per > several hours. It will most likely take several months before I find the bad > commit. Very same for developers, too :) It'd cost so much to diagnose this kind of problem remotely without the actual hardware... https://git.kernel.org/cgit/linux/kernel/git/tiwai/sound.git/commit/sound/pci/hda/patch_realtek.c?id=1565cc358585be40608b46f18f7ac431a1aae2bc all jack detection if alc892 were disabled Seem bug in modprobe options id of two cards are IntelHDA Modprobe options (Sound related) !!-------------------------------- snd-hda-intel: id="RadeonHD6800" power_save=1 enable_msi=1 snd-hda-intel: id="IntelHDA" power_save=0 enable_msi=1 power_save_controller=0 snd-usb-audio: id="LogitechUSB" !!Loaded sound module options !!-------------------------- !!Module: snd_hda_intel align_buffer_size : -1 bdl_pos_adj : 1,32,-1,-1,-1,-1,-1,-1 beep_mode : Y,Y,Y,Y,Y,Y,Y,Y enable : Y,Y,Y,Y,Y,Y,Y,Y enable_msi : 1 id : IntelHDA,(null),(null),(null),(null),(null),(null),(null) index : -1,-1,-1,-1,-1,-1,-1,-1 jackpoll_ms : 0,0,0,0,0,0,0,0 model : (null),(null),(null),(null),(null),(null),(null),(null) position_fix : -1,-1,-1,-1,-1,-1,-1,-1 power_save : 0 power_save_controller : N probe_mask : -1,-1,-1,-1,-1,-1,-1,-1 probe_only : 0,0,0,0,0,0,0,0 single_cmd : N snoop : -1 !!Module: snd_hda_intel align_buffer_size : -1 bdl_pos_adj : 1,32,-1,-1,-1,-1,-1,-1 beep_mode : Y,Y,Y,Y,Y,Y,Y,Y enable : Y,Y,Y,Y,Y,Y,Y,Y enable_msi : 1 id : IntelHDA,(null),(null),(null),(null),(null),(null),(null) index : -1,-1,-1,-1,-1,-1,-1,-1 jackpoll_ms : 0,0,0,0,0,0,0,0 model : (null),(null),(null),(null),(null),(null),(null),(null) position_fix : -1,-1,-1,-1,-1,-1,-1,-1 power_save : 0 power_save_controller : N probe_mask : -1,-1,-1,-1,-1,-1,-1,-1 probe_only : 0,0,0,0,0,0,0,0 single_cmd : N snoop : -1 Right, you should remove all the rest snd-hda-intel options but for the requested ones. Especially enable_msi=1 doesn't look good. |
Created attachment 182601 [details] /proc/asound/card0/codec#0 Under Linux 3.9 and earlier I never had this problem, it only appeared under Linux 4.1.0 (I skipped 4.0 altogether). It manifests itself when my audio players start producing some garbage instead of audio. Restarting a playing helps. When audio output (analogue) goes wrong, I get these messages in dmesg: [ 3545.880378] snd_hda_codec_hdmi hdaudioC1D0: HDMI: invalid ELD data byte 12 [ 5738.529098] snd_hda_codec_hdmi hdaudioC1D0: HDMI: invalid ELD data byte 11 [15338.360331] snd_hda_codec_hdmi hdaudioC1D0: HDMI: invalid ELD data byte 12 [46127.388296] snd_hda_codec_hdmi hdaudioC1D0: HDMI: invalid ELD data byte 14 [46200.203063] snd_hda_codec_hdmi hdaudioC1D0: HDMI: invalid ELD data byte 13 [85227.801675] snd_hda_codec_hdmi hdaudioC1D0: HDMI: invalid ELD data byte 11 My initial dmesg output: [ 6.156771] snd_hda_intel 0000:00:1b.0: azx_get_response timeout, switching to polling mode: last cmd=0x300f0000 [ 7.159161] snd_hda_intel 0000:00:1b.0: No response from codec, disabling MSI: last cmd=0x300f0000 [ 8.164874] snd_hda_intel 0000:00:1b.0: Codec #3 probe error; disabling it... [ 8.196648] snd_hda_codec_realtek hdaudioC0D0: autoconfig for ALC892: line_outs=4 (0x14/0x15/0x16/0x17/0x0) type:line [ 8.196653] snd_hda_codec_realtek hdaudioC0D0: speaker_outs=0 (0x0/0x0/0x0/0x0/0x0) [ 8.196657] snd_hda_codec_realtek hdaudioC0D0: hp_outs=1 (0x1b/0x0/0x0/0x0/0x0) [ 8.196659] snd_hda_codec_realtek hdaudioC0D0: mono: mono_out=0x0 [ 8.196661] snd_hda_codec_realtek hdaudioC0D0: dig-out=0x11/0x1e [ 8.196663] snd_hda_codec_realtek hdaudioC0D0: inputs: [ 8.196667] snd_hda_codec_realtek hdaudioC0D0: Front Mic=0x19 [ 8.196670] snd_hda_codec_realtek hdaudioC0D0: Rear Mic=0x18 [ 8.196672] snd_hda_codec_realtek hdaudioC0D0: Line=0x1a [ 10.466014] snd_hda_codec_hdmi hdaudioC1D0: HDMI: invalid ELD data byte 7