<?xml version="1.0" encoding="utf-8" standalone="yes"?><?xml-stylesheet href="/feed_style.xsl" type="text/xsl"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:media="https://www.rssboard.org/media-rss">
  <channel>
    <title>Networking on Eva Winterschon</title>
    <link>https://winterschon.gitlab.io/tags/networking/</link>
    <description>Recent content in Networking on Eva Winterschon</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en</language>
    <copyright>Some copyright notice - [my license](https://example.com/license)</copyright>
    <lastBuildDate>Thu, 18 Jun 2026 23:39:50 +0000</lastBuildDate><atom:link href="https://winterschon.gitlab.io/tags/networking/index.xml" rel="self" type="application/rss+xml" /><icon>https://winterschon.gitlab.io/logo.svg</icon>
    
    
    <item>
      <title>Inference Sector KPI SLO</title>
      <link>https://winterschon.gitlab.io/en/posts/inference-sector-kpi-slo/</link>
      <pubDate>Thu, 18 Jun 2026 23:39:50 +0000</pubDate>
      
      <guid>https://winterschon.gitlab.io/en/posts/inference-sector-kpi-slo/</guid>
      <description><![CDATA[<h2 id="why-should-anyone-care-about-kpis-and-slos">Why should anyone care about KPIs and SLOs?</h2>
<p>Generally, unless one gets paid to deal with OBS/Tel and SLA conformance.. ehh. Except that the modern world operates within the bounds of a diverse and often not-fascinating array of performance indicators and services&rsquo; operating metrics.</p>
<h4 id="so-here-are-two-for-today">So.. Here are two for today.</h4>
<ul>
<li><strong>KPI</strong> == Key Performance Indicator</li>
<li><strong>SLO</strong> == Service Level Objective</li>
</ul>
<h3 id="minor-backstory---today">Minor Backstory - Today</h3>
<p>While aggregating directory content from several workstations into a unified NFS remote mount,<em>(can&rsquo;t simply have one workstation, right? right)</em>, another encounter with SLO defs appears upon the terminal.</p>
<p>This time it&rsquo;s for LLM Inference customers and their typical requirements. Perhaps our standards repository would be helpful as an adjunct resource:</p>
<ul>
<li><a href="https://github.com/yukon-systems/YukonSYS-Standard-Definitions">https://github.com/yukon-systems/YukonSYS-Standard-Definitions</a></li>
</ul>
<h2 id="inference-service-kpis-by-sector">Inference Service KPIs by Sector</h2>
<p>An extension of distributed cloud services architecture with heavy focus on baremetal with VMs and Containers throughout. Many ways to solve the problems, scale the infra, etc.</p>
<h4 id="slo-additions-to-the-classifier-repo">SLO Additions to the Classifier Repo</h4>
<ul>
<li>This file is a compact companion to the observability + telemetry glossary.</li>
<li>Each threshold is a starting point and should be tightened to real-world workload SLOs after baselining standard operations.</li>
</ul>
<table>
  <thead>
      <tr>
          <th>Sector</th>
          <th>High-signal KPIs</th>
          <th>Default alert style</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>LLM Inference (GP-GPU Service Infra)</td>
          <td>TTFT, ITL/TPOT, E2E, QTS</td>
          <td>SLO-derived or baseline-relative; baseline-relative</td>
      </tr>
      <tr>
          <td>LLM Inference (API Service Infra)</td>
          <td>P95 LAT, ERR, 429R, UST</td>
          <td>SLO-derived</td>
      </tr>
      <tr>
          <td>LLM Inference (Network Hardware + Protocol Infra)</td>
          <td>OWD, PDV, LOSS, ECN</td>
          <td>baseline-relative; budget-relative</td>
      </tr>
      <tr>
          <td>LLM Inference (Prompt Caching, Compute + Re-Compute)</td>
          <td>PCHR, CTR, TTFTR, RCR</td>
          <td>absolute for cache-eligible traffic</td>
      </tr>
      <tr>
          <td>LLM Inference (Prompt Caching, Storage Infra)</td>
          <td>CHR, CLAT, COCC, EVR</td>
          <td>absolute; absolute for cache-eligible traffic</td>
      </tr>
      <tr>
          <td>LLM Inference (Prompt Caching API + Load-Balancers)</td>
          <td>RCHR, LQ, URT, RTR</td>
          <td>absolute</td>
      </tr>
      <tr>
          <td>LLM Training (bulk initial datasets)</td>
          <td>ITPS, DHR, UDR, CONT</td>
          <td>absolute; capacity-envelope</td>
      </tr>
      <tr>
          <td>LLM Training (pre-training MoE)</td>
          <td>MFU, STEP, A2AS, EIR</td>
          <td>absolute starting point; baseline-relative</td>
      </tr>
      <tr>
          <td>LLM Training (post-training MoE)</td>
          <td>TPS, MFU, RACC, RMAR</td>
          <td>absolute starting point; baseline-relative</td>
      </tr>
      <tr>
          <td>HPC - High Frequency Trading - VM Clusters</td>
          <td>RDY, CSTP, NUMA MISS, T2D</td>
          <td>absolute starting point</td>
      </tr>
      <tr>
          <td>HPC - High Frequency Trading - Baremetal</td>
          <td>W2W, JITR, CPM, MPKI</td>
          <td>baseline-relative; budget-relative</td>
      </tr>
      <tr>
          <td>HPC - High Frequency Trading - CDN</td>
          <td>CHR, OOR, TTFB, OTTFB</td>
          <td>absolute</td>
      </tr>
      <tr>
          <td>HPC - High Frequency Trading - Low-Latency Exec</td>
          <td>OWD, JIT, FLAT, OLAT</td>
          <td>baseline-relative; budget-relative</td>
      </tr>
      <tr>
          <td>HPC - Dark Fiber Regional Network + Infra</td>
          <td>AVAIL, OWD, Pre-FEC BER, OSNRM</td>
          <td>SLO-derived; budget-relative</td>
      </tr>
      <tr>
          <td>HPC - Quantitative Research + Machine Learning</td>
          <td>BTT, FLAT, TSS, FFL</td>
          <td>absolute starting point; baseline-relative</td>
      </tr>
      <tr>
          <td>HPC - Big-Data &amp; Multivariate Pattern Analysis</td>
          <td>JDUR, SKR, SPILL, CLAG</td>
          <td>SLA-derived; absolute</td>
      </tr>
      <tr>
          <td>SLA + SLO Monitoring, Telemetry, Alerting Infra</td>
          <td>SLI-AV, SLI-LAT, EBR, UP</td>
          <td>SLO-derived</td>
      </tr>
  </tbody>
</table>
<hr>
<h3 id="global-policy-adjustments">Global Policy Adjustments</h3>
<ul>
<li><strong>baseline_window</strong>:
<ul>
<li><code>7d median or p50/p95 baseline unless otherwise stated</code></li>
</ul>
</li>
<li><strong>slo_policy</strong>:
<ul>
<li><code>page: error budget burn rate &gt; 14.4 over 1h and 5m, or &gt; 6 over 6h and 30m</code></li>
<li><code>ticket: error budget burn rate &gt; 1 over 3d and 6h</code></li>
</ul>
</li>
<li><strong>capacity_policy</strong>:
<ul>
<li><code>warn: sustained &gt; 80% of validated steady-state capacity</code></li>
<li><code>critical: sustained &gt; 90% of validated steady-state capacity or latency inflects above SLO</code></li>
</ul>
</li>
<li><strong>regression_policy</strong>:
<ul>
<li><code>warn: &gt; 1.10x to 1.25x baseline depending on sector sensitivity</code></li>
<li><code>critical: &gt; 1.20x to 1.50x baseline depending on sector sensitivity</code></li>
</ul>
</li>
</ul>
<hr>
<h3 id="reference-considerations">Reference Considerations</h3>
<ul>
<li>Thresholds are starting operational thresholds, not universal laws.</li>
<li>Where a standards or vendor reference provides an acceptable range, that range is used.</li>
<li>Where no universal value exists, thresholds are either SLO-derived or baseline-relative (typically against a 7d median or a validated capacity envelope).</li>
<li>For latency-sensitive sectors, alert on percentile regressions and budget exhaustion, not averages.</li>
</ul>
<hr>
]]></description>
      
    </item>
    
    
    
    <item>
      <title>Performance Engineering - Evaluative Metrics</title>
      <link>https://winterschon.gitlab.io/en/posts/performance-engineering-evaluative-metrics/</link>
      <pubDate>Sat, 13 Jun 2026 15:43:01 +0000</pubDate>
      
      <guid>https://winterschon.gitlab.io/en/posts/performance-engineering-evaluative-metrics/</guid>
      <description><![CDATA[<h2 id="llm-inference">LLM Inference</h2>
<table>
  <thead>
      <tr>
          <th>Sector</th>
          <th>Common metrics</th>
          <th>Less-known / specialist metrics</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>GP-GPU Service Infrastructure</td>
          <td>TTFT, ITL/TPOT, E2E request latency, TPS, RPS/QPS, Queue-Fill, KV/C metrics</td>
          <td>request_queue_time, request_prefill_time, request_decode_time, inflight time, SM occupancy, HBM/DRAM memory throughput</td>
      </tr>
      <tr>
          <td>API Service Infrastructure</td>
          <td>p50/p95/p99 latency, streaming TTFB/TTFT, RPS/QPS, error rate, 429 rate, active downstream connections, backend latency</td>
          <td>x-envoy-upstream-service-time, upstream_rq_time, TR/Tw/Tc/Tr/TA timer split in HAProxy, retry rate, queue-slot saturation, circuit-breaker usage</td>
      </tr>
      <tr>
          <td>Network Hardware + Protocol Infra</td>
          <td>RTT (round-trip time), one-way latency, jitter/PDV (packet delay variation), PPS/BPS, packet loss, retransmits</td>
          <td>ECN mark rate, PFC (priority flow control) pause events, microburst depth, CQE (completion queue entry) compression state, SymbolErrors, LinkRecoveries, PTP offset/path delay</td>
      </tr>
      <tr>
          <td>Prompt Caching, Compute + Re-Compute</td>
          <td>cache hit rate, cached_tokens, prompt_tokens, generation_tokens, TTFT reduction, cache read/write counts</td>
          <td>partial-hit ratio, cache-miss ratio, prefix-cache block hit rate, predicted KV hit rate, per-request routing overhead</td>
      </tr>
      <tr>
          <td>Prompt Caching, Storage Infra</td>
          <td>cache hit ratio, eviction rate, cache latency, TTL, GPU/CPU cache usage</td>
          <td>CPU-vs-GPU cache-hit split, priority-based eviction effect, TTL refresh behavior, KV-block fragmentation / block reuse</td>
      </tr>
      <tr>
          <td>Prompt Caching, API + Load-Balancers</td>
          <td>per-route/model hit rate, active and pending requests, backend latency, request rate, retries, error rate</td>
          <td>cache-aware routing predicted KV hit rate, routing overhead, queue time before backend selection, circuit-breaker saturation, connection-slot pressure</td>
      </tr>
  </tbody>
</table>
<h3 id="acronyms">Acronyms</h3>
<ul>
<li>TTFT == Time to First Token</li>
<li>ITL == Inter-Token Latency</li>
<li>TPOT == Time per Output Token</li>
<li>E2E == end-to-end</li>
<li>TKS == tokens/sec</li>
<li>RPS == requests/sec</li>
<li>QPS == queries/sec</li>
<li>KV/C == Key-Value Cache</li>
</ul>
<h2 id="llm-dataset-training">LLM Dataset Training</h2>
<table>
  <thead>
      <tr>
          <th>Operations</th>
          <th>Common metrics</th>
          <th>Less-known / specialist metrics</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>Pre-loading datasets</td>
          <td>ingest throughput (docs/s, rows/s, bytes/s, tokens/s), tokenization throughput, DataLoader throughput, dedup ratio</td>
          <td>fuzzy-duplicate rate, semantic-duplicate rate, contamination rate/AUC, consumer lag, shuffle spill bytes</td>
      </tr>
      <tr>
          <td>Pre-training + MoE</td>
          <td>tokens/s, step time, MFU (model FLOPs utilization), training loss/perplexity, all-to-all/dispatch time, GPU memory</td>
          <td>auxiliary load-balancing loss, router z-loss, expert capacity factor, token-drop rate, per-layer expert imbalance</td>
      </tr>
      <tr>
          <td>Post-training + MoE</td>
          <td>step time, samples/s or tokens/s, train/val loss, reward/preference accuracy, KL divergence, MFU</td>
          <td>chosen vs rejected reward margin, chosen/rejected rewards, router aux/z loss during alignment, expert saturation under small-batch tuning</td>
      </tr>
  </tbody>
</table>
<h2 id="hpc--hft-analytics-infrastructure">HPC + HFT Analytics Infrastructure</h2>
<table>
  <thead>
      <tr>
          <th>Sector</th>
          <th>Common metrics</th>
          <th>Less-known / specialist metrics</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>Virtual Machine Clusters</td>
          <td>p50/p99 service latency, jitter, CPU ready time, throughput, packet loss</td>
          <td>CPU co-stop, NUMA locality (numa_hit/numa_miss/local_node/other_node), vCPU scheduling contention, latency-sensitivity effectiveness</td>
      </tr>
      <tr>
          <td>Baremetal Systems</td>
          <td>wire-to-wire latency, p99/p999 jitter, PPS/Mpps, cycles, instructions, LLC-load-misses, branch-misses, RX/TX drops</td>
          <td>NUMA locality, interrupt coalescence, CQE compression state, packet pacing, driver extended stats / ring stress</td>
      </tr>
      <tr>
          <td>Content Delivery Networking</td>
          <td>cache hit ratio, TTFB, origin offload, request rate, error rate, egress bandwidth</td>
          <td>shield-layer hit ratio, origin_ttfb, child/parent cache status, regional cache-performance variance</td>
      </tr>
      <tr>
          <td>Low-Latency Trade-Execution Networks</td>
          <td>one-way latency, RTT, jitter, packet loss, order latency, feed latency</td>
          <td>microburst depth, queue/buffer pressure, ECN mark rate, PFC pause events, path asymmetry, PTP offset</td>
      </tr>
      <tr>
          <td>Dark Fiber Regional Network Infra</td>
          <td>one-way latency, RTT, availability, BER, pre-FEC BER, post-FEC BER</td>
          <td>OSNR/ESNR, Q-factor, CD (chromatic dispersion), PMD (polarization mode dispersion), FEC degrade indicators</td>
      </tr>
      <tr>
          <td>Quantitative Research + Machine Learning</td>
          <td>backtest wall-clock runtime, feed latency, order latency, feature-serving latency, feature-ingestion throughput</td>
          <td>training-serving skew, feature inflight vs write-to-store success metrics, feature health/correctness monitoring</td>
      </tr>
      <tr>
          <td>Data Analytics + Multivariate Analysis</td>
          <td>job duration, stage/task duration, throughput, end-to-end delay, records-consumed-rate, consumer lag, shuffle read/write</td>
          <td>spill bytes, skew via task-duration discrepancy or shuffle-read imbalance, straggler share, input-pipeline prefetch effectiveness</td>
      </tr>
  </tbody>
</table>
<h2 id="sla--slo-reliability-telemetry-alerting">SLA + SLO Reliability, Telemetry, Alerting</h2>
<ul>
<li>Pre-Defined latency/error/throughput SLIs and error budgets require burn-rate alerting</li>
<li>Prometheus and Alertmanager define scrape and notification timing controls</li>
<li>OpenTelemetry defines histograms and exemplars</li>
<li>Apdex is a standard user-satisfaction score</li>
<li>Elastic APM measures application performance traces</li>
</ul>
<table>
  <thead>
      <tr>
          <th>Sector</th>
          <th>Common metrics</th>
          <th>Less-known / specialist metrics</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>SLA + SLO Monitoring, Telemetry, Alerting Infra</td>
          <td>availability SLI, latency SLI, error rate, throughput, Apdex, error-budget burn rate</td>
          <td>multi-window multi-burn-rate alerts, scrape_duration / scrape_timeout ratio, group_wait / group_interval / repeat_interval, histogram bucket design, exemplars</td>
      </tr>
  </tbody>
</table>
<h2 id="shared-analytics-of-interest">Shared Analytics of Interest</h2>
<table>
  <thead>
      <tr>
          <th>Metric</th>
          <th>Signal</th>
          <th>Typical domains</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>Queue time</td>
          <td>Separates saturation from raw compute/network slowness</td>
          <td>LLM serving, API gateways, load balancers, HFT</td>
      </tr>
      <tr>
          <td>Prefill vs decode split</td>
          <td>Distinguishes prompt-processing bottlenecks from token-generation bottlenecks</td>
          <td>LLM GPU serving</td>
      </tr>
      <tr>
          <td>Prefix/KV cache hit rate</td>
          <td>Direct proxy for avoidable recompute and TTFT improvement</td>
          <td>LLM serving, agentic systems</td>
      </tr>
      <tr>
          <td>Auxiliary MoE loss and router z-loss</td>
          <td>Early warning for expert imbalance and routing instability</td>
          <td>MoE training</td>
      </tr>
      <tr>
          <td>CPU ready / co-stop / NUMA miss</td>
          <td>Often the real cause of inconsistent latency in virtualized clusters</td>
          <td>VM-based HFT / HPC</td>
      </tr>
      <tr>
          <td>Microburst depth and ECN/PFC behavior</td>
          <td>Reveals congestion that average bandwidth hides</td>
          <td>Low-latency Ethernet / RoCE fabrics</td>
      </tr>
      <tr>
          <td>OSNR / CD / PMD / pre-FEC BER</td>
          <td>Core optical-health indicators long before full link failure</td>
          <td>Dark fiber / coherent optics</td>
      </tr>
      <tr>
          <td>Spill bytes and consumer lag</td>
          <td>Early warning for data-path backpressure and skew</td>
          <td>Big-data pipelines</td>
      </tr>
      <tr>
          <td>Burn rate and exemplars</td>
          <td>Better operational signal than raw alert count or average latency</td>
          <td>SLO / observability stacks</td>
      </tr>
  </tbody>
</table>
]]></description>
      
    </item>
    
    
    
    <item>
      <title>Superfun Supermicro SMBUS Seriousness</title>
      <link>https://winterschon.gitlab.io/en/posts/superfun-supermicro-smbus-seriousness/</link>
      <pubDate>Mon, 02 Mar 2026 20:52:00 +0000</pubDate>
      
      <guid>https://winterschon.gitlab.io/en/posts/superfun-supermicro-smbus-seriousness/</guid>
      <description><![CDATA[<p>Repurposing now somewhat older system, a Supermicro X11SSM-F motherboard in a 2U chassis with Xeon E3-1285 v6 and 64GB ECC.</p>
<ul>
<li>Old role: VM box for local infrastructure analytics</li>
<li>New role: BSD router w/ CNAs for RoCE-v2 RDMA fabric.</li>
</ul>
<p>Installed for the purpose: QLogic QL41234HLCU, and&hellip;</p>
<ul>
<li>NIC #1, <a href="https://dl.dell.com/manuals/all-products/esuprt_ser_stor_net/esuprt_pedge_srvr_ethnt_nic/qlogic-adapters_user's-guide6_en-us.pdf">QLogic QL41164HLRJ,</a> 4x 10GbE BASE-T,</li>
<li>NIC #2, <a href="https://www.supermicro.com/manuals/other/datasheet-AOC-S40G-i1Q_i2Q.pdf">Supermicro AOC-S40G-I2Q</a>, 2x 40GbE QSFP+, Intel XL710</li>
<li>NIC for Nodes: <a href="https://www.marvell.com/content/dam/marvell/en/public-collateral/ethernet-adaptersandcontrollers/marvell-ethernet-adapters-fastlinq-41000-series-product-brief.pdf">Qlogic QL41234HLCU</a>, 4x 10/25GbE SFP28 w/ RDMA</li>
</ul>
<p>Great, nice upgrades. The router will have its 4x 10GbE QL41164 ports connected in 802.3ad to the switch-fabric, with two VM host nodes direct-connected using SFP28 ports on the QL41234 NIC. These systems run lightweight validation suites for Project Coherent Flash (the full cluster lives in the colo) and therefore require RDMA and RoCE networking.</p>
<p>In other connectivity areas, the XL710 based NIC is for non-RDMA traffic to the nodes via direct non-switched connection. It does not participate in the memory fabric. In this mode, each QSFP+ 40GbE port has a quad-lane breakout cable going to 4x 10GbE SFP+ connectors, and each of those (8 total) offers 2x 10GbE to each of the four nodes in an adjacent cluster.</p>
<p>Just remember, on this board there&rsquo;s a jumper to inspect and possibly flip, for reasons better described via the following nerdery.</p>
<blockquote>
<p>the X11SSM-F bridges the slot SMBus (SMCLK/SMDAT on PCIe pins B5/B6) to the board SMBus via jumpers JI2C1/2. Some PCIe cards expose an I²C device on those lines at the same addresses used by DIMM SPD EEPROMs (0x50–0x57). That creates address conflicts, which can block SPD reads, hide a DIMM, scramble IPMI sensors, or hang POST. Disabling JI2C1/2 isolates the slot SMBus and removes the conflict.</p>
</blockquote>
]]></description>
      
    </item>
    
    
    
    <item>
      <title>A Recent Datacenter Colo Visit</title>
      <link>https://winterschon.gitlab.io/en/posts/a-recent-datacenter-colo-visit/</link>
      <pubDate>Sat, 06 Dec 2025 06:06:59 +0000</pubDate>
      
      <guid>https://winterschon.gitlab.io/en/posts/a-recent-datacenter-colo-visit/</guid>
      <description><![CDATA[<p>A short post with annotated photos should be sufficient for this post. Perhaps more detail later, but the short version is that just about everything in racks 1,2,3 – aka Cab.68, 69, 70 – is going to be mostly upgraded. My hardware has been here for several years and it needs a refresh.</p>
<p>So, where to begin&hellip; let&rsquo;s see&hellip; we start with the <a href="https://www.raptorcs.com/TALOSII/">POWER9</a> at home on my desk, and me looking a wreck in the morning&hellip;</p>
<p><img src="/content/images/2025/12/IMG_20251203_161129_750_960px-1.png" alt=""></p>
<hr>
<p>Where is this wonderful place that brings me so much joy? <a href="https://he.net">Hurricane Electric</a> of course.</p>
<blockquote>
<p>For Silicon Valley datacenter nerds, Hurricane Electric’s Fremont and San Jose facilities are the spiritual home of budget-friendly colo: cabinet and partial-cabinet plans with same-day turn-up, straightforward BGP, and native v6 on a backbone that’s been aggressively peering since the early 2000s, making it a historically significant and still notably affordable place to park gear in the Bay Area.</p>
</blockquote>
<p>And as such&hellip; it&rsquo;s where most of my gear resides. What was once a HomeLab at home has become a situation of _&ldquo;let&rsquo;s move everything into the colo and tell PG$E to suck it on their $300-600/month apartment electric bills <em>(which is physically impossible, they&rsquo;re a proven CA Governor sponsored monopoly)</em>.</p>
<h3 id="tools-and-so-forth">Tools and So Forth</h3>
<p>How about a photo of my lovely <a href="https://www.wera.de/en/tools/highlights-great-tools/textile-boxes/">Wera designed Datacenter tool bag</a>? Yes! It&rsquo;s rugged and strong and doesn&rsquo;t distort with heavy items. Love it. At the top of the photo is whichever purse happened to be brought along that day; Kors or Burbs or Coach or whichever fit size requirements at the time.</p>
<p>Not shown: a squared-rasp-file occasionally required for <em>&ldquo;standardizing&rdquo;</em> the rail mounting holes in those old-ass blue racks. My right hand still has scars from years ago - before owning that rasp to fix the burrs.</p>
<p><img src="/content/images/2025/12/ResizedImage_2025-12-05_20-53-19_10.png" alt=""></p>
<hr>
<h3 id="always-getting-injured-but-thats-ok">Always Getting Injured, but that&rsquo;s OK.</h3>
<p>Now, about those old scars - there are surely new ones periodically. While getting ready for the colo, just standing at the sink with some sheers, cutting&hellip; cutting&hellip; and ohffs that&rsquo;s my finger. Yep, it&rsquo;s definitely deep! Apply pressure! Wrap it tight! Not too tight though&hellip; and what was at my disposal? Paper medical tape and clear plastic industrial packing tape.</p>
<p>FINE. It&rsquo;s FINE. The bleeding mostly stopped, and off we go to the datacenter!</p>
<p><img src="/content/images/2025/12/ResizedImage_2025-12-05_20-53-15_4-1.png" alt=""></p>
<p>done cut my self real bad</p>
<hr>
<h3 id="networking-servers-drives-dpus-and-all-the-other-fun">Networking, Servers, Drives, DPUs, and all the other fun!</h3>
<p>Ok, enough rambling. Here&rsquo;s a photo gallery with annotated pics. Each rack has some major revisions to undergo, which requires planning and documentation updates and all the usual production readiness routines.</p>
<p><img src="/content/images/2025/12/ResizedImage_2025-12-05_20-53-16_5.png" alt=""></p>
<p><img src="/content/images/2025/12/ResizedImage_2025-12-05_20-53-16_6.png" alt=""></p>
<p><img src="/content/images/2025/12/ResizedImage_2025-12-05_20-53-17_7.png" alt=""></p>
<p><img src="/content/images/2025/12/ResizedImage_2025-12-05_20-53-18_8.png" alt=""></p>
<p><img src="/content/images/2025/12/ResizedImage_2025-12-05_20-53-18_9.png" alt=""></p>
<p><img src="/content/images/2025/12/ResizedImage_2025-12-05_20-53-19_11.png" alt=""></p>
<p><img src="/content/images/2025/12/ResizedImage_2025-12-05_20-53-20_12.png" alt=""></p>
<p><img src="/content/images/2025/12/ResizedImage_2025-12-05_20-53-21_13.png" alt=""></p>
<hr>
<h3 id="more-hardware---more-arm64">More Hardware - More ARM64!</h3>
<p>Now you may wonder, where is all of my ARM64 equipment and the other clusters? Those are still in the 2x 25U racks at home – they&rsquo;ll be migrated to the colo as well, once I convert them to use industrial Compact-PCI chassis blade mounts with integrated/redundant power and backplane. I bring you&hellip; the <em>ADLINK cPCIS-2632R 3U Compact PCI chassis.</em></p>
<p><img src="/content/images/2025/12/ADLINK-cPCIS-2632R-CompactPCI.webp" alt=""></p>
<p>Industrial ADLINK cPCIS-2632R CompactPCI</p>
<hr>
<h3 id="sata3-really">SATA3&hellip; Really?</h3>
<p>And we wrap up the day&rsquo;s fun with&hellip; decisions on what to do with these SATA3 SSDs recovered from some old R420 systems&hellip; perhaps the LC922 boxes can use those + some 240GB Intel or Samsung boot drives. These days I never bother with SATA, only SAS or NVMe. <em>HoHumBoringSataSoSlow.</em></p>
<p><img src="/content/images/2025/12/ResizedImage_2025-12-05_20-53-14_2.png" alt=""></p>
<hr>
<h3 id="a-tale-of-two-labs---one-is-real-the-other">A Tale of Two Labs - One is Real, The Other&hellip;</h3>
<p>I love having my own hardware for my own labs. I love not having to rely on a corporation over-promising on lab resources for the architecture design process – real physical hardware which is absolutely required for <em><strong>&ldquo;Proof of Concept Engineering&rdquo;</strong></em>.</p>
<p>As a wise-one once related, not everything can be a <em>Power Point Presentation.</em> Engineers need physical hardware for validation workflows, otherwise it&rsquo;s all just vaporware.</p>
<p>🙉 🙈 🙊</p>
]]></description>
      
    </item>
    
    
    
    <item>
      <title>DPU Cabling and Rack Elevations</title>
      <link>https://winterschon.gitlab.io/en/posts/dpu-cabling-and-rack-elevations/</link>
      <pubDate>Sat, 11 Oct 2025 18:32:15 +0000</pubDate>
      
      <guid>https://winterschon.gitlab.io/en/posts/dpu-cabling-and-rack-elevations/</guid>
      <description><![CDATA[<p>Generally when deploying DAC for inter-rack network connections, particularly the quad-breakout heavy gauge Mellanox type, I&rsquo;ll go with the RU waterfall–fanout method. If I&rsquo;m using regular fiber-optics and MMF/SMF then the calculations sometimes change, depending on whether those are multi-lane MPO to single-port fanouts or port-to-port direct connections. Anyway, those acronyms aside, let&rsquo;s move on.</p>
<p>In preparation for a hardware refresh and much needed colocation visit, I&rsquo;ve ordered additional Mellanox DPUs. Those require a few additional cables to augment the existing hardware stockpile. I already have some 100G to 4x 25G breakouts, but not enough, and not in the correct lengths. Yay for ebay, all acquired for under $100 as <em>&ldquo;new old stock&rdquo;</em>.</p>
<h3 id="what-do-those-dpus-look-like">What do those DPUs look like?</h3>
<p>Well, for starters they don&rsquo;t look exactly like these old ConnectX-3 QDR Infiniband NICs but the DAC are similar. Mellanox changed their heatsink aesthetic along the way, and the heatsinks are far larger on the newer chipsets, with no less cooling required (~200+ LFM).</p>
<p><img src="/content/images/2025/10/eva-mellanox-QDR-Infiniband.960px-1.png" alt=""></p>
<p>Mellanox ConnectX-3 Infiniband NICs and QDR DAC from ~2015, photo circa 2022</p>
<p>Once the DPUs arrive - <em>which is supposed to be today</em> - I&rsquo;ll take some photos and clean all of the PCBs and traces and slot connectors. In the interim, here&rsquo;s the eBay photo for reference.</p>
<p><img src="/content/images/2025/10/mellanox-bluefield2.png" alt=""></p>
<p>The big question&hellip; spend precious time with the R630 cluster in cab68, remove their ConnectX-4 Dual-Port 100G NICs, or install the BF2 DPUs to the cluster of IBM LC922 POWER9 systems in cab70&hellip; hmmmm.. 🤔 This decision will not be completed today. So, let&rsquo;s think about cable maps and rack units.</p>
<h3 id="heres-a-lazy-ascii-diagram">Here&rsquo;s a lazy ASCII diagram</h3>
<p>Showing three lengths of DAC being used for rack-height designated connections, each cable SKU being 0.5M longer/shorter to account for the destination system&rsquo;s location. DAC is heavy, so any time we can make the cable runs shorter we&rsquo;ll (perhaps marginally) reduce latency while reducing load on the rack-cabling organizers, and generally resulting in a cleaner layout. The following diagram is not to scale for either cab68 or cab70, it simply shows how the waterfall method uses length-based drops.</p>
<pre tabindex="0"><code>+----------------------------------------------------------+
| RU42 | [Leaf Switch, QSFP28/56]                          |
|      |  [P01..P16]                                       |
|      |     |                                             |
|      |     +-DAC-1 1.5m ——————————&gt; [RU38] Server-A      |
|      |     +-DAC-2 2.0m ————————————&gt; [RU32] Server-B    |
|      |     +-DAC-3 2.0m ————————————&gt; [RU26] Server-C    |
|      |     +-DAC-4 2.5m ———————————————&gt; [RU20] Server-D |
+----------------------------------------------------------+

Labeling scheme:
  Leaf ports: P01–P16 (logical)
  Designators: 4x 25G lanes per 100G QSFP28 port (physical)
  Servers: A,B,C,D with SFP28 1–4 (A-1, A-2, A-3, A-4)
  Cables: DAC-1..4 with length tag (DAC-3 2.0m)
</code></pre><hr>
<h2 id="where-are-these-new-dac">Where are these new DAC?</h2>
<p>On their way&hellip; hopefully sooner than the stated arrival.</p>
<p><img src="/content/images/2025/10/ebay-dac-order.960px.png" alt=""></p>
<hr>
<h2 id="update-guess-what-showed-up">[update] Guess What Showed Up?</h2>
<p>One of the correct SKU with correct firmware and PCB revision <em>(MBF2H332A-AECOT Rev-C1 2022-02-15)</em>, and three of the same SKU without the correct firmware or PCB revision. So, three of them will not work for this project, and in an ideal world the vendor will reship the correct ones quickly.</p>
<p><img src="/content/images/2025/10/Bluefield2-Four-Shipped-SideSide.960px.png" alt=""></p>
]]></description>
      
    </item>
    
    
    
    <item>
      <title>Serial RS232 &#43; Crossover Keystones</title>
      <link>https://winterschon.gitlab.io/en/posts/serial-rs232-crossover-keystones/</link>
      <pubDate>Sat, 20 Sep 2025 22:07:07 +0000</pubDate>
      
      <guid>https://winterschon.gitlab.io/en/posts/serial-rs232-crossover-keystones/</guid>
      <description><![CDATA[<p>HomeLab, Networking, Cables&hellip; let&rsquo;s look at the requirements for building custom keystone jacks and RS232 serial cables. A minor discussion of the core components is necessary before looking at the technical aspects.</p>
<p>This post was written over a series of months, initially as lab notes, with some bits and bytes added each time the tools come out or the patch panels are rewired. While perhaps not a common task, hopefully the knowledge finds someone else looking for these solutions.</p>
<h2 id="switch-port-system-roles">Switch-Port System Roles</h2>
<p>This post discusses several types of connections and signals conversion in a field where the list of potential operating modes is prone to complexity. Brands involve APC, Avocent, Blackbox, Cisco, Cyclades, Moxa, Netshelter, OpenGear, Vertiv, and more - but here in my HomeLab and in the enterprises in which I&rsquo;ve worked, there&rsquo;s a common requirement for critical equipment to talk to a System Infrastructure Manager system or OOB device.</p>
<h3 id="system-infrastructure-manager">System Infrastructure Manager</h3>
<p>Featured in the post&rsquo;s header image, I&rsquo;m using Blackbox for OOB services, but these specs are matched by various brands in similar price points.</p>
<p><strong>Device:</strong> BlackBox model LES1248a out‑of‑band (OOB) connection manager<br>
<strong>Specs</strong>: 48‑port, 1U, dual-PSU, dual-LAN, cellular 3G and POTS optional</p>
<p><strong>Provided Features</strong></p>
<ol>
<li>Remote access services using web-based serial console interface for infrastructure devices (switches, routers, PDUs, UPS, etc).</li>
<li>Centralizes remote‑management via multi-protocol connections and bridging between serial devices and user-facing network services.</li>
<li>Access‑control lists (ACLs) and role‑based access control (RBAC)</li>
<li>Monitoring, logging, and alerting</li>
</ol>
<h4 id="reference-generic-pin-mapping-for-8p8c-rj45">Reference: Generic Pin Mapping for 8P8C RJ45</h4>
<p>This represents the usual 8P8C RJ45 connector layout, with pin usage according to different serial standards. While we are focused on RS232, it can be helpful for visualization purposes to see how other standards are implemented.</p>
<table>
  <thead>
      <tr>
          <th>Pinout</th>
          <th>EIA‑232</th>
          <th>EIA‑422</th>
          <th>EIA‑485 Full Duplex</th>
          <th>EIA‑485 Half Duplex</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>1 (in)</td>
          <td>DCD</td>
          <td></td>
          <td></td>
          <td></td>
      </tr>
      <tr>
          <td>2 (out)</td>
          <td>RTS</td>
          <td>TxD+</td>
          <td>TxD</td>
          <td>DATA+</td>
      </tr>
      <tr>
          <td>3 (in)</td>
          <td>DSR</td>
          <td></td>
          <td></td>
          <td></td>
      </tr>
      <tr>
          <td>4 (out)</td>
          <td>TxD</td>
          <td>TxD‑</td>
          <td>TxD‑</td>
          <td>DATA‑</td>
      </tr>
      <tr>
          <td>5 (in)</td>
          <td>RxD</td>
          <td>RxD+</td>
          <td>RxD+</td>
          <td></td>
      </tr>
      <tr>
          <td>6</td>
          <td>GND</td>
          <td>GND</td>
          <td>GND</td>
          <td>GND</td>
      </tr>
      <tr>
          <td>7 (in)</td>
          <td>CTS</td>
          <td>RxD‑</td>
          <td>RxD‑</td>
          <td></td>
      </tr>
      <tr>
          <td>8 (out)</td>
          <td>DTR</td>
          <td></td>
          <td></td>
          <td></td>
      </tr>
  </tbody>
</table>
<hr>
<h2 id="working-with-keystone-connectors">Working with Keystone Connectors</h2>
<p>Those 48 ports aren&rsquo;t going to fill themselves up without some occasional head scratching along the lines of..</p>
<blockquote>
<p><em>Q: &ldquo;How can I connect this RJ12 RS232 based APC PDU to a RJ45 RS232 infrastructure manager?&rdquo;</em></p>
</blockquote>
<blockquote>
<p>A: You&rsquo;re going to have to convert the pin-out for an RJ12 cable to the expected pin-map of an RJ45 RS232 rollover cable.</p>
</blockquote>
<p>Great. I have those requirements!</p>
<p><img src="/content/images/2025/09/Serial-Cables-IMG_0996.png" alt=""></p>
<p>Let&rsquo;s see the various pin and cable maps involved with some common use cases. We&rsquo;ll get to the RJ12 content, but let&rsquo;s see standard mappings first.</p>
<h3 id="1-standard-ethernet-8p8c-straight-straight">1) Standard Ethernet, 8P8C Straight-Straight</h3>
<p>These are simple and have no pin conversion to map. This is a basic reference only, there&rsquo;s nothing to do.</p>
<table>
  <thead>
      <tr>
          <th>J1 (Keystone Front)</th>
          <th>J2 (Keystone Back)</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>J1‑1 →</td>
          <td>J2‑1</td>
      </tr>
      <tr>
          <td>J1‑2 →</td>
          <td>J2‑2</td>
      </tr>
      <tr>
          <td>J1‑3 →</td>
          <td>J2‑3</td>
      </tr>
      <tr>
          <td>J1‑4 →</td>
          <td>J2‑4</td>
      </tr>
      <tr>
          <td>J1‑5 →</td>
          <td>J2‑5</td>
      </tr>
      <tr>
          <td>J1‑6 →</td>
          <td>J2‑6</td>
      </tr>
      <tr>
          <td>J1‑7 →</td>
          <td>J2‑7</td>
      </tr>
      <tr>
          <td>J1‑8 →</td>
          <td>J2-8</td>
      </tr>
  </tbody>
</table>
<hr>
<h3 id="2-cisco-rollover-8p8c-switch-crossover">2) Cisco Rollover, 8P8C Switch-Crossover</h3>
<p>Standard rollover cable pin-map. In this case it&rsquo;s what we want to use when connecting a Cisco style switch to our Blackbox (both with RJ45 RS232 ports).</p>
<table>
  <thead>
      <tr>
          <th>Pin</th>
          <th>Signal</th>
          <th>Direction</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>1</td>
          <td>DCD</td>
          <td>in</td>
      </tr>
      <tr>
          <td>2</td>
          <td>RTS</td>
          <td>out</td>
      </tr>
      <tr>
          <td>3</td>
          <td>DSR</td>
          <td>in</td>
      </tr>
      <tr>
          <td>4</td>
          <td>TxD</td>
          <td>out</td>
      </tr>
      <tr>
          <td>5</td>
          <td>RxD</td>
          <td>in</td>
      </tr>
      <tr>
          <td>6</td>
          <td>GND</td>
          <td><em>(none)</em></td>
      </tr>
      <tr>
          <td>7</td>
          <td>CTS</td>
          <td>in</td>
      </tr>
      <tr>
          <td>8</td>
          <td>DTR</td>
          <td>out</td>
      </tr>
  </tbody>
</table>
<h4 id="keystone-pins-8p8c-switch-crossover">Keystone Pins, 8P8C Switch-Crossover</h4>
<p>My patch panels use keystone jacks to simplify things, and they ship with straight-through RJ45-RJ45 connectors which do not change the wiring. That&rsquo;s fine in some cases, but let&rsquo;s see what we need to do to build a custom crossover keystone jack.</p>
<table>
  <thead>
      <tr>
          <th>J1 (BlackBox side)</th>
          <th>J2 (Cisco side)</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>J1‑2 (RTS) →</td>
          <td>J2‑8 (CTS)</td>
      </tr>
      <tr>
          <td>J1‑3 (DSR) →</td>
          <td>J2‑2 (DTR) (optional)</td>
      </tr>
      <tr>
          <td>J1‑4 (TxD) →</td>
          <td>J2‑6 (RxD)</td>
      </tr>
      <tr>
          <td>J1‑5 (RxD) →</td>
          <td>J2‑3 (TxD)</td>
      </tr>
      <tr>
          <td>J1‑6 (GND) →</td>
          <td>J2‑4 (GND)</td>
      </tr>
      <tr>
          <td>J1‑7 (CTS) →</td>
          <td>J2‑1 (RTS)</td>
      </tr>
      <tr>
          <td>J1‑8 (DTR) →</td>
          <td>J2‑7 (DSR)</td>
      </tr>
      <tr>
          <td>J1‑1 (DCD) →</td>
          <td>— (no connection to J2)</td>
      </tr>
  </tbody>
</table>
<hr>
<h3 id="3-apc-pdu-conversion-6p6c-rj12--8p8c-rj45">3) APC PDU Conversion, 6P6C RJ12 → 8P8C RJ45</h3>
<ul>
<li>APC PDU side: 6P6C RJ12 connector with grey ethernet cable</li>
<li>Blackbox side: 8P8C RJ45 connector with grey ethernet cable</li>
</ul>
<h3 id="rj12-6p6c-connector-for-apc-940-0144a">RJ12 6P6C Connector for APC (940-0144A)</h3>
<p>While APC has more than one RJ12 connector on their products, this one is the most common from my SKU usage in the enterprise.</p>
<table>
  <thead>
      <tr>
          <th>Pin</th>
          <th>Signal</th>
          <th>Direction / Notes</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>1</td>
          <td>—</td>
          <td>No connection (NC)</td>
      </tr>
      <tr>
          <td>2</td>
          <td>GND</td>
          <td>Ground</td>
      </tr>
      <tr>
          <td>3</td>
          <td>TX</td>
          <td>Serial transmit <strong>to</strong> peer</td>
      </tr>
      <tr>
          <td>4</td>
          <td>RX</td>
          <td>Serial receive <strong>from</strong> peer</td>
      </tr>
      <tr>
          <td>5</td>
          <td>GND</td>
          <td>Ground</td>
      </tr>
      <tr>
          <td>6</td>
          <td>—</td>
          <td>No connection (NC)</td>
      </tr>
  </tbody>
