Форум — Linux-hardware бывают ли внешние usb hub'ы, которые можно пробросить в libvirt? libvirt 1 2 Доброго времени суток Сабж. Надоело пробрасывать в ВМ отдельные usb девайсы, хочется выделить сразу физический порт и подключать их сразу в ВМ, без дополнительных действий. Это в принципе возможно? К сожалению, ноут. Т.е. pcie воткнуть некуда Ответить Ссылка
udev + virsh attach-device/detach-device + немного скриптов Например https://github.com/olavmrk/usb-libvirt-hotplug iSage ★★★★ (17.02.26 15:49:21 MSK) Ответить Показать ответ Ссылка 👍 1
Ответ на: комментарий от iSage 17.02.26 15:49:21 MSK Это я видел, и примено то же самое использую. Не то :/ router ★★★★★ (17.02.26 17:02:10 MSK) автор топика Ответить Ссылка
А какие нужны дополнительные действия? Usb устройства же автоматически пробрасываются при подключении в виртуалку, если активно окно spice клиента. James_Holden ★★★★★ (17.02.26 17:23:55 MSK) Ответить Показать ответ Ссылка
Ответ на: комментарий от James_Holden 17.02.26 17:23:55 MSK Зависит от. Они не должны использоваться в хост системе. Т.е. либо останавливать демона, либо выгружать специфический драйвер А хотелось бы вообще не парить мозг и выдать виртуалке физический порт. Чтобы хост систему никак не нужно было настраивать для новых девайсов Скорее всего это невозможно (в этом уверяют и гугл, и реддит), но пусть пока тема повисит. Мало ли что китайцы придумали за это время router ★★★★★ (17.02.26 18:08:05 MSK) автор топика Ответить Ссылка
включи iommu в cmdline и #!/usr/bin/env bash shopt -s nullglob lastgroup="" for g in `find /sys/kernel/iommu_groups/* -maxdepth 0 -type d | sort -V`; do for d in $g/devices/*; do if [ "${g##*/}" != "$lastgroup" ]; then echo -en "Group ${g##*/}:\t" else echo -en "\t\t" fi lastgroup=${g##*/} lspci -nms ${d##*/} | awk -F'"' '{printf "[%s:%s]", $4, $6}' if [[ -e "$d"/reset ]]; then echo -en " [R] "; else echo -en " "; fi lspci -mms ${d##*/} | awk -F'"' '{printf "%s %-40s %s\n", $1, $2, $6}' for u in ${d}/usb*/; do bus=$(cat "${u}/busnum") lsusb -s $bus: | \ awk '{gsub(/:/,"",$4); printf "%s|%s %s %s %s|", $6, $1, $2, $3, $4; for(i=7;i<=NF;i++){printf "%s ", $i}; printf "\n"}' | \ awk -F'|' '{printf "USB:\t\t[%s]\t\t %-40s %s\n", $1, $2, $3}' done done done baja ★ (17.02.26 18:21:32 MSK) Ответить Показать ответ Ссылка 👍 1
Ответ на: комментарий от baja 17.02.26 18:21:32 MSK Это ноут. Все usb в одной группе, включая док станцию router ★★★★★ (17.02.26 18:58:36 MSK) автор топика Ответить Ссылка