USB in DomU

Aus Neobikers Wiki
Zur Navigation springen Zur Suche springen

USB Geräte in DomU einbinden

Zuerst die USB Geräte in der Dom0 herausfinden:

xen0:~# lspci | grep -i usb
00:1d.0 USB Controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (rev 01)
00:1d.1 USB Controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2 (rev 01)
00:1d.2 USB Controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3 (rev 01)
00:1d.7 USB Controller: Intel Corporation 82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (rev 01)
xen0:~#

PCI Devices mittels LateBinding in DomU einbinden:

  • USB Gerät identifizieren
  • Betroffene Module entladen (usb*)
  • Device ins PCI Backend exportieren
xen0:~# cat /proc/bus/usb/devices | grep P: | grep -v "Vendor=0000"
P:  Vendor=04a9 ProdID=1093 Rev= 1.10
xen0:~#
xen0:~# lsmod | grep usb
Module                  Size  Used by
usblp                  12768  0
usbcore               113380  4 usblp,ehci_hcd,uhci_hcd
xen0:~#
xen0:~# rmmod usblp ehci_hcd uhci_hcd
xen0:~#

Die Devices markiert man in /boot/grub/menu.lst (pciback.hide=(00:1d.0)), aber da ich jetzt nicht die Dom0 neu booten möchte, mache is das eben online:

xen0:~# for slot in 0 1 2 7; do
 SLOT=0000:00:1d.$slot
 echo -n $SLOT > /sys/bus/pci/drivers/pciback/new_slot
 echo -n $SLOT > /sys/bus/pci/drivers/pciback/bind
done
xen0:~#

USB Einträge in DomU Konfiguration:

pci      =[ '00:1d.1','00:1d.2','00:1d.0','00:1d.7' ]
usbdevice='host:04a9:1093'

Der usbdevice Eintrag ist eigentlich für einen VMX Guest, ich denke der wird evtl. nicht benötigt. Muss das aber erst noch testen, so geht's jedenfalls schonmal :-)

Sollte der USB-Drucker nicht mehr gehen, hat sich eben bewährt, das uhci_hcd Modul in der DomU neu zu laden (an dem USB-Device hängt der Drucker bei mir), dann wird der USB-Drucker auch wieder neu erkannt.

rmmod uhci_hcd
modprobe uhci_hcd