</table>
<h3 id="keystone-pins-6p6c-rj12-for-apc-pdu">Keystone Pins, 6P6C RJ12 for APC PDU</h3>
<p>This is where things get fun? We have an 8-pin cable on both sides of the jack, but only 4 pins are needed on the APC RJ12 side. Look closely and plan ahead when you&rsquo;re chopping wires and punching connectors.</p>
<p><strong>Rj45 Blackbox View</strong></p>
<table>
  <thead>
      <tr>
          <th>J1 (BlackBox side)</th>
          <th>J2 (APC side)</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>J1‑1 (DCD)</td>
          <td>— <em>(no connection to J2)</em></td>
      </tr>
      <tr>
          <td>J1‑2</td>
          <td>— <em>(no connection to J2)</em></td>
      </tr>
      <tr>
          <td>J1‑3</td>
          <td>— <em>(no connection to J2)</em></td>
      </tr>
      <tr>
          <td>J1‑4 (TxD – out)</td>
          <td>J2‑4 (RxD – input to APC)</td>
      </tr>
      <tr>
          <td>J1‑5 (RxD – in)</td>
          <td>J2‑3 (TxD – output of APC)</td>
      </tr>
      <tr>
          <td>J1‑6 (GND)</td>
          <td>J2‑2 (GND) <strong>and</strong> J2‑5 (GND)</td>
      </tr>
      <tr>
          <td>J1‑7</td>
          <td>— <em>(no connection to J2)</em></td>
      </tr>
      <tr>
          <td>J1‑8</td>
          <td>— <em>(no connection to J2)</em></td>
      </tr>
  </tbody>
