Skip to content
View in the app

A better way to browse. Learn more.

Unraid

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Building a new Xen Box. Having USB Problems

Featured Replies

I have been building a XEN server based on the thread http://lime-technology.com/forum/index.php?topic=30719.0 by grumpybutfun (many props to him for such a good guide too). And, I am having a problem getting the USB passthrough to work right.

 

I have a ASRock Extreme6-Z87, running XenServer 6.2, and I am seeing three USB controllers under lspci, but, when I pass any of them, I end up passing ALL usb function to the VM, instead of just part.

 

Looking for help. Kind of at a dead end on how to pass through the USB-key and still have a keyboard and mouse for the rest of the system's VM's.

 

Thanks in advance

Post the following:

 

lspci -k

 

Let's see what showing up in Linux and what driver its using.

  • Author

dump:

00:00.0 Host bridge: Intel Corporation Haswell DRAM Controller (rev 06)
Subsystem: ASRock Incorporation Device 0c00
00:01.0 PCI bridge: Intel Corporation Haswell PCI Express x16 Controller (rev 06)
Kernel driver in use: pcieport
00:01.1 PCI bridge: Intel Corporation Haswell PCI Express x8 Controller (rev 06)
Kernel driver in use: pcieport00:02.0 VGA compatible controller: Intel Corporation Haswell Integrated Graphics Controller (rev 06)
Subsystem: ASRock Incorporation Device 0412
00:03.0 Audio device: Intel Corporation Haswell HD Audio Controller (rev 06)
Subsystem: ASRock Incorporation Device 0c0c
00:14.0 USB controller: Intel Corporation Lynx Point USB xHCI Host Controller (rev 04)
Subsystem: ASRock Incorporation Device 8c31
00:16.0 Communication controller: Intel Corporation Lynx Point MEI Controller #1 (rev 04)
Subsystem: ASRock Incorporation Device 8c3a
00:19.0 Ethernet controller: Intel Corporation Ethernet Connection I217-V (rev 04)
Subsystem: ASRock Incorporation Device 153b
Kernel driver in use: e1000e
Kernel modules: e1000e
00:1a.0 USB controller: Intel Corporation Lynx Point USB Enhanced Host Controller #2 (rev 04)
Subsystem: ASRock Incorporation Device 8c2d
Kernel driver in use: ehci_hcd
Kernel modules: ehci-hcd00:1b.0 Audio device: Intel Corporation Lynx Point High Definition Audio Controller (rev 04)
Subsystem: ASRock Incorporation Device 1151
00:1c.0 PCI bridge: Intel Corporation Lynx Point PCI Express Root Port #1 (rev d4)
Kernel driver in use: pcieport
00:1c.2 PCI bridge: Intel Corporation Lynx Point PCI Express Root Port #3 (rev d4)
Kernel driver in use: pcieport
00:1c.3 PCI bridge: Intel Corporation Lynx Point PCI Express Root Port #4 (rev d4)
Kernel driver in use: pcieport
00:1c.4 PCI bridge: Intel Corporation Lynx Point PCI Express Root Port #5 (rev d4)
Kernel driver in use: pcieport
00:1c.6 PCI bridge: Intel Corporation 82801 PCI Bridge (rev d4)
00:1d.0 USB controller: Intel Corporation Lynx Point USB Enhanced Host Controller #1 (rev 04)
Subsystem: ASRock Incorporation Device 8c26
Kernel driver in use: pciback
Kernel modules: ehci-hcd00:1f.0 ISA bridge: Intel Corporation Lynx Point LPC Controller (rev 04)
Subsystem: ASRock Incorporation Device 8c44
00:1f.2 SATA controller: Intel Corporation Lynx Point 6-port SATA Controller 1 [AHCI mode] (rev 04)
Subsystem: ASRock Incorporation Device 8c02
Kernel driver in use: pciback
Kernel modules: ahci
00:1f.3 SMBus: Intel Corporation Lynx Point SMBus Controller (rev 04)
Subsystem: ASRock Incorporation Device 8c22
01:00.0 SATA controller: Marvell Technology Group Ltd. Device 9235 (rev 10)
Subsystem: Marvell Technology Group Ltd. Device 9235
Kernel driver in use: ahci
Kernel modules: ahci
02:00.0 SATA controller: Marvell Technology Group Ltd. 88SE9120 SATA 6Gb/s Controller (rev 12)
Subsystem: Marvell Technology Group Ltd. 88SE9120 SATA 6Gb/s Controller
Kernel driver in use: ahci
Kernel modules: ahci
02:00.1 IDE interface: Marvell Technology Group Ltd. 88SE912x IDE Controller (rev 12)
Subsystem: Marvell Technology Group Ltd. 88SE912x IDE Controller04:00.0 SATA controller: ASMedia Technology Inc. ASM1062 Serial ATA Controller (rev 01)
Subsystem: ASRock Incorporation Device 0612
Kernel driver in use: ahci
Kernel modules: ahci
05:00.0 Ethernet controller: Intel Corporation I211 Gigabit Network Connection (rev 03)
Subsystem: ASRock Incorporation Device 1539
Kernel driver in use: igb
Kernel modules: igb
06:00.0 SATA controller: ASMedia Technology Inc. ASM1062 Serial ATA Controller (rev 01)
Subsystem: ASRock Incorporation Device 0612
Kernel driver in use: ahci
Kernel modules: ahci
07:00.0 PCI bridge: ASMedia Technology Inc. ASM1083/1085 PCIe to PCI Bridge (rev 03)
08:00.0 RAID bus controller: Silicon Image, Inc. SiI 3114 [sATALink/SATARaid] Serial ATA Controller (rev 02)
Subsystem: Silicon Image, Inc. Device 7114
Kernel driver in use: sata_sil
Kernel modules: sata_sil

  • Author

