Назад | Перейти на главную страницу

Перенаправление USB с dom0 на domU

Какие у меня есть варианты переадресации двух USB-подключенных телефонов гостевой системе xen?

Я читал про PCI-passthrough http://www.wlug.org.nz/XenPciPassthrough, но я уверен, что USB-контроллер на сервере не является картой PCI.

Есть переадресация на уровне устройства, но мне нужно переадресовать два устройства, здесь не сказано, как это сделать: http://www.olivetalks.com/2008/02/03/usb-forwarding-on-xen-it-just-does-not-work/

Было бы что-нибудь простое, как:

usbdevice = ['хост: xxx', 'хост: yyy',]

работай?

РЕДАКТИРОВАТЬ: теперь я начинаю награду. Это действительно важно для меня и для других людей, и я надеюсь, что кто-то, у кого эта проблема решена, сможет помочь.

Я использую Xen с USB-переходом на мой domU на Centos5.

Пока что могу сказать: переслать полный USB-материал или ничего. Не пытайтесь пересылать только некоторые устройства OHCI / UHCI.

Итак, здесь он работает более-менее (еще не запустил стресс-тест):

  1. Отключите все USB-устройства
  2. Выгрузите USB-устройства из dom0 через pciback. Выгрузить UHCI / OHCI и Устройства EHCI. (Напишите какой-нибудь скрипт init.d под свои нужды). Подробности о pciback есть Вот по пункту 1
  3. Перезапустить xend
  4. lsusb должен выводить ничего на dom0
  5. отредактируйте файл конфигурации domU с pci = ['0000: yy: xx.0'] вещи
  6. Начни свой домУ
  7. domU должен сообщать об USB-устройствах через lspci (другие pciid) и lsusb

Мой dom0 загружается с параметром ядра noirqdebug (личинка).

Я могу подтвердить, что вышеуказанный подход работает при следующих предварительных условиях:

  • Xen 3.4.3
  • Хост CentOS 5.5, ядро ​​2.6.18-194.32.1.el5xen x86_64
  • Гость CentOS 5.5, ядро ​​2.6.18-194.32.1.el5xen x86_64

    1. Я удалил все подключенные USB-устройства.
    2. rmmod uhci_hcd ohci_hcd ehci_hcd
    3. Выясните, какой USB-концентратор к каким разъемам подключен
    4. Добавлено скрытие некоторых портов USB.

/etc/modprobe.conf:

options pciback hide=(0000:00:1a.0)(0000:00:1a.1)(0000:00:1a.7)
  1. Перезапуск xend: /etc/init.d/xend restart
  2. Настроил конфиг ВМ:

/ и т. д. / xen / auto / vm:

usb = 1 # Probably irrelevant
pci = [ '0000:00:1a.0', '0000:00:1a.1', '0000:00:1a.7' ]
  1. Воссоздал виртуальную машину (xm destroy / xm create):

dmesg:

Loading ehci-hcd.ko module
PCI: Enabling device 0000:00:00.7 (0000 -> 0002)
ehci_hcd 0000:00:00.7: EHCI Host Controller
ehci_hcd 0000:00:00.7: new USB bus registered, assigned bus number 1
ehci_hcd 0000:00:00.7: debug port 1
ehci_hcd 0000:00:00.7: irq 17, io mem 0xdf0fe000
ehci_hcd 0000:00:00.7: USB 2.0 started, EHCI 1.00, driver 10 Dec 2004
usb usb1: configuration #1 chosen from 1 choice
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 4 ports detected
Loading ohci-hcd.ko module
Loading uhci-hcd.ko module
USB Universal Host Controller Interface driver v3.0
PCI: Enabling device 0000:00:00.0 (0000 -> 0001)
uhci_hcd 0000:00:00.0: UHCI Host Controller
uhci_hcd 0000:00:00.0: new USB bus registered, assigned bus number 2
uhci_hcd 0000:00:00.0: irq 19, io base 0x0000ec40
usb usb2: configuration #1 chosen from 1 choice
hub 2-0:1.0: USB hub found
hub 2-0:1.0: 2 ports detected
PCI: Enabling device 0000:00:00.1 (0000 -> 0001)
uhci_hcd 0000:00:00.1: UHCI Host Controller
uhci_hcd 0000:00:00.1: new USB bus registered, assigned bus number 3
uhci_hcd 0000:00:00.1: irq 20, io base 0x0000ec60
usb usb3: configuration #1 chosen from 1 choice
hub 3-0:1.0: USB hub found
hub 3-0:1.0: 2 ports detected
...
usb 1-3: new high speed USB device using ehci_hcd and address 2
...
usb 1-3: configuration #1 chosen from 1 choice
hub 1-3:1.0: USB hub found
hub 1-3:1.0: 4 ports detected
usb 1-3.2: new full speed USB device using ehci_hcd and address 3
usb 1-3.2: configuration #1 chosen from 1 choice
  1. Достигли нирваны.

Лучше всего поставить телефон на устаревший рабочий стол и запускать все, что вам нужно, на голом железе. Да это отстой!