</table>
<p><strong>Rj12 APC View</strong></p>
<table>
  <thead>
      <tr>
          <th>APC RJ12 (6P6C)</th>
          <th>Console RJ45 (8P8C)</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>pin 1 –</td>
          <td>–</td>
      </tr>
      <tr>
          <td>pin 2 GND</td>
          <td>pin 4 GND</td>
      </tr>
      <tr>
          <td>pin 3 TX →</td>
          <td>pin 6 RXD (into console)</td>
      </tr>
      <tr>
          <td>pin 4 RX ←</td>
          <td>pin 3 TXD (out of console)</td>
      </tr>
      <tr>
          <td>pin 5 GND</td>
          <td>pin 5 GND (optional second ground)</td>
      </tr>
      <tr>
          <td>pin 6 –</td>
          <td>–</td>
      </tr>
  </tbody>
</table>
<p><strong>USOC (RJ‑12) Pinout</strong></p>
<table>
  <thead>
      <tr>
          <th>Pin (L→R)</th>
          <th>Colour (typical US C)</th>
          <th>Pair</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>1</td>
          <td>White</td>
          <td>P3</td>
      </tr>
      <tr>
          <td>2</td>
          <td>Black</td>
          <td>P2</td>
      </tr>
      <tr>
          <td>3</td>
          <td>Red</td>
          <td>P1</td>
      </tr>
      <tr>
          <td>4</td>
          <td>Green</td>
          <td>P1</td>
      </tr>
      <tr>
          <td>5</td>
          <td>Yellow</td>
          <td>P2</td>
      </tr>
      <tr>
          <td>6</td>
          <td>Blue</td>
          <td>P3</td>
      </tr>
  </tbody>