I am thinking that I could go get a cheapy pci usb card and just plug the key into that and leave the MB's USB subsystem untouched.

 

I have been kludging my way around passing (and unpassing) things through the system. I think if I had a PCI-card solution, it would let me leave the rest of the USB to all of the other VM's

 

Of course, a more elegant solution is still appreciated.

 

 

#Can't wait to get the unraid system up so I can have a ISO-repository and start putting the rest of the VM's on!!

According to what I see above and what I see for the ASRock Extreme...

 

You have 3 USB Controllers.

 

2 x Rear USB 3.0 ports by Intel® Z77, support USB 1.0/2.0/3.0 up to 5Gb/s

2 x Rear USB 3.0 ports by Etron EJ168A, support USB 1.0/2.0/3.0 up to 5Gb/s

1 x Front USB 3.0 header by Intel® Z77 (supports 2 USB 3.0 ports), supports USB 1.0/2.0/3.0 up to 5Gb/s

 

You will notice on yours that 14.0 doesn't show a Linux Driver loaded. I suspect that might be part of the problem.

 

Install a Ubuntu Live CD onto a usb drive and run that command and see if it shows a driver for that USB Controller and what it shows for the others too.

 

Since that is a newer motherboard, either the Linux Kernel version that unRAID is using... Either doesn't have a driver for it or it's not turned on. Once I know what it is I can assist more.

I have a debian dom0 running xen with a xen-tools installed debian dom1 running on that mobo so I can try this later for you if you like.

 

As far as I am aware, the mobo uses the z87 to provide some of the usb ports and an asmedia controller for the others. I believe the rear panel USB3 ports are delivered by the ASMedia chip (am not in front of the computer now, google says it is an ASM1074 chip) but everything else (the mobo headers for USB3, all the USB2 headers including the on mobo physical port) comes via the z87 controller. I think this should mean you can passthrough either the rear panel USB3 headers or everything else.

 

This arguably isn't the perfect combination so a cheap pci card might be your most convenient option anyway.

this is what I see on my machine

 

