Current/New - unRaid HP Proliant Edition - RMRR Error Patching


13 posts in this topic Last Reply

Recommended Posts

Welcome to the new method of working around HP's RMRR problem on unRaid. 

 

For the previous/deprecated method which was no longer working, see: https://forums.unraid.net/topic/72681-unraid-hp-proliant-edition-rmrr-error-patching/

 

 

 

 

 

 

First the disclaimer: This has been tested with no negative attributes observed. Many have been running an RMRR patched version since mid 2018 when we first started producing them, and so far have had no reported issues. As it only omits RMRR checks, it should not affect any other core function of the OS. But as a general notice, and since this is an unofficial modification, neither Limetech or myself, or any contributors are responsible/liable for any loss of data or damage to hardware in using this patched version of unRaid.

 

The New unRaid HP Proliant Edition - RMRR Error Patching

 

Description/Problem

It is well documented that HP Proliant servers have RMRR issues using certain BIOS versions after about 2011 when trying to passthrough devices in a linux environment. Device passthrough fails and the onscreen error will show:

 

vfio: failed to set iommu for container: Operation not permitted

 

And a look further into the logs show:

 

Device is ineligible for IOMMU domain attach due to platform RMRR requirement.  Contact your platform vendor.

 

HP is aware of this problem and is not updating older machines. There are some bios options to try to fix this on newer models with some success.

 

This new "edition" of unRaid addresses the problem by patching out the RMRR check.

 

 

------------------

--->>>A big thanks to @ich777 for making this possible. <<<---

------------------

 

 

Previously, @AnnabellaRenee87 and I maintained and provided the patched file for users. But now thanks to ich77, you will be able to easily compile it yourself. This new procedure is recommended because you will also be able to incorporate other patches/modifications that you deem needed (ex. video drivers, Mellanox firmware tools, amd reset patch, etc...)

 

 

Installation

(procedure used for unRaid 6.9.0 RC 2 and up, previous versions not supported)

 

1. Make a backup of your flash device by clicking on the main tab, then scroll down to your boot device section, click flash, then click flash backup and wait for the download. 

 

 

2. Update to the stock version of unRaid you wish to use. If you are updating from a previous RMRR patched version, you will lose any benefits gained with the RMRR exclusion (important if you are splitting a multi-port network card that provides firewall/network access to a vm that is using one or more of those ports, which you would lose access to.)

 

 

