<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[HowTo: Compile Latest Adaptec Driver for Adaptec ASR-8405E on XCP-NG 8.2]]></title><description><![CDATA[<p dir="auto">Hi everyone!</p>
<p dir="auto"><strong>This is work in progress! May not work for everybody.</strong></p>
<p dir="auto">See story below!</p>
<ol>
<li>Install Buildtools:</li>
</ol>
<pre><code>yum install make gcc kernel-devel
</code></pre>
<ol start="2">
<li>
<p dir="auto">Download latest driver for your Card - maybe works also for other Adaptec Cards:<br />
<a href="https://storage.microsemi.com/en-us/support/raid/" target="_blank" rel="noopener noreferrer nofollow ugc">https://storage.microsemi.com/en-us/support/raid/</a><br />
--&gt; Linux Driver Source</p>
</li>
<li>
<p dir="auto">Unpack the Sourcefolder</p>
</li>
<li>
<p dir="auto">For the compilation <strong>to work for XCP-NG</strong> you have to specifiy the C-Preprocessor-Definition: "AAC_CITRIX"! (add "<em>#define AAC_CITRIX</em>" to the beginning of the <em>aacraid.h</em>-File.)</p>
</li>
</ol>
<pre><code>sed -i '1s/^/#define AAC_CITRIX\n/' ~/aacraid-1.2.1-60001/aacraid.h
</code></pre>
<ol start="5">
<li>Compile</li>
</ol>
<pre><code>make
</code></pre>
<ol start="6">
<li>Copy resulting Kernel-Module into the Place where it is called.</li>
</ol>
<pre><code>
cp aacraid.ko /lib/modules/4.19.0+1/updates/
</code></pre>
<ol start="7">
<li></li>
</ol>
<pre><code>depmod -a
modprobe -v aacraid
dracut -f /boot/initrd-4.19.0+1.img 4.19.0+1
</code></pre>
<ol start="8">
<li>To check initramfs:</li>
</ol>
<pre><code>lsinitrd /boot/initrd-4.19.0+1.img | grep aacraid
</code></pre>
<p dir="auto">Reboot and be Happy - hopefully <img src="https://xcp-ng.org/forum/assets/plugins/nodebb-plugin-emoji/emoji/android/1f642.png?v=c63c1619ba5" class="not-responsive emoji emoji-android emoji--slightly_smiling_face" style="height:23px;width:auto;vertical-align:middle" title=":-)" alt="🙂" /></p>
<hr />
<p dir="auto"><strong>Story:</strong></p>
<p dir="auto">I replaced my Adaptec ASR-6405E PCI-Raid-Controller-Card with the ASR-8405E.</p>
<p dir="auto">Getting the Adaptec ASR-6405E to run was quite a challange for me, see this <a href="https://xcp-ng.org/forum/topic/3979/kernel-bug-causes-adaptec-series-6-raid-cards-to-not-work">forum-post</a> how to do it.</p>
<p dir="auto">With the Kernel and the ALT-Kernel I got no connection to the controller -&gt; If I remember correctly; Maybe I failed to Update Initramfs from my old raid-card-driver which caused this - I am not sure because I am still learning how linux works.</p>
<p dir="auto">I got the following following Error during boot (and dmesg | head) - not sure anymore what driver was loaded:</p>
<pre><code>AAC0: fib_map_alloc:pci_alloc_consistent failed
</code></pre>
<p dir="auto">After a lot of involvment with the Source-Code of the Driver of Adaptech my insight was that there are two Driver Branches of the so called "aacraid" driver.<br />
One is maintained from Linux Kernel Team (<a href="https://www.kernel.org/" target="_blank" rel="noopener noreferrer nofollow ugc">https://www.kernel.org/</a>) and the other from the manufacturer Adaptec (<a href="https://storage.microsemi.com/en-us/support/raid/" target="_blank" rel="noopener noreferrer nofollow ugc">https://storage.microsemi.com/en-us/support/raid/</a>).</p>
<p dir="auto">XCP-NG 8.2 uses at the moment of this writing the Driver Version from the Linux Branch:</p>
<pre><code>microsemi-aacraid: (built-in) 1.2.1[50877]-custom
Source1: https://github.com/xcp-ng/xcp/wiki/Drivers
https://github.com/torvalds/linux/commit/1cdb74b80f93343d7b44b5d99b28d9b0c46375ba &lt;--???
</code></pre>
<p dir="auto">I don't know how PCI works and I am not a Driver-Developer but the following code-area here is the source of the <em>fib_map_alloc error</em>. It seems that Xenserver has other restrictions on some pci-parameters than the normal Linux kernel - therfore it's necessary to give the Compiler the Preprocessor-Definition "AAC_CITRIX" so that some allocated Memory gets properly managed by the driver to work with XCP-NG.</p>
<pre><code>Filename: comminit.c (Driver Version 56008 from Adaptec-Website)

...
if (aac_is_src(dev)) {
#if(defined(AAC_CITRIX)) /*&lt;------ /*
  if (host -&gt; can_queue &gt; 248)
    host -&gt; can_queue = 248;
#elif(defined(CONFIG_XEN) &amp;&amp; LINUX_VERSION_CODE &lt; KERNEL_VERSION(2, 6, 19))
  if (host -&gt; can_queue &gt; 128)
    host -&gt; can_queue = 128;
#else
  if (host -&gt; can_queue &gt; (status[3] &gt;&gt; 16) - AAC_NUM_MGT_FIB)
    host -&gt; can_queue = (status[3] &gt;&gt; 16) - AAC_NUM_MGT_FIB;
#endif
} else if (host -&gt; can_queue &gt; (status[3] &amp; 0xFFFF) - AAC_NUM_MGT_FIB)
  host -&gt; can_queue = (status[3] &amp; 0xFFFF) - AAC_NUM_MGT_FIB;
dev -&gt; max_num_aif = status[4] &amp; 0xFFFF;
}
else
  aac_info(dev,
    "Driver Init: GET_COMM_PREFERRED_SETTINGS 0x%lx failed\n",
    (unsigned long) status[0]);
...
</code></pre>
<p dir="auto">Now the Adapter is working on the latest Adaptec-Driver :-).</p>
<p dir="auto">Thank You all being a part of this wounderful project!</p>
<div class="row github-embeds-container">

<div class="col-md-6">
<div class="github-embed card">
<div class="card-body">



<div class="meta">
<span class="float-end">0 <i class="fa fa-comment"></i></span>
<img class="author-picture not-responsive" />
<a><span class="username"></span></a> committed <span class="timeago" title="2017-12-27T04:34:51Z"></span> to <a href="//github.com/torvalds/linux">torvalds/linux</a>
</div>
<a href="https://github.com/torvalds/linux/commit/1cdb74b80f93343d7b44b5d99b28d9b0c46375ba"><pre>scsi: aacraid: Update driver version to 50877

Update driver Version to 50877

Signed-off-by: Raghava Aditya Renukunta &lt;RaghavaAditya.Renukunta@microsemi.com&gt;
Signed-off-by: Martin K. Petersen &lt;martin.petersen@oracle.com&gt;</pre></a>

</div>
</div>
</div>

</div>]]></description><link>https://xcp-ng.org/forum/topic/5599/howto-compile-latest-adaptec-driver-for-adaptec-asr-8405e-on-xcp-ng-8.2</link><generator>RSS for Node</generator><lastBuildDate>Tue, 10 Mar 2026 00:03:02 GMT</lastBuildDate><atom:link href="https://xcp-ng.org/forum/topic/5599.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 20 Feb 2022 13:22:17 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to HowTo: Compile Latest Adaptec Driver for Adaptec ASR-8405E on XCP-NG 8.2 on Sat, 31 Jan 2026 12:59:53 GMT]]></title><description><![CDATA[<p dir="auto">My current findings regarding this:<br />
<a href="https://github.com/xcp-ng-rpms/microsemi-aacraid/issues/2" target="_blank" rel="noopener noreferrer nofollow ugc">https://github.com/xcp-ng-rpms/microsemi-aacraid/issues/2</a></p>
<div class="row github-embeds-container">