# lspci -k
00:14.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB xHCI (rev 05)
        Subsystem: ASRock Incorporation Device 8c31
        Kernel driver in use: xhci_hcd
00:1a.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB EHCI #2 (rev 05)
        Subsystem: ASRock Incorporation Device 8c2d
        Kernel driver in use: ehci-pci
00:1d.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB EHCI #1 (rev 05)
        Subsystem: ASRock Incorporation Device 8c26
        Kernel driver in use: ehci-pci

 

this produces 4 USB buses which are mapped as follows

 

# ls -la /sys/bus/usb/devices/usb*
lrwxrwxrwx 1 root root 0 Dec 16 19:29 /sys/bus/usb/devices/usb1 -> ../../../devices/pci0000:00/0000:00:14.0/usb1
lrwxrwxrwx 1 root root 0 Dec 16 19:29 /sys/bus/usb/devices/usb2 -> ../../../devices/pci0000:00/0000:00:14.0/usb2
lrwxrwxrwx 1 root root 0 Dec 16 19:29 /sys/bus/usb/devices/usb3 -> ../../../devices/pci0000:00/0000:00:1a.0/usb3
lrwxrwxrwx 1 root root 0 Dec 16 19:29 /sys/bus/usb/devices/usb4 -> ../../../devices/pci0000:00/0000:00:1d.0/usb4

 

so bus 1 & 2 are on 14.0 and 3 & 4 are on 1a.0 and 1d.0 respectively.

 

to working out which physical ports they are... some digging...

 

I have a flash drive plugged into the onboard socket and it is mapped as

 

# ls -la /sys/block/sde
lrwxrwxrwx 1 root root 0 Dec 16 19:52 /sys/block/sde -> ../devices/pci0000:00/0000:00:14.0/usb1/1-4/1-4:1.0/host10/target10:0:0/10:0:0:0/block/sde

 

so the onboard usb port is on 14.0 (the xHCI controller)

 

I have a keyboard plugged into the rear USB2 port and it appears as

 

[    7.781545] input: Logitech Unifying Device. Wireless PID:4024 as /devices/pci0000:00/0000:00:14.0/usb1/1-14/1-14:1.2/0003:046D:C52B.0003/input/input0
[    7.782145] logitech-djdevice 0003:046D:C52B.0004: input,hidraw1: USB HID v1.11 Keyboard [Logitech Unifying Device. Wireless PID:4024] on usb-0000:00:14.0-14:1

 

so also appears to be on the 14.0 controller & shows up on the same bus as expected.

 

# lsusb
Bus 004 Device 002: ID 8087:8000 Intel Corp.
Bus 004 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 002: ID 8087:8008 Intel Corp.
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 002: ID 174c:3074 ASMedia Technology Inc.
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 003: ID 054c:02a5 Sony Corp. MicroVault Flash Drive
Bus 001 Device 002: ID 174c:2074 ASMedia Technology Inc.
Bus 001 Device 004: ID 046d:c52b Logitech, Inc. Unifying Receiver
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

 

Plugging something into a usb port attached to a USB 2 header on the mobo or to the rear panel USB3 ports also shows up on the same bus (1-0). The last one surprises me as the manual quite clearly states the USB3 ports are on the asmedia hub.

 

On this machine I have no other accessible ports so I imagine you'd need to work your way through the mobo USB headers to find which ones map to the different devices. If the onboard usb and the rear panel ports are all on the same bus though then that probably means buying a separate pci card is the (annoying wasteful) way to go.

  • Author

Matt--very thorough investigation. Thank you for helping. Looking around I found the same things: although three controllers are reported, only one exists--the Z87 chip.

 

ASRock has a chip that separates some of the ports, but, only the Z87 actually provisions USB ports to the system. So, a card it is. It's a waste of a port, but, thankfully, the EX-6 has a few to spare. And since any old PCI port will suffice, I am not losing a Sata-III slot.

 

Well, now we know.

Archived

This topic is now archived and is closed to further replies.

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.