3. Once updated, download the unRaid Kernel Helper docker container from Community Apps (information about how to use the unRaid Kernel Helper can be found here: https://forums.unraid.net/topic/92865-support-ich777-nvidiadvbzfsiscsimft-kernel-helperbuilder-docker/) Set the "RMRR Relax Patch" to true. Set any other values you deem necessary/wanted/needed. Click Apply. (Further information about the patch itself can be found here: https://github.com/kiler129/relax-intel-rmrr

 

 

4. While you are compiling (duration varies depending on system resources), modify your syslinux.cfg by going to the main tab>boot device>flash.

 

Modify to the following:

append intel_iommu=relax_rmrr initrd=/bzroot

 

The patch is off by default in the complied files, and requires that to enable it.

 

 

5. Once the unRaid Kernel Helper has completed, copy both the bzimage and bzmodules files to your flash drive, replacing the ones already there. You can either do this with the system running and then reboot, or download the 2 files to your computer, shut down your server, and add them to the usb from the server.

 

 

6. After the server has booted up, open a terminal and enter

dmesg | grep 'Intel-IOMMU'

If the patch is active you will get the following response

 DMAR: Intel-IOMMU: assuming all RMRRs are relaxable. This can lead to instability or data loss

 

 

Uninstall

 

Replace the patched bzimage and bzmodules with the backup copy you made or download a copy of a standard matching version of unRaid, and remove the modification to syslinux.cfg.

 

Other Proliant Problems

 

Check this thread for fixes to other common Proliant problems:

https://forums.unraid.net/topic/59375-hp-proliant-workstation-unraid-information-thread/

 

 

Happy unRaiding!

 

 

Edited by 1812
  • Like 2
  • Thanks 4
Link to post
  • 3 weeks later...

Hi,

 

Thanks for posting this. I'm trying to pass through my NVIDIA GeForce 1060 to my Windows10 VM and get the following error when starting my VM: "Failed to set iommu for container: Operation not permitted".

 

I downloaded the Unraid-Kernel-Helper and set the RMRR Relax Patch to "True". When viewing the log files, it says "Download of Stock Unraid v6.9.0-rc2 failed, putting container into sleep mode!---".

 

Any suggestions are most appreciated.

 

2147103770_Screenshot2021-01-22230237.png.99b8c8c6562bbc6946052f558647cff4.png

Edited by Therapists_For_200
Link to post
9 minutes ago, Therapists_For_200 said:

Hi,

 

Thanks for posting this. I'm trying to pass through my NVIDIA GeForce 1060 to my Windows10 VM and get the following error when starting my VM: "Failed to set iommu for container: Operation not permitted".

 

I downloaded the Unraid-Kernel-Helper and set the RMRR Relax Patch to "True". When viewing the log files, it says "Download of Stock Unraid v6.9.0-rc2 failed, putting container into sleep mode!---".

 

Any suggestions are most appreciated.

Have you stopped the Unraid-Kernel-Helper once?

 

Please try to delete every file from the 'kernel' directory that is located in your 'appdata' folder.

 

I think the main problem is a failed download and now it can't download the file again.

Link to post
15 hours ago, Therapists_For_200 said:

Thanks for the quick reply. I might have messed it up upon first download. Below is a screenshot of that folder now. Just to confirm, delete these two folders and all their contents?

 

1614354929_Screenshot2021-01-23064313.png.e80d7c4dbd76998c6493afdc7d1eaeaf.png

 

Exactly, does the container have exclusive access to the internet (eventually PiHole or something else is blocking the container from accessing certain sites)?

 

From the log that you posted it seems like it can't access the CDN where the Unraid files are hosted (keep in mind that the container needs access to the internet because it downloads, the drivers, Kernel source and other important stuff dependent on what you select in the template).

Link to post

I am really excited about this!  After hours of trying to get my DL380 G8 to work with my GPU I was about to give up and return it.  I am trying to figure out how this works, but I cant seem to find the docker in the CA app.  There is an Unraid Kernel Helper Plugin, but the output from that is blank and it tells you to download the Unraid Kernel Docker.  There is a docker that shows up when you check on Docker Hub and it's made by the OP, but I cant seem to find any instructions from there.  I can usually figure these things out, but I'm  at a complete loss on this.  Can anyone point me in the right direction?

 

My Issue - I have a gpu I am trying to passthrough to a Windows VM on my DL380 G8.  The Bios is the 2018 version with the 2013 version in backup.  The GPU is a PowerColor Red Dragon Radeon RX 570 AXRX 570 4GBD5-3DHD/OC.  I'm pretty sure the issue is the RMRR patch based on logs etc.

 

Thanks in advance for any help.

 

 

Link to post
3 hours ago, dave980 said:

There is an Unraid Kernel Helper Plugin, but the output from that is blank and it tells you to download the Unraid Kernel Docker.

It is also mentioned in the first post but you have to be on Unraid version 6.9.0RC2 to see the Unraid-Kernel-Helper in the CA App.

 

The process and the template are really self explaining. Just turn on the things you want and click on apply, don't interrupt the process!

The container will stop when it's finished.

Link to post

@ich777, Apologies for the delayed response. The recommendations you made fixed my problem, and I was able to download the files using Unraid-Kernal-Helper. (I temporarily disabled pfblocker inside my pfsense firewall to get it to work). I copied all the files beginning with bz* onto the /boot, and rebooted (see image below)

 

When I type "dmesg | grep 'Intel-IOMMU'" into terminal, I don't get the active patch response (i.e. DMAR: Intel-IOMMU: assuming all RMRRs are relaxable. This can lead to instability or data loss).

 

I'm assuming this indicates I did something wrong?

 

2024909553_Screenshot2021-01-26223752.thumb.png.865e45e02d0d9e9bd1f6c656000ab625.png

Edited by Therapists_For_200
Link to post
6 hours ago, Therapists_For_200 said:

@ich777, Apologies for the delayed response. The recommendations you made fixed my problem, and I was able to download the files using Unraid-Kernal-Helper. (I temporarily disabled pfblocker inside my pfsense firewall to get it to work). I copied all the files beginning with bz* onto the /boot, and rebooted (see image below)

 

When I type "dmesg | grep 'Intel-IOMMU'" into terminal, I don't get the active patch response (i.e. DMAR: Intel-IOMMU: assuming all RMRRs are relaxable. This can lead to instability or data loss).

 

I'm assuming this indicates I did something wrong?

 

2024909553_Screenshot2021-01-26223752.thumb.png.865e45e02d0d9e9bd1f6c656000ab625.png

 

Yes. In some step, something is incorrect. Without knowing everything you did and verifying each step, there is no way to know so you will have to try the process again. But I can already see that you didn't follow the steps as written because it says to only copy over the bzimage and bzmodules. That may not matter, but it shows inattention to detail.

 

So now you should roll back to stock unraid, reboot, and start over and follow the steps as written, and then report back.

 

 

Edited by 1812
Link to post

@1812, Thanks for the reply. Don't mean to be an annoyance and really do appreciate the work both of you have done.

 

 I forgot to mention that I did try bzimage, bzimage.sha256, bzmodules and bzmodules.sha256 on my first attempt with the same result. I'm assuming the *.sha256 files should have been excluded, too?

 

Also, I wasn't sure where to paste the "intel_iommurelax_rarr" in syslinux.cfg (or if it matters), so I guessed and added it to the bottom of group "label Unraid OS". Is this the correct placement?

 

image.thumb.png.43661c1c0b5cc780906243e94cd840ff.png

 

I will attempt to roll back to stock unraid using the usb backup I made and try again.

Link to post
1 hour ago, Therapists_For_200 said:

 

Also, I wasn't sure where to paste the "intel_iommurelax_rarr" in syslinux.cfg (or if it matters), so I guessed and added it to the bottom of group "label Unraid OS". Is this the correct placement?


i would expect it to be added to the ‘append’ line for whichever boot option(s) you are using.

Link to post
3 hours ago, Therapists_For_200 said:

Also, I wasn't sure where to paste the "intel_iommurelax_rarr" in syslinux.cfg (or if it matters), so I guessed and added it to the bottom of group "label Unraid OS". Is this the correct placement?

modified the original post to make it clearer. It should go under menu default

Link to post
21 hours ago, ich777 said:

It is also mentioned in the first post but you have to be on Unraid version 6.9.0RC2 to see the Unraid-Kernel-Helper in the CA App.

 

The process and the template are really self explaining. Just turn on the things you want and click on apply, don't interrupt the process!

The container will stop when it's finished.

I must have read the original post 10 times and still somehow missed that.  I will upgrade to 6.9.0RC2 and go from there.  Thanks for pointing me in the right direction!

Link to post

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.