Skip to content
View in the app

A better way to browse. Learn more.

Unraid

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Ubuntu Passthrough Help (PCI device 0:2:0.0 is not assignable)

Featured Replies

Hi Guys,

 

Been trying to get this going for a few hours now with no success. VT-D is enabled in the BIOS. I've shutdown and restarted, etc but still no go.

 

root@BBDG:~# xl create /mnt/cache/VM/ubuntu.cfg 
Parsing config from /mnt/cache/VM/ubuntu.cfg
xc: info: VIRTUAL MEMORY ARRANGEMENT:
  Loader:        0000000000100000->000000000019ec84
  Modules:       0000000000000000->0000000000000000
  TOTAL:         0000000000000000->000000007f800000
  ENTRY ADDRESS: 0000000000100000
xc: info: PHYSICAL MEMORY ALLOCATION:
  4KB PAGES: 0x0000000000000200
  2MB PAGES: 0x00000000000003fb
  1GB PAGES: 0x0000000000000000
libxl: error: libxl_pci.c:1056:libxl__device_pci_add: PCI device 0:2:0.0 is not assignable
libxl: error: libxl_pci.c:1056:libxl__device_pci_add: PCI device 0:2:0.1 is not assignable

 

root@BBDG:~# lspci
00:00.0 Host bridge: Intel Corporation Xeon E3-1200 v2/Ivy Bridge 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:06.0 PCI bridge: Intel Corporation Xeon E3-1200 v2/3rd Gen Core processor PCI Express Root Port (rev 09)
00:16.0 Communication controller: Intel Corporation 6 Series/C200 Series Chipset Family MEI Controller #1 (rev 04)
00:1a.0 USB controller: Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #2 (rev 05)
00:1c.0 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 1 (rev b5)
00:1c.5 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 6 (rev b5)
00:1c.6 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 7 (rev b5)
00:1c.7 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 8 (rev b5)
00:1d.0 USB controller: Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #1 (rev 05)
00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev a5)
00:1f.0 ISA bridge: Intel Corporation C206 Chipset Family LPC Controller (rev 05)
00:1f.2 SATA controller: Intel Corporation 6 Series/C200 Series Chipset Family SATA AHCI Controller (rev 05)
00:1f.3 SMBus: Intel Corporation 6 Series/C200 Series Chipset Family SMBus Controller (rev 05)
01:00.0 VGA compatible controller: AMD/ATI [Advanced Micro Devices, Inc.] Pitcairn
01:00.1 Audio device: AMD/ATI [Advanced Micro Devices, Inc.] Cape Verde/Pitcairn HDMI Audio [Radeon HD 7700/7800 Series]
02:00.0 VGA compatible controller: AMD/ATI [Advanced Micro Devices, Inc.] Tahiti PRO [Radeon HD 7950]
02:00.1 Audio device: AMD/ATI [Advanced Micro Devices, Inc.] Tahiti XT HDMI Audio [Radeon HD 7970 Series]
03:00.0 SATA controller: Marvell Technology Group Ltd. 88SE9230 PCIe SATA 6Gb/s Controller (rev 10)
04:00.0 Ethernet controller: Intel Corporation 82574L Gigabit Network Connection
05:00.0 Ethernet controller: Intel Corporation 82574L Gigabit Network Connection
06:00.0 USB controller: ASMedia Technology Inc. ASM1042 SuperSpeed USB Host Controller

 

builder = 'hvm'
vcpus = '2'
memory = '2048'
device_model_version="qemu-xen-traditional"
disk = ['file:/mnt/cache/VM/ubuntu.13-04.xfce.x86-64.20130424.img,xvda,w']
name = 'Ubuntu'
vif = [ 'mac=00:16:3E:51:20:4C,bridge=xenbr0,model=e1000' ]
on_poweroff = 'destroy'
on_reboot = 'restart'
on_crash = 'restart'
boot = 'dc'
acpi = '1'
apic = '1'
viridian = '1'
xen_platform_pci='1'
sdl = '0'
vnc = '1'
vnclisten = '0.0.0.0'
vncpasswd = ''
stdvga = '0'
usb = '1'
usbdevice = 'tablet'
pci = ['02:00.0','02:00.1']

 

 

Any ideas?

 

