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.

PCIE USB Card disconnects from VM - Win 10

Featured Replies

 

Hi everyone -

 

I've been running unraid for about a year with only minor issues, and just started messing around with VMs in the past few months. I had my laptop fail on me, and since I've recently been using it more than 95% plus at home at my desk, I decided to give moving to a VM of Win 10 full time a try. Install was easy and I had no problems following all the videos and gudies out there to get the basics setup, including passing through a GPU and an extra USB 3 PCIE card I had lying around to be able to hot plug USB devices.

 

Unfortunately, something weird has been happening ever since I started passing through the PCIE USB 3 card - USB controller: Texas Instruments TUSB73x0 SuperSpeed USB 3.0 xHCI Host Controller. At a random interval, usually several hours, the USB 3 card will stop working and my keyboard will suddenly stop getting passed through to the VM and will instead work on the console of unraid. Once that happened, restarting the VM wouldn't resolve the behavior (IE the USB 3 card wouldn't work and my keyboard wouldn't get passed through to the Windows 10 VM. Restarting the entire server would resolve the problem, but it kept happening. I tried messing with many of the VM settings, but I couldn't figure out why A) the card kept dropping from the VM despite it showing up to unraid and B) why the hell was it disconnecting my keyboard from the VM every time it happened, especially since my keyboard wasn't being passed through using the USB 3 card, it was being passed through as a specific USB device.

 

Eventually I stopped passing through the USB card, and since then the VM has been going for several days and has been stable.

 

Below are the particulars of the system, the XML of the VM, and the system devices.

 

Any recommendations on what to try next would be greatly appreciated.

Model: Custom
M/B: LENOVO - ThinkServer TS440
CPU: Intel® Xeon® CPU E3-1245 v3 @ 3.40GHz
HVM: Enabled
IOMMU: Enabled
Cache: 1024 kB, 256 kB, 8192 kB
Memory: 12 GB (max. installable capacity 32 GB)
Network: eth0: 1000 Mb/s, full duplex, mtu 1500
Kernel: Linux 4.9.10-unRAID x86_64
OpenSSL: 1.0.2k
PCI Devices and IOMMU Groups

IOMMU group 0
	[8086:0c08] 00:00.0 Host bridge: Intel Corporation Xeon E3-1200 v3 Processor DRAM Controller (rev 06)
IOMMU group 1
	[8086:0c01] 00:01.0 PCI bridge: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor PCI Express x16 Controller (rev 06)
	[10de:1c03] 01:00.0 VGA compatible controller: NVIDIA Corporation GP106 [GeForce GTX 1060 6GB] (rev a1)
	[10de:10f1] 01:00.1 Audio device: NVIDIA Corporation Device 10f1 (rev a1)
IOMMU group 2
	[8086:041a] 00:02.0 VGA compatible controller: Intel Corporation Xeon E3-1200 v3 Processor Integrated Graphics Controller (rev 06)
IOMMU group 3
	[8086:8c31] 00:14.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB xHCI (rev 04)
IOMMU group 4
	[8086:8c3a] 00:16.0 Communication controller: Intel Corporation 8 Series/C220 Series Chipset Family MEI Controller #1 (rev 04)
	[8086:8c3d] 00:16.3 Serial controller: Intel Corporation 8 Series/C220 Series Chipset Family KT Controller (rev 04)
IOMMU group 5
	[8086:153a] 00:19.0 Ethernet controller: Intel Corporation Ethernet Connection I217-LM (rev 04)
IOMMU group 6
	[8086:8c2d] 00:1a.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB EHCI #2 (rev 04)
IOMMU group 7
	[8086:8c10] 00:1c.0 PCI bridge: Intel Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port #1 (rev d4)
IOMMU group 8
	[8086:8c16] 00:1c.3 PCI bridge: Intel Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port #4 (rev d4)
IOMMU group 9
	[8086:8c18] 00:1c.4 PCI bridge: Intel Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port #5 (rev d4)
IOMMU group 10
	[8086:8c26] 00:1d.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB EHCI #1 (rev 04)
IOMMU group 11
	[8086:8c56] 00:1f.0 ISA bridge: Intel Corporation C226 Series Chipset Family Server Advanced SKU LPC Controller (rev 04)
	[8086:2826] 00:1f.2 RAID bus controller: Intel Corporation C600/X79 series chipset SATA RAID Controller (rev 04)
	[8086:8c22] 00:1f.3 SMBus: Intel Corporation 8 Series/C220 Series Chipset Family SMBus Controller (rev 04)
IOMMU group 12
	[1283:8893] 03:00.0 PCI bridge: Integrated Technology Express, Inc. IT8893E PCIe to PCI Bridge (rev 41)
IOMMU group 13
	[104c:8241] 05:00.0 USB controller: Texas Instruments TUSB73x0 SuperSpeed USB 3.0 xHCI Host Controller (rev 02)
CPU Thread Pairings

cpu 0 <===> cpu 4
cpu 1 <===> cpu 5
cpu 2 <===> cpu 6
cpu 3 <===> cpu 7
USB Devices

Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 8087:8008 Intel Corp. 
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 002: ID 8087:8000 Intel Corp. 
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 002: ID 046d:c404 Logitech, Inc. TrackMan Wheel
Bus 003 Device 004: ID 1532:005c Razer USA, Ltd 
Bus 003 Device 005: ID 1532:0203 Razer USA, Ltd 
Bus 003 Device 007: ID 1532:010d Razer USA, Ltd 
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 004 Device 002: ID 0781:5583 SanDisk Corp. 
SCSI Devices

[0:0:0:0]    disk    SanDisk  Ultra Fit        1.00  /dev/sda   30.7GB
[1:0:0:0]    disk    ATA      WDC WD40EFRX-68W 0A82  /dev/sdb   4.00TB
[2:0:0:0]    disk    ATA      WDC WD40EFRX-68W 0A82  /dev/sdc   4.00TB
[3:0:0:0]    disk    ATA      SanDisk Ultra II 00RL  /dev/sdd    960GB
[4:0:0:0]    disk    ATA      WDC WD40EFRX-68W 0A82  /dev/sde   4.00TB
[5:0:0:0]    cd/dvd  PLDS     DVD-RW DH16AESH  3L32  /dev/sr0        -
Done
<domain type='kvm' id='1'>
  <name>Win10</name>
  <uuid>1b385568-2b39-a0ba-8dca-7b5cf805b84a</uuid>
  <metadata>
    <vmtemplate xmlns="unraid" name="Windows 10" icon="windows.png" os="windows10"/>
  </metadata>
  <memory unit='KiB'>8388608</memory>
  <currentMemory unit='KiB'>8388608</currentMemory>
  <memoryBacking>
    <nosharepages/>
  </memoryBacking>
  <vcpu placement='static'>4</vcpu>
  <cputune>
    <vcpupin vcpu='0' cpuset='2'/>
    <vcpupin vcpu='1' cpuset='3'/>
    <vcpupin vcpu='2' cpuset='6'/>
    <vcpupin vcpu='3' cpuset='7'/>
  </cputune>
  <resource>
    <partition>/machine</partition>
  </resource>
  <os>
    <type arch='x86_64' machine='pc-i440fx-2.7'>hvm</type>
    <loader readonly='yes' type='pflash'>/usr/share/qemu/ovmf-x64/OVMF_CODE-pure-efi.fd</loader>
    <nvram>/etc/libvirt/qemu/nvram/1b385568-2b39-a0ba-8dca-7b5cf805b84a_VARS-pure-efi.fd</nvram>
  </os>
  <features>
    <acpi/>
    <apic/>
    <hyperv>
      <relaxed state='on'/>
      <vapic state='on'/>
      <spinlocks state='on' retries='8191'/>
      <vendor_id state='on' value='none'/>
    </hyperv>
  </features>
  <cpu mode='host-passthrough'>
    <topology sockets='1' cores='2' threads='2'/>
  </cpu>
  <clock offset='localtime'>
    <timer name='hypervclock' present='yes'/>
    <timer name='hpet' present='no'/>
  </clock>
  <on_poweroff>destroy</on_poweroff>
  <on_reboot>restart</on_reboot>
  <on_crash>restart</on_crash>
  <devices>
    <emulator>/usr/local/sbin/qemu</emulator>
    <disk type='file' device='disk'>
      <driver name='qemu' type='raw' cache='writeback'/>
      <source file='/mnt/user/domains/Win10/vdisk1.img'/>
      <backingStore/>
      <target dev='hdc' bus='virtio'/>
      <boot order='1'/>
      <alias name='virtio-disk2'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
    </disk>
    <disk type='file' device='cdrom'>
      <driver name='qemu' type='raw'/>
      <source file='/mnt/user/virtISO/Windows10.iso'/>
      <backingStore/>
      <target dev='hda' bus='ide'/>
      <readonly/>
      <boot order='2'/>
      <alias name='ide0-0-0'/>
      <address type='drive' controller='0' bus='0' target='0' unit='0'/>
    </disk>
    <disk type='file' device='cdrom'>
      <driver name='qemu' type='raw'/>
      <source file='/mnt/user/virtISO/virtio-win-0.1.102.iso'/>
      <backingStore/>
      <target dev='hdb' bus='ide'/>
      <readonly/>
      <alias name='ide0-0-1'/>
      <address type='drive' controller='0' bus='0' target='0' unit='1'/>
    </disk>
    <controller type='usb' index='0' model='nec-xhci'>
      <alias name='usb'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0'/>
    </controller>
    <controller type='pci' index='0' model='pci-root'>
      <alias name='pci.0'/>
    </controller>
    <controller type='ide' index='0'>
      <alias name='ide'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/>
    </controller>
    <controller type='virtio-serial' index='0'>
      <alias name='virtio-serial0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
    </controller>
    <interface type='bridge'>
      <mac address='52:54:00:41:eb:8c'/>
      <source bridge='virbr0'/>
      <target dev='vnet0'/>
      <model type='virtio'/>
      <alias name='net0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
    </interface>
    <serial type='pty'>
      <source path='/dev/pts/0'/>
      <target port='0'/>
      <alias name='serial0'/>
    </serial>
    <console type='pty' tty='/dev/pts/0'>
      <source path='/dev/pts/0'/>
      <target type='serial' port='0'/>
      <alias name='serial0'/>
    </console>
    <channel type='unix'>
      <source mode='bind' path='/var/lib/libvirt/qemu/channel/target/domain-1-Win10/org.qemu.guest_agent.0'/>
      <target type='virtio' name='org.qemu.guest_agent.0' state='disconnected'/>
      <alias name='channel0'/>
      <address type='virtio-serial' controller='0' bus='0' port='1'/>
    </channel>
    <input type='mouse' bus='ps2'>
      <alias name='input0'/>
    </input>
    <input type='keyboard' bus='ps2'>
      <alias name='input1'/>
    </input>
    <hostdev mode='subsystem' type='pci' managed='yes'>
      <driver name='vfio'/>
      <source>
        <address domain='0x0000' bus='0x01' slot='0x00' function='0x0'/>
      </source>
      <alias name='hostdev0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/>
    </hostdev>
    <hostdev mode='subsystem' type='usb' managed='no'>
      <source>
        <vendor id='0x1532'/>
        <product id='0x005c'/>
        <address bus='3' device='4'/>
      </source>
      <alias name='hostdev1'/>
      <address type='usb' bus='0' port='1'/>
    </hostdev>
    <hostdev mode='subsystem' type='usb' managed='no'>
      <source>
        <vendor id='0x1532'/>
        <product id='0x0203'/>
        <address bus='3' device='5'/>
      </source>
      <alias name='hostdev2'/>
      <address type='usb' bus='0' port='2'/>
    </hostdev>
    <memballoon model='virtio'>
      <alias name='balloon0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
    </memballoon>
  </devices>
  <seclabel type='none' model='none'/>
  <seclabel type='dynamic' model='dac' relabel='yes'>
    <label>+0:+100</label>
    <imagelabel>+0:+100</imagelabel>
  </seclabel>
</domain>

 

  • Author

So I did some more testing and something shook out - The USB 3 card and the Keyboard disconnecting from the VM were occuring at the same time, but one doesn't appear to have caused the other.

 

Originally, I was using 2 Razer keyboards (a blackwidow chroma and a blackwidow ultimate) and when I stopped passing through the USB 3 card I also disconnected the second Razer keyboard and started using a cheap HP keyboard. I hooked back up the second Razer keyboard last night (while still not passing through the USB 3 card) and it disconnected the VM keyboard after 10 or 12 hours. So for whatever reason, unraid doesn't seem to like having 2 keyboards from the same manufacturer that are very similar (albeit they have different USB IDs).

 

If you search for that model number of the USB 3 card on the forum, you'll find at least one other person had problems with it: 

 

 

 

 

  • Author

Hi 1812, thanks for the reply. Yes it seems like someone else had similar issues with that card, so one mystery down. 

 

Unfortunately, this evening I came home and my keyboard had been passed back from my VM to UNRAID despite having only one razer keyboard hooked up. I don't know why this keeps happening, or how to go about diagnosing the problem. 

 

Here are is the log from the VM where my keyboard disconnects. 

<code>

ErrorWarningSystemArrayLogin


2017-04-02 22:00:48.073+0000: starting up libvirt version: 2.4.0, qemu version: 2.7.1, hostname: Tower
LC_ALL=C PATH=/bin:/sbin:/usr/bin:/usr/sbin HOME=/ QEMU_AUDIO_DRV=none /usr/local/sbin/qemu -name guest=Win10,debug-threads=on -S -object secret,id=masterKey0,format=raw,file=/var/lib/libvirt/qemu/domain-1-Win10/master-key.aes -machine pc-i440fx-2.7,accel=kvm,usb=off,dump-guest-core=off,mem-merge=off -cpu host,hv_time,hv_relaxed,hv_vapic,hv_spinlocks=0x1fff,hv_vendor_id=none -drive file=/usr/share/qemu/ovmf-x64/OVMF_CODE-pure-efi.fd,if=pflash,format=raw,unit=0,readonly=on -drive file=/etc/libvirt/qemu/nvram/1b385568-2b39-a0ba-8dca-7b5cf805b84a_VARS-pure-efi.fd,if=pflash,format=raw,unit=1 -m 8192 -realtime mlock=off -smp 4,sockets=1,cores=2,threads=2 -uuid 1b385568-2b39-a0ba-8dca-7b5cf805b84a -display none -no-user-config -nodefaults -chardev socket,id=charmonitor,path=/var/lib/libvirt/qemu/domain-1-Win10/monitor.sock,server,nowait -mon chardev=charmonitor,id=monitor,mode=control -rtc base=localtime -no-hpet -no-shutdown -boot strict=on -device nec-usb-xhci,id=usb,bus=pci.0,a=org.qemu.guest_agent.0 -device vfio-pci,host=01:00.0,id=hostdev0,bus=pci.0,addr=0x5 -device vfio-pci,host=06:00.0,id=hostdev1,bus=pci.0,addr=0x6 -device usb-host,hostbus=3,hostaddr=6,id=hostdev2,bus=usb.0,port=1 -device usb-host,hostbus=3,hostaddr=7,id=hostdev3,bus=usb.0,port=2 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x8 -msg timestamp=on
Domain id=1 is tainted: high-privileges
Domain id=1 is tainted: host-cpu
char device redirected to /dev/pts/0 (label charserial0)
2017-04-04T00:48:32.758143Z qemu-system-x86_64: libusb_release_interface: -4 [NO_DEVICE]
2017-04-04T00:48:32.758170Z qemu-system-x86_64: libusb_release_interface: -4 [NO_DEVICE]
2017-04-04T00:48:32.758172Z qemu-system-x86_64: libusb_release_interface: -4 [NO_DEVICE]
libusb: error [_open_sysfs_attr] open /sys/bus/usb/devices/3-9.4/bConfigurationValue failed ret=-1 errno=2

 

<\code>

 

plug back in your cheap hp keyboard and see if it makes it a few days. if it does, then the problem is with some setting in the razer keyboard (some sleep mode to save power??? or some sort of power cycle?? if the vm detects the device is removed from a non passed through usb port, it will forget the device)

 

another option to consider is this, which would isolate one usb controller/port from unpaid and allow it to be a hot plug. then if the razer stays working, you know there is an issue with passing through devices on a non-isolated usb port/channel

 

 

that's all i've got for now.

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.