</table>
<p><strong>RJ‑45 (T568B) Pinout</strong></p>
<table>
  <thead>
      <tr>
          <th>Pin (L→R)</th>
          <th>Colour (T568B)</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>1</td>
          <td>White‑Orange</td>
      </tr>
      <tr>
          <td>2</td>
          <td>Orange</td>
      </tr>
      <tr>
          <td>3</td>
          <td>White‑Green</td>
      </tr>
      <tr>
          <td>4</td>
          <td>Blue</td>
      </tr>
      <tr>
          <td>5</td>
          <td>White‑Blue</td>
      </tr>
      <tr>
          <td>6</td>
          <td>Green</td>
      </tr>
      <tr>
          <td>7</td>
          <td>White‑Brown</td>
      </tr>
      <tr>
          <td>8</td>
          <td>Brown</td>
      </tr>
  </tbody>
</table>
<p><em>Both USOC/T568B tables assume the connector tab is facing down and the pins are read left‑to‑right.</em></p>
<h2 id="regarding-flow-control---dsrdtr-assertion">Regarding Flow Control - DSR/DTR Assertion</h2>
<p>Fun times with RS232 sometimes involve flow-control, though often this is set to &ldquo;None&rdquo;, there are more options than None where None is concerned. Let&rsquo;s see why Blackbox offers the following options, given the following debugging scenario:</p>
<h5 id="defining-a-common-flow-control-issue">Defining a Common Flow Control Issue</h5>
<p><strong>Problem</strong>: Blackbox shows incomplete port status*, with no terminal output when connecting via Cisco rollover cable.</p>
<p><em>[*] (&ldquo;RTS | DTR&rdquo; instead of &ldquo;RTS | DSR | DTR | DCD&rdquo;)</em></p>
<h5 id="signal-debugging-workflow">Signal Debugging Workflow</h5>
<table>
  <thead>
      <tr>
          <th>Configuration</th>
          <th>Action</th>
          <th>Purpose</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>1. Validate &ldquo;Hardware Flow Control&rdquo;</td>
          <td>Enable sampling</td>
          <td>Detect carrier signals</td>
      </tr>
      <tr>
          <td>2. Pinout Verification</td>
          <td>Check mappings</td>
          <td>Ensure proper signal visibility</td>
      </tr>
      <tr>
          <td>3. Signal Testing</td>
          <td>Use multimeter</td>
          <td>Confirm remote device asserts DSR/DCD</td>
      </tr>
      <tr>
          <td>4. Manual Carrier Assert</td>
          <td>Add loop adapter</td>
          <td>Force carrier presence</td>
      </tr>
  </tbody>