(Don't tell me my £200 motherboard has broken VT-D/IOMMU...)

What does lspci -k say? ie have you detached it from dom0?

 

Sent from my Nexus 7 using Tapatalk

 

 

  • Author

What does lspci -k say? ie have you detached it from dom0?

 

Sent from my Nexus 7 using Tapatalk

 

No I haven't detached it?

 

I will google that...

xl pci-assignable-detach if memory serves but you really want to get it so you don't need to do that in the first place which means pciback grabbing it for you. Checks the guides on here for how to do so,

 

Sent from my Nexus 7 using Tapatalk

 

 

You need to add a xen-pciback to syslinux.cfg

 

 

 

Sent from my Nexus 5 using Tapatalk

 

 

if you issue

 

xl pci-assignable-list

 

it should list pci devices that can be assigned. Your devices should be listed here before you attempt to assign.

 

(I've documented this process end to end in a post on my blog, linked in my sig)

 

Peter

  • Author

if you issue

 

xl pci-assignable-list

 

it should list pci devices that can be assigned. Your devices should be listed here before you attempt to assign.

 

(I've documented this process end to end in a post on my blog, linked in my sig)

 

Peter

 

Ok. Done! assignable-list shows the GPU I want to passthrough.

 

However now I get this error:

 

libxl_report_child_exitstatus: console child [0] exited with error status 2

 

Thoughts

Post Ubuntu.cfg in code tags (so I can read on phone) and also the command you're issuing that generates the error.

 

Sent from my Nexus 5 using Tapatalk

 

 

  • Author

Post Ubuntu.cfg in code tags (so I can read on phone) and also the command you're issuing that generates the error.

 

Sent from my Nexus 5 using Tapatalk

 

kernel = 'hvmloader'
builder = 'hvm'
vcpus = '2'
bootloader = "/usr/bin/pygrub"
memory = 2048
device_model_version="qemu-xen-traditional"
name = "Ubuntu"
vif = [ '' ]
disk = ['file:/mnt/cache/VM/ubuntu.img,xvda,w']
root = "/dev/xvda"
extra = "fastboot"
on_poweroff = 'destroy'
on_reboot = 'restart'
on_crash = 'restart'
acpi = '1'
xen_platform_pci='1'
sdl = '0'
pci = ['01:00.0','01:00.1']

 

 

Running xl create ubuntu.cfg results in it crashing within a few seconds.

Running xl create ubuntu.cfg -c results in the above error.

 

I also tried installing windows 7 using your windows 8 guide and the same as above happens.

 

My windows config was:

 

name = 'windows'
builder = 'hvm'
vcpus = '4'
memory = '4096'
device_model_version="qemu-xen-traditional"
disk = [
        'phy:/mnt/cache/VM/windows.img,hda,w',
        'file:/mnt/cache/VM/Windows7.iso,hdc:cdrom,r'
]
vif = [ 'mac=00:16:3E:51:20:4C,bridge=br0,model=e1000' ]
on_poweroff = 'destroy'
on_reboot = 'restart'
on_crash = 'restart'
boot = 'dc'
acpi = '1'
apic = '1'
viridian = '1'
xen_platform_pci='1'
sdl = '0'
vnc = '1'
vnclisten = '0.0.0.0'
vncpasswd = ''
stdvga = '0'
usb = '1'
usbdevice = 'tablet'
#pci = ['01:00.0','01:00.1']

  • Author

Although saying that, I just rebooted and it seems to be working...

 

Installing windows 7 now  ::)

 

Edit:

 

OK now I've got an up-to-date Windows 7 x64 install, I've added the PCI passthrough and it is detected in the VM.

 

I try and install the drivers and it seems to just hang.

 

The monitor that is plugged in via DVI to the card I've passthrough is showing some text but not UnRAID logon (some things about ACPI, temperature zones, etc - normal)?

 

Is this what you meant by Windows 7 being a pain? Any ideas on how to push it through the final hurdle? I'm going to leave it overnight to see if it has actually given up or just taking a while!

 

Cheers

Is this what you meant by Windows 7 being a pain? Any ideas on how to push it through the final hurdle? I'm going to leave it overnight to see if it has actually given up or just taking a while!

 

Yes. This is exactly what I meant. Don't leave it overnight, it's gone - you'll need to reboot the host to reset the card now anyway.

 

When I install Windows 8 / 8.1 and the AMD drivers install (automatically nowadays) the VM locks up about 10 seconds after the driver installation is complete. Then I reboot the host, via the reset button as that's your only option. Once rebooted I then restart the Windows VM and it all magically works, usually with an underscan issue (look on my blog for how to disable overscan without using CCC). Then I setup the reboot scripts and bob's your uncle (you absolutely must do this or you'll lock up your entire system every Windows reboot).

 

  • Author

OK I'll try windows 8.1 next then...

 

Cheers

  • Author

Currently installing...

 

However, it seems passing through nvidia cards can/is be a pain.

 

Therefore can I change UnRAID to be the DomU1 and have Ubuntu Dom0?

 

Cheers!

 

 

Edit: OK, VNC now freezes. But there is just a black screen on the DVI output of my 7950 (device 2).

 

My windows config is this:

 

name = 'Windows8'
builder = 'hvm'
vcpus = '4'
memory = '4096'
device_model_version="qemu-xen-traditional"
disk = [
        'phy:/mnt/cache/VM/Windows8.img,hda,w',
]
vif = [ 'mac=00:16:3E:51:20:4B,bridge=xenbr0,model=e1000' ]
on_poweroff = 'destroy'
on_reboot = 'restart'
on_crash = 'restart'
boot = 'dc'
acpi = '1'
apic = '1'
viridian = '1'
xen_platform_pci='1'
sdl = '0'
vnc = '1'
vnclisten = '0.0.0.0'
vncpasswd = ''
stdvga = '0'
usb = '1'
usbdevice = 'tablet'
pci=['02:00.0','02:00.1']

 

 

Any ideas? :(

Archived

This topic is now archived and is closed to further replies.

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.