Информация
Услуги
  • Внедрение
  • Настройка
  • Поддержка
  • Ремонт
Контакты
Оплата
Новости
Доставка
Загрузки
Форум
Настройка
    info@proxmox.su
    +7 (495) 320-70-49
    Заказать звонок
    Аспро: ЛайтШоп
    Войти
    0 Сравнение
    0 Избранное
    0 Корзина
    Аспро: ЛайтШоп
    Войти
    0 Сравнение
    0 Избранное
    0 Корзина
    Аспро: ЛайтШоп
    Телефоны
    +7 (495) 320-70-49
    Заказать звонок
    0
    0
    0
    Аспро: ЛайтШоп
    • +7 (495) 320-70-49
      • Назад
      • Телефоны
      • +7 (495) 320-70-49
      • Заказать звонок
    • info@proxmox.su
    • Москва, Бакунинская улица, 69с1
    • Пн-Пт: 09-00 до 18-00
      Сб-Вс: выходной
    • 0 Сравнение
    • 0 Избранное
    • 0 Корзина
    Главная
    Форум
    Proxmox Виртуальная Среда
    [РЕШЕНО]Проброс звука звуковой карты на плате

    Форумы: Proxmox Виртуальная Среда, Proxmox Backup Server, Proxmox Mail Gateway, Proxmox Datacenter Manager
    Поиск  Пользователи  Правила  Войти
    Страницы: 1
    RSS
    [РЕШЕНО]Проброс звука звуковой карты на плате, Proxmox Виртуальная Среда
     
    diversity
    Guest
    #1
    0
    01.03.2020 13:58:00
    Привет,

    Я пытаюсь настроить передачу аудио на борт.

    `lspci -v` показывает:

    ```
    Audio device: Advanced Micro Devices, Inc. [AMD] Starship/Matisse HD Audio Controller
    Subsystem: ASRock Incorporation Starship/Matisse HD Audio Controller
    Flags: fast devsel, IRQ 11
    Memory at df500000 (32-bit, non-prefetchable) [disabled] [size=32K]
    Capabilities: [48] Vendor Specific Information: Len=08 <?>
    Capabilities: [50] Power Management version 3
    Capabilities: [64] Express Endpoint, MSI 00
    Capabilities: [a0] MSI: Enable- Count=1/1 Maskable- 64bit+
    Capabilities: [100] Vendor Specific Information: ID=0001 Rev=1 Len=010 <?>
    Capabilities: [150] Advanced Error Reporting
    Capabilities: [2a0] Access Control Services
    Capabilities: [370] Transaction Processing Hints
    ```

    Я прошёл все шаги на: [https://pve.proxmox.com/wiki/Pci_passthrough#PCI_EXPRESS_PASSTHROUGH](<#0 >) и [https://pve.proxmox.com/wiki/PCI(e)_Passthrough](<#1 >)_Passthrough) (возможно, эти страницы стоит объединить?).

    `root@pve:~# find /sys/kernel/iommu_groups/ -type l`
    `/sys/kernel/iommu_groups/45/devices/0000:34:00.4`

    В группе 45 только одно устройство.

    `GRUB_CMDLINE_LINUX_DEFAULT="quiet amd_iommu=on"` добавлен. Все модули зачёркнуты (blacklisted) в `/etc/modprobe.d/blacklist.conf` (так что не уверен, почему он всё ещё указан выше в модулях ядра).

    Перезагрузил.

    `root@pve:~# dmesg | grep -e DMAR -e IOMMU -e AMD-Vi`

    ```
    [ 0.635056] pci 0000:00:00.2: AMD-Vi: IOMMU performance counters supported
    [ 0.644218] pci 0000:00:00.2: AMD-Vi: Found IOMMU cap 0x40
    [ 0.644218] pci 0000:00:00.2: AMD-Vi: Extended features (0x58f77ef2294ade):
    [ 0.644220] AMD-Vi: Interrupt remapping enabled
    [ 0.644220] AMD-Vi: Virtual APIC enabled
    [ 0.644220] AMD-Vi: X2APIC enabled
    [ 0.644300] AMD-Vi: Lazy IO/TLB flushing enabled
    [ 0.645447] perf/amd_iommu: Detected AMD IOMMU #0 (2 banks, 4 counters/bank).
    ```

    Запуск VM завершается с ошибкой, указанной в syslog:

    `pve kernel: vfio-pci 0000:34:00.4: not ready 16383ms after FLR; waiting`

    И спустя некоторое время система перезагружается и зависает на этапе "Loading initial ramdisk", затем продолжает загрузку. Теперь `lspc -v` больше не показывает 34:00.4, и для его повторного отображения требуется только твёрдая перезагрузка.

    Конфиг VM:

    ```
    agent: 1
    balloon: 0
    bios: ovmf
    bootdisk: ide0
    cores: 16
    efidisk0: local-lvm:vm-101-disk-1,size=128K
    hostpci0: 34:00.4,pcie=1,rombar=0
    ide0: local-lvm:vm-101-disk-0,size=32G
    ide2: local:iso/VBX4B-NW47T-TWXK8-9M4VG-KTRBD.ISO,media=cdrom
    machine: q35
    memory: 32768
    name: win2k19
    net0: e1000=EE:60:FD 6:F7:B1,bridge=vmbr0,firewall=1
    numa: 0
    ostype: win10
    scsihw: virtio-scsi-pci
    smbios1: uuid=950732ad-a153-491d-8dc1-f875daf9b702
    sockets: 1
    vmgenid: af47eb69-6bc6-48ea-8582-6ea382d10b40
    ```

    Может, кто-нибудь помочь с передачей аудио?

    С наилучшими пожеланиями,
     
     
     
    seji
    Guest
    #2
    0
    28.03.2020 19:32:00
    Привет! У меня та же проблема, что и у тебя, и я, как смог её решить, зарегистрировался здесь, чтобы ответить тебе. Всю заслугу получаю с этого парня на Reddit (там тоже объяснено, почему это происходит) – я просто взял патч и скомпилировал ядро Proxmox. Сначала пробовал с ядром 5.3, но у меня не получилось. Поэтому использовал последнее ядро Proxmox 5.4. Как установить:

    - Скачай кастомное ядро (все .deb файлы), которое я скомпилировал, и установи его -> перезагрузись -> всё готово.
    - Скачай патч (0008-amd-no-flr.patch) и сам скомпилируй ядро. Я использовал вот эту инструкцию, чтобы скомпилировать ядро Proxmox. Просто скопируй патч в Code: /usr/src/pve-kernel/patches/kernel/ и скомпилируй ядро.

    Надеюсь, это поможет.

    - seji
     
     
     
    diversity
    Guest
    #3
    0
    29.03.2020 12:36:00
    Большое спасибо за информацию. Я правда не знаю, стоит ли мне лезть в кастомильную компиляцию.
     
     
     
    diversity
    Guest
    #4
    0
    28.06.2020 07:56:00
    @seji, ещё раз спасибо за твой вклад. Я уже работаю с твоими .deb файлами и скачал их. Можешь, пожалуйста, скинуть для совсем новичка инструкцию, как их на самом деле "установить"? Я нашёл несколько руководств, которые предполагают, что у меня уже есть какие-то знания, которых у меня пока нет.
     
     
     
    seji
    Guest
    #5
    0
    28.06.2020 10:15:00
    Привет, это простая задача. Предположим, ты скачал все *.deb файлы в одну папку (например, home). Bash: cd
    dpkg -i *.deb
    reboot
    Готово.
     
     
     
    diversity
    Guest
    #6
    0
    02.07.2020 18:40:00
    Спасибо за информацию, @seji, но в итоге у меня перестало работать сетевое взаимодействие, а время загрузки стало просто нереальным. Запускается старт-задача для udev, ожидается завершение инициализации устройств. Запускается старт-задачи для помощника по синхронизации загрузки для ifupdown.

    Изначально всё шло гладко:

    `root@pve:~# pveversion pve-manager/6.2-4/9824574a (running kernel: 5.4.34-1-pve)`

    Похоже, твои deb-файлы были патчем для более старого ядра, и их совместное использование не очень хорошо работает. У тебя есть ещё какие-нибудь предложения?
     
     
     
    diversity
    Guest
    #7
    0
    25.07.2020 18:47:00
    @seji, или кто-нибудь ещё? Может, есть какой-то гайд для новичков о том, как патчить ядро? Все, что я нахожу, — руководства, которые предполагают, что у тебя уже есть опыт.
     
     
     
    koivum
    Guest
    #8
    0
    31.08.2020 14:27:00
    Привет! У меня была та же проблема, и я недавно скомпилировал ядро с патчем, и у меня всё заработало, перезагрузка прошла хорошо, и я могу передавать PCI аудио. Вот шаги, которые я выполнил для компиляции ядра (основано на 5.4.34-1):

    Bash: cd /usr/src
    git clone git://git.proxmox.com/git/pve-kernel.git
    Скопируй файл патча в папку patches (я взял тот, что был указан выше seji). Мне пришлось немного изменить патч для успешной компиляции, я изменил все quirk_intel_no_flr на quirk_no_flr.

    Bash: cp 0008-amd-no-flr.patch /usr/src/pve-kernel/patches/kernel
    Измените 2 файла перед компиляцией.

    Bash: nano /usr/src/pve-kernel/debian/scripts/find-firmware.pl
    Закомментируй строку 11, начинающуюся с die "strange directory name: ...

    Bash: nano /usr/src/pve-kernel/Makefile
    Добавь в конец строки 14 -noamdflr, должно выглядеть так: EXTRAVERSION=-${KREL}-pve-noamdflr

    Bash: cd /usr/src/pve-kernel
    make 2>&1 | tee build.log
    Подожди немного. Если ошибок нет, у тебя должно быть список .deb файлов в /usr/src/pve-kernel. Установи их все с помощью dpkg -i *.deb и перезагрузись. Если есть какие-то ошибки, посмотри файл build.log, чтобы понять, что пошло не так. В моём случае я увидел, что патч нужно было обновить, отсюда и рекомендация выше менять патч, но других проблем у меня не было. Надеюсь, это поможет!
     
     
     
    diversity
    Guest
    #9
    0
    31.08.2020 15:13:00
    Вау, огромное-преогромное спасибо, что поддерживаешь меня. Дай мне немного времени, чтобы попробовать. Обязательно вернусь к этому вопросу.
     
     
     
    diversity
    Guest
    #10
    0
    20.10.2020 18:23:00
    Наконец-то нашел внутренние силы, чтобы попробовать, а затем:

    kernel@pve:/usr/src/pve-kernel/patches# ls
    kernel@pve:/usr/src/pve-kernel/patches# cd kernal
    -bash: cd: kernal: No such file or directory
    kernel@pve:/usr/src/pve-kernel/patches# cd kernel
    kernel@pve:/usr/src/pve-kernel/patches/kernel# ls
    0001-Make-mkcompile_h-accept-an-alternate-timestamp-strin.patch
    0005-Revert-KVM-VMX-enable-nested-virtualization-by-defau.patch
    0002-bridge-keep-MAC-of-first-assigned-port.patch
    0006-Revert-scsi-lpfc-Fix-broken-Credit-Recovery-after-dr.patch
    0003-pci-Enable-overrides-for-missing-ACS-capabilities-4..patch
    0007-net-core-downgrade-unregister_netdevice-refcount-lea.patch
    0004-kvm-disable-default-dynamic-halt-polling-growth.patch
    kernel@pve:/usr/src/pve-kernel/patches/kernel# cp 0008-amd-no-flr.patch /usr/src/pve-kernel/patches/kernel
    cp: cannot stat '0008-amd-no-flr.patch': No such file or directory
    kernel@pve:/usr/src/pve-kernel/patches/kernel# cd ..
    kernel@pve:/usr/src/pve-kernel/patches# ls
    kernel@pve:/usr/src/pve-kernel/patches# cd ..
    kernel@pve:/usr/src/pve-kernel# ls
    abi-blacklist  abi-prev-5.4.65-1-pve  debian  fwlist-previous  Makefile  patches  README  submodules
    kernel@pve:/usr/src/pve-kernel# cd ..
    kernel@pve:/usr/src# ls
    pve-kernel
    kernel@pve:/usr/src# git clone git://git.proxmox.com/git/pve-kernel.git
    fatal: destination path 'pve-kernel' already exists and is not an empty directory.
    kernel@pve:/usr/src# sudo git clone git://git.proxmox.com/git/pve-kernel.git
    -bash: sudo: command not found
    kernel@pve:/usr/src# /sbin/sudo/ git clone git://git.proxmox.com/git/pve-kernel.git
    -bash: /sbin/sudo/: No such file or directory
    kernel@pve:/usr/src# cp 0008-amd-no-flr.patch /usr/src/pve-kernel/patches/kernel
    cp: cannot stat '0008-amd-no-flr.patch': No such file or directory
    kernel@pve:/usr/src#
     
     
     
    koivum
    Guest
    #11
    0
    21.10.2020 01:44:00
    Привет, я вижу 3 или 4 ошибки, которые ты получаешь: Bash: root@pve:/usr/src/pve-kernel/patches/kernel# cp 0008-amd-no-flr.patch /usr/src/pve-kernel/patches/kernel
    cp: не удалось выполнить stat '0008-amd-no-flr.patch': Нет такого файла или каталога. Это происходит потому, что файл '0008-amd-no-flr.patch' (твой файл патча) не найден в этой папке. Где ты скачал файл патча? В какой папке? Bash: root@pve:/usr/src# git clone git://git.proxmox.com/git/pve-kernel.git
    fatal: destination path 'pve-kernel' already exists and is not an empty directory. Это связано с тем, что папка pve-kernel уже существует, что означает, что ты уже скачивал исходный код ядра. Самый простой способ — удалить папку и скачать заново, чтобы получить чистую новую папку. Сделай это: Bash: cd /usr/src
    rm -rf pve-kernel
    git clone git://git.proxmox.com/git/pve-kernel.git Это должно сработать перед компиляцией и копированием файла патча. Bash: sudo git clone git://git.proxmox.com/git/pve-kernel.git
    -bash: sudo: команда не найдена. Тебе это делать на самом деле не нужно, так как проблема в том, что я упомянул выше. Однако, sudo не требуется, когда ты подключен к оболочке proxmox, так как ты уже root. Следующие шаги для тебя — удалить папку pve-kernel и снова выполнить команду git (те 3 строки выше, когда я упоминаю "Сделай это"). Затем скопируй файл патча из того места, где ты его скачал, и скопируй его в папку, содержащую патчи (первая команда cp). Это должно сработать. Надеюсь, это поможет. Дай знать, если что-то неясно.
     
     
     
    diversity
    Guest
    #12
    0
    22.10.2020 16:33:00
    Я подбираюсь к решению, просто немного запутался, и у меня уже есть файл патча на системе. Не могли бы вы скопировать сюда то, что у вас получилось в итоге, после изменений, о которых вы упоминали? Позже я смогу проверить идентификаторы производителя и устройства. Вот что у меня сейчас в `/usr/src/pve-kernel/patches/kernel/0008-amd-no-flr.patch`:

    --- a/drivers/pci/quirks.c
    2020-03-24 18:57:27.026481021 +0100
    +++ b/drivers/pci/quirks.c
    2020-03-24 18:58:39.754065062 +0100
    @@ -5040,6 +5040,13 @@
    DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_INTEL, 0x1502, quirk_intel_no_flr);
    DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_INTEL, 0x1503, quirk_intel_no_flr);
    + // USB controller [0c03]: Advanced Micro Devices, Inc. [AMD] Matisse USB 3.0 Host Controller [1022:149c]
    +DECLARE_PCI_FIXUP_EARLY(0x1022, 0x149c, quirk_intel_no_flr);
    + // Audio device [0403]: Advanced Micro Devices, Inc. [AMD] Starship/Matisse HD Audio Controller [1022:1487]
    +DECLARE_PCI_FIXUP_EARLY(0x1022, 0x1487, quirk_intel_no_flr);
    + // Encryption controller [1080]: Advanced Micro Devices, Inc. [AMD] Starship/Matisse Cryptographic Coprocessor PSPCPP [1022:1486]
    +DECLARE_PCI_FIXUP_EARLY(0x1022, 0x1486, quirk_intel_no_flr);
    + static void quirk_intel_th_rtit_bar(struct pci_dev *dev) {
    struct resource *r = &dev->resource[4];
     
     
     
    qwerty0033
    Guest
    #13
    0
    25.10.2020 19:52:00
    Рад, что нашел эту тему. Я тоже пытаюсь завести проброс аудио. Материнская плата ASRock X470, процессор AMD 3700X. Хочу, чтобы вывод аудио контролировался виртуальной машиной, как mopidy. @koivum, спасибо за инструкции. Еще помог одному тихого пользователя. Успел разобраться, до этой ошибки при компиляции:
    ```
    dh: unable to load addon sphinxdoc: Can't locate Debian/Debhelper/Sequence/sphinxdoc.pm in @INC (you may need to install the Debian: ebhelper::Sequence::sphinxdoc module) (@INC contains: /etc/perl /usr/local/lib/x86_64-linux-gnu/perl/5.28.1 /usr/local/share/perl/5.28.1 /usr/lib/x86_64-linux-gnu/perl5/5.28 /usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl/5.28 /usr/share/perl/5.28 /usr/local/lib/site_perl /usr/lib/x86_64-linux-gnu/perl-base) at (eval 14) line 1.
    ```
    Раньше никогда не использовал make, так что это для меня тоже новое. Что делать со sphinxdoc?
     
     
     
    diversity
    Guest
    #14
    0
    26.10.2020 08:11:00
    @qwerty0033, можешь скинуть, пожалуйста, содержимое твоего патч-файла 0008?
     
     
     
    koivum
    Guest
    #15
    0
    27.10.2020 05:03:00
    Привет, @diversity!

    Вот содержимое моего патч-файла:

    ```
    --- a/drivers/pci/quirks.c
         2020-03-24 18:57:27.026481021 +0100
    +++ b/drivers/pci/quirks.c
         2020-03-24 18:58:39.754065062 +0100
    @@ -5040,6 +5040,13 @@
    DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_INTEL, 0x1502, quirk_no_flr);
    DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_INTEL, 0x1503, quirk_no_flr);
    +// USB controller [0c03]: Advanced Micro Devices, Inc. [AMD] Matisse USB 3.0 Host Controller [1022:149c]
    +DECLARE_PCI_FIXUP_EARLY(0x1022, 0x149c, quirk_no_flr);
    +// Audio device [0403]: Advanced Micro Devices, Inc. [AMD] Starship/Matisse HD Audio Controller [1022:1487]
    +DECLARE_PCI_FIXUP_EARLY(0x1022, 0x1487, quirk_no_flr);
    +// Encryption controller [1080]: Advanced Micro Devices, Inc. [AMD] Starship/Matisse Cryptographic Coprocessor PSPCPP [1022:1486]
    +DECLARE_PCI_FIXUP_EARLY(0x1022, 0x1486, quirk_no_flr);
    + static void quirk_intel_th_rtit_bar(struct pci_dev *dev) {
    struct resource *r = &dev->resource[4];
    }
    ```

    Надеюсь, это сработает для тебя.

    Спасибо!
     
     
     
    koivum
    Guest
    #16
    0
    27.10.2020 07:06:00
    Привет @qwerty0033, кажется, у тебя в системе отсутствует пакет. Можешь проверить, установлен ли у тебя пакет sphinx-common? Если нет, попробуй запустить apt install sphinx-common и снова выполнить команду make. Должно заработать после этого. Надеюсь, это поможет. Спасибо!
     
     
     
    diversity
    Guest
    #17
    0
    02.11.2020 11:27:00
    Огромное спасибо: Почти всё готово. Одна ошибка при компиляции при использовании содержимого вашего файла патча: применение патча '../../patches/kernel/0008-amd-no-flr.patch' patching file drivers/pci/quirks.c patch: **** некорректный патч на строке 4: DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_INTEL, 0x1502, quirk_no_flr);
     
     
     
    koivum
    Guest
    #18
    0
    02.11.2020 12:13:00
    Привет, @diversity, кажется, простое копирование файла патча не очень хорошо сработало, потому что я не использовал правильный формат. Попробуй скопировать содержимое патча вот так:

    ```
    --- a/drivers/pci/quirks.c
    +++ b/drivers/pci/quirks.c
    @@ -5040,6 +5040,13 @@
    DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_INTEL, 0x1502, quirk_no_flr);
    DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_INTEL, 0x1503, quirk_no_flr);

    +// USB controller [0c03]: Advanced Micro Devices, Inc. [AMD] Matisse USB 3.0 Host Controller [1022:149c]
    +DECLARE_PCI_FIXUP_EARLY(0x1022, 0x149c, quirk_no_flr);
    +// Audio device [0403]: Advanced Micro Devices, Inc. [AMD] Starship/Matisse HD Audio Controller [1022:1487]
    +DECLARE_PCI_FIXUP_EARLY(0x1022, 0x1487, quirk_no_flr);
    +// Encryption controller [1080]: Advanced Micro Devices, Inc. [AMD] Starship/Matisse Cryptographic Coprocessor PSPCPP [1022:1486]
    +DECLARE_PCI_FIXUP_EARLY(0x1022, 0x1486, quirk_no_flr);
    +
    static void quirk_intel_th_rtit_bar(struct pci_dev *dev)
    {
        struct resource *r = &dev->resource[4];
     
     
     
    Страницы: 1
    Читают тему
    +7 (495) 320-70-49
    info@proxmox.su

    Конфиденциальность Оферта
    © 2026 Proxmox.su
    Главная Каталог 0 Корзина 0 Избранные Кабинет 0 Сравнение Акции Контакты Услуги Бренды Отзывы Компания Лицензии Документы Реквизиты Поиск Блог Обзоры