LINUX.ORG.RU

USB-ЦАП Audinst HUD-mx2 + PulseAudio

 , ,


0

2

Сегодня приехал купленный неделю назад на ebay USB-ЦАП Audinst HUD-mx2.

После подключения девайс сразу распознался и появился в настройках PulseAudio (lsusb). Я было обрадовался и запустил Amarok, однако радость была недолгой: в наушниках стояла тишина, хотя индикатор в pavucontrol показывал, что звук воспроизводится. На всякий случай отключил в BIOS интегрированную звуковую карту, но ничего не поменялось.

aplay показал наличие двух устройств:

$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: HUDmx2 [Audinst HUD-mx2], device 0: USB Audio [USB Audio]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: HUDmx2 [Audinst HUD-mx2], device 1: USB Audio [USB Audio #1]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

Если выключить PulseAudio и выбрать в настройках KDE второе устройство, звук отлично работает. После непродолжительного поиска в гугле нашел вариант решения проблемы, заключающийся в добавлении в /etc/pulse/default.pa следующих строк:

load-module module-alsa-sink device=hw:0,1
set-default-sink 1

Проблема в том, что с этими строками PulseAudio при запуске наглухо виснет, а попытки прибить процесс через kill -9 превращают его в зомби, после чего ЦАП становится недоступен до перезагрузки.

Может быть, есть какой-то другой способ указать PulseAudio нужное устройство?

эээ, а просто в pavucontrol клацнуть кнопку «по-умолчанию» для синка нельзя? и проверить что для плеера выбрано правильное устройство вывода.

val-amart ★★★★★ ()
Ответ на: комментарий от val-amart

Без load-module module-alsa-sink в выводе pacmd list-sinks есть только один синк, после load-module появляется второй, который мне как раз и нужен.

2 sink(s) available.
    index: 0
        name: <alsa_output.usb-VIA_Technologies_Inc._Audinst_HUD-mx2-00-HUDmx2.analog-stereo>
        driver: <module-alsa-card.c>
        flags: HARDWARE HW_MUTE_CTRL HW_VOLUME_CTRL DECIBEL_VOLUME LATENCY 
        state: IDLE
        suspend cause: 
        priority: 9049
        volume: front-left: 65536 / 100% / 0.00 dB,   front-right: 65536 / 100% / 0.00 dB
                balance 0.00
        base volume: 65536 / 100% / 0.00 dB
        volume steps: 65537
        muted: no
        current latency: 0.00 ms
        max request: 17 KiB
        max rewind: 17 KiB
        monitor source: 0
        sample spec: s16le 2ch 44100Hz
        channel map: front-left,front-right
                     Stereo
        used by: 0
        linked by: 1
        fixed latency: 99.95 ms
        card: 0 <alsa_card.usb-VIA_Technologies_Inc._Audinst_HUD-mx2-00-HUDmx2>
        module: 6
        properties:
                alsa.resolution_bits = "16"
                device.api = "alsa"
                device.class = "sound"
                alsa.class = "generic"
                alsa.subclass = "generic-mix"
                alsa.name = "USB Audio"
                alsa.id = "USB Audio"
                alsa.subdevice = "0"
                alsa.subdevice_name = "subdevice #0"
                alsa.device = "0"
                alsa.card = "0"
                alsa.card_name = "Audinst HUD-mx2"
                alsa.long_card_name = "VIA Technologies Inc. Audinst HUD-mx2 at usb-0000:27:00.0-1, full speed"
                alsa.driver_name = "snd_usb_audio"
                device.bus_path = "pci-0000:27:00.0-usb-0:1:1.0"
                sysfs.path = "/devices/pci0000:00/0000:00:1c.7/0000:27:00.0/usb2/2-1/2-1:1.0/sound/card0"
                udev.id = "usb-VIA_Technologies_Inc._Audinst_HUD-mx2-00-HUDmx2"
                device.bus = "usb"
                device.vendor.id = "040d"
                device.vendor.name = "VIA Technologies, Inc."
                device.product.id = "340f"
                device.product.name = "Audinst HUD-mx2"
                device.serial = "VIA_Technologies_Inc._Audinst_HUD-mx2"
                device.string = "front:0"
                device.buffering.buffer_size = "17632"
                device.buffering.fragment_size = "4408"
                device.access_mode = "mmap"
                device.profile.name = "analog-stereo"
                device.profile.description = "Analog Stereo"
                device.description = "Audinst HUD-mx2 Analog Stereo"
                alsa.mixer_name = "USB Mixer"
                alsa.components = "USB040d:340f"
                module-udev-detect.discovered = "1"
                device.icon_name = "audio-card-usb"
        ports:
                analog-output: Analog Output (priority 9900, latency offset 0 usec, available: unknown)
                        properties:

        active port: <analog-output>
  * index: 1
        name: <alsa_output.hw_0_1>
        driver: <module-alsa-sink.c>
        flags: HARDWARE DECIBEL_VOLUME LATENCY 
        state: RUNNING
        suspend cause: 
        priority: 9040
        volume: front-left: 65536 / 100% / 0.00 dB,   front-right: 65536 / 100% / 0.00 dB
                balance 0.00
        base volume: 65536 / 100% / 0.00 dB
        volume steps: 65537
        muted: no
        current latency: 104.14 ms
        max request: 17 KiB
        max rewind: 17 KiB
        monitor source: 1
        sample spec: s16le 2ch 44100Hz
        channel map: front-left,front-right
                     Stereo
        used by: 1
        linked by: 3
        fixed latency: 99.95 ms
        module: 25
        properties:
                alsa.resolution_bits = "16"
                device.api = "alsa"
                device.class = "sound"
                alsa.class = "generic"
                alsa.subclass = "generic-mix"
                alsa.name = "USB Audio #1"
                alsa.id = "USB Audio"
                alsa.subdevice = "0"
                alsa.subdevice_name = "subdevice #0"
                alsa.device = "1"
                alsa.card = "0"
                alsa.card_name = "Audinst HUD-mx2"
                alsa.long_card_name = "VIA Technologies Inc. Audinst HUD-mx2 at usb-0000:27:00.0-1, full speed"
                alsa.driver_name = "snd_usb_audio"
                device.bus_path = "pci-0000:27:00.0-usb-0:1:1.0"
                sysfs.path = "/devices/pci0000:00/0000:00:1c.7/0000:27:00.0/usb2/2-1/2-1:1.0/sound/card0"
                udev.id = "usb-VIA_Technologies_Inc._Audinst_HUD-mx2-00-HUDmx2"
                device.bus = "usb"
                device.vendor.id = "040d"
                device.vendor.name = "VIA Technologies, Inc."
                device.product.id = "340f"
                device.product.name = "Audinst HUD-mx2"
                device.serial = "VIA_Technologies_Inc._Audinst_HUD-mx2"
                device.string = "hw:0,1"
                device.buffering.buffer_size = "17632"
                device.buffering.fragment_size = "4408"
                device.access_mode = "mmap"
                device.description = "Audinst HUD-mx2"
                device.icon_name = "audio-card-usb"

После очередной перезагрузки попробовал снова запустить PulseAudio, и оно не зависло. Пока что звук воспроизводится нормально, посмотрю, что будет дальше.

Atragor ()

Чем хорош? Что из параметров поддерживается в Linux'е?

YAR ★★★★★ ()
Ответ на: комментарий от YAR

Честно говоря, не знаю. Я на него наткнулся на каком-то форуме в теме «посоветуйте ЦАП и наушники до 10к», почитал отзывы и заказал. Из заявленных фич поддержка может понадобиться разве что для воспроизведения файлов 24bit/96kHz; у меня таких нет, но могу скачать и проверить, если надо.

После выхода из спящего режима PulseAudio снова умер:

$ dmesg
...
[ 8047.531544] INFO: task pulseaudio:6842 blocked for more than 120 seconds.
[ 8047.531550]       Tainted: G           O 3.14.1-1-ARCH #1
[ 8047.531551] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
[ 8047.531553] pulseaudio      D ffff8800a7b9c330     0  6842      1 0x00000000
[ 8047.531558]  ffff8801ab6f3cd8 0000000000000082 ffff8800142789d0 ffff8801ab6f3fd8
[ 8047.531561]  00000000000142c0 00000000000142c0 ffff8800142789d0 ffffffff812192a8
[ 8047.531564]  ffff880100000000 0000000180220011 0000000000000282 ffff8801ab6f3c90
[ 8047.531568] Call Trace:
[ 8047.531576]  [<ffffffff812192a8>] ? kernfs_addrm_finish+0xc8/0xf0
[ 8047.531604]  [<ffffffffa024fe6c>] ? xhci_urb_dequeue+0x22c/0x360 [xhci_hcd]
[ 8047.531609]  [<ffffffff81369337>] ? put_device+0x17/0x20
[ 8047.531613]  [<ffffffff814d7eb9>] schedule+0x29/0x70
[ 8047.531626]  [<ffffffffa003c14d>] usb_kill_urb+0x5d/0xa0 [usbcore]
[ 8047.531631]  [<ffffffff810aa350>] ? __wake_up_sync+0x20/0x20
[ 8047.531641]  [<ffffffffa003ab45>] usb_hcd_flush_endpoint+0xb5/0x180 [usbcore]
[ 8047.531650]  [<ffffffffa003da09>] usb_disable_endpoint+0x59/0x90 [usbcore]
[ 8047.531658]  [<ffffffffa003da86>] usb_disable_interface+0x46/0x60 [usbcore]
[ 8047.531666]  [<ffffffffa003dfb4>] usb_set_interface+0x194/0x360 [usbcore]
[ 8047.531672]  [<ffffffffa0327755>] snd_usb_pcm_close.isra.11+0x55/0x80 [snd_usb_audio]
[ 8047.531676]  [<ffffffffa03277b4>] snd_usb_playback_close+0x14/0x20 [snd_usb_audio]
[ 8047.531682]  [<ffffffffa018284f>] snd_pcm_release_substream.part.30+0x3f/0x90 [snd_pcm]
[ 8047.531687]  [<ffffffffa0182978>] snd_pcm_release+0xa8/0xc0 [snd_pcm]
[ 8047.531690]  [<ffffffff811a5f3c>] __fput+0x9c/0x220
[ 8047.531694]  [<ffffffff811a610e>] ____fput+0xe/0x10
[ 8047.531699]  [<ffffffff8108440f>] task_work_run+0x9f/0xe0
[ 8047.531703]  [<ffffffff81015adc>] do_notify_resume+0x8c/0xa0
[ 8047.531708]  [<ffffffff814e32e0>] int_signal+0x12/0x17

Atragor ()

В общем, снёс PulseAudio и добавил в /etc/asound.conf

defaults.pcm.card 0
defaults.pcm.device 1

Полёт нормальный. 24bit/96kHz воспроизводится, только если отключить dmix, иначе автоматически ресемплится на 48kHz:

$ aplay --disable-resample Test_File_2_0_STEREO_PCM.wav
Playing WAVE 'Test_File_2_0_STEREO_PCM.wav' : Signed 24 bit Little Endian in 3bytes, Rate 96000 Hz, Stereo
Warning: rate is not accurate (requested = 96000Hz, got = 48000Hz)
         please, try the plug plugin (-Dplug:default)
Atragor ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.