</table>
<h5 id="inspecting-flow-control-modes">Inspecting Flow Control Modes</h5>
<table>
  <thead>
      <tr>
          <th>Configuration</th>
          <th>Result</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>None - Default</td>
          <td>Take no action</td>
      </tr>
      <tr>
          <td>None - Flow control signals unpowered</td>
          <td>FC signal pins explicitly disabled</td>
      </tr>
      <tr>
          <td>Hardware</td>
          <td>(implied: signals are powered)</td>
      </tr>
      <tr>
          <td>Software</td>
          <td>(implied: signals are powered)</td>
      </tr>
      <tr>
          <td>Software - Flow control signals unpowered</td>
          <td>FC signal pins explicitly disabled</td>
      </tr>
  </tbody>
</table>
<ul>
<li><strong>Q: What, surely the two None types are equivalent?</strong></li>
<li><strong>A: They are not equivalent.</strong></li>
</ul>
<p>The port is usable in either <em>&ldquo;None-Type&rdquo;</em> modality <strong>only if TxD/RxD signals are present</strong>. The console server will report <em>&ldquo;No signal data available&rdquo;</em> when the connected Blackbox port is operating in the following states:</p>
<ol>
<li>not powering when it needs power</li>
<li>actively sampling modem-control lines</li>
<li>when the remote device side never asserts them</li>
</ol>
<h4 id="confusions-with-state-mode-usability">Confusions with State-Mode Usability</h4>
<p>Using <em>&ldquo;None - Flow control signals unpowered&rdquo;</em> disables the port&rsquo;s modem-line sensing, which prevents the appliance from reporting DSR/DCD/CTS.</p>
<ul>
<li>Whether or not you can connect over the line depends whether the device has active TxD/RxD connection signals, irrespective of whether Blackbox knows about DSR/DCD/CTS state.</li>
<li>Alternatively, the remote device may never assert DSR/DCD, as many network-console ports don&rsquo;t provide carrier signals, so the server has nothing to report.</li>
</ul>
<hr>
<h2 id="ok-what-else">Ok&hellip; What else?</h2>
<p>Despite many efforts and assumptions, it&rsquo;s a fact that RS232 is not going anywhere any time soon and it remains not simply useful but necessary.</p>
<p>The global view of serial connection usage includes datacenters, industrial automation systems, expansive cellular / broadband / telco networking hardware, mainframe connected terminals, all the way to a near-endless number of embedded systems. Good times, plenty of TxD/RxD signals to go around. 😄</p>
]]></description>
      
    </item>
    
    
    
    <item>
      <title>Sunday Homelab TPM OMGOSH</title>
      <link>https://winterschon.gitlab.io/en/posts/sunday-homelab-tpm-omgosh/</link>
      <pubDate>Sun, 31 Aug 2025 15:08:18 +0000</pubDate>
      
      <guid>https://winterschon.gitlab.io/en/posts/sunday-homelab-tpm-omgosh/</guid>
      <description><![CDATA[<p>It&rsquo;s 0721 on a Sunday morning. I&rsquo;m laying on the couch, pondering the facts of existence, still dealing with C19 Nimbus side effects, and going through a mental checklist for #HomeLab tasks which need attention.</p>
<p>During standard weekends, when not afflicted with the covids, all of the following tasks could be completed in a relaxing and reasonable pace. Perhaps two or three.. time will tell. 😌</p>
<ol>
<li>Remove all ephemeral hardware from 25U rack #2</li>
<li>Swap out 4U APC 3kVA UPS for 2U APC 1.5kVA, in 25U rack #2</li>
<li>Move ARM64 cluster from 12U rack to 25U rack #2</li>
<li>Swap 1x APC PDU (metered only) for APC PDU (switched), in 25U rack #1</li>
<li>Validate LACP map on EX3300-48T, rack #2</li>
<li>Validate 40mm fan situation on EX3300-48T, rack #2</li>
<li>Recable 3x 24 port patch panels, rack #2</li>
<li>Deploy 1x 24 port patch panels, rack #1</li>
<li>Replace all fans in 2U net-infra SmartOS node</li>
<li>Finish firmware updates on all APC devices</li>
<li>Upgrade firmware on all managed switches</li>
<li>Validate 5GbE SFP+/BASET optic for FTTH on X710 NIC</li>
<li>Install 3x SM863 SSD boot drives for Talos II Power9</li>
<li>Install 3x 883DCT SSD storage drives for Talos II Power9</li>
<li>Swap 2x10G Intel X550 for 4x25G QL41234 in Talos II</li>
<li>Swap 2x 120mm &amp; add 1x 92mm fans in Talos II</li>
<li>Ident 1000W PSU for EPYC box, needs PMbus</li>
<li>ooooh there&rsquo;s so much more&hellip;</li>
</ol>
<p><img src="/content/images/2025/08/MessyHomeLab-SunnyCA_2025-08-31_07-43-28_1.png" alt=""></p>
<p>rack consolidation strongly needed</p>
<p>Ehrlich gesagt, just look at this mess, and it&rsquo;s on carpet? Even with solid 14 gauge copper grounding straps on every UPS, PDU, ATS, along with GFCI + AFCI isolation breakers, I cannot in good conscience recommend such blasphemy of electrical code compliance concerns.</p>
<p>So, add this to the list: find some manner of solid platform with a grounding-strap for the two 25U racks <em>(12U needs to be elsewhere, byeeeee).</em></p>
]]></description>
      
    </item>
    
    
  </channel>
</rss>
