HOW-TO make dual-boot obsolete using XEN VGA passthrough

Questions about virtualization software
Forum rules
Before you post read how to get help. Topics in this forum are automatically closed 6 months after creation.
Locked
sivel27

Re: HOW-TO make dual-boot obsolete using XEN VGA passthrough

Post by sivel27 »

i also followed the old guide ... perfect.

but, on the new one with 16, it only grabs my audio portion of the card, and not the video.
i looked at my 14 setup again, and i tried editing a few things, but no go. i noticed that the only way it
will grab my card (ati 7850) is with the old method of putting pci ids in the pciback file, where now only the
usb devices go.


thanks again for your time and great guide,
sivel
Kabion

Re: HOW-TO make dual-boot obsolete using XEN VGA passthrough

Post by Kabion »

Hey guys,
First off thanks for the guide.
I have everything working on a lm16 install except for usb passthroughs. I have been using senergy but it has problems when you get near the edges and causes issues when gameing. It seems that all of my usb's are all on the same pci controller. I am using a ASROCK Z87 Extreme 4 MB. I have 5 usb 3.0 and 3 usb 2.0 ports.

lspci | grep USB shows

Code: Select all

00:14.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB xHCI (rev 05)
00:1a.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB EHCI #2 (rev 05)
00:1d.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB EHCI #1 (rev 05)
All of the usbs are tied to the 00:14.0 USB controller. I did pass this controller to the guest however this made dom0 unusable. I also tried passing 00:1a.0 to the guest and it did find a usb controller however there arn't any usb ports tied to that controller.

Has anyone ran into this issue and and if so can you shed some light on the issue.

Thanks,
Kab
powerhouse
Level 6
Level 6
Posts: 1144
Joined: Thu May 03, 2012 3:54 am
Location: Israel
Contact:

Re: HOW-TO make dual-boot obsolete using XEN VGA passthrough

Post by powerhouse »

Kabion wrote:Hey guys,
First off thanks for the guide.
I have everything working on a lm16 install except for usb passthroughs. I have been using senergy but it has problems when you get near the edges and causes issues when gameing. It seems that all of my usb's are all on the same pci controller. I am using a ASROCK Z87 Extreme 4 MB. I have 5 usb 3.0 and 3 usb 2.0 ports.

lspci | grep USB shows

Code: Select all

00:14.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB xHCI (rev 05)
00:1a.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB EHCI #2 (rev 05)
00:1d.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB EHCI #1 (rev 05)
All of the usbs are tied to the 00:14.0 USB controller. I did pass this controller to the guest however this made domU unusable. I also tried passing 00:1a.0 to the guest and it did find a usb controller however there arn't any usb ports tied to that controller.

Has anyone ran into this issue and and if so can you shed some light on the issue.

Thanks,
Kab
There seems to be something missing in the PCI ID list here. According to the user manual pages 11 and 12 (Motherboard layout) you should have an ASMedia hub for USB3 in addition to the Intel controller, which is not listed here. The reason for that could be that you already passed through the ASMedia hubs, or bound them to pciback. Also, you need to pass thru the 00:1a.0 and/or 00:1d.0, NOT the 00:14.0!

What you need to do - before passing through any USB hubs - is to identify each USB port on the back and in the front (if you connected the chassis ports to one of the USB headers on the board) and the corresponding USB hub (PCI ID).

EDIT: You can use the package hardinfo (shown as "System Information" in the Control Center on LM14) and check under the PCI tab for USB controllers. To translate the "Bus, device, function" values into hexadecimal PCI IDs, use the Calculator and switch the mode to "Programming". Here an example:
Bus, device, function: 0, 26, 0 translates to the hexadecimal PCI ID: 0:1a.0

Further down in System Information is the "Input devices" section. Assuming you use an USB mouse and keyboard, select the mouse or keyboard entry and check the "Connected to" field on the bottom. Example: usb-0000:00:1a.0-1.5/input1 -- the PCI ID is 00:1a.0 (short) or 0000:00:1a.0 (long)



Probably the best tool for identifying the PCI IDs of USB ports is a USB memory stick and the command:

Code: Select all

