Primary PCIE GPU / Code 43 (Nvidia) but Secondary PCIE Slot works fine


Recommended Posts

Hello, I am hoping someone could help me. I changed my case with all the same components to a new case, was having issues getting POST until I cleared out CMOS. In my bios I have SR-IOV, VT-d, "Above 4G Decoding" all enabled. (I do not see "IOMMU" keyword anywhere on my bios so I assume it's on by default or it's an AMD thing, sorry if I sound stupid (I have intel)).

Specs
Unraid Version: 6.11.5
MOBO - ASRock Z490 Pro4
CPU - i7 10700k

64Gigs Ram 3200 Corsair

Primary GPU (top/first slot PCIe) - EGVA GTX 1060
Secondary GPU - GTX 1660
- I troubleshooted using multiple and same cards. It's just the Primary/First PCIE that doesn't wanna do anything but give me Code 43, I have installed multiple VMs, with the latest drivers straight from Nvidia, and for kicks and giggles from the Windows Update. In the second PCIE Slot (doesn't matter the GPU) it works fine, there is no physical damage on the cards and or Primary PCIE slot either (Unraid see's the card, I am able to get a display upon boot). 

I followed a few guides Tutorial 1Tutorial 2. I never needed a VBIOS on any of my cards, but I figured it's worth a shot. So I followed "Spaceinvader One" video How to Easily Dump the vBios from any GPU for Passthrough, along with his Userscript Dump GPU vBIOS, no luck with my VBIOS so I download others from Tech Power Up - Video BIOS Collection.

Added additional flags/strings to my "Syslinux Configuration"
 

default menu.c32
menu title Lime Technology, Inc.
prompt 0
timeout 50
label Unraid OS
  menu default
  kernel /bzimage
  append vfio-pci.ids=10de:1c03,10de:10f1 pcie_acs_override=downstream,multifunction vfio_iommu_type1.allow_unsafe_interrupts=1 initrd=/bzroot
label Unraid OS GUI Mode
  kernel /bzimage
  append pcie_acs_override=downstream,multifunction initrd=/bzroot,/bzroot-gui earlymodules=vfio-pci video=efifb:off,vesafb:off vfio_iommu_type1.allow_unsafe_interrupts=1 gfxpayload=text
label Unraid OS Safe Mode (no plugins, no GUI)
  kernel /bzimage
  append initrd=/bzroot unraidsafemode
label Unraid OS GUI Safe Mode (no plugins)
  kernel /bzimage
  append initrd=/bzroot,/bzroot-gui unraidsafemode
label Memtest86+
  kernel /memtest


Also defaulted them back to how it original was...

I am just at a loss, and I really could use a hand. Thank you in advanced, I am not sure what y'all need but I've attached my current .XML VM, System Diagnostics, and VFIO IOMMU Grouping thingy below.

P.S. I also reformatted my Unraid USB OS to straight fresh, and re-did everything with still no luck.

PCI Devices and IOMMU Groups.png

tower-diagnostics-20230511-1346.zip VM XML Template.txt

Link to comment

1)

May 11 13:11:30 Tower kernel: pci 0000:01:00.0: BAR 3: assigned to efifb

I think the kernel arguments you are using in your syslinux conf are wrong**; this:

video=efifb:off,vesafb:off

 

should be:

video=efifb:off video=vesafb:off

 

But I don't think you need to kill vesafb (as far as I know efifb is used or vesafb, depending on the kernel version), so just replace with:

video=efifb:off

 

2)

May 11 13:11:30 Tower kernel: pci 0000:01:00.0: vgaarb: setting as boot VGA device

This vga is flagged as boot vga, so vbios is a must, try to use the one attached.

 

3) general advices:

- do not use both novnc and gpu passthrough

- always set the gpu in the target as a multifunction device

- if i440fx doesn't work try q35 with better pcie passthrough compatibility

 

**As far as syslinux try this:

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 vfio_iommu_type1.allow_unsafe_interrupts=1 video=efifb:off initrd=/bzroot
label Unraid OS GUI Mode
  kernel /bzimage
  append initrd=/bzroot,/bzroot-gui
label Unraid OS Safe Mode (no plugins, no GUI)
  kernel /bzimage
  append initrd=/bzroot unraidsafemode
label Unraid OS GUI Safe Mode (no plugins)
  kernel /bzimage
  append initrd=/bzroot,/bzroot-gui unraidsafemode
label Memtest86+
  kernel /memtest

 

No need to touch the unraid os gui mode, if you want to boot with gui why you disable efifb?Instead modifiy unraid os and boot unraid os label if you want to passthrough the primary gpu; no need to use vfio-pci.ids with ids, unraid has its own mechanism to attach devices to vfio at boot and you already configured them.

 

