QEMU/KVM: Проход USB3 в FreeBSD

Вопрос или проблема

Я делаю свои первые шаги в FreeBSD, так что, пожалуйста, извините за возможные “линуксизмы”.

Моя цель – запустить FreeBSD 10.2 внутри виртуальной машины с QEMU/KVM и обеспечить проброс сетевой карты USB3 с хоста, чтобы она стала единственным доступным WAN-интерфейсом.

Чтобы запустить QEMU/KVM, я ввожу следующее:

kvm -m 4096 \
-снимок \
-hda /path/to/the/image \
-устройство nec-usb-xhci,id=xhci,addr=0x5 \
-устройство usb-host,bus=xhci.0,vendorid=0x0b95,productid=0x1790 \
-сеть none

Это работает нормально, если я пытаюсь запустить Ubuntu 16.04. Интерфейс активен, отображается в lsusb, и адрес назначается по DHCP. Также я могу запустить тот же образ FreeBSD с VirtualBox: карта распознаётся (так как её поддерживает FreeBSD), и я вижу:

pciconf -lv
#пропущено
xhci0@pci0:0:12:0:  class=0x0c0330 card=0x00000000 chip=0x1e318086 rev=0x00 hdr=0x00
    vendor="Intel Corporation"
    device="7 Series/C210 Series Chipset Family USB xHCI Host Controller"
    class      = серийная шина
    subclass   = USB

При запуске монитора QEMU, info usb возвращает (неожиданно) одно и то же значение для сетевой карты как для Ubuntu, так и для FreeBSD. Единственный способ добавления контроллера XHCI в QEMU, который я нашел, – это указание nec-usb-xhci, до сих пор это единственное различие между VirtualBox и QEMU, которое я вижу.

Существует ли способ сделать проброс USB3 в FreeBSD возможным с QEMU?

У QEMU есть ошибка USB3.0, которую необходимо исправить в первую очередь. Известно, что 10-stable теперь работает с QEMU XHCI.

https://lists.gnu.org/archive/html/qemu-devel/2016-08/msg03571.html

–HPS

Ответ или решение

QEMU/KVM: Передача USB3 в FreeBSD

С учетом вашего опыта и конфигурации, осуществление передачи USB3 сетевой карты на FreeBSD 10.2 в среде QEMU/KVM может потребовать некоторых дополнительных шагов. Давайте разберем ключевые моменты, чтобы гарантировать успешное завершение вашей задачи.

1. Предварительная информация

Вы уже правильно настраиваете QEMU для запуска FreeBSD, используя команду:

kvm -m 4096 \
-snapshot \
-hda /path/to/the/image \
-device nec-usb-xhci,id=xhci,addr=0x5 \
-device usb-host,bus=xhci.0,vendorid=0x0b95,productid=0x1790 \
-net none

Это подразумевает, что вы используете контроллер USB xHCI, что является правильным подходом для поддержки USB3. Ваша конфигурация работает для Ubuntu, но возникают проблемы с FreeBSD.

2. Поддержка USB3 в FreeBSD

Проблема, с которой вы столкнулись, может быть связана с несовместимостью или отсутствием необходимых патчей в FreeBSD версии 10.2 для работы с USB3 в QEMU. Важно отметить, что в некоторых версиях QEMU и FreeBSD была выявлена ошибка, касающаяся передачи USB3. Вам понадобится немного обновить все компоненты:

  • Обновите FreeBSD: Рассмотрите возможность перехода на более новую версию FreeBSD, например, 10-stable или 11.x, где поддержка USB3 через QEMU лучше реализована.
  • Патч QEMU: Проверьте наличие обновлений или патчей в архиве QEMU-devel. Это может быть критически важным шагом, поскольку устраняет известные проблемы с совместимостью.

3. Конфигурация системы

Убедитесь, что в вашей системе правильно настроены все компоненты:

  • Зависимости: Проверьте, что у вас установлены все необходимые пакеты и библиотеки, которые могут потребоваться для корректной работы USB.
  • Права доступа: Проверьте, что у вас есть достаточные права для работы с USB-устройствами. Убедитесь, что пользователь, под которым запускается QEMU, имеет доступ к устройству USB.

4. Проверка конфигурации

Используйте команду pciconf -lv в консоли FreeBSD, чтобы убедиться, что ваша USB3 сетевая карта распознается системой. Если устройство отображается корректно, можно ожидать, что оно будет доступно для настройки.

5. Устранение неполадок

Если проблемы продолжаются:

  • Логи: Проверьте системные логи (например, dmesg или journalctl), чтобы получить дополнительную информацию о том, как FreeBSD реагирует на USB-устройство.
  • Тестовые версии: Попробуйте использовать последнюю стабильную версию QEMU и выполнить тест на другом оборудовании, если это возможно.

Заключение

Передача USB3 сетевой карты в качестве единственного WAN-интерфейса для FreeBSD в QEMU/KVM потребует внимательности к версии программного обеспечения и правильной настройки окружения. Замена устаревшей версии FreeBSD 10.2 на более новую и применение всех необходимых патчей значительно упростят задачу.

Если возникнут дополнительные вопросы, не стесняйтесь делиться ими. Удачи в ваших начинаниях с FreeBSD и QEMU/KVM!

Оцените материал
Добавить комментарий

Капча загружается...