usb-devices
You get a long listing of USB hubs and devices connected to the hubs. Here is how to read the list:
  • T: Bus=10 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=5000 MxCh= 2
    D: Ver= 3.00 Cls=09(hub ) Sub=00 Prot=03 MxPS= 9 #Cfgs= 1
    P: Vendor=1d6b ProdID=0003 Rev=03.11
    S: Manufacturer=Linux 3.11.0-12-generic xhci_hcd
    S: Product=xHCI Host Controller
    S: SerialNumber=0000:0c:00.0
    C: #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=0mA
    I: If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub

    T: Bus=02 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=480 MxCh= 2
    D: Ver= 2.00 Cls=09(hub ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1
    P: Vendor=1d6b ProdID=0002 Rev=03.11
    S: Manufacturer=Linux 3.11.0-12-generic ehci_hcd
    S: Product=EHCI Host Controller
    S: SerialNumber=0000:00:1d.0
    C: #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=0mA
    I: If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub

    T: Bus=02 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 2 Spd=480 MxCh= 8
    D: Ver= 2.00 Cls=09(hub ) Sub=00 Prot=01 MxPS=64 #Cfgs= 1
    P: Vendor=8087 ProdID=0024 Rev=00.00
    C: #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=0mA
    I: If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub

    T: Bus=02 Lev=02 Prnt=02 Port=02 Cnt=01 Dev#= 7 Spd=12 MxCh= 4
    D: Ver= 1.10 Cls=09(hub ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1
    P: Vendor=8054 ProdID=0001 Rev=01.00
    S: Manufacturer=ROCLA
    S: Product=KVM PORT SWITCH
    C: #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=100mA
    I: If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub

    T: Bus=02 Lev=03 Prnt=07 Port=00 Cnt=01 Dev#= 8 Spd=1.5 MxCh= 0
    D: Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1
    P: Vendor=045e ProdID=0750 Rev=01.10
    S: Manufacturer=Microsoft
    S: Product=Wired Keyboard 600
    C: #Ifs= 2 Cfg#= 1 Atr=a0 MxPwr=100mA
    I: If#= 0 Alt= 0 #EPs= 1 Cls=03(HID ) Sub=01 Prot=01 Driver=usbhid
    I: If#= 1 Alt= 0 #EPs= 1 Cls=03(HID ) Sub=00 Prot=00 Driver=usbhid

    T: Bus=02 Lev=03 Prnt=07 Port=01 Cnt=02 Dev#= 9 Spd=1.5 MxCh= 0
    D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1
    P: Vendor=045e ProdID=076c Rev=00.83
    S: Manufacturer=Microsoft
    S: Product=Microsoft® Comfort Mouse 4500
    C: #Ifs= 1 Cfg#= 1 Atr=a0 MxPwr=100mA
    I: If#= 0 Alt= 0 #EPs= 1 Cls=03(HID ) Sub=01 Prot=02 Driver=usbhid

    T: Bus=02 Lev=03 Prnt=07 Port=02 Cnt=03 Dev#= 10 Spd=1.5 MxCh= 0
    D: Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1
    P: Vendor=058f ProdID=9410 Rev=01.22
    S: Product=USB Multimedia Keyboard
    S: SerialNumber=USB Multimedia Keyboard
    C: #Ifs= 2 Cfg#= 1 Atr=a0 MxPwr=50mA
    I: If#= 0 Alt= 0 #EPs= 1 Cls=03(HID ) Sub=01 Prot=01 Driver=usbhid
    I: If#= 1 Alt= 0 #EPs= 1 Cls=03(HID ) Sub=00 Prot=00 Driver=usbhid
The above shows a USB hub using PCI ID 0000:0c:00.0 followed by another USB hub using PCI ID 0000:00:1d.0. The first USB hub with PCI ID 0000:0c:00.0 has no devices connected to it!

The second USB hub with PCI ID 0000:00:1d.0 has a number of devices connected to it:
KVM PORT SWITCH
Wired Keyboard 600
Microsoft® Comfort Mouse 4500
USB Multimedia Keyboard

At USB hub identified with PCI ID S: SerialNumber=0000:00:1d.0 I'm actually using only one USB port at the back where my KVM port switch (USB port switch) is connected. To that KVM port switch I connected my keyboard and mouse.

To identify unused USB ports, insert the USB stick in that port and run usb-devices again. You should find an entry for the USB stick, and somewhere above that section a section that gives you the PCI ID of the hub (must have the same Bus=xx entry). Make a drawing of the ports (or use your m/b manual) and write down the PCI ID of each port (some will have the same PCI ID as they are connected to the same hub).

The problem is that usually not all USB hub ports are wired to a USB connector. It could be that all USB ports on the back I/O panel are connected to one controller. However, since you have USB3 and USB2 ports on the back I/O panel, each of them are using different hubs and thus have a different PCI ID.

If you require more USB ports or need to connect to additional USB hubs (with their own PCI ID), you may need to purchase a usb panel like this:
[url]http://m4.uxcell.com/photo_new/20081205/c/ux_a08120500ux0015_ux_c.jpg[/url]

Install the USB panel (the picture shows a 4-port panel, but the 2-port models are more common) and connect the cables to empty USB headers (USB2 or USB3, as you like). Then identify the PCI ID using the USB stick.

I'm using such a 2-port USB panel to get access to additional USB hubs, but I use quite many USB ports (Windows: 4 USB ports, Linux host: at least 6 USB ports). For performance reasons I also don't like to share the same hub with different devices, unless it's just a mouse/keyboard (my KVM switch functions as a hub).

Hope this helps.
Last edited by powerhouse on Tue Dec 17, 2013 4:00 pm, edited 1 time in total.
Subjects of interest: Linux, vfio passthrough virtualization, photography
See my blog on virtualization, including tutorials: https://www.heiko-sieger.info/category/ ... alization/
mbalino

Re: HOW-TO make dual-boot obsolete using XEN VGA passthrough

Post by mbalino »

Deleted
see post after
Last edited by mbalino on Sat Dec 14, 2013 10:40 pm, edited 1 time in total.
mbalino

Re: HOW-TO make dual-boot obsolete using XEN VGA passthrough

Post by mbalino »

I figure out what is te silly issue!!!!!

When it start --> it conects [localhost(QEMU)]

So I changed -->[localhost(XEN)] --> Windows is installed properly!!!!

But now, I have the same problem AFTER THAT

I can't have the PCI card into the XEN machine

If I add the device (PCI), when I started the VM --> ERROR
Error starting domain: POST operation failed: xend_post: error from xen daemon: (xend.err "failed to assign device: maybe the platform doesn't support VT-d, or VT-d isn't enabled properly?")
Traceback (most recent call last):
File "/usr/share/virt-manager/virtManager/asyncjob.py", line 96, in cb_wrapper
callback(asyncjob, *args, **kwargs)
File "/usr/share/virt-manager/virtManager/asyncjob.py", line 117, in tmpcb
callback(*args, **kwargs)
File "/usr/share/virt-manager/virtManager/domain.py", line 1162, in startup
self._backend.create()
File "/usr/lib/python2.7/dist-packages/libvirt.py", line 698, in create
if ret == -1: raise libvirtError ('virDomainCreate() failed', dom=self)
libvirtError: POST operation failed: xend_post: error from xen daemon: (xend.err "failed to assign device: maybe the platform doesn't support VT-d, or VT-d isn't enabled properly?")

Now, I have Windows 7 running but NOT PCI PASSTHROUGH... :oops:

Help is needed ...
mbalino

Re: HOW-TO make dual-boot obsolete using XEN VGA passthrough

Post by mbalino »

mbalino@Bolso:~ > sudo xm dmesg
(XEN) Xen version 4.3.0 (Ubuntu 4.3.0-1ubuntu1.1) (stefan.bader@canonical.com) (gcc (Ubuntu/Linaro 4.8.1-10ubuntu8) 4.8.1) debug=n Mon Nov 11 19:34:29 UTC 2013
(XEN) Bootloader: GRUB 2.00-19ubuntu2.1
(XEN) Command line: placeholder iommu=1 dom0_mem=8192M
(XEN) Video information:
(XEN) VGA is text mode 80x25, font 8x16
(XEN) VBE/DDC methods: V2; EDID transfer time: 1 seconds
(XEN) Disc information:
(XEN) Found 2 MBR signatures
(XEN) Found 6 EDD information structures
(XEN) Xen-e820 RAM map:
(XEN) 0000000000000000 - 000000000009d000 (usable)
(XEN) 000000000009d000 - 00000000000a0000 (reserved)
(XEN) 00000000000e0000 - 0000000000100000 (reserved)
(XEN) 0000000000100000 - 00000000bbf1e000 (usable)
(XEN) 00000000bbf1e000 - 00000000bc35c000 (reserved)
(XEN) 00000000bc35c000 - 00000000bc46a000 (ACPI data)
(XEN) 00000000bc46a000 - 00000000bc68b000 (ACPI NVS)
(XEN) 00000000bc68b000 - 00000000bd71b000 (reserved)
(XEN) 00000000bd71b000 - 00000000bd71c000 (usable)
(XEN) 00000000bd71c000 - 00000000bd7a2000 (ACPI NVS)
(XEN) 00000000bd7a2000 - 00000000bdbde000 (usable)
(XEN) 00000000bdbde000 - 00000000bdff4000 (reserved)
(XEN) 00000000bdff4000 - 00000000be000000 (usable)
(XEN) 00000000e0000000 - 00000000f0000000 (reserved)
(XEN) 00000000fed1c000 - 00000000fed20000 (reserved)
(XEN) 00000000ff000000 - 0000000100000000 (reserved)
(XEN) 0000000100000000 - 0000000840000000 (usable)
(XEN) ACPI: RSDP 000F0490, 0024 (r2 ALASKA)
(XEN) ACPI: XSDT BC392070, 005C (r1 ALASKA A M I 1072009 AMI 10013)
(XEN) ACPI: FACP BC39C238, 010C (r5 ALASKA A M I 1072009 AMI 10013)
(XEN) ACPI: DSDT BC392168, A0C9 (r2 ALASKA A M I 16 INTL 20051117)
(XEN) ACPI: FACS BC682080, 0040
(XEN) ACPI: APIC BC39C348, 00C8 (r3 ALASKA A M I 1072009 AMI 10013)
(XEN) ACPI: FPDT BC39C410, 0044 (r1 ALASKA A M I 1072009 AMI 10013)
(XEN) ACPI: MCFG BC39C458, 003C (r1 ALASKA OEMMCFG. 1072009 MSFT 97)
(XEN) ACPI: HPET BC39C498, 0038 (r1 ALASKA A M I 1072009 AMI. 5)
(XEN) ACPI: BGRT BC469650, 0038 (r0 ALASKA A M I 1072009 AMI 10013)
(XEN) ACPI: SSDT BC39C528, CD128 (r2 INTEL CpuPm 4000 INTL 20051117)
(XEN) System RAM: 32707MB (33491984kB)
(XEN) Domain heap initialised
(XEN) ACPI: 32/64X FACS address mismatch in FADT - bc682080/0000000000000000, using 32
(XEN) Processor #0 7:14 APIC version 21
(XEN) Processor #2 7:14 APIC version 21
(XEN) Processor #4 7:14 APIC version 21
(XEN) Processor #6 7:14 APIC version 21
(XEN) Processor #1 7:14 APIC version 21
(XEN) Processor #3 7:14 APIC version 21
(XEN) Processor #5 7:14 APIC version 21
(XEN) Processor #7 7:14 APIC version 21
(XEN) IOAPIC[0]: apic_id 0, version 32, address 0xfec00000, GSI 0-23
(XEN) IOAPIC[1]: apic_id 2, version 32, address 0xfec01000, GSI 24-47
(XEN) Enabling APIC mode: Flat. Using 2 I/O APICs
(XEN) Not enabling x2APIC: depends on iommu_supports_eim.
(XEN) Using scheduler: SMP Credit Scheduler (credit)
(XEN) Detected 3702.380 MHz processor.
(XEN) Initing memory sharing.
(XEN) xstate_init: using cntxt_size: 0x340 and states: 0x7
(XEN) I/O virtualisation disabled
(XEN) Enabled directed EOI with ioapic_ack_old on!
(XEN) ENABLING IO-APIC IRQs
(XEN) -> Using old ACK method
(XEN) Platform timer is 14.318MHz HPET
(XEN) Allocated console ring of 16 KiB.
(XEN) VMX: Supported advanced features:
(XEN) - APIC MMIO access virtualisation
(XEN) - APIC TPR shadow
(XEN) - Extended Page Tables (EPT)
(XEN) - Virtual-Processor Identifiers (VPID)
(XEN) - Virtual NMI
(XEN) - MSR direct-access bitmap
(XEN) - Unrestricted Guest
(XEN) HVM: ASIDs enabled.
(XEN) HVM: VMX enabled
(XEN) HVM: Hardware Assisted Paging (HAP) detected
(XEN) HVM: HAP page sizes: 4kB, 2MB, 1GB
(XEN) Brought up 8 CPUs

(XEN) *** LOADING DOMAIN 0 ***
(XEN) Xen kernel: 64-bit, lsb, compat32
(XEN) Dom0 kernel: 64-bit, PAE, lsb, paddr 0x1000000 -> 0x23f3000
(XEN) PHYSICAL MEMORY ARRANGEMENT:
(XEN) Dom0 alloc.: 0000000820000000->0000000824000000 (2063739 pages to be allocated)
(XEN) Init. ramdisk: 000000083bd7b000->000000083ffff400
(XEN) VIRTUAL MEMORY ARRANGEMENT:
(XEN) Loaded kernel: ffffffff81000000->ffffffff823f3000
(XEN) Init. ramdisk: ffffffff823f3000->ffffffff86677400
(XEN) Phys-Mach map: ffffffff86678000->ffffffff87678000
(XEN) Start info: ffffffff87678000->ffffffff876784b4
(XEN) Page tables: ffffffff87679000->ffffffff876b8000
(XEN) Boot stack: ffffffff876b8000->ffffffff876b9000
(XEN) TOTAL: ffffffff80000000->ffffffff87800000
(XEN) ENTRY ADDRESS: ffffffff81d261e0
(XEN) Dom0 has maximum 8 VCPUs
(XEN) Scrubbing Free RAM: .................................................................................................................................................................................................................................................done.
(XEN) Initial low memory virq threshold set at 0x4000 pages.
(XEN) Std. Loglevel: Errors and warnings
(XEN) Guest Loglevel: Nothing (Rate-limited: Errors and warnings)
(XEN) Xen is relinquishing VGA console.
(XEN) *** Serial input -> DOM0 (type 'CTRL-a' three times to switch input to Xen)
(XEN) Freed 260kB init memory.
(XEN) traps.c:2503:d0 Domain attempted WRMSR 00000000000001fc from 0x000000002104005b to 0x0000000021040059.
(XEN) traps.c:2503:d0 Domain attempted WRMSR 00000000000001fc from 0x000000002104005b to 0x0000000021040059.
(XEN) traps.c:2503:d0 Domain attempted WRMSR 00000000000001fc from 0x000000002104005b to 0x0000000021040059.
(XEN) traps.c:2503:d0 Domain attempted WRMSR 00000000000001fc from 0x000000002104005b to 0x0000000021040059.
(XEN) traps.c:2503:d0 Domain attempted WRMSR 00000000000001fc from 0x000000002104005b to 0x0000000021040059.
(XEN) traps.c:2503:d0 Domain attempted WRMSR 00000000000001fc from 0x000000002104005b to 0x0000000021040059.
(XEN) traps.c:2503:d0 Domain attempted WRMSR 00000000000001fc from 0x000000002104005b to 0x0000000021040059.
(XEN) traps.c:2503:d0 Domain attempted WRMSR 00000000000001fc from 0x000000002104005b to 0x0000000021040059.

mbalino@Bolso:~ > sudo xm pci-list Windows
Device
0000:02:00.0
0000:02:00.1
mbalino

Re: HOW-TO make dual-boot obsolete using XEN VGA passthrough

Post by mbalino »

For some reason THERE IS NO Vt-d
Hardware issues???

I checked the BIOS and is said Virtualization Enabled and Vt-d/x ENABLED

if I disabled then VMX is showing DISABLED.

I am very dissapointed right now ... :evil:

Can you please aste your xm dmesg???
chrulri

Re: HOW-TO make dual-boot obsolete using XEN VGA passthrough

Post by chrulri »

@mbalino this is my working xm dmesg on mint 15.

Code: Select all

(XEN) Xen version 4.2.1 (LinuxMint 4.2.1-0ubuntu3.3) (stefan.bader@canonical.com) (gcc (Ubuntu/Linaro 4.7.3-1ubuntu1) 4.7.3) Mon Jul 22 22:01:54 CEST 2013
(XEN) Bootloader: GRUB 2.00-13ubuntu3
(XEN) Command line: placeholder iommu=1
(XEN) Video information:
(XEN)  VGA is text mode 80x25, font 8x16
(XEN)  VBE/DDC methods: V2; EDID transfer time: 1 seconds
(XEN) Disc information:
(XEN)  Found 4 MBR signatures
(XEN)  Found 4 EDD information structures
(XEN) Xen-e820 RAM map:
(XEN)  0000000000000000 - 000000000009d800 (usable)
(XEN)  000000000009d800 - 00000000000a0000 (reserved)
(XEN)  00000000000e0000 - 0000000000100000 (reserved)
(XEN)  0000000000100000 - 000000005405c000 (usable)
(XEN)  000000005405c000 - 0000000054063000 (ACPI NVS)
(XEN)  0000000054063000 - 0000000054ff4000 (usable)
(XEN)  0000000054ff4000 - 0000000055530000 (reserved)
(XEN)  0000000055530000 - 000000006dc7a000 (usable)
(XEN)  000000006dc7a000 - 000000006e1bb000 (reserved)
(XEN)  000000006e1bb000 - 000000006e1cf000 (ACPI data)
(XEN)  000000006e1cf000 - 000000006e2a4000 (ACPI NVS)
(XEN)  000000006e2a4000 - 000000006efff000 (reserved)
(XEN)  000000006efff000 - 000000006f000000 (usable)
(XEN)  000000006f800000 - 00000000afa00000 (reserved)
(XEN)  00000000f8000000 - 00000000fc000000 (reserved)
(XEN)  00000000fec00000 - 00000000fec01000 (reserved)
(XEN)  00000000fed00000 - 00000000fed04000 (reserved)
(XEN)  00000000fed1c000 - 00000000fed20000 (reserved)
(XEN)  00000000fee00000 - 00000000fee01000 (reserved)
(XEN)  00000000ff000000 - 0000000100000000 (reserved)
(XEN)  0000000100000000 - 000000044f600000 (usable)
(XEN) ACPI: RSDP 000F0490, 0024 (r2 ALASKA)
(XEN) ACPI Warning (tbutils-0422): BIOS XSDT has NULL entry, using RSDT [20070126]
(XEN) ACPI: RSDT 6E1BF028, 004C (r1 ALASKA    A M I  1072009 MSFT    10013)
(XEN) ACPI: FACP 6E1BF100, 0084 (r2 ALASKA    A M I  1072009 AMI     10013)
(XEN) ACPI: DSDT 6E1BF188, B004 (r2 ALASKA    A M I       F2 INTL 20091112)
(XEN) ACPI: FACS 6E2A2040, 0040
(XEN) ACPI: APIC 6E1CA2A0, 0072 (r3 ALASKA    A M I  1072009 AMI     10013)
(XEN) ACPI: SSDT 6E1CA318, 0539 (r1  PmRef  Cpu0Ist     3000 INTL 20051117)
(XEN) ACPI: SSDT 6E1CA858, 0AD8 (r1  PmRef    CpuPm     3000 INTL 20051117)
(XEN) ACPI: SSDT 6E1CB330, 01C7 (r1  PmRef LakeTiny     3000 INTL 20051117)
(XEN) ACPI: MCFG 6E1CB4F8, 003C (r1                  1072009 MSFT       97)
(XEN) ACPI: HPET 6E1CB538, 0038 (r1 ALASKA    A M I  1072009 AMI.        5)
(XEN) ACPI: SSDT 6E1CB570, 036D (r1 SataRe SataTabl     1000 INTL 20091112)
(XEN) ACPI: SSDT 6E1CB8E0, 3299 (r1 SaSsdt  SaSsdt      3000 INTL 20091112)
(XEN) ACPI: DMAR 6E1CEB80, 00B8 (r1 INTEL      HSW         1 INTL        1)
(XEN) System RAM: 15308MB (15676244kB)
(XEN) Domain heap initialised
(XEN) Processor #0 7:12 APIC version 21
(XEN) Processor #2 7:12 APIC version 21
(XEN) Processor #4 7:12 APIC version 21
(XEN) Processor #6 7:12 APIC version 21
(XEN) IOAPIC[0]: apic_id 2, version 32, address 0xfec00000, GSI 0-23
(XEN) Enabling APIC mode:  Flat.  Using 1 I/O APICs
(XEN) Table is not found!
(XEN) Switched to APIC driver x2apic_cluster.
(XEN) Using scheduler: SMP Credit Scheduler (credit)
(XEN) Detected 3192.722 MHz processor.
(XEN) Initing memory sharing.
(XEN) xstate_init: using cntxt_size: 0x340 and states: 0x7
(XEN) Intel VT-d supported page sizes: 4kB.
(XEN) Intel VT-d supported page sizes: 4kB.
(XEN) Intel VT-d Snoop Control not enabled.
(XEN) Intel VT-d Dom0 DMA Passthrough not enabled.
(XEN) Intel VT-d Queued Invalidation enabled.
(XEN) Intel VT-d Interrupt Remapping enabled.
(XEN) Intel VT-d Shared EPT tables not enabled.
(XEN) I/O virtualisation enabled
(XEN)  - Dom0 mode: Relaxed
(XEN) Enabled directed EOI with ioapic_ack_old on!
(XEN) ENABLING IO-APIC IRQs
(XEN)  -> Using old ACK method
(XEN) Platform timer is 14.318MHz HPET
(XEN) Allocated console ring of 16 KiB.
(XEN) VMX: Supported advanced features:
(XEN)  - APIC MMIO access virtualisation
(XEN)  - APIC TPR shadow
(XEN)  - Extended Page Tables (EPT)
(XEN)  - Virtual-Processor Identifiers (VPID)
(XEN)  - Virtual NMI
(XEN)  - MSR direct-access bitmap
(XEN)  - Unrestricted Guest
(XEN) HVM: ASIDs enabled.
(XEN) HVM: VMX enabled
(XEN) HVM: Hardware Assisted Paging (HAP) detected
(XEN) HVM: HAP page sizes: 4kB, 2MB, 1GB
(XEN) Brought up 4 CPUs
(XEN) *** LOADING DOMAIN 0 ***
(XEN)  Xen  kernel: 64-bit, lsb, compat32
(XEN)  Dom0 kernel: 64-bit, PAE, lsb, paddr 0x1000000 -> 0x2344000
(XEN) PHYSICAL MEMORY ARRANGEMENT:
(XEN)  Dom0 alloc.:   0000000430000000->0000000438000000 (3778466 pages to be allocated)
(XEN)  Init. ramdisk: 000000044a0a0000->000000044f600000
(XEN) VIRTUAL MEMORY ARRANGEMENT:
(XEN)  Loaded kernel: ffffffff81000000->ffffffff82344000
(XEN)  Init. ramdisk: ffffffff82344000->ffffffff878a4000
(XEN)  Phys-Mach map: ffffffff878a4000->ffffffff895e2810
(XEN)  Start info:    ffffffff895e3000->ffffffff895e34b4
(XEN)  Page tables:   ffffffff895e4000->ffffffff89633000
(XEN)  Boot stack:    ffffffff89633000->ffffffff89634000
(XEN)  TOTAL:         ffffffff80000000->ffffffff89800000
(XEN)  ENTRY ADDRESS: ffffffff81d05210
(XEN) Dom0 has maximum 4 VCPUs
(XEN) Scrubbing Free RAM: .done.
(XEN) Initial low memory virq threshold set at 0x4000 pages.
(XEN) Std. Loglevel: Errors and warnings
(XEN) Guest Loglevel: Nothing (Rate-limited: Errors and warnings)
(XEN) Xen is relinquishing VGA console.
(XEN) *** Serial input -> DOM0 (type 'CTRL-a' three times to switch input to Xen)
(XEN) Freed 240kB init memory.
(XEN) no cpu_id for acpi_id 5
(XEN) no cpu_id for acpi_id 6
(XEN) no cpu_id for acpi_id 7
(XEN) no cpu_id for acpi_id 8
PS: please us

Code: Select all

 tags to make it more readable, thanks.
Kabion

Re: HOW-TO make dual-boot obsolete using XEN VGA passthrough

Post by Kabion »

Ok I have an update on my usb passthrough issue.
After checking every usb location on my MB with usb-devices they are all still going to the same pci controller. Could a setting in the bios be causing this? Well either way I have resolved the issue by using a pci 4 port usb card I had and passed it to the guest and it works great.

I have a 1.5TB drive used for file storage is it possible to share this drive so it is usable by both host and guest?

Kab
FastRealm

Re: HOW-TO make dual-boot obsolete using XEN VGA passthrough

Post by FastRealm »

@Kabion
Yes you can. What i did for mine is i formatted the the drive in NTFS format. LM can see and mount NTFS so i make it to always mount when boot up.
Since xen can't mount NTFS, i share out the Drive/Folder using samba with full access and in windows i map the drive/folder.
This way i can access the drive/folder in linux and windows at the same time.
You must be wondering why NTFS and not EXT4? this is because i backup my LM and Windows LVM using Acronis. Acronis can't write to EXT4.
mbalino

Re: HOW-TO make dual-boot obsolete using XEN VGA passthrough

Post by mbalino »

chrulri wrote:@mbalino this is my working xm dmesg on mint 15.
You have I/O Enabled:

(XEN) Intel VT-d supported page sizes: 4kB.
(XEN) Intel VT-d supported page sizes: 4kB.
(XEN) Intel VT-d Snoop Control not enabled.
(XEN) Intel VT-d Dom0 DMA Passthrough not enabled.
(XEN) Intel VT-d Queued Invalidation enabled.
(XEN) Intel VT-d Interrupt Remapping enabled.
(XEN) Intel VT-d Shared EPT tables not enabled.
(XEN) I/O virtualisation enabled

For some reason I DONT !!
Which MB are you using?

I tried :
* Clear the CMOS and set everything again
* Using bios_workaround_bug in the iommu cml
* Use XMP Profile in DRAM and tweak CPU (back to normal thereafter)

No luck at all, I am thinking that I am one of the lucky one that it did not work.
After I googled about the i7-4820k and STH X79, I found out the this CPU was supported by this MB only after the BIOS 4502 upgrade, which is the latest one - October 2013.

Probably there are some ERRORS/HORRORS in the BIOS thet even it shows Vt-x CAPABLE and IVT Enabled, it does not function.

Regards
Marcel
powerhouse
Level 6
Level 6
Posts: 1144
Joined: Thu May 03, 2012 3:54 am
Location: Israel
Contact:

Re: HOW-TO make dual-boot obsolete using XEN VGA passthrough

Post by powerhouse »

mbalino wrote:For some reason THERE IS NO Vt-d
Hardware issues???

I checked the BIOS and is said Virtualization Enabled and Vt-d/x ENABLED

if I disabled then VMX is showing DISABLED.

I am very dissapointed right now ... :evil:

Can you please aste your xm dmesg???
Some posts earlier you posted your h/w configuration:
mbalino wrote:My PC
System: Host: Bolso Kernel: 3.11.0-12-generic x86_64 (64 bit, gcc: 4.8.1) Desktop: Gnome Distro: Linux Mint 16 Petra
Machine: Mobo: ASUSTeK model: SABERTOOTH X79 version: Rev 1.xx Bios: American Megatrends version: 4302 date: 08/29/2013
It looks like a problem with your motherboard BIOS. I already commented on it here: http://forums.linuxmint.com/viewtopic.p ... 20#p788152.

EDIT 13.1.2014: Asus Sabertooth X79 supports VT-d on SB-E CPUs, but not yet on IVB-E CPUs. Check for the latest BIOS on their website!It most likely is the motherboard BIOS. See my warning about the Asus Sabertooth X79 in my how-to, and the following link to the Asus forum: http://vip.asus.com/forum/view.aspx?id= ... uage=en-us.

I have the same motherboard (using BIOS release 1203) and here is my xm dmesg output:

Code: Select all

xm dmesg
(XEN) Xen version 4.1.3 (Ubuntu 4.1.3-3ubuntu1) (stefan.bader@canonical.com) (gcc version 4.7.2 (Ubuntu/Linaro 4.7.2-2ubuntu1) ) Tue Oct  2 09:33:57 UTC 2012
(XEN) Bootloader: GRUB 2.00-7ubuntu11
(XEN) Command line: placeholder iommu=1 dom0_mem=7G,max:7G vga=mode-0x031A
(XEN) Video information:
(XEN)  VGA is graphics mode 1280x1024, 16 bpp
(XEN)  VBE/DDC methods: V2; EDID transfer time: 1 seconds
(XEN) Disc information:
(XEN)  Found 6 MBR signatures
(XEN)  Found 6 EDD information structures
(XEN) Xen-e820 RAM map:
(XEN)  0000000000000000 - 000000000009bc00 (usable)
(XEN)  000000000009bc00 - 00000000000a0000 (reserved)
(XEN)  00000000000e0000 - 0000000000100000 (reserved)
(XEN)  0000000000100000 - 00000000be296000 (usable)
(XEN)  00000000be296000 - 00000000be3aa000 (ACPI NVS)
(XEN)  00000000be3aa000 - 00000000be3b3000 (ACPI data)
(XEN)  00000000be3b3000 - 00000000beaa4000 (reserved)
(XEN)  00000000beaa4000 - 00000000beab5000 (ACPI NVS)
(XEN)  00000000beab5000 - 00000000bead7000 (reserved)
(XEN)  00000000bead7000 - 00000000bead9000 (usable)
(XEN)  00000000bead9000 - 00000000beb26000 (reserved)
(XEN)  00000000beb26000 - 00000000beb30000 (ACPI NVS)
(XEN)  00000000beb30000 - 00000000beb63000 (reserved)
(XEN)  00000000beb63000 - 00000000bed66000 (ACPI NVS)
(XEN)  00000000bed66000 - 00000000bf000000 (usable)
(XEN)  00000000e0000000 - 00000000f0000000 (reserved)
(XEN)  00000000fed1c000 - 00000000fed20000 (reserved)
(XEN)  00000000ff000000 - 0000000100000000 (reserved)
(XEN)  0000000100000000 - 0000000840000000 (usable)
(XEN) ACPI: RSDP 000F0450, 0024 (r2 ALASKA)
(XEN) ACPI: XSDT BE3AA068, 0054 (r1 ALASKA    A M I  1072009 AMI     10013)
(XEN) ACPI: FACP BE3B1F60, 00F4 (r4 ALASKA    A M I  1072009 AMI     10013)
(XEN) ACPI: DSDT BE3AA150, 7E0C (r2 ALASKA    A M I        6 INTL 20051117)
(XEN) ACPI: FACS BEB2DF80, 0040
(XEN) ACPI: APIC BE3B2058, 00BE (r3 ALASKA    A M I  1072009 AMI     10013)
(XEN) ACPI: SSDT BE3B2118, 02AA (r1 AMICPU     PROC        1 MSFT  3000001)
(XEN) ACPI: MCFG BE3B23C8, 003C (r1 ALASKA OEMMCFG.  1072009 MSFT       97)
(XEN) ACPI: HPET BE3B2408, 0038 (r1 ALASKA    A M I  1072009 AMI.        4)
(XEN) ACPI: DMAR BE3B2440, 00B4 (r1 A M I   OEMDMAR        1 INTL        1)
(XEN) System RAM: 32740MB (33526580kB)
(XEN) Domain heap initialised
(XEN) ACPI: 32/64X FACS address mismatch in FADT - beb2df80/0000000000000000, using 32
(XEN) Processor #0 6:13 APIC version 21
(XEN) Processor #2 6:13 APIC version 21
(XEN) Processor #4 6:13 APIC version 21
(XEN) Processor #6 6:13 APIC version 21
(XEN) Processor #8 6:13 APIC version 21
(XEN) Processor #10 6:13 APIC version 21
(XEN) Processor #1 6:13 APIC version 21
(XEN) Processor #3 6:13 APIC version 21
(XEN) Processor #5 6:13 APIC version 21
(XEN) Processor #7 6:13 APIC version 21
(XEN) Processor #9 6:13 APIC version 21
(XEN) Processor #11 6:13 APIC version 21
(XEN) IOAPIC[0]: apic_id 0, version 32, address 0xfec00000, GSI 0-23
(XEN) IOAPIC[1]: apic_id 2, version 32, address 0xfec01000, GSI 24-47
(XEN) Enabling APIC mode:  Phys.  Using 2 I/O APICs
(XEN) Table is not found!
(XEN) Switched to APIC driver x2apic_cluster.
(XEN) Using scheduler: SMP Credit Scheduler (credit)
(XEN) Detected 3209.718 MHz processor.
(XEN) Initing memory sharing.
(XEN) Intel VT-d supported page sizes: 4kB, 2MB, 1GB.
(XEN) Intel VT-d Snoop Control enabled.
(XEN) Intel VT-d Dom0 DMA Passthrough not enabled.
(XEN) Intel VT-d Queued Invalidation enabled.
(XEN) Intel VT-d Interrupt Remapping enabled.
(XEN) Intel VT-d Shared EPT tables not enabled.
(XEN) I/O virtualisation enabled
(XEN)  - Dom0 mode: Relaxed
(XEN) Enabled directed EOI with ioapic_ack_old on!
(XEN) ENABLING IO-APIC IRQs
(XEN)  -> Using old ACK method
(XEN) Platform timer is 14.318MHz HPET
(XEN) Allocated console ring of 32 KiB.
(XEN) VMX: Supported advanced features:
(XEN)  - APIC MMIO access virtualisation
(XEN)  - APIC TPR shadow
(XEN)  - Extended Page Tables (EPT)
(XEN)  - Virtual-Processor Identifiers (VPID)
(XEN)  - Virtual NMI
(XEN)  - MSR direct-access bitmap
(XEN)  - Unrestricted Guest
(XEN) HVM: ASIDs enabled.
(XEN) HVM: VMX enabled
(XEN) HVM: Hardware Assisted Paging (HAP) detected
(XEN) HVM: HAP page sizes: 4kB, 2MB, 1GB
(XEN) Brought up 12 CPUs
(XEN) *** LOADING DOMAIN 0 ***
(XEN)  Xen  kernel: 64-bit, lsb, compat32
(XEN)  Dom0 kernel: 64-bit, PAE, lsb, paddr 0x1000000 -> 0x2350000
(XEN) PHYSICAL MEMORY ARRANGEMENT:
(XEN)  Dom0 alloc.:   0000000820000000->0000000824000000 (1807963 pages to be allocated)
(XEN)  Init. ramdisk: 000000083d65b000->000000083ffff600
(XEN) VIRTUAL MEMORY ARRANGEMENT:
(XEN)  Loaded kernel: ffffffff81000000->ffffffff82350000
(XEN)  Init. ramdisk: ffffffff82350000->ffffffff84cf4600
(XEN)  Phys-Mach map: ffffffff84cf5000->ffffffff85af5000
(XEN)  Start info:    ffffffff85af5000->ffffffff85af54b4
(XEN)  Page tables:   ffffffff85af6000->ffffffff85b27000
(XEN)  Boot stack:    ffffffff85b27000->ffffffff85b28000
(XEN)  TOTAL:         ffffffff80000000->ffffffff85c00000
(XEN)  ENTRY ADDRESS: ffffffff81cf3210
(XEN) Dom0 has maximum 12 VCPUs
(XEN) Scrubbing Free RAM: ...........................................................................................................................................................................................................................................................done.
(XEN) Xen trace buffers: disabled
(XEN) Std. Loglevel: Errors and warnings
(XEN) Guest Loglevel: Nothing (Rate-limited: Errors and warnings)
(XEN) Xen is relinquishing VGA console.
(XEN) *** Serial input -> DOM0 (type 'CTRL-a' three times to switch input to Xen)
(XEN) Freed 220kB init memory.
(XEN) physdev.c:171: dom0: wrong map_pirq type 3
I suggest you contact Asus and request a bug fix. Sorry for the bad news. Please let us know if and what Asus is doing about it. On a more hopeful note, Asus has recently fixed some of their AMD motherboard BIOS that had a bug in the IOMMU implementation.

For others following this thread, use hardware that has been tested and recommended by Xen users - follow the links under Preparation and hardware selection at the introductory part of the how-to.

EDIT: I removed some parts of my reply that turned out irrelevant. I first that we had the same CPU, but this is not the case.
Last edited by powerhouse on Mon Jan 13, 2014 7:25 am, edited 1 time in total.
Subjects of interest: Linux, vfio passthrough virtualization, photography
See my blog on virtualization, including tutorials: https://www.heiko-sieger.info/category/ ... alization/
powerhouse
Level 6
Level 6
Posts: 1144
Joined: Thu May 03, 2012 3:54 am
Location: Israel
Contact:

Re: HOW-TO make dual-boot obsolete using XEN VGA passthrough

Post by powerhouse »

FastRealm wrote:@Kabion
Yes you can. What i did for mine is i formatted the the drive in NTFS format. LM can see and mount NTFS so i make it to always mount when boot up.
Since xen can't mount NTFS, i share out the Drive/Folder using samba with full access and in windows i map the drive/folder.
This way i can access the drive/folder in linux and windows at the same time.
You must be wondering why NTFS and not EXT4? this is because i backup my LM and Windows LVM using Acronis. Acronis can't write to EXT4.
Just a short note:

NEVER let the Windows VM and Linux simultaneously mount the same drive/volume with write permission, for example by kpartx under Linux to mount a Windows VM drive that uses LVM.

As long as you use Samba shares there is no problem of letting both Windows and Linux write to the same drive (share) at the same time.

There is also no need to use NTFS (unless you use Acronis or other Windows software). You can format your partition/drive/LVM volume using ext4, then make it a Samba share.
Subjects of interest: Linux, vfio passthrough virtualization, photography
See my blog on virtualization, including tutorials: https://www.heiko-sieger.info/category/ ... alization/
powerhouse
Level 6
Level 6
Posts: 1144
Joined: Thu May 03, 2012 3:54 am
Location: Israel
Contact:

Re: HOW-TO make dual-boot obsolete using XEN VGA passthrough

Post by powerhouse »

Kabion wrote:Ok I have an update on my usb passthrough issue.
After checking every usb location on my MB with usb-devices they are all still going to the same pci controller. Could a setting in the bios be causing this? Well either way I have resolved the issue by using a pci 4 port usb card I had and passed it to the guest and it works great.

I have a 1.5TB drive used for file storage is it possible to share this drive so it is usable by both host and guest?

Kab
I'm glad you found a solution. Are you using some of the USB headers on the motherboard, for example to connect the front USB ports on your chassis? According to your motherboard documentation there should be several PCI IDs for different USB hosts, and at least two different USB controllers on board (one of them the ASMedia chip). Anyway, as long as you got a working solution, there is no reason to waste more time over it.
Subjects of interest: Linux, vfio passthrough virtualization, photography
See my blog on virtualization, including tutorials: https://www.heiko-sieger.info/category/ ... alization/
powerhouse
Level 6
Level 6
Posts: 1144
Joined: Thu May 03, 2012 3:54 am
Location: Israel
Contact:

Re: HOW-TO make dual-boot obsolete using XEN VGA passthrough

Post by powerhouse »

sivel27 wrote:i also followed the old guide ... perfect.

but, on the new one with 16, it only grabs my audio portion of the card, and not the video.
i looked at my 14 setup again, and i tried editing a few things, but no go. i noticed that the only way it
will grab my card (ati 7850) is with the old method of putting pci ids in the pciback file, where now only the
usb devices go.


thanks again for your time and great guide,
sivel
Thanks for the feedback! Actually I had rewritten the guide because I felt that the initramfs method had - at least in theory - better chances for success. Of course it did work in my setup with LM16. But your post proofs me wrong.

I guess I should edit my how-to and offer also the original pciback script method. But before doing that, do you have the possibility to verify that you made no mistake when specifying the PCI IDs and - most important - did you run update-initramfs (end of step 11 in my how-to)?

Do I understand you correctly that you got VGA passthrough with LM16 when using the pciback script method?
Subjects of interest: Linux, vfio passthrough virtualization, photography
See my blog on virtualization, including tutorials: https://www.heiko-sieger.info/category/ ... alization/
mbalino

Re: HOW-TO make dual-boot obsolete using XEN VGA passthrough

Post by mbalino »

Your guide is awesome, the only thing I will add (IMHO) is to check that you Dom0 start with XEN not QEMU
(my first issue that I figured out ...)

Just to let you know, I updated the BIOS to the latest one 4502 hoping that it will fix the issue, that is why you see 4302 in my previous post) but no luck yet.

I already contacted ASUS and posted in rog.asus.com

Will see...

Regards
Marcel
Kabion

Re: HOW-TO make dual-boot obsolete using XEN VGA passthrough

Post by Kabion »

I'm glad you found a solution. Are you using some of the USB headers on the motherboard, for example to connect the front USB ports on your chassis? According to your motherboard documentation there should be several PCI IDs for different USB hosts, and at least two different USB controllers on board (one of them the ASMedia chip). Anyway, as long as you got a working solution, there is no reason to waste more time over it.
Thanks mate,
Yes I added headers to all ports on the MB and they were all the same. My case has 1 usb 2.0 and 1 3.0 on the front panel. I think that maybe the ASMedia controller is doing all the work as I do see a ASM107x listed twice on the usb-devices under the same controller the rest of the usbs use.
Here is an example.

Code: Select all

Bus=05 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=5000 MxCh= 6
D:  Ver= 3.00 Cls=09(hub  ) Sub=00 Prot=03 MxPS= 9 #Cfgs=  1
P:  Vendor=1d6b ProdID=0003 Rev=03.11
S:  Manufacturer=Linux 3.11.0-12-generic xhci_hcd
S:  Product=xHCI Host Controller
S:  SerialNumber=0000:00:14.0
C:  #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=0mA
I:  If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub

T:  Bus=05 Lev=01 Prnt=01 Port=04 Cnt=01 Dev#=  2 Spd=5000 MxCh= 4
D:  Ver= 3.00 Cls=09(hub  ) Sub=00 Prot=03 MxPS= 9 #Cfgs=  1
P:  Vendor=174c ProdID=3074 Rev=01.00
S:  Manufacturer=ASRock
S:  Product=ASM107x
C:  #Ifs= 1 Cfg#= 1 Atr=c0 MxPwr=8mA
I:  If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub
I just want to say thanks again for your guide it was super easy to follow and only ran into the usb issues...
powerhouse
Level 6
Level 6
Posts: 1144
Joined: Thu May 03, 2012 3:54 am
Location: Israel
Contact:

Re: HOW-TO make dual-boot obsolete using XEN VGA passthrough

Post by powerhouse »

mbalino wrote:Your guide is awesome, the only thing I will add (IMHO) is to check that you Dom0 start with XEN not QEMU
(my first issue that I figured out ...)

Just to let you know, I updated the BIOS to the latest one 4502 hoping that it will fix the issue, that is why you see 4302 in my previous post) but no luck yet.