236582.rom

Edited by ghost82
Link to comment
  • 3 months later...
On 5/13/2023 at 5:20 AM, ghost82 said:

1)

May 11 13:11:30 Tower kernel: pci 0000:01:00.0: BAR 3: assigned to efifb

I think the kernel arguments you are using in your syslinux conf are wrong**; this:

video=efifb:off,vesafb:off

 

should be:

video=efifb:off video=vesafb:off

 

But I don't think you need to kill vesafb (as far as I know efifb is used or vesafb, depending on the kernel version), so just replace with:

video=efifb:off

 

2)

May 11 13:11:30 Tower kernel: pci 0000:01:00.0: vgaarb: setting as boot VGA device

This vga is flagged as boot vga, so vbios is a must, try to use the one attached.

 

3) general advices:

- do not use both novnc and gpu passthrough

- always set the gpu in the target as a multifunction device

- if i440fx doesn't work try q35 with better pcie passthrough compatibility

 

**As far as syslinux try this:

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 vfio_iommu_type1.allow_unsafe_interrupts=1 video=efifb:off initrd=/bzroot
label Unraid OS GUI Mode
  kernel /bzimage
  append initrd=/bzroot,/bzroot-gui
label Unraid OS Safe Mode (no plugins, no GUI)
  kernel /bzimage
  append initrd=/bzroot unraidsafemode
label Unraid OS GUI Safe Mode (no plugins)
  kernel /bzimage
  append initrd=/bzroot,/bzroot-gui unraidsafemode
label Memtest86+
  kernel /memtest

 

No need to touch the unraid os gui mode, if you want to boot with gui why you disable efifb?Instead modifiy unraid os and boot unraid os label if you want to passthrough the primary gpu; no need to use vfio-pci.ids with ids, unraid has its own mechanism to attach devices to vfio at boot and you already configured them.

 

236582.rom 254 kB · 1 download

you you give me a hand on my issue ?

 

Link to comment
On 5/13/2023 at 5:20 AM, ghost82 said:

1)

May 11 13:11:30 Tower kernel: pci 0000:01:00.0: BAR 3: assigned to efifb

I think the kernel arguments you are using in your syslinux conf are wrong**; this:

video=efifb:off,vesafb:off

 

should be:

video=efifb:off video=vesafb:off

 

But I don't think you need to kill vesafb (as far as I know efifb is used or vesafb, depending on the kernel version), so just replace with:

video=efifb:off

 

2)

May 11 13:11:30 Tower kernel: pci 0000:01:00.0: vgaarb: setting as boot VGA device

This vga is flagged as boot vga, so vbios is a must, try to use the one attached.

 

3) general advices:

- do not use both novnc and gpu passthrough

- always set the gpu in the target as a multifunction device

- if i440fx doesn't work try q35 with better pcie passthrough compatibility

 

**As far as syslinux try this:

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 vfio_iommu_type1.allow_unsafe_interrupts=1 video=efifb:off initrd=/bzroot
label Unraid OS GUI Mode
  kernel /bzimage
  append initrd=/bzroot,/bzroot-gui
label Unraid OS Safe Mode (no plugins, no GUI)
  kernel /bzimage
  append initrd=/bzroot unraidsafemode
label Unraid OS GUI Safe Mode (no plugins)
  kernel /bzimage
  append initrd=/bzroot,/bzroot-gui unraidsafemode
label Memtest86+
  kernel /memtest

 

No need to touch the unraid os gui mode, if you want to boot with gui why you disable efifb?Instead modifiy unraid os and boot unraid os label if you want to passthrough the primary gpu; no need to use vfio-pci.ids with ids, unraid has its own mechanism to attach devices to vfio at boot and you already configured them.

 

236582.rom 254 kB · 1 download

 

 

I have same problem and I noticed 

 

 

 

Sep 3 12:29:10 Tower kernel: pci 0000:01:00.0: vgaarb: setting as boot VGA device

Sep 3 12:29:10 Tower kernel: pci 0000:01:00.0: vgaarb: bridge control possible

Sep 3 12:29:10 Tower kernel: pci 0000:01:00.0: vgaarb: VGA device added: decodes=io+mem,owns=io+mem,locks=none

Sep 3 12:29:10 Tower kernel: pci 0000:4d:00.0: vgaarb: bridge control possible

Sep 3 12:29:10 Tower kernel: pci 0000:4d:00.0: vgaarb: VGA device added: decodes=io+mem,owns=none,locks=none

Sep 3 12:29:10 Tower kernel: vgaarb: loaded

 

 

I'm using GT710 in my slot 

Link to comment
  • 2 weeks later...

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.