I'm trying to set up a virtualbox-5.1 with PCI passthrough on
host Ubuntu 16.04 (4.8.0-36-generic #36~16.04.1-Ubuntu SMP Fri Jun 30 05:32:18 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux)
installed on PC with
CPU Intel® Core™ i7-3612QE CPU @ 2.10GHz
RAM 12GB
integrated video
BIOS Vendor American Megatrends
BIOS Version CS720008
PCI device trying to passthrough is an Intel 82599 10Gigabit Ethernet Controller
Here is my pci device information.
#lspci
00:00.0 Host bridge: Intel Corporation 3rd Gen Core processor DRAM Controller (rev 09)
00:01.0 PCI bridge: Intel Corporation Xeon E3-1200 v2/3rd Gen Core processor PCI Express Root Port (rev 09)
00:01.1 PCI bridge: Intel Corporation Xeon E3-1200 v2/3rd Gen Core processor PCI Express Root Port (rev 09)
00:02.0 VGA compatible controller: Intel Corporation 3rd Gen Core processor Graphics Controller (rev 09)
00:14.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset Family USB xHCI Host Controller (rev 04)
00:16.0 Communication controller: Intel Corporation 7 Series/C210 Series Chipset Family MEI Controller #1 (rev 04)
00:1a.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset Family USB Enhanced Host Controller #2 (rev 04)
00:1b.0 Audio device: Intel Corporation 7 Series/C210 Series Chipset Family High Definition Audio Controller (rev 04)
00:1c.0 PCI bridge: Intel Corporation 7 Series/C210 Series Chipset Family PCI Express Root Port 1 (rev c4)
00:1c.1 PCI bridge: Intel Corporation 7 Series/C210 Series Chipset Family PCI Express Root Port 2 (rev c4)
00:1c.2 PCI bridge: Intel Corporation 7 Series/C210 Series Chipset Family PCI Express Root Port 3 (rev c4)
00:1c.3 PCI bridge: Intel Corporation 7 Series/C210 Series Chipset Family PCI Express Root Port 4 (rev c4)
00:1c.4 PCI bridge: Intel Corporation 7 Series/C210 Series Chipset Family PCI Express Root Port 5 (rev c4)
00:1d.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset Family USB Enhanced Host Controller #1 (rev 04)
00:1f.0 ISA bridge: Intel Corporation QM77 Express Chipset LPC Controller (rev 04)
00:1f.2 SATA controller: Intel Corporation 7 Series Chipset Family 6-port SATA Controller [AHCI mode] (rev 04)
00:1f.3 SMBus: Intel Corporation 7 Series/C210 Series Chipset Family SMBus Controller (rev 04)
02:00.0 Ethernet controller: Intel Corporation 82599 10 Gigabit Dual Port Backplane Connection (rev 01)
02:00.1 Ethernet controller: Intel Corporation 82599 10 Gigabit Dual Port Backplane Connection (rev 01)
06:00.0 Serial controller: Exar Corp. Device 0358 (rev 03)
07:00.0 PCI bridge: Pericom Semiconductor PCI Express to PCI-XPI7C9X130 PCI-X Bridge (rev 04)
guest OS is Windows server 2003.I've already made guest OS to recognized the Ethernet Controller, via the cmd
VBoxManage modifyvm windows2003 --pciattach 02:00.0@02:00.0but it cannot work properly in Guest OS, in the Windows Device Manager of guest OS, there is a exclamation mark on its icon. that is why I'd like to ask for some help.
I'm sure the VT-d and IOMMU are enabled
# dmesg | grep -e IOMMU -e DMAR [ 0.000000] ACPI: DMAR 0x00000000DABC13E8 0000B8 (v01 INTEL SNB 00000001 INTL 00000001) [ 0.000000] DMAR: IOMMU enabled [ 0.037657] DMAR: Host address width 36 [ 0.037658] DMAR: DRHD base: 0x000000fed90000 flags: 0x0 [ 0.037666] DMAR: dmar0: reg_base_addr fed90000 ver 1:0 cap c0000020e60262 ecap f0101a [ 0.037667] DMAR: DRHD base: 0x000000fed91000 flags: 0x1 [ 0.037670] DMAR: dmar1: reg_base_addr fed91000 ver 1:0 cap c9008020660262 ecap f0105a [ 0.037671] DMAR: RMRR base: 0x000000dae9d000 end: 0x000000daeacfff [ 0.037672] DMAR: RMRR base: 0x000000db800000 end: 0x000000df9fffff [ 0.037674] DMAR-IR: IOAPIC id 2 under DRHD base 0xfed91000 IOMMU 1 [ 0.037674] DMAR-IR: HPET id 0 under DRHD base 0xfed91000 [ 0.037675] DMAR-IR: Queued invalidation will be enabled to support x2apic and Intr-remapping. [ 0.037984] DMAR-IR: Enabled IRQ remapping in x2apic mode [ 0.962717] DMAR: No ATSR found [ 0.963435] DMAR: dmar0: Using Queued invalidation [ 0.963442] DMAR: dmar1: Using Queued invalidation [ 0.963767] DMAR: Setting RMRR: [ 0.963822] DMAR: Setting identity map for device 0000:00:02.0 [0xdb800000 - 0xdf9fffff] [ 0.964293] DMAR: Setting identity map for device 0000:00:14.0 [0xdae9d000 - 0xdaeacfff] [ 0.964340] DMAR: Setting identity map for device 0000:00:1a.0 [0xdae9d000 - 0xdaeacfff] [ 0.964387] DMAR: Setting identity map for device 0000:00:1d.0 [0xdae9d000 - 0xdaeacfff] [ 0.964398] DMAR: Prepare 0-16MiB unity mapping for LPC [ 0.964436] DMAR: Setting identity map for device 0000:00:1f.0 [0x0 - 0xffffff] [ 0.964721] DMAR: Intel(R) Virtualization Technology for Directed I/O [ 1.218255] [drm] DMAR active, disabling use of stolen memory [ 3.403875] vboxpci: IOMMU foundafter I start the VM, it appear some more ...
[ 105.514597] vboxpci: created IOMMU domain ffff9059a4933e88
[ 105.666532] vboxpci 0000:02:00.0: failed to attach to IOMMU, error -22
Some other situations:1. I'v added intel_iommu=on in /etc/default/grub, and executed "update-grub2", otherwise "dmesg" won't show IOMMU is found.
2. if I executed "ifconfig eth0 down", to unbind the ethernet card, then start the VM, in device manager of Guest OS,
there WON'T be a exclamation mark on it, but in Network Connection Window, its network state is disconnected. after disable and enable the connection,
the connection will disapear, and the exclamation mark will appear on it again in device manager window.
3. I've heard someone made it successfully , using same CPU and NIC card, so maybe I miss some config(???) or mainboard chipset is not supported IOMMU ?
Thank you in advance for any help and/or suggestions