I already contacted ASUS and posted in rog.asus.com

Will see...

Regards
Marcel
It's important to get in touch with the right people at Asus. You should ask the tech support to escalate this issue to their BIOS development team, and include your xm dmesg output highlighting the problem. For more instructions on whom to contact, see the following post: http://forums.linuxmint.com/viewtopic.p ... 00#p764822.

I would also include the following link as a further reference that something is wrong with the BIOS: http://vip.asus.com/forum/view.aspx?id= ... uage=en-us.

Hope very much that Asus is taking this serious. Also, I will be more than happy to remove my warning regarding the Asus Sabertooth X79 should they make the effort and fix this bug.
Subjects of interest: Linux, vfio passthrough virtualization, photography
See my blog on virtualization, including tutorials: https://www.heiko-sieger.info/category/ ... alization/
powerhouse
Level 6
Level 6
Posts: 1144
Joined: Thu May 03, 2012 3:54 am
Location: Israel
Contact:

Re: HOW-TO make dual-boot obsolete using XEN VGA passthrough

Post by powerhouse »

Kabion wrote:Thanks mate,
Yes I added headers to all ports on the MB and they were all the same. My case has 1 usb 2.0 and 1 3.0 on the front panel. I think that maybe the ASMedia controller is doing all the work as I do see a ASM107x listed twice on the usb-devices under the same controller the rest of the usbs use.
Here is an example.
No problem! Thanks for the explanations - you really went through a lot of trouble to identify the USB ports. Could you post your entire usb-devices output?

