<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
    <title>Marcel Gavriliu</title>
    <subtitle>Personal site</subtitle>
    <link rel="self" type="application/atom+xml" href="https://gavriliu.net/atom.xml"/>
    <link rel="alternate" type="text/html" href="https://gavriliu.net"/>
    <generator uri="https://www.getzola.org/">Zola</generator>
    <updated>2026-07-27T00:00:00+00:00</updated>
    <id>https://gavriliu.net/atom.xml</id>
    <entry xml:lang="en">
        <title>Four wrong theories and a scratched riser</title>
        <published>2026-07-27T00:00:00+00:00</published>
        <updated>2026-07-27T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://gavriliu.net/blog/scratched-riser/"/>
        <id>https://gavriliu.net/blog/scratched-riser/</id>
        
        <content type="html" xml:base="https://gavriliu.net/blog/scratched-riser/">&lt;p&gt;A RAID controller stopped appearing to the host. The management processor still
read its temperature, firmware version and drive states, and reported everything
optimal. The operating system saw nothing at all: no device on the PCI bus, no
block devices, no entry in the firmware’s boot list.&lt;&#x2F;p&gt;
&lt;p&gt;That split is the whole story. The management controller reaches the card over a
sideband bus that has nothing to do with PCIe, so a card can be powered, healthy
and completely unreachable at the same time. Health telemetry never once
predicted enumeration.&lt;&#x2F;p&gt;
&lt;p&gt;Four theories held up long enough to waste time on:&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;A damaged slot.&lt;&#x2F;strong&gt; Two replacement controllers behaved identically. Reasonable,
and wrong.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;A firmware incompatibility.&lt;&#x2F;strong&gt; One controller’s firmware predated the server’s
current BIOS by two major versions, which fit the evidence well enough that I
downgraded the entire machine to the matching era to test it. Still invisible.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;A dead CPU.&lt;&#x2F;strong&gt; The PCIe lanes for that slot come off the processor, and the
firmware dump showed the whole root port missing rather than a device failing to
respond. Plausible, expensive, wrong.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Two dead controllers.&lt;&#x2F;strong&gt; Improbable on its face, which should have been the
clue.&lt;&#x2F;p&gt;
&lt;p&gt;The actual cause was a scratch across the edge connector of the riser card,
shorting two adjacent PCIe fingers. Cleaning it fixed everything.&lt;&#x2F;p&gt;
&lt;p&gt;What made this take two days was a confound, not a shortage of ideas: the riser
travelled with the card through every swap test. “The fault follows the card” and
“the fault follows the riser” produce identical results when the two never
separate. Every conclusion along the way was locally sound and globally useless.&lt;&#x2F;p&gt;
&lt;p&gt;The lesson I’d keep: when swapping parts to isolate a fault, make sure you are
swapping one part.&lt;&#x2F;p&gt;
</content>
        
    </entry>
</feed>
