Hello. This bug was redirected from pulseaudio bugtracker (https://bugs.freedesktop.org/show_bug.cgi?id=99260) and from kernel bugtracker (https://bugzilla.kernel.org/show_bug.cgi?id=191941). When I connect my Fiio X5 II as external DAC to my PC PulseAudio hangs (unkillable). Google knows about this bug (https://bbs.archlinux.org/viewtopic.php?id=202648http://forum.ubuntu.ru/index.php?topic=263700.0 https://ubuntuforums.org/showthread.php?t=2274844). The same problem with Fiio X3 II. People says that problem assigned with xhci. I can't check this because my motherboard doesn't support xhci disabling. Fiio works fine without PulseAudio, through ALSA. Dmesg log from my system in attach (dmesg.txt). lsusb: Bus 001 Device 005: ID 2972:0006 cat /proc/asound/cards attached (cards.txt). pulseaudio log from forum (if you ask I can take log from my system) attached (pulseaudio.txt). My system: Asus Z170-A, Intel i7-6700K, Fiio X5 II with last firmware, Arch linux x64 (kernel 4.9.6), PulseAudio 10.0.
0 [DAC ]: USB-Audio - FiiO USB Audio Class 2.0 DAC SmartAction FiiO USB Audio Class 2.0 DAC at usb-0000:00:14.0-11, high speed
[ 7925.549335] input: SmartAction FiiO USB Audio Class 2.0 DAC as /devices/pci0000:00/0000:00:14.0/usb1/1-10/1-10:1.0/0003:2972:0006.0005/input/input22 [ 7925.604564] hid-generic 0003:2972:0006.0005: input,hidraw3: USB HID v2.01 Device [SmartAction FiiO USB Audio Class 2.0 DAC] on usb-0000:00:14.0-10/input0 [ 7925.606232] usb 1-10: 1:3 : does not exist [ 8109.747815] INFO: task pulseaudio:748 blocked for more than 120 seconds. [ 8109.747817] Tainted: G O 4.9.6-1-ARCH #1 [ 8109.747818] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message. [ 8109.747818] pulseaudio D 0 748 635 0x00000004 [ 8109.747821] ffff88045a3b6800 0000000000000000 ffff8804537a0000 ffff88046ed980c0 [ 8109.747822] ffff88045c238ec0 ffffc900022c7ae8 ffffffff81605cdf ffff880278805800 [ 8109.747823] 00ffc900022c7ab8 ffff88046ed980c0 ffffc900022c7ac8 ffff8804537a0000 [ 8109.747824] Call Trace: [ 8109.747827] [<ffffffff81605cdf>] ? __schedule+0x22f/0x6e0 [ 8109.747829] [<ffffffff816061cd>] schedule+0x3d/0x90 [ 8109.747831] [<ffffffffa007754c>] usb_kill_urb.part.4+0x6c/0xa0 [usbcore] [ 8109.747833] [<ffffffff810c4200>] ? wake_atomic_t_function+0x60/0x60 [ 8109.747835] [<ffffffffa00775a1>] usb_kill_urb+0x21/0x30 [usbcore] [ 8109.747837] [<ffffffffa007624d>] usb_hcd_flush_endpoint+0xad/0x170 [usbcore] [ 8109.747838] [<ffffffff812910f2>] ? kernfs_find_ns+0x72/0xd0 [ 8109.747840] [<ffffffffa0079368>] usb_disable_endpoint+0x58/0xb0 [usbcore] [ 8109.747841] [<ffffffffa0079405>] usb_disable_interface+0x45/0x60 [usbcore] [ 8109.747843] [<ffffffffa0079932>] usb_set_interface+0x1a2/0x380 [usbcore] [ 8109.747845] [<ffffffffa0978a34>] snd_usb_init_sample_rate+0x1a4/0x3a0 [snd_usb_audio] [ 8109.747847] [<ffffffffa09849a4>] snd_usb_pcm_prepare+0xb4/0x4e0 [snd_usb_audio] [ 8109.747849] [<ffffffffa060cf4d>] ? snd_pcm_stream_unlock+0x2d/0x50 [snd_pcm] [ 8109.747850] [<ffffffffa060ce47>] snd_pcm_do_prepare+0x17/0x30 [snd_pcm] [ 8109.747851] [<ffffffffa060c9af>] snd_pcm_action_single+0x2f/0x70 [snd_pcm] [ 8109.747852] [<ffffffffa060ca58>] snd_pcm_action_nonatomic+0x68/0x70 [snd_pcm] [ 8109.747854] [<ffffffffa060f300>] snd_pcm_common_ioctl1+0x470/0xbb0 [snd_pcm] [ 8109.747855] [<ffffffff8122d978>] ? file_update_time+0xc8/0x110 [ 8109.747856] [<ffffffffa060fb79>] snd_pcm_playback_ioctl1+0x139/0x260 [snd_pcm] [ 8109.747857] [<ffffffff811c3a4b>] ? do_mmap+0x3eb/0x4a0 [ 8109.747858] [<ffffffffa060fcc7>] snd_pcm_playback_ioctl+0x27/0x40 [snd_pcm] [ 8109.747859] [<ffffffff81224ee3>] do_vfs_ioctl+0xa3/0x5f0 [ 8109.747860] [<ffffffff81230327>] ? __fget+0x77/0xb0 [ 8109.747861] [<ffffffff812254a9>] SyS_ioctl+0x79/0x90 [ 8109.747862] [<ffffffff8160a737>] entry_SYSCALL_64_fastpath+0x1a/0xa9
[bart@BartPCArch ~]$ pulseaudio -vvvv I: [pulseaudio] main.c: setrlimit(RLIMIT_NICE, (31, 31)) failed: Operation not permitted I: [pulseaudio] main.c: setrlimit(RLIMIT_RTPRIO, (9, 9)) failed: Operation not permitted D: [pulseaudio] core-rtclock.c: Timer slack is set to 50 us. D: [pulseaudio] core-util.c: RealtimeKit worked. I: [pulseaudio] core-util.c: Successfully gained nice level -11. I: [pulseaudio] main.c: This is PulseAudio 6.0 D: [pulseaudio] main.c: Compilation host: x86_64-unknown-linux-gnu D: [pulseaudio] main.c: Compilation CFLAGS: -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong --param=ssp-buffer-size=4 -Wall -W -Wextra -Wno-long-long -Wno-overlength-strings -Wunsafe-loop-optimizations -Wundef -Wformat=2 -Wlogical-op -Wsign-compare -Wformat-security -Wmissing-include-dirs -Wformat-nonliteral -Wpointer-arith -Winit-self -Wdeclaration-after-statement -Wfloat-equal -Wmissing-prototypes -Wredundant-decls -Wmissing-declarations -Wmissing-noreturn -Wshadow -Wendif-labels -Wcast-align -Wstrict-aliasing -Wwrite-strings -Wno-unused-parameter -ffast-math -fno-common -fdiagnostics-show-option -fdiagnostics-color=auto D: [pulseaudio] main.c: Running on host: Linux x86_64 4.1.6-1-ARCH #1 SMP PREEMPT Mon Aug 17 08:52:28 CEST 2015 D: [pulseaudio] main.c: Found 8 CPUs. I: [pulseaudio] main.c: Page size is 4096 bytes D: [pulseaudio] main.c: Compiled with Valgrind support: no D: [pulseaudio] main.c: Running in valgrind mode: no D: [pulseaudio] main.c: Running in VM: no D: [pulseaudio] main.c: Optimized build: yes D: [pulseaudio] main.c: FASTPATH defined, only fast path asserts disabled. I: [pulseaudio] main.c: Machine ID is 285aceef9581452e8da5a89ae08b86a4. I: [pulseaudio] main.c: Session ID is c1. I: [pulseaudio] main.c: Using runtime directory /run/user/1000/pulse. I: [pulseaudio] main.c: Using state directory /home/bart/.config/pulse. I: [pulseaudio] main.c: Using modules directory /usr/lib/pulse-6.0/modules. I: [pulseaudio] main.c: Running in system mode: no I: [pulseaudio] main.c: Fresh high-resolution timers available! Bon appetit! D: [pulseaudio] memblock.c: Using shared memory pool with 1024 slots of size 64.0 KiB each, total size is 64.0 MiB, maximum usable slot size is 65472 D: [pulseaudio] memblock.c: Using shared memory pool with 1024 slots of size 64.0 KiB each, total size is 64.0 MiB, maximum usable slot size is 65472 I: [pulseaudio] cpu-x86.c: CPU flags: CMOV MMX SSE SSE2 SSE3 SSSE3 SSE4_1 SSE4_2 I: [pulseaudio] svolume_mmx.c: Initialising MMX optimized volume functions. I: [pulseaudio] remap_mmx.c: Initialising MMX optimized remappers. I: [pulseaudio] svolume_sse.c: Initialising SSE2 optimized volume functions. I: [pulseaudio] remap_sse.c: Initialising SSE2 optimized remappers. I: [pulseaudio] sconv_sse.c: Initialising SSE2 optimized conversions. I: [pulseaudio] svolume_orc.c: Initialising ORC optimized volume functions. D: [pulseaudio] database-tdb.c: Opened TDB database '/home/bart/.config/pulse/285aceef9581452e8da5a89ae08b86a4-device-volumes.tdb' I: [pulseaudio] module-device-restore.c: Successfully opened database file '/home/bart/.config/pulse/285aceef9581452e8da5a89ae08b86a4-device-volumes'. I: [pulseaudio] module.c: Loaded "module-device-restore" (index: #0; argument: ""). D: [pulseaudio] database-tdb.c: Opened TDB database '/home/bart/.config/pulse/285aceef9581452e8da5a89ae08b86a4-stream-volumes.tdb' I: [pulseaudio] module-stream-restore.c: Successfully opened database file '/home/bart/.config/pulse/285aceef9581452e8da5a89ae08b86a4-stream-volumes'. D: [pulseaudio] protocol-dbus.c: Interface org.PulseAudio.Ext.StreamRestore1 added for object /org/pulseaudio/stream_restore1 D: [pulseaudio] protocol-dbus.c: Interface org.PulseAudio.Ext.StreamRestore1.RestoreEntry added for object /org/pulseaudio/stream_restore1/entry0 D: [pulseaudio] protocol-dbus.c: Interface org.PulseAudio.Ext.StreamRestore1.RestoreEntry added for object /org/pulseaudio/stream_restore1/entry1 D: [pulseaudio] protocol-dbus.c: Interface org.PulseAudio.Ext.StreamRestore1.RestoreEntry added for object /org/pulseaudio/stream_restore1/entry2 D: [pulseaudio] protocol-dbus.c: Interface org.PulseAudio.Ext.StreamRestore1.RestoreEntry added for object /org/pulseaudio/stream_restore1/entry3 D: [pulseaudio] protocol-dbus.c: Interface org.PulseAudio.Ext.StreamRestore1.RestoreEntry added for object /org/pulseaudio/stream_restore1/entry4 D: [pulseaudio] protocol-dbus.c: Interface org.PulseAudio.Ext.StreamRestore1.RestoreEntry added for object /org/pulseaudio/stream_restore1/entry5 D: [pulseaudio] protocol-dbus.c: Interface org.PulseAudio.Ext.StreamRestore1.RestoreEntry added for object /org/pulseaudio/stream_restore1/entry6 D: [pulseaudio] protocol-dbus.c: Interface org.PulseAudio.Ext.StreamRestore1.RestoreEntry added for object /org/pulseaudio/stream_restore1/entry7 D: [pulseaudio] protocol-dbus.c: Interface org.PulseAudio.Ext.StreamRestore1.RestoreEntry added for object /org/pulseaudio/stream_restore1/entry8 D: [pulseaudio] protocol-dbus.c: Interface org.PulseAudio.Ext.StreamRestore1.RestoreEntry added for object /org/pulseaudio/stream_restore1/entry9 D: [pulseaudio] protocol-dbus.c: Interface org.PulseAudio.Ext.StreamRestore1.RestoreEntry added for object /org/pulseaudio/stream_restore1/entry10 D: [pulseaudio] protocol-dbus.c: Interface org.PulseAudio.Ext.StreamRestore1.RestoreEntry added for object /org/pulseaudio/stream_restore1/entry11 D: [pulseaudio] protocol-dbus.c: Interface org.PulseAudio.Ext.StreamRestore1.RestoreEntry added for object /org/pulseaudio/stream_restore1/entry12 D: [pulseaudio] protocol-dbus.c: Interface org.PulseAudio.Ext.StreamRestore1.RestoreEntry added for object /org/pulseaudio/stream_restore1/entry13 D: [pulseaudio] protocol-dbus.c: Interface org.PulseAudio.Ext.StreamRestore1.RestoreEntry added for object /org/pulseaudio/stream_restore1/entry14 I: [pulseaudio] module.c: Loaded "module-stream-restore" (index: #1; argument: ""). D: [pulseaudio] database-tdb.c: Opened TDB database '/home/bart/.config/pulse/285aceef9581452e8da5a89ae08b86a4-card-database.tdb' I: [pulseaudio] module-card-restore.c: Successfully opened database file '/home/bart/.config/pulse/285aceef9581452e8da5a89ae08b86a4-card-database'. I: [pulseaudio] module.c: Loaded "module-card-restore" (index: #2; argument: ""). I: [pulseaudio] module.c: Loaded "module-augment-properties" (index: #3; argument: ""). I: [pulseaudio] module.c: Loaded "module-switch-on-port-available" (index: #4; argument: ""). D: [pulseaudio] alsa-util.c: Trying hw:CARD=DAC with SND_PCM_NO_AUTO_FORMAT ... D: [pulseaudio] alsa-util.c: Managed to open hw:CARD=DAC I: [pulseaudio] alsa-util.c: Disabling tsched mode since BATCH flag is set D: [pulseaudio] alsa-util.c: snd_pcm_hw_params_set_format(Signed 24 bit Little Endian in 3bytes) failed: Invalid argument D: [pulseaudio] alsa-util.c: snd_pcm_hw_params_set_format(Signed 24 bit Big Endian in 3bytes) failed: Invalid argument D: [pulseaudio] alsa-util.c: snd_pcm_hw_params_set_format(Float 32 bit Little Endian) failed: Invalid argument D: [pulseaudio] alsa-util.c: snd_pcm_hw_params_set_format(Float 32 bit Big Endian) failed: Invalid argument D: [pulseaudio] alsa-util.c: Maximum hw buffer size is 682 ms D: [pulseaudio] alsa-util.c: Set buffer size first (to 19200 samples), period size second (to 4800 samples). I: [pulseaudio] alsa-util.c: Device hw:CARD=DAC doesn't support sample format s24le, changed to s32le.