[CentOS-virt] PCI Passthrough not working

Fri Jun 24 13:27:23 UTC 2016
Francis Greaves <francis at choughs.net>

Here is my post issued again from the beginning in some sort of logical order I hope, with additional information as suggested by George Dunlap. 

I am having trouble getting PCI Passthrough to work from Dom0 to DomU 
I am using Xen 4.6 with CentOS kernel 3.18.34-20.el7.x86_64 on a Dell Poweredge T430. 
When I plug in a device to the USB port, nothing happens. I am Watching /var/log/messages in the DomU. Nothing 

Here is my lspci on the Dom0 filtered to show USB and PCI devices 

00:1a.0 USB controller: Intel Corporation C610/X99 series chipset USB Enhanced Host Controller #2 (rev 05) 
00:1d.0 USB controller: Intel Corporation C610/X99 series chipset USB Enhanced Host Controller #1 (rev 05) 

00:02.0 PCI bridge: Intel Corporation Xeon E7 v3/Xeon E5 v3/Core i7 PCI Express Root Port 2 (rev 02) 
00:03.0 PCI bridge: Intel Corporation Xeon E7 v3/Xeon E5 v3/Core i7 PCI Express Root Port 3 (rev 02) 
00:1c.0 PCI bridge: Intel Corporation C610/X99 series chipset PCI Express Root Port #1 (rev d5) 
00:1c.1 PCI bridge: Intel Corporation C610/X99 series chipset PCI Express Root Port #2 (rev d5) 
00:1c.2 PCI bridge: Intel Corporation C610/X99 series chipset PCI Express Root Port #3 (rev d5) 
00:1c.4 PCI bridge: Intel Corporation C610/X99 series chipset PCI Express Root Port #5 (rev d5) 
01:00.0 Ethernet controller: Broadcom Corporation NetXtreme BCM5720 Gigabit Ethernet PCIe 
01:00.1 Ethernet controller: Broadcom Corporation NetXtreme BCM5720 Gigabit Ethernet PCIe 
04:00.0 Ethernet controller: Broadcom Corporation NetXtreme BCM5720 Gigabit Ethernet PCIe 
04:00.1 Ethernet controller: Broadcom Corporation NetXtreme BCM5720 Gigabit Ethernet PCIe 
05:00.0 PCI bridge: Renesas Technology Corp. Device 001d 
06:00.0 PCI bridge: Renesas Technology Corp. Device 001d 
07:00.0 PCI bridge: Renesas Technology Corp. Device 001a 
0a:00.0 Ethernet controller: Broadcom Corporation NetXtreme BCM5719 Gigabit Ethernet PCIe (rev 01) 
0a:00.1 Ethernet controller: Broadcom Corporation NetXtreme BCM5719 Gigabit Ethernet PCIe (rev 01) 
0a:00.2 Ethernet controller: Broadcom Corporation NetXtreme BCM5719 Gigabit Ethernet PCIe (rev 01) 
0a:00.3 Ethernet controller: Broadcom Corporation NetXtreme BCM5719 Gigabit Ethernet PCIe (rev 01) 
7f:10.0 System peripheral: Intel Corporation Xeon E7 v3/Xeon E5 v3/Core i7 PCIe Ring Interface (rev 02) 
7f:10.1 Performance counters: Intel Corporation Xeon E7 v3/Xeon E5 v3/Core i7 PCIe Ring Interface (rev 02) 
80:02.0 PCI bridge: Intel Corporation Xeon E7 v3/Xeon E5 v3/Core i7 PCI Express Root Port 2 (rev 02) 
80:02.2 PCI bridge: Intel Corporation Xeon E7 v3/Xeon E5 v3/Core i7 PCI Express Root Port 2 (rev 02) 
ff:10.0 System peripheral: Intel Corporation Xeon E7 v3/Xeon E5 v3/Core i7 PCIe Ring Interface (rev 02) 
ff:10.1 Performance counters: Intel Corporation Xeon E7 v3/Xeon E5 v3/Core i7 PCIe Ring Interface (rev 02) 

Here is my lspci on the DomU 

00:00.0 USB controller: Intel Corporation Wellsburg USB Enhanced Host Controller #2 (rev 05) 


Prior to starting the DomU I issue command: 

xl pci-assignable-add 00:1a.0 
xl pci-assignable-list 
0000:00:1a.0 

So this is OK 

Now for the config file for the DomU 

# Guest name ============================================================== 
name = "metsat.fsoft.nnet" 

# Kernel command line options 
extra = "root=/dev/xvda1 swiotlb=force" 

# Initial memory allocation (MB) 
memory = 2048 

# Number of VCPUS 
vcpus = 2 

# two ethernet devices, one for the network, one for the Eumetcast receiver 
vif = ['mac=00:16:3E:00:00:35, bridge=xenbr5', 'mac=00:16:3E:00:00:36, bridge=xenbr6'] 

# Disk Devices 
disk = ['phy:/dev/xen_vg/metsat_disk,xvda,w', 'phy:/dev/xen_vg/metsat_swap,xvdb,w', 'phy:/dev/xen_vg/metsat_receive,xvdc,w'] 

# for Eumetcast Dongle 
pci=['00:1a.0,rdm_policy=relaxed,permissive=1'] 

on_poweroff = 'destroy' 
on_reboot = 'restart' 
on_crash = 'restart' 

# Run section ============================================================== 
bootloader = "/usr/lib/xen/bin/pygrub" 
============================================================== 

I have pcifront showing as a module in the DomU and the usb shows in dmesg 
as: 
[ 3.167543] usbcore: registered new interface driver usbfs 
[ 3.167563] usbcore: registered new interface driver hub 
[ 3.167585] usbcore: registered new device driver usb 
[ 3.196056] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002 
[ 3.196060] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1 
[ 3.196064] usb usb1: Product: EHCI Host Controller 
[ 3.196068] usb usb1: Manufacturer: Linux 3.2.0-4-686-pae ehci_hcd 
[ 3.196071] usb usb1: SerialNumber: 0000:00:00.0 
[ 3.508036] usb 1-1: new high-speed USB device number 2 using ehci_hcd 
[ 19.064072] usb 1-1: device not accepting address 2, error -110 
[ 19.176070] usb 1-1: new high-speed USB device number 3 using ehci_hcd 
[ 34.732067] usb 1-1: device not accepting address 3, error -110 
[ 34.844082] usb 1-1: new high-speed USB device number 4 using ehci_hcd 
[ 45.280073] usb 1-1: device not accepting address 4, error -110 
[ 45.392067] usb 1-1: new high-speed USB device number 5 using ehci_hcd 
[ 55.824112] usb 1-1: device not accepting address 5, error -110 

Can anyone help sort this out, so I can get USB devices to be recognised. I want to plug in my Eumetsat Dongle for receiving Weather Satellite images. 

Regards 
Francis 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.centos.org/pipermail/centos-virt/attachments/20160624/df534f99/attachment-0003.html>