Here is mine for reference:

Code: Select all

usb-devices

T:  Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=480 MxCh= 2
D:  Ver= 2.00 Cls=09(hub  ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
P:  Vendor=1d6b ProdID=0002 Rev=03.05
S:  Manufacturer=Linux 3.5.0-44-generic ehci_hcd
S:  Product=EHCI Host Controller
S:  SerialNumber=0000:00:1a.0
C:  #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=0mA
I:  If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub

T:  Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#=  2 Spd=480 MxCh= 6
D:  Ver= 2.00 Cls=09(hub  ) Sub=00 Prot=01 MxPS=64 #Cfgs=  1
P:  Vendor=8087 ProdID=0024 Rev=00.00
C:  #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=0mA
I:  If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub

T:  Bus=01 Lev=02 Prnt=02 Port=04 Cnt=01 Dev#=  3 Spd=12  MxCh= 0
D:  Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1
P:  Vendor=058f ProdID=9410 Rev=01.22
S:  Product=USB Multimedia Keyboard
S:  SerialNumber=USB Multimedia Keyboard
C:  #Ifs= 3 Cfg#= 1 Atr=a0 MxPwr=50mA
I:  If#= 0 Alt= 0 #EPs= 1 Cls=03(HID  ) Sub=01 Prot=01 Driver=usbhid
I:  If#= 1 Alt= 0 #EPs= 1 Cls=03(HID  ) Sub=00 Prot=00 Driver=usbhid
I:  If#= 2 Alt= 0 #EPs= 1 Cls=03(HID  ) Sub=01 Prot=02 Driver=usbhid

T:  Bus=01 Lev=02 Prnt=02 Port=05 Cnt=02 Dev#=  4 Spd=12  MxCh= 0
D:  Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
P:  Vendor=0d8c ProdID=000e Rev=01.00
S:  Product=Generic USB Audio Device   
C:  #Ifs= 4 Cfg#= 1 Atr=a0 MxPwr=100mA
I:  If#= 0 Alt= 0 #EPs= 0 Cls=01(audio) Sub=01 Prot=00 Driver=snd-usb-audio
I:  If#= 1 Alt= 0 #EPs= 0 Cls=01(audio) Sub=02 Prot=00 Driver=snd-usb-audio
I:  If#= 2 Alt= 0 #EPs= 0 Cls=01(audio) Sub=02 Prot=00 Driver=snd-usb-audio
I:  If#= 3 Alt= 0 #EPs= 1 Cls=03(HID  ) Sub=00 Prot=00 Driver=cm109

T:  Bus=10 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=5000 MxCh= 2
D:  Ver= 3.00 Cls=09(hub  ) Sub=00 Prot=03 MxPS= 9 #Cfgs=  1
P:  Vendor=1d6b ProdID=0003 Rev=03.05
S:  Manufacturer=Linux 3.5.0-44-generic xhci_hcd
S:  Product=xHCI Host Controller
S:  SerialNumber=0000:0c:00.0
C:  #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=0mA
I:  If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub

T:  Bus=02 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=480 MxCh= 2
D:  Ver= 2.00 Cls=09(hub  ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
P:  Vendor=1d6b ProdID=0002 Rev=03.05
S:  Manufacturer=Linux 3.5.0-44-generic ehci_hcd
S:  Product=EHCI Host Controller
S:  SerialNumber=0000:00:1d.0
C:  #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=0mA
I:  If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub

T:  Bus=02 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#=  2 Spd=480 MxCh= 8
D:  Ver= 2.00 Cls=09(hub  ) Sub=00 Prot=01 MxPS=64 #Cfgs=  1
P:  Vendor=8087 ProdID=0024 Rev=00.00
C:  #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=0mA
I:  If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub

T:  Bus=02 Lev=02 Prnt=02 Port=02 Cnt=01 Dev#=  7 Spd=12  MxCh= 4
D:  Ver= 1.10 Cls=09(hub  ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1
P:  Vendor=8054 ProdID=0001 Rev=01.00
S:  Manufacturer=ROCLA
S:  Product=KVM PORT SWITCH
C:  #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=100mA
I:  If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub

T:  Bus=02 Lev=03 Prnt=07 Port=00 Cnt=01 Dev#=  8 Spd=1.5 MxCh= 0
D:  Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1
P:  Vendor=045e ProdID=0750 Rev=01.10
S:  Manufacturer=Microsoft
S:  Product=Wired Keyboard 600
C:  #Ifs= 2 Cfg#= 1 Atr=a0 MxPwr=100mA
I:  If#= 0 Alt= 0 #EPs= 1 Cls=03(HID  ) Sub=01 Prot=01 Driver=usbhid
I:  If#= 1 Alt= 0 #EPs= 1 Cls=03(HID  ) Sub=00 Prot=00 Driver=usbhid

T:  Bus=02 Lev=03 Prnt=07 Port=01 Cnt=02 Dev#=  9 Spd=1.5 MxCh= 0
D:  Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1
P:  Vendor=045e ProdID=076c Rev=00.83
S:  Manufacturer=Microsoft
S:  Product=Microsoft® Comfort Mouse 4500
C:  #Ifs= 1 Cfg#= 1 Atr=a0 MxPwr=100mA
I:  If#= 0 Alt= 0 #EPs= 1 Cls=03(HID  ) Sub=01 Prot=02 Driver=usbhid

T:  Bus=02 Lev=03 Prnt=07 Port=02 Cnt=03 Dev#= 10 Spd=1.5 MxCh= 0
D:  Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1
P:  Vendor=058f ProdID=9410 Rev=01.22
S:  Product=USB Multimedia Keyboard
S:  SerialNumber=USB Multimedia Keyboard
C:  #Ifs= 2 Cfg#= 1 Atr=a0 MxPwr=50mA
I:  If#= 0 Alt= 0 #EPs= 1 Cls=03(HID  ) Sub=01 Prot=01 Driver=usbhid
I:  If#= 1 Alt= 0 #EPs= 1 Cls=03(HID  ) Sub=00 Prot=00 Driver=usbhid

T:  Bus=03 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=480 MxCh= 2
D:  Ver= 2.00 Cls=09(hub  ) Sub=00 Prot=01 MxPS=64 #Cfgs=  1
P:  Vendor=1d6b ProdID=0002 Rev=03.05
S:  Manufacturer=Linux 3.5.0-44-generic xhci_hcd
S:  Product=xHCI Host Controller
S:  SerialNumber=0000:09:00.0
C:  #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=0mA
I:  If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub

T:  Bus=04 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=5000 MxCh= 2
D:  Ver= 3.00 Cls=09(hub  ) Sub=00 Prot=03 MxPS= 9 #Cfgs=  1
P:  Vendor=1d6b ProdID=0003 Rev=03.05
S:  Manufacturer=Linux 3.5.0-44-generic xhci_hcd
S:  Product=xHCI Host Controller
S:  SerialNumber=0000:09:00.0
C:  #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=0mA
I:  If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub

T:  Bus=05 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=480 MxCh= 2
D:  Ver= 2.00 Cls=09(hub  ) Sub=00 Prot=01 MxPS=64 #Cfgs=  1
P:  Vendor=1d6b ProdID=0002 Rev=03.05
S:  Manufacturer=Linux 3.5.0-44-generic xhci_hcd
S:  Product=xHCI Host Controller
S:  SerialNumber=0000:0a:00.0
C:  #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=0mA
I:  If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub

T:  Bus=06 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=5000 MxCh= 2
D:  Ver= 3.00 Cls=09(hub  ) Sub=00 Prot=03 MxPS= 9 #Cfgs=  1
P:  Vendor=1d6b ProdID=0003 Rev=03.05
S:  Manufacturer=Linux 3.5.0-44-generic xhci_hcd
S:  Product=xHCI Host Controller
S:  SerialNumber=0000:0a:00.0
C:  #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=0mA
I:  If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub

T:  Bus=07 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=480 MxCh= 2
D:  Ver= 2.00 Cls=09(hub  ) Sub=00 Prot=01 MxPS=64 #Cfgs=  1
P:  Vendor=1d6b ProdID=0002 Rev=03.05
S:  Manufacturer=Linux 3.5.0-44-generic xhci_hcd
S:  Product=xHCI Host Controller
S:  SerialNumber=0000:0b:00.0
C:  #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=0mA
I:  If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub

T:  Bus=08 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=5000 MxCh= 2
D:  Ver= 3.00 Cls=09(hub  ) Sub=00 Prot=03 MxPS= 9 #Cfgs=  1
P:  Vendor=1d6b ProdID=0003 Rev=03.05
S:  Manufacturer=Linux 3.5.0-44-generic xhci_hcd
S:  Product=xHCI Host Controller
S:  SerialNumber=0000:0b:00.0
C:  #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=0mA
I:  If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub

T:  Bus=09 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=480 MxCh= 2
D:  Ver= 2.00 Cls=09(hub  ) Sub=00 Prot=01 MxPS=64 #Cfgs=  1
P:  Vendor=1d6b ProdID=0002 Rev=03.05
S:  Manufacturer=Linux 3.5.0-44-generic xhci_hcd
S:  Product=xHCI Host Controller
S:  SerialNumber=0000:0c:00.0
C:  #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=0mA
I:  If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub

T:  Bus=09 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#=  2 Spd=480 MxCh= 0
D:  Ver= 2.00 Cls=ff(vend.) Sub=ff Prot=ff MxPS=64 #Cfgs=  1
P:  Vendor=04a9 ProdID=1909 Rev=07.01
S:  Manufacturer=Canon
S:  Product=CanoScan
C:  #Ifs= 1 Cfg#= 1 Atr=a0 MxPwr=500mA
I:  If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
My system has 6 USB controllers with 6 different PCI IDs (one of which is a SATA/USB controller PCI card).
Subjects of interest: Linux, vfio passthrough virtualization, photography
See my blog on virtualization, including tutorials: https://www.heiko-sieger.info/category/ ... alization/
powerhouse
Level 6
Level 6
Posts: 1144
Joined: Thu May 03, 2012 3:54 am
Location: Israel
Contact:

Re: HOW-TO make dual-boot obsolete using XEN VGA passthrough

Post by powerhouse »

Today I noticed a new release of Xen in Linux Mint 14. I downloaded, installed and tested the Xen 4.1.5-0ubuntu0.12.10.1 and to my disappointment I still get the error 22. This bug (known as XSA 46) has been haunting Ubuntu and Linux Mint for more than half a year (or is it a year?), but has been solved in Linux Mint 16 with Xen 4.3.

The work-around (force version) for Linux Mint 13/14 is described in the how-to.
Subjects of interest: Linux, vfio passthrough virtualization, photography
See my blog on virtualization, including tutorials: https://www.heiko-sieger.info/category/ ... alization/
Locked

Return to “Virtual Machines”