PCI Passthrough Problems


Recommended Posts

Hello,

 

I've followed the guide here, and have successfully set up openSUSE.  However when it comes to passing through either my M1015, or the USB controller I get the following message:

 

Error starting domain: internal error: process exited while connecting to monitor: char device redirected to /dev/pts/4 (label charserial0)
qemu-system-x86_64: -device pci-assign,configfd=26,host=00:1a.0,id=hostdev0,bus=pci.0,addr=0x7: PCI region 0 at address 0xf082c000 has size 0x400, which is not a multiple of 4K.  You might experience some performance hit due to that.
qemu-system-x86_64: -device pci-assign,configfd=26,host=00:1a.0,id=hostdev0,bus=pci.0,addr=0x7: No IOMMU found.  Unable to assign device "hostdev0"
qemu-system-x86_64: -device pci-assign,configfd=26,host=00:1a.0,id=hostdev0,bus=pci.0,addr=0x7: Device initialization failed.
qemu-system-x86_64: -device pci-assign,configfd=26,host=00:1a.0,id=hostdev0,bus=pci.0,addr=0x7: Device 'kvm-pci-assign' could not be initialized

 

Now I am sure that VT-d and everything is enabled.  In the BIOS i have enabled both "Intel Vt-d" and "Intel Virtualization".  And in my BIOS under the CPU page it says:

 

"VT-x Supported, VT-d Supported".

 

I've done some researching and I entered the following commands to see if it was indeed enabled:

 

dmesg | grep -e DMAR -e IOMMU 
---------------------------------------------
[    0.000000] ACPI: DMAR 00000000cc17bbe8 000B0 (v01 INTEL      HSW  00000001 INTL 00000001)
[    0.011044] dmar: IOMMU 0: reg_base_addr fed90000 ver 1:0 cap c0000020660462 ecap f0101a
[    0.011048] dmar: IOMMU 1: reg_base_addr fed91000 ver 1:0 cap d2008020660462 ecap f010da
[    0.011114] IOAPIC id 2 under DRHD base  0xfed91000 IOMMU 1

 

And:

grep -E "(vmx|svm)" /proc/cpuinfo

Result: here as you can see 'vmx' shows up.

 

So I am really unsure what I am doing wrong.  I had passthrough working perfectly in XenServer, however I wanted to move to something that I had a bit more freedom with.

 

Any ideas?

 

EDIT:

Figured I should list my hardware:

 

CPU:    Intel i7 4770

MOBO: ASRock Z87 Extreme6

PCI :    M1015 (IT flashed)

PSU:    850W Corsair

RAM:  16GB (2x8G) Corsair Dominator

 

Also here is a picture of my BIOS page.

Link to comment

Small update, I was able to get the VM to boot by editing some files:

 

/etc/libvirt/qemu.conf
-----------------------------
clear_emulator_capabilites = 0
relaxed_acs_check = 1

 

and

 

/etc/default/grub
----------------------
GRUB_CMDLINE_LINUX_DEFAULT = "... intel_iommu=on"

grub2-mkconfig -o /boot/grub2/grub.cfg

 

However now I have a new issue, when loading up the unRAID vm with the M1015 passed through (the M1015 is attatch to a HP SAS Expander).

 

I get the following error: here

 

It seems to be the LSI code that runs at the start of every boot of my machine.  I didn't seem to have this problem when I was using XenServer... I really don't feel like going back.

 

Edit:

In case anyone cares, and I don't like when I google a question and find the exact same solved problem in a forum with no answer.

 

Turns out all I needed was some sleep, I re-flashed my M1015 to LSI9240 then back to LSI9211-IT except this time I did not flash the OptionROM.  So in the unlikely scenario that someone has my exact same problems, thats how I solved it.

 

Tower kernel: mpt2sas0: LSISAS2008: FWVersion(15.00.00.00), ChipRevision(0x03), BiosVersion(00.00.00.00)

Best thing I've ever read.

 

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.