rottenpotatoes Posted March 8, 2019 Share Posted March 8, 2019 (edited) I am trying to setup a XP vm with hardware passthrough of an old radeon 9250 and creative labs sound blaster card. I have the cards hooked to my unraid server via a pcie to dual pci adapter (example can be found here: https://www.aliexpress.com/item/Desktop-PCI-Express-PCI-e-to-PCI-Adapter-Card-PCIe-to-Dual-Pci-Slot-Expansion-Card/32849431927.html ). My IOMMU groups show the adapter, sound card and what i believe to be the two outputs of the graphics card all in the same group. I think this is fine as all the devices are to be passed to my vm. IOMMU group 15:[12d8:e111] 01:00.0 PCI bridge: Pericom Semiconductor PI7C9X111SL PCIe-to-PCI Reversible Bridge (rev 02) [1274:5880] 02:04.0 Multimedia audio controller: Ensoniq 5880B / Creative Labs CT5880 (rev 02) [1002:5960] 02:05.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] RV280 [Radeon 9200 PRO] (rev 01) [1002:5940] 02:05.1 Display controller: Advanced Micro Devices, Inc. [AMD/ATI] RV280 [Radeon 9200 PRO] (Secondary) (rev 01) however when i try to start the vm im greeted with a popup and the message in the title: "internal error: qemu unexpectedly closed the monitor" the syslog isnt much help either. I tried to start several times in succession so that the errors would be evident in the logs: Mar 7 20:57:52 unraid kernel: vfio-pci 0000:02:05.0: Refused to change power state, currently in D0 Mar 7 20:57:52 unraid kernel: vfio-pci 0000:02:05.1: Refused to change power state, currently in D0 Mar 7 20:57:52 unraid kernel: br0: port 2(vnet0) entered blocking state Mar 7 20:57:52 unraid kernel: br0: port 2(vnet0) entered disabled state Mar 7 20:57:52 unraid kernel: device vnet0 entered promiscuous mode Mar 7 20:57:52 unraid kernel: br0: port 2(vnet0) entered blocking state Mar 7 20:57:52 unraid kernel: br0: port 2(vnet0) entered forwarding state Mar 7 20:57:52 unraid kernel: qemu-system-x86[11275]: segfault at a8 ip 000055f57ce3237a sp 00007ffea39fb520 error 4 in qemu-system-x86_64[55f57cb1b000+af2000] Mar 7 20:57:52 unraid kernel: Code: f9 ff 0f 1f 40 00 66 2e 0f 1f 84 00 00 00 00 00 55 53 48 89 fb 48 83 ec 08 48 8b 6f 58 e8 3e df ff ff 48 89 df e8 e6 e9 ff ff <48> 8b 85 a8 00 00 00 48 85 c0 74 2e 8b 93 a0 00 00 00 39 90 a0 00 Mar 7 20:57:52 unraid kernel: br0: port 2(vnet0) entered disabled state Mar 7 20:57:52 unraid kernel: device vnet0 left promiscuous mode Mar 7 20:57:52 unraid kernel: br0: port 2(vnet0) entered disabled state Mar 7 20:57:53 unraid kernel: vfio-pci 0000:02:05.1: Refused to change power state, currently in D0 Mar 7 20:57:53 unraid kernel: vfio-pci 0000:02:05.0: vgaarb: changed VGA decodes: olddecodes=io+mem,decodes=io+mem:owns=none Mar 7 21:08:20 unraid kernel: vfio-pci 0000:02:05.0: vgaarb: changed VGA decodes: olddecodes=io+mem,decodes=io+mem:owns=none Mar 7 21:08:20 unraid kernel: vfio-pci 0000:02:05.0: Refused to change power state, currently in D0 Mar 7 21:08:20 unraid kernel: vfio-pci 0000:02:05.1: Refused to change power state, currently in D0 Mar 7 21:08:20 unraid kernel: br0: port 2(vnet0) entered blocking state Mar 7 21:08:20 unraid kernel: br0: port 2(vnet0) entered disabled state Mar 7 21:08:20 unraid kernel: device vnet0 entered promiscuous mode Mar 7 21:08:20 unraid kernel: br0: port 2(vnet0) entered blocking state Mar 7 21:08:20 unraid kernel: br0: port 2(vnet0) entered forwarding state Mar 7 21:08:21 unraid kernel: qemu-system-x86[7453]: segfault at a8 ip 00005590982c637a sp 00007fff8132e7b0 error 4 in qemu-system-x86_64[559097faf000+af2000] Mar 7 21:08:21 unraid kernel: Code: f9 ff 0f 1f 40 00 66 2e 0f 1f 84 00 00 00 00 00 55 53 48 89 fb 48 83 ec 08 48 8b 6f 58 e8 3e df ff ff 48 89 df e8 e6 e9 ff ff <48> 8b 85 a8 00 00 00 48 85 c0 74 2e 8b 93 a0 00 00 00 39 90 a0 00 Mar 7 21:08:21 unraid kernel: br0: port 2(vnet0) entered disabled state Mar 7 21:08:21 unraid kernel: device vnet0 left promiscuous mode Mar 7 21:08:21 unraid kernel: br0: port 2(vnet0) entered disabled state Mar 7 21:08:22 unraid kernel: vfio-pci 0000:02:05.1: Refused to change power state, currently in D0 Mar 7 21:08:22 unraid kernel: vfio-pci 0000:02:05.0: vgaarb: changed VGA decodes: olddecodes=io+mem,decodes=io+mem:owns=none Mar 7 21:15:46 unraid kernel: vfio-pci 0000:02:05.0: vgaarb: changed VGA decodes: olddecodes=io+mem,decodes=io+mem:owns=none Mar 7 21:15:46 unraid kernel: vfio-pci 0000:02:05.0: Refused to change power state, currently in D0 Mar 7 21:15:46 unraid kernel: vfio-pci 0000:02:05.1: Refused to change power state, currently in D0 Mar 7 21:15:46 unraid kernel: br0: port 2(vnet0) entered blocking state Mar 7 21:15:46 unraid kernel: br0: port 2(vnet0) entered disabled state Mar 7 21:15:46 unraid kernel: device vnet0 entered promiscuous mode Mar 7 21:15:46 unraid kernel: br0: port 2(vnet0) entered blocking state Mar 7 21:15:46 unraid kernel: br0: port 2(vnet0) entered forwarding state Mar 7 21:15:46 unraid kernel: qemu-system-x86[27299]: segfault at a8 ip 000055982823137a sp 00007ffd38193ae0 error 4 in qemu-system-x86_64[559827f1a000+af2000] Mar 7 21:15:46 unraid kernel: Code: f9 ff 0f 1f 40 00 66 2e 0f 1f 84 00 00 00 00 00 55 53 48 89 fb 48 83 ec 08 48 8b 6f 58 e8 3e df ff ff 48 89 df e8 e6 e9 ff ff <48> 8b 85 a8 00 00 00 48 85 c0 74 2e 8b 93 a0 00 00 00 39 90 a0 00 Mar 7 21:15:46 unraid kernel: br0: port 2(vnet0) entered disabled state Mar 7 21:15:46 unraid kernel: device vnet0 left promiscuous mode Mar 7 21:15:46 unraid kernel: br0: port 2(vnet0) entered disabled state Mar 7 21:15:47 unraid kernel: vfio-pci 0000:02:05.1: Refused to change power state, currently in D0 Mar 7 21:15:47 unraid kernel: vfio-pci 0000:02:05.0: vgaarb: changed VGA decodes: olddecodes=io+mem,decodes=io+mem:owns=none vm xml below: <?xml version='1.0' encoding='UTF-8'?> <domain type='kvm'> <name>Windows XP</name> <uuid>91230a79-b145-678a-dc42-52195269234d</uuid> <description>XP</description> <metadata> <vmtemplate xmlns="unraid" name="Windows XP" icon="windowsxp.png" os="windowsxp"/> </metadata> <memory unit='KiB'>3145728</memory> <currentMemory unit='KiB'>3145728</currentMemory> <memoryBacking> <nosharepages/> </memoryBacking> <vcpu placement='static'>2</vcpu> <cputune> <vcpupin vcpu='0' cpuset='1'/> <vcpupin vcpu='1' cpuset='5'/> </cputune> <os> <type arch='x86_64' machine='pc-i440fx-3.0'>hvm</type> </os> <features> <acpi/> <apic/> </features> <cpu mode='host-passthrough' check='none'> <topology sockets='1' cores='1' threads='2'/> </cpu> <clock offset='localtime'> <timer name='rtc' tickpolicy='catchup'/> <timer name='pit' tickpolicy='delay'/> <timer name='hpet' present='no'/> </clock> <on_poweroff>destroy</on_poweroff> <on_reboot>restart</on_reboot> <on_crash>restart</on_crash> <devices> <emulator>/usr/local/sbin/qemu</emulator> <disk type='file' device='cdrom'> <driver name='qemu' type='raw'/> <source file='/mnt/user/isos/en_windows_xp_professional_with_service_pack_3_x86_cd_x14-80428.iso'/> <target dev='hda' bus='ide'/> <readonly/> <boot order='2'/> <address type='drive' controller='0' bus='0' target='0' unit='0'/> </disk> <disk type='file' device='disk'> <driver name='qemu' type='raw' cache='writeback'/> <source file='/mnt/user/domains/Windows XP/vdisk1.img'/> <target dev='hdc' bus='ide'/> <boot order='1'/> <address type='drive' controller='0' bus='1' target='0' unit='0'/> </disk> <controller type='usb' index='0' model='ich9-ehci1'> <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x7'/> </controller> <controller type='usb' index='0' model='ich9-uhci1'> <master startport='0'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0' multifunction='on'/> </controller> <controller type='usb' index='0' model='ich9-uhci2'> <master startport='2'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x1'/> </controller> <controller type='usb' index='0' model='ich9-uhci3'> <master startport='4'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x2'/> </controller> <controller type='pci' index='0' model='pci-root'/> <controller type='ide' index='0'> <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/> </controller> <controller type='virtio-serial' index='0'> <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/> </controller> <interface type='bridge'> <mac address='52:54:00:e9:40:aa'/> <source bridge='br0'/> <model type='rtl8139'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/> </interface> <serial type='pty'> <target type='isa-serial' port='0'> <model name='isa-serial'/> </target> </serial> <console type='pty'> <target type='serial' port='0'/> </console> <channel type='unix'> <target type='virtio' name='org.qemu.guest_agent.0'/> <address type='virtio-serial' controller='0' bus='0' port='1'/> </channel> <input type='tablet' bus='usb'> <address type='usb' bus='0' port='1'/> </input> <input type='mouse' bus='ps2'/> <input type='keyboard' bus='ps2'/> <hostdev mode='subsystem' type='pci' managed='yes' xvga='yes'> <driver name='vfio'/> <source> <address domain='0x0000' bus='0x02' slot='0x05' function='0x0'/> </source> <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/> </hostdev> <hostdev mode='subsystem' type='pci' managed='yes'> <driver name='vfio'/> <source> <address domain='0x0000' bus='0x02' slot='0x05' function='0x1'/> </source> <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/> </hostdev> <hostdev mode='subsystem' type='pci' managed='yes'> <driver name='vfio'/> <source> <address domain='0x0000' bus='0x02' slot='0x04' function='0x0'/> </source> <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/> </hostdev> <hostdev mode='subsystem' type='usb' managed='no'> <source> <vendor id='0x0461'/> <product id='0x4d17'/> </source> <address type='usb' bus='0' port='2'/> </hostdev> <hostdev mode='subsystem' type='usb' managed='no'> <source> <vendor id='0x062a'/> <product id='0x0201'/> </source> <address type='usb' bus='0' port='3'/> </hostdev> <memballoon model='none'/> </devices> </domain> Also in case its needed, here's my syslinux config: default menu.c32 menu title Lime Technology, Inc. prompt 0 timeout 50 label unRAID OS menu default kernel /bzimage append pcie_acs_override=downstream,multifunction initrd=/bzroot vfio_iommu_type1.allow_unsafe_interrupts=1 label unRAID OS GUI Mode kernel /bzimage append pcie_acs_override=downstream,multifunction vfio_iommu_type1.allow_unsafe_interrupts=1 initrd=/bzroot,/bzroot-gui label unRAID OS Safe Mode (no plugins, no GUI) kernel /bzimage append pcie_acs_override=downstream initrd=/bzroot unraidsafemode label unRAID OS GUI Safe Mode (no plugins) kernel /bzimage append pcie_acs_override=downstream initrd=/bzroot,/bzroot-gui unraidsafemode label Memtest86+ kernel /memtest Any ideas on how to get this to boot? Edited March 8, 2019 by rottenpotatoes Quote Link to comment
SpaceInvaderOne Posted March 9, 2019 Share Posted March 9, 2019 The error that you get "internal error: qemu unexpectedly closed the monitor" what is after that. What is the complete message please. Quote Link to comment
SpaceInvaderOne Posted March 9, 2019 Share Posted March 9, 2019 try passing through this aswell along with the other devices On 3/8/2019 at 3:38 AM, rottenpotatoes said: 01:00.0 PCI bridge: Pericom Semiconductor PI7C9X111SL PCIe-to-PCI Reversible Bridge (rev 02) " Quote Link to comment
rottenpotatoes Posted March 9, 2019 Author Share Posted March 9, 2019 in reply to your first message, the below is the only message i get. Quote Link to comment
rottenpotatoes Posted March 9, 2019 Author Share Posted March 9, 2019 In reply to your second message, this is the error i get when i try to attach the pci bridge you specify. Quote Link to comment
rottenpotatoes Posted March 20, 2019 Author Share Posted March 20, 2019 here is a copy of the syslog. The repeated lines delineate the lines written during the latest trial. Mar 20 12:17:19 unraid kernel: vfio-pci 0000:05:05.0: vgaarb: changed VGA decodes: olddecodes=io+mem,decodes=io+mem:owns=none Mar 20 12:22:55 unraid kernel: vfio-pci 0000:05:05.0: vgaarb: changed VGA decodes: olddecodes=io+mem,decodes=io+mem:owns=none Mar 20 12:22:55 unraid kernel: vfio-pci 0000:05:05.0: Refused to change power state, currently in D0 Mar 20 12:22:55 unraid kernel: vfio-pci 0000:05:05.1: Refused to change power state, currently in D0 Mar 20 12:22:55 unraid kernel: br0: port 2(vnet0) entered blocking state Mar 20 12:22:55 unraid kernel: br0: port 2(vnet0) entered disabled state Mar 20 12:22:55 unraid kernel: device vnet0 entered promiscuous mode Mar 20 12:22:55 unraid kernel: br0: port 2(vnet0) entered blocking state Mar 20 12:22:55 unraid kernel: br0: port 2(vnet0) entered forwarding state Mar 20 12:22:57 unraid avahi-daemon[8902]: Joining mDNS multicast group on interface vnet0.IPv6 with address fe80::fc54:ff:fee9:40aa. Mar 20 12:22:57 unraid avahi-daemon[8902]: New relevant interface vnet0.IPv6 for mDNS. Mar 20 12:22:57 unraid avahi-daemon[8902]: Registering new address record for fe80::fc54:ff:fee9:40aa on vnet0.*. Mar 20 12:22:58 unraid kernel: qemu-system-x86[14591]: segfault at a8 ip 0000561f5568437a sp 00007fff097b28e0 error 4 in qemu-system-x86_64[561f5536d000+af2000] Mar 20 12:22:58 unraid kernel: Code: f9 ff 0f 1f 40 00 66 2e 0f 1f 84 00 00 00 00 00 55 53 48 89 fb 48 83 ec 08 48 8b 6f 58 e8 3e df ff ff 48 89 df e8 e6 e9 ff ff <48> 8b 85 a8 00 00 00 48 85 c0 74 2e 8b 93 a0 00 00 00 39 90 a0 00 Mar 20 12:22:58 unraid avahi-daemon[8902]: Interface vnet0.IPv6 no longer relevant for mDNS. Mar 20 12:22:58 unraid avahi-daemon[8902]: Leaving mDNS multicast group on interface vnet0.IPv6 with address fe80::fc54:ff:fee9:40aa. Mar 20 12:22:58 unraid kernel: br0: port 2(vnet0) entered disabled state Mar 20 12:22:58 unraid kernel: device vnet0 left promiscuous mode Mar 20 12:22:58 unraid kernel: br0: port 2(vnet0) entered disabled state Mar 20 12:22:58 unraid avahi-daemon[8902]: Withdrawing address record for fe80::fc54:ff:fee9:40aa on vnet0. Mar 20 12:22:59 unraid kernel: vfio-pci 0000:05:05.1: Refused to change power state, currently in D0 Mar 20 12:22:59 unraid kernel: vfio-pci 0000:05:05.0: vgaarb: changed VGA decodes: olddecodes=io+mem,decodes=io+mem:owns=none Quote Link to comment
jonp Posted March 20, 2019 Share Posted March 20, 2019 Qemu doesn't seem to like that PCIe splitter you're trying to use. Might need to submit a bug report to the qemu project given the segfault message in there. Quote Link to comment
rottenpotatoes Posted March 24, 2019 Author Share Posted March 24, 2019 I have put in a bug report as recommended. The person helping me there is requesting: Could you get a backtrace of qemu crashing - this might be easiest if your distro records core dumps somewhere. I dont know how to do this. Can someone help me figure out 1)what this is and 2) how to do it so i can get this info to the bug report? also fyi for anyone interested, my bug report and conversation: https://bugs.launchpad.net/qemu/+bug/1821054 Quote Link to comment
BAZOOKAPANDA Posted February 3, 2022 Share Posted February 3, 2022 (edited) I am having this same error when I try to pass my GPU through. What could be causing this? Edit: I discovered that I needed to: 1. Go to: Tools / System Devices 2. Find the PCIE device in question 3. Select the tick box next to the item 4. Scroll down 5. Press the button that says "BIND SELECTED TO VFIO BOOT" 6. Restart Unraid Edited February 3, 2022 by BAZOOKAPANDA Discoverd the solution want to pass it along Quote Link to comment
Recommended Posts
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.