Вопрос или проблема
Я делаю свои первые шаги в 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!