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.

Help Passing through PCIe sound card to Windows 7 VM

Featured Replies

I use Casatunes (casatunes.com) for my whole house audio. I have their PCIe card and software running on Windows 7.  I'm trying to virtualize this under a Windows VM in unraid.

 

I tested passing my GPU through before pulling the sound card and putting it in unraid and that seemed to go well. Windows 7 recognized the video card and all seemed well so i pulled the PCIe card and tried it.  I had installed the Xen PV drivers before starting this.  (ejbpv_Vista2008x64_1.0.1100 specifically)

 

I'm not seeing any audio devices in my VM though.  If anyone has any idea what I might be doing wrong or can help troubleshoot I would appreciate it.  The Xli card has a driver installation package that I did install/run after installing the PV drivers and setting everything up.

 

Here's my setup:

 

Hardware:

Asus M5A97 R2.0 Socket AM3+ ATX AMD Motherboard

AMD FX 8320 Black Edition 3.5GHz AM3+ Boxed Processor

Corsair 8GB DDR3-1333 (PC3-10600) ECC CL9 Desktop Memory

 

Software:

root@unraid:~# lspci
00:00.0 Host bridge: AMD/ATI [Advanced Micro Devices, Inc.] RD890 PCI to PCI bridge (external gfx0 port B) (rev 02)
00:00.2 IOMMU: AMD/ATI [Advanced Micro Devices, Inc.] RD990 I/O Memory Management Unit (IOMMU)
00:02.0 PCI bridge: AMD/ATI [Advanced Micro Devices, Inc.] RD890 PCI to PCI bridge (PCI express gpp port B)
00:04.0 PCI bridge: AMD/ATI [Advanced Micro Devices, Inc.] RD890 PCI to PCI bridge (PCI express gpp port D)
00:05.0 PCI bridge: AMD/ATI [Advanced Micro Devices, Inc.] RD890 PCI to PCI bridge (PCI express gpp port E)
00:07.0 PCI bridge: AMD/ATI [Advanced Micro Devices, Inc.] RD890 PCI to PCI bridge (PCI express gpp port G)
00:0a.0 PCI bridge: AMD/ATI [Advanced Micro Devices, Inc.] RD890 PCI to PCI bridge (external gfx1 port A)
00:11.0 SATA controller: AMD/ATI [Advanced Micro Devices, Inc.] SB7x0/SB8x0/SB9x0 SATA Controller [AHCI mode] (rev 40)
00:12.0 USB controller: AMD/ATI [Advanced Micro Devices, Inc.] SB7x0/SB8x0/SB9x0 USB OHCI0 Controller
00:12.2 USB controller: AMD/ATI [Advanced Micro Devices, Inc.] SB7x0/SB8x0/SB9x0 USB EHCI Controller
00:13.0 USB controller: AMD/ATI [Advanced Micro Devices, Inc.] SB7x0/SB8x0/SB9x0 USB OHCI0 Controller
00:13.2 USB controller: AMD/ATI [Advanced Micro Devices, Inc.] SB7x0/SB8x0/SB9x0 USB EHCI Controller
00:14.0 SMBus: AMD/ATI [Advanced Micro Devices, Inc.] SBx00 SMBus Controller (rev 42)
00:14.3 ISA bridge: AMD/ATI [Advanced Micro Devices, Inc.] SB7x0/SB8x0/SB9x0 LPC host controller (rev 40)
00:14.4 PCI bridge: AMD/ATI [Advanced Micro Devices, Inc.] SBx00 PCI to PCI Bridge (rev 40)
00:14.5 USB controller: AMD/ATI [Advanced Micro Devices, Inc.] SB7x0/SB8x0/SB9x0 USB OHCI2 Controller
00:15.0 PCI bridge: AMD/ATI [Advanced Micro Devices, Inc.] SB700/SB800/SB900 PCI to PCI bridge (PCIE port 0)
00:16.0 USB controller: AMD/ATI [Advanced Micro Devices, Inc.] SB7x0/SB8x0/SB9x0 USB OHCI0 Controller
00:16.2 USB controller: AMD/ATI [Advanced Micro Devices, Inc.] SB7x0/SB8x0/SB9x0 USB EHCI Controller
00:18.0 Host bridge: AMD [Advanced Micro Devices, Inc.] Family 15h Processor Function 0
00:18.1 Host bridge: AMD [Advanced Micro Devices, Inc.] Family 15h Processor Function 1
00:18.2 Host bridge: AMD [Advanced Micro Devices, Inc.] Family 15h Processor Function 2
00:18.3 Host bridge: AMD [Advanced Micro Devices, Inc.] Family 15h Processor Function 3
00:18.4 Host bridge: AMD [Advanced Micro Devices, Inc.] Family 15h Processor Function 4
00:18.5 Host bridge: AMD [Advanced Micro Devices, Inc.] Family 15h Processor Function 5
02:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168 PCI Express Gigabit Ethernet controller (rev 09)
03:00.0 USB controller: ASMedia Technology Inc. Device 1142
04:00.0 USB controller: ASMedia Technology Inc. Device 1142
05:00.0 PCI bridge: Creative Labs [sB X-Fi Xtreme Audio] CA0110-IBG PCI to PCIe Bridge
06:00.0 Audio device: Creative Labs [sB X-Fi Xtreme Audio] CA0110-IBG
08:00.0 VGA compatible controller: AMD/ATI [Advanced Micro Devices, Inc.] RV710 [Radeon HD 4350/4550]
08:00.1 Audio device: AMD/ATI [Advanced Micro Devices, Inc.] RV710/730 HDMI Audio [Radeon HD 4000 series]

 

