Hello guys.
I finally can report some interesting news.
Now audio stopped working - still, the system didn't panic. So I consider this a good good point.
My system is alive and I can keep it alive indefinitely, clearly if hardware doesn't break and/or other events out of my control cause an interruption.
In my dmesg, the following messages started to appear:
snd_hda_intel 0000:00:1b.0: azx_get_response timeout, switching to polling mode: last cmd=0x020c0000
snd_hda_codec_realtek hdaudioC0D0: Unable to sync register 0x1f0e00. -5
snd_hda_codec_realtek hdaudioC0D0: Unable to sync register 0x1f0e00. -5
snd_hda_codec_realtek hdaudioC0D0: Unable to sync register 0x1f0e00. -5
snd_hda_codec_realtek hdaudioC0D0: Unable to sync register 0x1f0e00. -5
snd_hda_codec_realtek hdaudioC0D0: Unable to sync register 0x1f0e00. -5
snd_hda_codec_realtek hdaudioC0D0: Unable to sync register 0x1f0e00. -5
And they appear apparently when the driver tries to send new commands to the device, but this is only my impression.
Let me know what I could do to report on what's happening. My system is acually running with kdump active, so in case I may also invoke the crash sysrq action and send back results.
sending alsa-info as attachment.
Thank you for everything guys, and forthe patience.
thank you Takashi.
On Thu, 12 Jan 2017, Takashi Iwai wrote:
Date: Thu, 12 Jan 2017 17:20:57
From: Takashi Iwai <tiwai@xxxxxxx>
To: Enrico Mioso <mrkiko.rs@xxxxxxxxx>
Cc: hui.wang@xxxxxxxxxxxxx, alsa-devel@xxxxxxxxxxxxxxxx, kailang@xxxxxxxxxxx
Subject: Re: Intel HDA audio on EEE PC 1101HGo
On Thu, 12 Jan 2017 17:10:31 +0100,
Enrico Mioso wrote:
Sometimes it's my impression the beep is not emitted. but I may be wrong. If I determine it, I'll report back.
But the system is stable so far, and I can't find other messages in the dmesg.
OK, thanks. The hackish patch can't be kept / merged to the upstream
code, of course. Instead, try the patch below and pass single_cmd=0
option. This will disallow fallback like the hack patch.
Takashi
-- 8< --
From: Takashi Iwai <tiwai@xxxxxxx>
Subject: [PATCH] ALSA: hda - Make single_cmd option to stop the fallback
mechanism
HD-audio driver has a mechanism to fall back to the single cmd mode as
a last resort if the CORB/RIRB communication goes wrong even after
switching to the polling mode. The switching has worked in the past
well, but Enrico Mioso reported that his system crashes when this
happens.
Although the actual cause of the crash isn't still fully analyzed yet,
it'd be in anyway good to provide an option to turn off the fallback
mode. Now this patch extends the behavior of the existing single_cmd
option for that. Namely,
- The option is changed from bool to bint.
- As default, it is the mode allowing the fallback to single cmd.
- Once when either true/false value is given to the option, the driver
explicitly turns on/off the single cmd mode, but without the
fallback.
That is, if you want to disable the fallback, just pass single_cmd=0
option. Passing single_cmd=1 will keep working like before.
Signed-off-by: Takashi Iwai <tiwai@xxxxxxx>
---
sound/pci/hda/hda_controller.c | 4 ++++
sound/pci/hda/hda_controller.h | 1 +
sound/pci/hda/hda_intel.c | 10 +++++++---
3 files changed, 12 insertions(+), 3 deletions(-)
diff --git a/sound/pci/hda/hda_controller.c b/sound/pci/hda/hda_controller.c
index 500878556578..3715a5725613 100644
--- a/sound/pci/hda/hda_controller.c
+++ b/sound/pci/hda/hda_controller.c
@@ -861,6 +861,10 @@ static int azx_rirb_get_response(struct hdac_bus *bus, unsigned int addr,
return -EIO;
}
+ /* no fallback mechanism? */
+ if (!chip->fallback_to_single_cmd)
+ return -EIO;
+
/* a fatal communication error; need either to reset or to fallback
* to the single_cmd mode
*/
diff --git a/sound/pci/hda/hda_controller.h b/sound/pci/hda/hda_controller.h
index a50e0532622a..35a9ab2cac46 100644
--- a/sound/pci/hda/hda_controller.h
+++ b/sound/pci/hda/hda_controller.h
@@ -150,6 +150,7 @@ struct azx {
int bdl_pos_adj;
int poll_count;
unsigned int running:1;
+ unsigned int fallback_to_single_cmd:1;
unsigned int single_cmd:1;
unsigned int polling_mode:1;
unsigned int msi:1;
diff --git a/sound/pci/hda/hda_intel.c b/sound/pci/hda/hda_intel.c
index 2587c197e353..faf99cc71277 100644
--- a/sound/pci/hda/hda_intel.c
+++ b/sound/pci/hda/hda_intel.c
@@ -128,7 +128,7 @@ static int bdl_pos_adj[SNDRV_CARDS] = {[0 ... (SNDRV_CARDS-1)] = -1};
static int probe_mask[SNDRV_CARDS] = {[0 ... (SNDRV_CARDS-1)] = -1};
static int probe_only[SNDRV_CARDS];
static int jackpoll_ms[SNDRV_CARDS];
-static bool single_cmd;
+static int single_cmd = -1;
static int enable_msi = -1;
#ifdef CONFIG_SND_HDA_PATCH_LOADER
static char *patch[SNDRV_CARDS];
@@ -157,7 +157,7 @@ module_param_array(probe_only, int, NULL, 0444);
MODULE_PARM_DESC(probe_only, "Only probing and no codec initialization.");
module_param_array(jackpoll_ms, int, NULL, 0444);
MODULE_PARM_DESC(jackpoll_ms, "Ms between polling for jack events (default = 0, using unsol events only)");
-module_param(single_cmd, bool, 0444);
+module_param(single_cmd, bint, 0444);
MODULE_PARM_DESC(single_cmd, "Use single command to communicate with codecs "
"(for debugging only).");
module_param(enable_msi, bint, 0444);
@@ -1596,7 +1596,11 @@ static int azx_create(struct snd_card *card, struct pci_dev *pci,
check_probe_mask(chip, dev);
- chip->single_cmd = single_cmd;
+ if (single_cmd < 0) /* allow fallback to single_cmd at errors */
+ chip->fallback_to_single_cmd = 1;
+ else /* explicitly set to single_cmd or not */
+ chip->single_cmd = single_cmd;
+
azx_check_snoop_available(chip);
if (bdl_pos_adj[dev] < 0)
--
2.11.0
upload=true&script=true&cardinfo=
!!################################
!!ALSA Information Script v 0.4.64
!!################################
!!Script ran on: Fri Jan 13 19:39:15 UTC 2017
!!Linux Distribution
!!------------------
Arch Linux \r (\l) NAME="Arch Linux" PRETTY_NAME="Arch Linux" ID=arch ID_LIKE=archlinux HOME_URL="https://www.archlinux.org/" SUPPORT_URL="https://bbs.archlinux.org/" BUG_REPORT_URL="https://bugs.archlinux.org/"
!!DMI Information
!!---------------
Manufacturer: ASUSTeK Computer INC.
Product Name: 1101HAG
Product Version: x.x
Firmware Version: 0106
!!Kernel Information
!!------------------
Kernel release: 4.10.0-rc3ho+
Operating System: GNU/Linux
Architecture: i686
Processor: unknown
SMP Enabled: Yes
!!ALSA Version
!!------------
Driver version: k4.10.0-rc3ho+
Library version: 1.1.3
Utilities version: 1.1.3
!!Loaded ALSA modules
!!-------------------
snd_hda_intel
!!Sound Servers on this system
!!----------------------------
Jack:
Installed - Yes (/usr/bin/jackd)
Running - No
!!Soundcards recognised by ALSA
!!-----------------------------
0 [MID ]: HDA-Intel - HDA Intel MID
HDA Intel MID at 0xf3f38000 irq 23
!!PCI Soundcards installed in the system
!!--------------------------------------
00:1b.0 Audio device: Intel Corporation System Controller Hub (SCH Poulsbo) HD Audio Controller (rev 07)
!!Advanced information - PCI Vendor/Device/Subsystem ID's
!!-------------------------------------------------------
00:1b.0 0403: 8086:811b (rev 07)
Subsystem: 1043:83ce
!!Modprobe options (Sound related)
!!--------------------------------
snd_hda_intel: single_cmd=0
!!Loaded sound module options
!!---------------------------
!!Module: snd_hda_intel
align_buffer_size : -1
bdl_pos_adj : -1,-1,-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 : (null),(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 : 40
power_save_controller : Y
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
!!HDA-Intel Codec information
!!---------------------------
--startcollapse--
Codec: Realtek ALC269
Address: 0
AFG Function Id: 0x1 (unsol 1)
Vendor Id: 0x10ec0269
Subsystem Id: 0x104383ce
Revision Id: 0x100004
No Modem Function Group found
Default PCM:
N/A
Default Amp-In caps: N/A
Default Amp-Out caps: N/A
State of AFG node 0x01:
Power: setting=UNKNOWN, actual=UNKNOWN, Error, Clock-stop-OK, Setting-reset
Invalid AFG subtree
--endcollapse--
!!ALSA Device nodes
!!-----------------
crw-rw----+ 1 root audio 116, 0 Jan 12 12:21 /dev/snd/controlC0
crw-rw----+ 1 root audio 116, 24 Jan 12 12:21 /dev/snd/pcmC0D0c
crw-rw----+ 1 root audio 116, 16 Jan 13 19:30 /dev/snd/pcmC0D0p
crw-rw----+ 1 root audio 116, 1 Jan 12 12:21 /dev/snd/seq
crw-rw----+ 1 root audio 116, 33 Jan 12 12:21 /dev/snd/timer
/dev/snd/by-path:
total 0
drwxr-xr-x 2 root root 60 Jan 12 12:21 .
drwxr-xr-x 3 root root 160 Jan 12 12:21 ..
lrwxrwxrwx 1 root root 12 Jan 12 12:21 pci-0000:00:1b.0 -> ../controlC0
!!Aplay/Arecord output
!!--------------------
APLAY
**** List of PLAYBACK Hardware Devices ****
card 0: MID [HDA Intel MID], device 0: ALC269 Analog [ALC269 Analog]
Subdevices: 1/1
Subdevice #0: subdevice #0
ARECORD
**** List of CAPTURE Hardware Devices ****
card 0: MID [HDA Intel MID], device 0: ALC269 Analog [ALC269 Analog]
Subdevices: 1/1
Subdevice #0: subdevice #0
!!Amixer output
!!-------------
!!-------Mixer controls for card 0 [MID]
Card hw:0 'MID'/'HDA Intel MID at 0xf3f38000 irq 23'
Mixer name : 'Realtek ALC269'
Components : 'HDA:10ec0269,104383ce,00100004'
Controls : 23
Simple ctrls : 11
Simple mixer control 'Master',0
Capabilities: pvolume pvolume-joined pswitch pswitch-joined
Playback channels: Mono
Limits: Playback 0 - 64
Mono: Playback 43 [67%] [-21.00dB] [on]
Simple mixer control 'Headphone',0
Capabilities: pvolume pswitch
Playback channels: Front Left - Front Right
Limits: Playback 0 - 64
Mono:
Front Left: Playback 64 [100%] [1.00dB] [on]
Front Right: Playback 64 [100%] [1.00dB] [on]
Simple mixer control 'Speaker',0
Capabilities: pvolume pswitch
Playback channels: Front Left - Front Right
Limits: Playback 0 - 64
Mono:
Front Left: Playback 64 [100%] [1.00dB] [on]
Front Right: Playback 64 [100%] [1.00dB] [on]
Simple mixer control 'PCM',0
Capabilities: pvolume
Playback channels: Front Left - Front Right
Limits: Playback 0 - 255
Mono:
Front Left: Playback 255 [100%] [0.00dB]
Front Right: Playback 255 [100%] [0.00dB]
Simple mixer control 'Mic',0
Capabilities: pvolume pswitch
Playback channels: Front Left - Front Right
Limits: Playback 0 - 31
Mono:
Front Left: Playback 0 [0%] [-34.50dB] [off]
Front Right: Playback 0 [0%] [-34.50dB] [off]
Simple mixer control 'Mic Boost',0
Capabilities: volume
Playback channels: Front Left - Front Right
Capture channels: Front Left - Front Right
Limits: 0 - 3
Front Left: 0 [0%] [0.00dB]
Front Right: 0 [0%] [0.00dB]
Simple mixer control 'Beep',0
Capabilities: pvolume pswitch
Playback channels: Front Left - Front Right
Limits: Playback 0 - 31
Mono:
Front Left: Playback 19 [61%] [-6.00dB] [on]
Front Right: Playback 19 [61%] [-6.00dB] [on]
Simple mixer control 'Capture',0
Capabilities: cvolume cswitch
Capture channels: Front Left - Front Right
Limits: Capture 0 - 46
Front Left: Capture 29 [63%] [12.00dB] [on]
Front Right: Capture 29 [63%] [12.00dB] [on]
Simple mixer control 'Auto-Mute Mode',0
Capabilities: enum
Items: 'Disabled' 'Enabled'
Item0: 'Enabled'
Simple mixer control 'Digital',0
Capabilities: cvolume
Capture channels: Front Left - Front Right
Limits: Capture 0 - 120
Front Left: Capture 60 [50%] [0.00dB]
Front Right: Capture 60 [50%] [0.00dB]
Simple mixer control 'Loopback Mixing',0
Capabilities: enum
Items: 'Disabled' 'Enabled'
Item0: 'Enabled'
!!Alsactl output
!!--------------
--startcollapse--
state.MID {
control.1 {
iface MIXER
name 'Headphone Playback Volume'
value.0 64
value.1 64
comment {
access 'read write'
type INTEGER
count 2
range '0 - 64'
dbmin -6300
dbmax 100
dbvalue.0 100
dbvalue.1 100
}
}
control.2 {
iface MIXER
name 'Headphone Playback Switch'
value.0 true
value.1 true
comment {
access 'read write'
type BOOLEAN
count 2
}
}
control.3 {
iface MIXER
name 'Speaker Playback Volume'
value.0 64
value.1 64
comment {
access 'read write'
type INTEGER
count 2
range '0 - 64'
dbmin -6300
dbmax 100
dbvalue.0 100
dbvalue.1 100
}
}
control.4 {
iface MIXER
name 'Speaker Playback Switch'
value.0 true
value.1 true
comment {
access 'read write'
type BOOLEAN
count 2
}
}
control.5 {
iface MIXER
name 'Loopback Mixing'
value Enabled
comment {
access 'read write'
type ENUMERATED
count 1
item.0 Disabled
item.1 Enabled
}
}
control.6 {
iface MIXER
name 'Mic Playback Volume'
value.0 0
value.1 0
comment {
access 'read write'
type INTEGER
count 2
range '0 - 31'
dbmin -3450
dbmax 1200
dbvalue.0 -3450
dbvalue.1 -3450
}
}
control.7 {
iface MIXER
name 'Mic Playback Switch'
value.0 false
value.1 false
comment {
access 'read write'
type BOOLEAN
count 2
}
}
control.8 {
iface MIXER
name 'Auto-Mute Mode'
value Enabled
comment {
access 'read write'
type ENUMERATED
count 1
item.0 Disabled
item.1 Enabled
}
}
control.9 {
iface MIXER
name 'Capture Volume'
value.0 29
value.1 29
comment {
access 'read write'
type INTEGER
count 2
range '0 - 46'
dbmin -1700
dbmax 2900
dbvalue.0 1200
dbvalue.1 1200
}
}
control.10 {
iface MIXER
name 'Capture Switch'
value.0 true
value.1 true
comment {
access 'read write'
type BOOLEAN
count 2
}
}
control.11 {
iface MIXER
name 'Mic Boost Volume'
value.0 0
value.1 0
comment {
access 'read write'
type INTEGER
count 2
range '0 - 3'
dbmin 0
dbmax 3000
dbvalue.0 0
dbvalue.1 0
}
}
control.12 {
iface MIXER
name 'Master Playback Volume'
value 43
comment {
access 'read write'
type INTEGER
count 1
range '0 - 64'
dbmin -6400
dbmax 0
dbvalue.0 -2100
}
}
control.13 {
iface MIXER
name 'Master Playback Switch'
value true
comment {
access 'read write'
type BOOLEAN
count 1
}
}
control.14 {
iface CARD
name 'Mic Jack'
value true
comment {
access read
type BOOLEAN
count 1
}
}
control.15 {
iface CARD
name 'Internal Mic Phantom Jack'
value true
comment {
access read
type BOOLEAN
count 1
}
}
control.16 {
iface CARD
name 'Headphone Jack'
value true
comment {
access read
type BOOLEAN
count 1
}
}
control.17 {
iface CARD
name 'Speaker Phantom Jack'
value true
comment {
access read
type BOOLEAN
count 1
}
}
control.18 {
iface MIXER
name 'Beep Playback Volume'
value.0 19
value.1 19
comment {
access 'read write'
type INTEGER
count 2
range '0 - 31'
dbmin -3450
dbmax 1200
dbvalue.0 -600
dbvalue.1 -600
}
}
control.19 {
iface MIXER
name 'Beep Playback Switch'
value.0 true
value.1 true
comment {
access 'read write'
type BOOLEAN
count 2
}
}
control.20 {
iface PCM
name 'Playback Channel Map'
value.0 0
value.1 0
comment {
access read
type INTEGER
count 2
range '0 - 36'
}
}
control.21 {
iface PCM
name 'Capture Channel Map'
value.0 0
value.1 0
comment {
access read
type INTEGER
count 2
range '0 - 36'
}
}
control.22 {
iface MIXER
name 'PCM Playback Volume'
value.0 255
value.1 255
comment {
access 'read write user'
type INTEGER
count 2
range '0 - 255'
tlv '0000000100000008ffffec1400000014'
dbmin -5100
dbmax 0
dbvalue.0 0
dbvalue.1 0
}
}
control.23 {
iface MIXER
name 'Digital Capture Volume'
value.0 60
value.1 60
comment {
access 'read write user'
type INTEGER
count 2
range '0 - 120'
tlv '0000000100000008fffff44800000032'
dbmin -3000
dbmax 3000
dbvalue.0 0
dbvalue.1 0
}
}
}
--endcollapse--
!!All Loaded Modules
!!------------------
Module
fuse
af_packet
arc4
ath9k
ath9k_common
ath9k_hw
mac80211
bnep
coretemp
kvm_intel
snd_hda_codec_realtek
kvm
ath
uvcvideo
snd_hda_codec_generic
snd_hda_intel
snd_hda_codec
cfg80211
videobuf2_vmalloc
videobuf2_memops
asus_wmi
atkbd
videobuf2_v4l2
input_leds
libps2
videobuf2_core
hwmon
snd_hda_core
sparse_keymap
videodev
option
led_class
uas
usb_wwan
usbserial
snd_pcm
irqbypass
usb_storage
media
btusb
snd_timer
snd
btbcm
i2c_core
atl1c
hid_apple
lpc_sch
btintel
mfd_core
thermal
wmi
i8042
evdev
video
acpi_cpufreq
soundcore
serio
processor
backlight
rfcomm
bluetooth
rfkill
ip_tables
x_tables
sha1_generic
ipv6
autofs4
!!ALSA/HDA dmesg
!!--------------
[ 18.031384] USB Video Class driver (1.1.1)
[ 18.054976] snd_hda_codec_realtek hdaudioC0D0: autoconfig for ALC269: line_outs=1 (0x14/0x0/0x0/0x0/0x0) type:speaker
[ 18.067358] snd_hda_codec_realtek hdaudioC0D0: speaker_outs=0 (0x0/0x0/0x0/0x0/0x0)
[ 18.080055] snd_hda_codec_realtek hdaudioC0D0: hp_outs=1 (0x15/0x0/0x0/0x0/0x0)
[ 18.092172] snd_hda_codec_realtek hdaudioC0D0: mono: mono_out=0x0
[ 18.104042] snd_hda_codec_realtek hdaudioC0D0: inputs:
[ 18.147300] snd_hda_codec_realtek hdaudioC0D0: Mic=0x18
[ 18.191065] snd_hda_codec_realtek hdaudioC0D0: Internal Mic=0x12
[ 18.247499] input: HDA Digital PCBeep as /devices/pci0000:00/0000:00:1b.0/sound/card0/input8
[ 18.285601] input: HDA Intel MID Mic as /devices/pci0000:00/0000:00:1b.0/sound/card0/input9
[ 18.310620] input: HDA Intel MID Headphone as /devices/pci0000:00/0000:00:1b.0/sound/card0/input10
[ 19.717219] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
--
[ 5242.552595] EXT4-fs (sda1): re-mounted. Opts: nobarrier,noauto_da_alloc
[ 5379.300565] snd_hda_intel 0000:00:1b.0: Invalid position buffer, using LPIB read method instead.
[ 5432.748768] EXT4-fs (sda1): re-mounted. Opts: nobarrier,noauto_da_alloc
--
[33317.356471] fuse init (API version 7.26)
[111870.510091] snd_hda_intel 0000:00:1b.0: azx_get_response timeout, switching to polling mode: last cmd=0x020c0000
[112013.020094] snd_hda_codec_realtek hdaudioC0D0: Unable to sync register 0x1f0e00. -5
[112016.027100] snd_hda_codec_realtek hdaudioC0D0: Unable to sync register 0x1f0e00. -5
[112137.588099] snd_hda_codec_realtek hdaudioC0D0: Unable to sync register 0x1f0e00. -5
[112140.594099] snd_hda_codec_realtek hdaudioC0D0: Unable to sync register 0x1f0e00. -5
[114687.722113] snd_hda_codec_realtek hdaudioC0D0: Unable to sync register 0x1f0e00. -5
[114690.732105] snd_hda_codec_realtek hdaudioC0D0: Unable to sync register 0x1f0e00. -5
[115929.461096] snd_hda_codec_realtek hdaudioC0D0: Unable to sync register 0x1f0e00. -5
[115932.471089] snd_hda_codec_realtek hdaudioC0D0: Unable to sync register 0x1f0e00. -5
[116117.440096] snd_hda_codec_realtek hdaudioC0D0: Unable to sync register 0x1f0e00. -5
[116120.458094] snd_hda_codec_realtek hdaudioC0D0: Unable to sync register 0x1f0e00. -5
[116291.707103] snd_hda_codec_realtek hdaudioC0D0: Unable to sync register 0x1f0e00. -5
[116294.717094] snd_hda_codec_realtek hdaudioC0D0: Unable to sync register 0x1f0e00. -5
_______________________________________________
Alsa-devel mailing list
Alsa-devel@xxxxxxxxxxxxxxxx
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel