USB3 controller initialize failed after passthrough to vm

ovear

Member
Sep 14, 2021
1
0
6
34
Hi,
I am going to passthrough my usb3 controller that integrated by motherboard to vm. It works well at beginning (early version of proxmox 5), but after a upgrade of proxmox, trying passthrough usb3 controller becomes very hard. I need to reboot the host many times units it works.

PS: PCI passthrough works prefect, and an LSI raid card can be passthrough to vm perfectly when usb3 controller failed to initialize.

Please help me troubleshoot this problem.

Thanks

Errors that prompted by vm:

Code:
root@OMV:~# dmesg|grep -i xhci
[    1.496080] pci 0000:01:00.0: xHCI HW did not halt within 32000 usec status = 0x10
[    3.641868] xhci_hcd 0000:01:00.0: xHCI Host Controller
[    3.644791] xhci_hcd 0000:01:00.0: new USB bus registered, assigned bus number 6
[    3.676883] xhci_hcd 0000:01:00.0: Host halt failed, -110
[    3.676899] xhci_hcd 0000:01:00.0: can't setup: -110
[    3.677957] xhci_hcd 0000:01:00.0: USB bus 6 deregistered
[    3.679313] xhci_hcd 0000:01:00.0: init 0000:01:00.0 fail, -110
[    3.680099] xhci_hcd: probe of 0000:01:00.0 failed with error -110

Screenshots
Snipaste_2021-09-14_23-32-38.png

Code:
root@Z420:~# qm config 102
boot: c
bootdisk: scsi0
cores: 4
cpu: host
hostpci0: 0000:08:00,pcie=1
ide2: proxmox_wdc1t:iso/debian-10.9.0-amd64-xfce-CD-1.iso,media=cdrom,size=696M
machine: q35
memory: 2048
name: OMV
net0: virtio=FE:83:53:3A:61:53,bridge=vmbr0,firewall=1
numa: 0
onboot: 1
ostype: l26
scsi0: local-lvm:vm-102-disk-0,discard=on,size=4G,ssd=1
scsihw: virtio-scsi-single
smbios1: uuid=2eba88c0-80ac-4286-9368-da3983b25f36
sockets: 1
startup: order=1
unused1: local-lvm:vm-102-disk-1
vmgenid: 2d58b731-8d7d-493f-83f0-9b78f7f2e548

Code:
root@Z420:~# pveversion -v
proxmox-ve: 7.0-2 (running kernel: 5.11.22-4-pve)
pve-manager: 7.0-11 (running version: 7.0-11/63d82f4e)
pve-kernel-5.11: 7.0-7
pve-kernel-helper: 7.0-7
pve-kernel-5.4: 6.4-6
pve-kernel-5.11.22-4-pve: 5.11.22-8
pve-kernel-5.4.140-1-pve: 5.4.140-1
pve-kernel-4.15: 5.4-18
pve-kernel-4.15.18-29-pve: 4.15.18-57
pve-kernel-4.15.18-12-pve: 4.15.18-36
ceph-fuse: 14.2.21-1
corosync: 3.1.2-pve2
criu: 3.15-1+pve-1
glusterfs-client: 9.2-1
ifupdown: 0.8.36
ksm-control-daemon: 1.4-1
libjs-extjs: 7.0.0-1
libknet1: 1.21-pve1
libproxmox-acme-perl: 1.3.0
libproxmox-backup-qemu0: 1.2.0-1
libpve-access-control: 7.0-4
libpve-apiclient-perl: 3.2-1
libpve-common-perl: 7.0-6
libpve-guest-common-perl: 4.0-2
libpve-http-server-perl: 4.0-2
libpve-storage-perl: 7.0-11
libqb0: 1.0.5-1
libspice-server1: 0.14.3-2.1
lvm2: 2.03.11-2.1
lxc-pve: 4.0.9-4
lxcfs: 4.0.8-pve2
novnc-pve: 1.2.0-3
proxmox-backup-client: 2.0.9-2
proxmox-backup-file-restore: 2.0.9-2
proxmox-mini-journalreader: 1.2-1
proxmox-widget-toolkit: 3.3-6
pve-cluster: 7.0-3
pve-container: 4.0-9
pve-docs: 7.0-5
pve-edk2-firmware: 3.20200531-1
pve-firewall: 4.2-2
pve-firmware: 3.3-1
pve-ha-manager: 3.3-1
pve-i18n: 2.5-1
pve-qemu-kvm: 6.0.0-4
pve-xtermjs: 4.12.0-1
qemu-server: 7.0-13
smartmontools: 7.2-pve2
spiceterm: 3.2-2
vncterm: 1.7-1
zfsutils-linux: 2.0.5-pve1