<div class="col-md-6">
<div class="github-embed card">
<div class="card-body">

<div class="meta">
<img class="author-picture not-responsive" src="https://avatars.githubusercontent.com/u/6514771?v=4" title="0nelight" />
<a href="https://github.com/0nelight"><span class="username">0nelight</span></a> created this issue <span class="timeago" title="2026-01-31T12:57:24Z"></span> in <a href="//github.com/xcp-ng-rpms/microsemi-aacraid">xcp-ng-rpms/microsemi-aacraid</a>
</div>
<h3>
<span class="badge open float-end">open</span>
<a href="https://github.com/xcp-ng-rpms/microsemi-aacraid/issues/2">Microsemi Adaptec Series-8 Card not working in XCP-NG 8.3</a>
<span class="number">#2</span>
</h3>



</div>
</div>
</div>

</div>]]></description><link>https://xcp-ng.org/forum/post/102084</link><guid isPermaLink="true">https://xcp-ng.org/forum/post/102084</guid><dc:creator><![CDATA[0nelight]]></dc:creator><pubDate>Sat, 31 Jan 2026 12:59:53 GMT</pubDate></item><item><title><![CDATA[Reply to HowTo: Compile Latest Adaptec Driver for Adaptec ASR-8405E on XCP-NG 8.2 on Sat, 31 Jan 2026 11:51:15 GMT]]></title><description><![CDATA[<p dir="auto">turned out that this is not necessary. An easier option is to simply add the bootparameter</p>
<pre><code>aacraid.numacb=1000
</code></pre>
<p dir="auto">before booting into xcp-ng.</p>
<p dir="auto"><s>As of my current understanding this makes sure that the xen-specific larger management fib size of 16 is taken into account (the driver default is 8).</s></p>
<p dir="auto">Only tested on Version 8.2.1</p>
]]></description><link>https://xcp-ng.org/forum/post/87705</link><guid isPermaLink="true">https://xcp-ng.org/forum/post/87705</guid><dc:creator><![CDATA[0nelight]]></dc:creator><pubDate>Sat, 31 Jan 2026 11:51:15 GMT</pubDate></item></channel></rss>