My syslinux.cfg reads:

label Xen/unRAID OS
  menu default
  kernel /syslinux/mboot.c32
  append /xen dom0_mem=2097152 --- /bzimage xen-pciback.hide=(05:00.0)(06:00.0) --- /bzroot

 

My Window7.cfg reads:

name = "Windows7"
builder = "hvm"
# kernel = 'hvmloader' not needed.
# device_model_version = "qemu-xen-traditional" deprecated.

# You can adjust the vcpu and memory lines if you wish.
vcpus = 2
memory = 4096

# Win7x64.iso is the name of my ISO, change it to whatever yours is named.
# When your Windows 7 installation is complete, you can delete the reference to your ISO image below, which is this part:
#  , 'file:/mnt/cache/Xen/Windows7/Windows7ProX64.iso,hdc:cdrom,r'
disk = ['qcow2:/mnt/cache/Xen/Windows7/Windows7.qcow2,hda,w' ]

# Note: Your bridge name (br0) needs to match the bridge name in the unRAID network settings.
vif = [ 'mac=00:16:3e:01:01:01,bridge=br0' ]

# When your Windows 7 installation is complete, change this to "c" so you don't boot with the DVD.
boot = "c"

acpi = '1'
apic = '1'
viridian = '1'
xen_platform_pci = '1'
sdl = '0'
vnc = '1'

# This is the IP address of your unRAID server.
vnclisten = '192.168.0.100'

# vncpasswd = '' No password.
stdvga=1
usb = '1'
usbdevice = 'tablet'
pci = ['05:00.0','06:00.0']
localtime = 1
on_poweroff = "destroy"
on_reboot = "restart"
on_crash = "destroy"

 

 

root@unraid:/mnt/cache/Xen/Windows7# xl pci-list Windows7
Vdev Device
00.0 0000:05:00.0
05.0 0000:06:00.0

 

 

My device manager output in windows is attached.  I'm not 100% sure if that pci device 0 is normal or not.  Some googling gave me mixed results.

dm.PNG.6d6d1fcd6e69acec13c1447323aadb91.PNG

  • Author

An update, I realized there was a xen folder under /var/log.

 

root@unraid:/var/log/xen# cat qemu-dm-Windows7.log
[00:05.0] xen_pt_pcie_size_init: Error: Unsupported device/port type 0x7.
[00:05.0] xen_pt_initfn: Error: PCI Config space initialisation failed.

 

Doesn't sound good.  Googling know but any help would be appreciated.

An update, I realized there was a xen folder under /var/log.

 

root@unraid:/var/log/xen# cat qemu-dm-Windows7.log
[00:05.0] xen_pt_pcie_size_init: Error: Unsupported device/port type 0x7.
[00:05.0] xen_pt_initfn: Error: PCI Config space initialisation failed.

 

Doesn't sound good.  Googling know but any help would be appreciated.

 

Do not pass through device 5, it is not necessary and not supported to pass through bridges.  Also remove that pciback hide from your syslinux.cfg.  not necessary in unraid.

  • Author

Do not pass through device 5, it is not necessary and not supported to pass through bridges.  Also remove that pciback hide from your syslinux.cfg.  not necessary in unraid.

 

First, thanks for the reply!

 

I cleaned up syslinux.cfg and removed 5 from the Windows7.cfg file.  Rebooted unraid and after that I got a message saying:

 

libxl: error: libxl_pci.c:1055:libxl__device_pci_add: PCI device 0:6:0.0 is not assignable

 

The error looks  different than how 6 is defined in the .cfg file.  Not sure if that's just reporting incorrectly or what.

 

I put the pciback part in syslinux.cfg for just device 6 and rebooting trying again.  The error is no longer there (right or wrong remains to be seen).

 

I am still not seeing the device in device manager (no sound devices) even after reinstalling the card's drivers.

 

 

Here's where pci-list sits.

 

root@unraid:/var/log/xen# xl pci-list Windows7
Vdev Device
05.0 0000:06:00.0

root@unraid:/var/log/xen# xl pci-assignable-list
root@unraid:/var/log/xen#

root@unraid:/var/log/xen# lspci -vQ
06:00.0 Audio device: Creative Labs [sB X-Fi Xtreme Audio] CA0110-IBG
        Subsystem: Creative Labs SB1040
        Flags: bus master, medium devsel, latency 32, IRQ 47
        Memory at fe800000 (32-bit, non-prefetchable) [size=16K]
        Capabilities: [dc] Power Management version 3
        Kernel driver in use: pciback


 

 

More digging...  Still lost though.

 

xl dmesg produces this at the bottom.

 

(XEN) setup 0000:06:00.0 for d0 failed (-19)
(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 280kB init memory.
(XEN) traps.c:2514:d0 Domain attempted WRMSR 00000000c0010201 from 0x0000000000000000 to 0x000000000000ffff.
(XEN) XEN_DOMCTL_assign_device: assign 0000:06:00.0 to dom1 failed (-19)
(XEN) deassign 0000:06:00.0 from dom1 failed (-19)
(XEN) XEN_DOMCTL_assign_device: assign 0000:06:00.0 to dom2 failed (-19)

 

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.