Code:
root@Z420:~# find /sys/kernel/iommu_groups/ -type l | sort -n -t "/" -k 5
/sys/kernel/iommu_groups/0/devices/0000:00:00.0
/sys/kernel/iommu_groups/1/devices/0000:00:01.0
/sys/kernel/iommu_groups/2/devices/0000:00:02.0
/sys/kernel/iommu_groups/3/devices/0000:00:03.0
/sys/kernel/iommu_groups/4/devices/0000:00:04.0
/sys/kernel/iommu_groups/5/devices/0000:00:04.1
/sys/kernel/iommu_groups/6/devices/0000:00:04.2
/sys/kernel/iommu_groups/7/devices/0000:00:04.3
/sys/kernel/iommu_groups/8/devices/0000:00:04.4
/sys/kernel/iommu_groups/9/devices/0000:00:04.5
/sys/kernel/iommu_groups/10/devices/0000:00:04.6
/sys/kernel/iommu_groups/11/devices/0000:00:04.7
/sys/kernel/iommu_groups/12/devices/0000:00:05.0
/sys/kernel/iommu_groups/13/devices/0000:00:05.2
/sys/kernel/iommu_groups/14/devices/0000:00:05.4
/sys/kernel/iommu_groups/15/devices/0000:00:11.0
/sys/kernel/iommu_groups/16/devices/0000:00:16.0
/sys/kernel/iommu_groups/16/devices/0000:00:16.2
/sys/kernel/iommu_groups/16/devices/0000:00:16.3
/sys/kernel/iommu_groups/17/devices/0000:00:19.0
/sys/kernel/iommu_groups/18/devices/0000:00:1a.0
/sys/kernel/iommu_groups/19/devices/0000:00:1b.0
/sys/kernel/iommu_groups/20/devices/0000:00:1c.0
/sys/kernel/iommu_groups/21/devices/0000:00:1c.5
/sys/kernel/iommu_groups/22/devices/0000:00:1c.6
/sys/kernel/iommu_groups/23/devices/0000:00:1c.7
/sys/kernel/iommu_groups/24/devices/0000:00:1d.0
/sys/kernel/iommu_groups/25/devices/0000:00:1e.0
/sys/kernel/iommu_groups/25/devices/0000:09:05.0
/sys/kernel/iommu_groups/26/devices/0000:00:1f.0
/sys/kernel/iommu_groups/26/devices/0000:00:1f.2
/sys/kernel/iommu_groups/26/devices/0000:00:1f.3
/sys/kernel/iommu_groups/27/devices/0000:05:00.0
/sys/kernel/iommu_groups/28/devices/0000:04:00.0
/sys/kernel/iommu_groups/29/devices/0000:02:00.0
/sys/kernel/iommu_groups/30/devices/0000:06:00.0
/sys/kernel/iommu_groups/30/devices/0000:06:00.1
/sys/kernel/iommu_groups/31/devices/0000:08:00.0
/sys/kernel/iommu_groups/32/devices/0000:7f:08.0
/sys/kernel/iommu_groups/33/devices/0000:7f:08.3
/sys/kernel/iommu_groups/34/devices/0000:7f:08.4
/sys/kernel/iommu_groups/35/devices/0000:7f:09.0
/sys/kernel/iommu_groups/36/devices/0000:7f:09.3
/sys/kernel/iommu_groups/37/devices/0000:7f:09.4
/sys/kernel/iommu_groups/38/devices/0000:7f:0a.0
/sys/kernel/iommu_groups/38/devices/0000:7f:0a.1
/sys/kernel/iommu_groups/38/devices/0000:7f:0a.2
/sys/kernel/iommu_groups/38/devices/0000:7f:0a.3
/sys/kernel/iommu_groups/39/devices/0000:7f:0b.0
/sys/kernel/iommu_groups/39/devices/0000:7f:0b.3
/sys/kernel/iommu_groups/40/devices/0000:7f:0c.0
/sys/kernel/iommu_groups/40/devices/0000:7f:0c.1
/sys/kernel/iommu_groups/40/devices/0000:7f:0c.2
/sys/kernel/iommu_groups/40/devices/0000:7f:0c.3
/sys/kernel/iommu_groups/40/devices/0000:7f:0c.6
/sys/kernel/iommu_groups/40/devices/0000:7f:0c.7
/sys/kernel/iommu_groups/41/devices/0000:7f:0d.0
/sys/kernel/iommu_groups/41/devices/0000:7f:0d.1
/sys/kernel/iommu_groups/41/devices/0000:7f:0d.2
/sys/kernel/iommu_groups/41/devices/0000:7f:0d.3
/sys/kernel/iommu_groups/41/devices/0000:7f:0d.6
/sys/kernel/iommu_groups/42/devices/0000:7f:0e.0
/sys/kernel/iommu_groups/42/devices/0000:7f:0e.1
/sys/kernel/iommu_groups/43/devices/0000:7f:0f.0
/sys/kernel/iommu_groups/44/devices/0000:7f:0f.1
/sys/kernel/iommu_groups/45/devices/0000:7f:0f.2
/sys/kernel/iommu_groups/46/devices/0000:7f:0f.3
/sys/kernel/iommu_groups/47/devices/0000:7f:0f.4
/sys/kernel/iommu_groups/48/devices/0000:7f:0f.5
/sys/kernel/iommu_groups/49/devices/0000:7f:0f.6
/sys/kernel/iommu_groups/50/devices/0000:7f:10.0
/sys/kernel/iommu_groups/51/devices/0000:7f:10.1
/sys/kernel/iommu_groups/52/devices/0000:7f:10.2
/sys/kernel/iommu_groups/53/devices/0000:7f:10.3
/sys/kernel/iommu_groups/54/devices/0000:7f:10.4
/sys/kernel/iommu_groups/55/devices/0000:7f:10.5
/sys/kernel/iommu_groups/56/devices/0000:7f:10.6
/sys/kernel/iommu_groups/57/devices/0000:7f:10.7
/sys/kernel/iommu_groups/58/devices/0000:7f:11.0
/sys/kernel/iommu_groups/59/devices/0000:7f:13.0
/sys/kernel/iommu_groups/59/devices/0000:7f:13.1
/sys/kernel/iommu_groups/59/devices/0000:7f:13.4
/sys/kernel/iommu_groups/59/devices/0000:7f:13.5
/sys/kernel/iommu_groups/59/devices/0000:7f:13.6

lspci -v is too long, so i upload to this link
https://gist.github.com/ovear/8c75942faf4763b5d89650c9dda2c5be

Code:
root@Z420:~# cat  /etc/modprobe.d/pci-passtrough.conf
options vfio-pci ids=1000:0087
options vfio-pci ids=104c:8241

root@Z420:~# cat  /etc/modprobe.d/xhci_hcd.conf
softdep xhci_hcd pre: vfio_pci
 
Last edited:

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!