Files
RedBear-OS/local/docs/HARDWARE-NETWORKING-INVENTORY.md
T

274 lines
23 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Hardware Networking Inventory — Red Bear OS
**Created:** 2026-07-26
**Status:** Phase -1 (prerequisite) — gate before any bare-metal validation
**Purpose:** Enumerate every piece of networking-relevant hardware available or known-missing for Red Bear OS wired and wireless driver validation.
**Rules for this document:**
- **No placeholders, no "TBD", no fabricated entries.** If hardware is unavailable, it is marked `[MISSING]` with a note explaining why.
- **AVAILABLE means physically present and accessible** to the operator. It does not mean "planned to acquire" or "could be emulated in QEMU."
- **Status codes:** `[AVAILABLE]` — present, `[MISSING]` — not present / not acquired, `[DEFERRED]` — present but not yet integrated into the test bench.
---
## 1. Test Bench Inventory
Each bench is a physical machine or QEMU profile used for networking validation. QEMU is always available on the build host and is listed here for completeness.
| # | Name / Nickname | Role | CPU | RAM | NICs (PCI IDs) | Wi-Fi / WWAN | BIOS/UEFI | Status | Operator Contact |
|---|---|---|---|---|---|---|---|---|---|
| 1 | **Build Host (Threadripper)** | Canonical AMD bare-metal test platform + build machine | AMD Ryzen Threadripper (128-thread, exact model unrecorded) | Not recorded — minimum 32 GB (build host) | Not recorded — suspect at least one onboard NIC. **NIC inventory must be collected before Phase 5.** | Not recorded | UEFI (AMD bare-metal boot proven) | [AVAILABLE] — boot proven (`AGENTS.md` § "AMD CPUs"); NIC inventory uncollected. **Action: operator to run `lspci -nn \| grep -i ethernet` and `lspci -nn \| grep -i network` and report.** | vasilito (operator) |
| 2 | **LG Gram 16Z90TP** | First-class Intel Arrow Lake-H bare-metal target | Intel Core Ultra 7 255H (16-core hybrid P/E/LP-E), family 0x6 model 0xC5 | 32 GB | **None** (no wired Ethernet on this platform) | Intel Wi-Fi 7 BE201 [8086:7740] CNVi, fw `bz-b0-fm-c0-c102.ucode` (iwlmld); Bluetooth [8087:0037] | Phoenix A1ZJ3000 X64 UEFI 2.7 (2024-12-26), Secure Boot off | [AVAILABLE] — host physically present; QEMU boot gate met (2026-07-23); bare-metal boot pending Phase 1 validation | vasilito (operator) |
| 3 | **Intel Laptop (Unknown Model)** | Temporary bare-metal boot test (black-screen + overheating fix verification, 2026-06-19) | Intel (Alder Lake class or later) | Not recorded | Not recorded | Not recorded | Unknown | [AVAILABLE] — transient; was used to validate cpufreqd MSR path and vesad framebuffer on bare metal. Not designated as a permanent test bench. | vasilito (operator) |
| 4 | **QEMU (`-device e1000e`)** | Virtual e1000 test NIC | Host CPU | Configurable (`-m`) | e1000e 82574L [8086:10d3] | N/A | N/A | [AVAILABLE] — QEMU on build host; e1000e emulation corresponds to the 82574L PCI ID in `e1000d/config.toml`. Proven: smolnetd + DHCP + ping in QEMU. | vasilito (operator) |
| 5 | **QEMU (`-device virtio-net`)** | Virtual VirtIO test NIC (MSI-X proof) | Host CPU | Configurable (`-m`) | virtio-net [1af4:1000] | N/A | N/A | [AVAILABLE] — QEMU on build host; ✅ MSI-X validated, ✅ bounded VM networking baseline proven. | vasilito (operator) |
| 6 | **QEMU (`-device rtl8139`)** | Virtual RTL8139 test NIC | Host CPU | Configurable (`-m`) | rtl8139 [10ec:8139] | N/A | N/A | [AVAILABLE] — QEMU on build host; driver builds, runtime not proven. | vasilito (operator) |
**Summary:** 4 physical machines known (2 designated test benches: Threadripper + LG Gram), 3 QEMU profiles. **Critical gap:** NIC inventory on the Threadripper build host has never been recorded.
---
## 2. Per-NIC Driver Mapping
Each Red Bear OS Ethernet driver mapped to the PCI device IDs it supports (from `local/sources/base/drivers/net/*/config.toml` and `config/redbear-device-services.toml`), and to the physical hardware known to be available for testing.
### 2.1 e1000d — Intel Gigabit Ethernet
| Property | Value |
|---|---|
| **Source path** | `local/sources/base/drivers/net/e1000d/` |
| **Config** | `config.toml` + `config/redbear-device-services.toml` (driver-manager entry) |
| **Driver-manager match** | `vendor=0x8086 class=2 subclass=0` — Ethernet only (subclass filter added Phase 0 to prevent Wi-Fi collision) |
| **Supported PCI IDs** | `0x8086:1004, 100e, 100f, 109a, 1503, 10d3` |
| **Covers** | Classic 82540/82545-family PCI e1000 + 82574L (the "e1000e" chip QEMU emulates) |
| **Explicitly NOT covered** | Intel I219 (Lewisburg/PCH LOM on modern desktops, IDs `8086:15d8` etc.) — different init sequence, not claimed. Intel I225 (2.5GbE) — not supported. |
| **Known revisions in driver** | The `config.toml` comment mentions the 82574L retains "legacy descriptor + register interface" — all 6 listed PCI IDs share the same register layout. |
| **Compile status** | ✅ Builds as part of `recipes/core/base` |
| **QEMU status** | ✅ Works with `-device e1000e` (82574L emulation, ID `8086:10d3`). DHCP + ping proven. |
| **Bare-metal status** | 🔲 Not validated — need hardware. |
| **Available for bare-metal test** | [MISSING] — no physical Intel e1000/e1000e NIC identified in any inventoried bench. The LG Gram has no wired Ethernet. The Threadripper build host's onboard NIC is unidentified. |
### 2.2 rtl8168d — Realtek 8168/8169 Gigabit Ethernet
| Property | Value |
|---|---|
| **Source path** | `local/sources/base/drivers/net/rtl8168d/` |
| **Config** | `config.toml` + `config/redbear-device-services.toml` (driver-manager entry) |
| **Driver-manager match** | `vendor=0x10EC class=2 subclass=0 device=[0x8168, 0x8169]` |
| **Supported PCI IDs** | `0x10ec:8168, 8169` |
| **Covers** | RTL8168 (PCIe Gigabit) and RTL8169/8111 (PCI Gigabit). Note: many board vendors rebadge RTL8168 as RTL8111. |
| **Explicitly NOT covered** | RTL8125 (`10ec:8125`) 2.5GbE — different register layout (`r8125` in Linux), not claimed. RTL810x (Fast Ethernet) — different family. |
| **Known revisions (from Linux `r8169` driver)** | Hardware revision encoded in `TxConfig` register bits 30:28; ~40 known revisions (0x00 through 0x4c). Common desktop: 0x0c (RTL8168e/8111e), 0x10 (RTL8168f/8111f), 0x2c (RTL8168ep/8111ep), 0x34 (RTL8168g/8111g), 0x4c (RTL8168h/8111h). The Red Bear driver chip-level revision decoding surface is unconfirmed. |
| **Compile status** | ✅ Builds as part of `recipes/core/base` |
| **QEMU status** | 🔲 Not tested — QEMU has no rtl8168 emulation. rtl8168d must be tested bare metal. |
| **Bare-metal status** | 🔲 Not validated — need hardware. |
| **Available for bare-metal test** | [MISSING] — no physical RTL8168/8169 NIC identified in any inventoried bench. Common on consumer motherboards (~20102020 era). A PCIe RTL8168 NIC can be acquired (~$15). |
### 2.3 rtl8139d — Realtek 8139 Fast Ethernet
| Property | Value |
|---|---|
| **Source path** | `local/sources/base/drivers/net/rtl8139d/` |
| **Config** | `config.toml` + `config/redbear-device-services.toml` (driver-manager entry) |
| **Driver-manager match** | `vendor=0x10EC device=0x8139` |
| **Supported PCI IDs** | `0x10ec:8139` |
| **Covers** | RTL8139C/D — 10/100 Fast Ethernet, very old (late 1990s/early 2000s), still in QEMU |
| **Compile status** | ✅ Builds as part of `recipes/core/base` |
| **QEMU status** | 🔲 Available (`-device rtl8139`) but not runtime-proven. |
| **Bare-metal status** | 🔲 Not validated. |
| **Available for bare-metal test** | [DEFERRED] — physical RTL8139 cards exist (legacy PCI) but are deprioritized vs. modern NIC validation. |
### 2.4 ixgbed — Intel 10 Gigabit Ethernet (82599 family)
| Property | Value |
|---|---|
| **Source path** | `local/sources/base/drivers/net/ixgbed/` |
| **Config** | `config.toml` + `config/redbear-device-services.toml` (driver-manager entry) |
| **Driver-manager match** | `vendor=0x8086 class=2 subclass=0 device=[40 IDs]` |
| **Supported PCI IDs** | 40 IDs in `config.toml`: `0x10F7, 0x1514, 0x1517, 0x151C, 0x10F9, 0x10FB, 0x152a, 0x1529, 0x1507, 0x154D, 0x1557, 0x10FC, 0x10F8, 0x154F, 0x1528, 0x154A, 0x1558, 0x1560, 0x1563, 0x15D1, 0x15AA, 0x15AB, 0x15AC, 0x15AD, 0x15AE, 0x15B0, 0x15C2, 0x15C3, 0x15C4, 0x15C6, 0x15C7, 0x15C8, 0x15CE, 0x15E4, 0x15E5, 0x10ED, 0x1515, 0x1565, 0x15A8, 0x15C5` |
| **Port of** | ixy.rs — userspace Rust 10GbE driver |
| **Features on paper** | MSI-X, 250× faster Tx than e1000/rtl8168, <1000 LoC |
| **Compile status** | ✅ Builds as part of `recipes/core/base` |
| **QEMU status** | 🔲 Not tested — QEMU has no ixgbe 10GbE emulation. Must be tested bare metal. |
| **Bare-metal status** | 🔲 Not validated — need hardware. |
| **Available for bare-metal test** | [MISSING] — no physical Intel 82599 (X520/X540/X550) 10GbE NIC identified. Server surplus cards are $3060 (e.g. Intel X520-DA2 `8086:154d`). |
### 2.5 virtio-netd — VirtIO Network
| Property | Value |
|---|---|
| **Source path** | `local/sources/base/drivers/net/virtio-netd/` |
| **Config** | `config.toml` + `config/redbear-device-services.toml` (driver-manager entry) |
| **Driver-manager match** | `vendor=0x1AF4 class=2` |
| **Supported PCI IDs** | `0x1af4:1000` |
| **Compile status** | ✅ Builds |
| **QEMU status** | ✅ MSI-X validated, VM networking baseline proven (test-vm-network-qemu.sh + test-vm-network-runtime.sh). |
| **Bare-metal status** | N/A — VirtIO is a virtualization device. |
### 2.6 redbear-iwlwifi — Intel Wi-Fi (iwlwifi port)
| Property | Value |
|---|---|
| **Source path** | `local/recipes/drivers/redbear-iwlwifi/source/` |
| **Driver-manager match** | `vendor=0x8086 class=0x02 subclass=0x80` (from `config/redbear-device-services.toml` `70-wifi.toml`) |
| **Supported PCI IDs** | `0x7740` (BE201, Arrow Lake-H), `0x2725` (AX210, Typhoon Peak), `0x7af0` (AX211/AX201/9462/9560 — subsystem-disambiguated) |
| **Op-mode** | Mini-MVM (iwlmvm-era) for all IDs except 0x7740 which requires iwlmld (c-series firmware). Mini-MLD layer exists in `src/mld/` (Rust, ~1300 lines, 23 tests); not hardware-validated. |
| **Firmware (Mini-MVM, per `intel_firmware_candidates()`)** | |
| | `0x7740 (ssid 0x4090)`: `iwlwifi-bz-b0-gf-a0-{100,94,92}.ucode` + `iwlwifi-bz-b0-gf-a0.pnvm` |
| | `0x7740 (other ssid)`: `iwlwifi-bz-b0-fm-c0-{101,100,98,96,94,92}.ucode` + `iwlwifi-bz-b0-fm-c0.pnvm` |
| | `0x2725`: `iwlwifi-ty-a0-gf-a0-{59,84}.ucode` + `iwlwifi-ty-a0-gf-a0.pnvm` |
| | `0x7af0 (ssid 0x4090)`: `iwlwifi-so-a0-gf-a0-{64,66}.ucode` + `iwlwifi-so-a0-gf-a0.pnvm` |
| | `0x7af0 (ssid 0x4070)`: `iwlwifi-so-a0-hr-b0-64.ucode` + `iwlwifi-so-a0-hr-b0.pnvm` |
| | `0x7af0 (ssid 0x0aaa/0x0030)`: `iwlwifi-so-a0-jf-b0-64.ucode` + `iwlwifi-9000-pu-b0-jf-b0-46.ucode` + `iwlwifi-so-a0-jf-b0.pnvm` |
| **Firmware (iwlmld, per `intel_iwlmld_candidates()`)** | |
| | `0x7740`: `iwlwifi-bz-b0-fm-c0-{c106,c103,c102,c101}.ucode` (c-series = MLD firmware, NOT compatible with Mini-MVM) |
| **Firmware staging** | ✅ Blobs pre-staged for 0x7740 (c101/c102/c103/c106 + pnvm), gf-a0 set, i915 GPUs, BT in `redbear-firmware` recipe. Fallback chains in `/etc/firmware-fallbacks.d/10-iwlwifi.toml`. |
| **Compile status** | ✅ Builds cross `x86_64-unknown-redox`. Host unit tests: 8 pass. |
| **QEMU status** | 🔲 Not applicable — VFIO passthrough framework exists (test-wifi-passthrough-qemu.sh) but requires physical Wi-Fi card + IOMMU. QEMU has no iwlwifi emulation. |
| **Bare-metal status** | 🔲 Not validated. Bounded runtime validation framework exists (test-wifi-baremetal-runtime.sh, test-iwlwifi-driver-runtime.sh, test-wifi-control-runtime.sh). |
| **Available for bare-metal test** | [AVAILABLE] — LG Gram 16Z90TP has Intel BE201 [8086:7740]. AX210/AX211/AX201 hardware: [MISSING] — no secondary-silicon card identified. |
| **Known gap** | BE201 needs iwlmld (c-series firmware, API 102) — Mini-MVM cannot drive it. The MLD Rust layer (`src/mld/`) is code-complete but unvalidated on hardware. See `LG-GRAM-16Z90TP-COMPATIBILITY-PLAN.md` Phase 6. |
### 2.7 redbear-ecmd — USB CDC ECM/NCM (USB Ethernet Dongle)
| Property | Value |
|---|---|
| **Source path** | `local/recipes/system/redbear-ecmd/source/` |
| **Driver-manager match** | `70-usb-class.toml` — USB class driver, not PCI-matched |
| **Protocol** | USB CDC ECM subclass 0x06 (per CDC spec + Linux `cdc_ether.c` reference) |
| **Features** | Bulk IN/OUT endpoints, interrupt notification EP, packet filter, multicast filter, link/speed notifications |
| **Compile status** | ✅ Builds cross `x86_64-unknown-redox` |
| **QEMU status** | 🔲 Not tested — QEMU can emulate CDC ECM via `-usbdevice` but this is not in the current test suite. |
| **Bare-metal status** | 🔲 Not validated. |
| **Available for bare-metal test** | [MISSING] — no USB CDC ECM dongle inventoried. **This is the only viable interim network path for the LG Gram (no wired NIC).** A USB-C Ethernet dongle is ~$15. **Critical acquisition.** |
### 2.8 Drivers NOT in the Red Bear tree (known gaps)
| Driver | NIC Type | Common PCI IDs | Status | Why Missing |
|---|---|---|---|---|
| **igb / igc** | Intel I219/I225 (modern consumer desktop NIC) | `8086:15d8, 15f2, 15f3, 15e3, 15f9` | [MISSING] | e1000d explicitly does NOT claim I219 (different init sequence, integrated MDIO PHY). These NICs are the most common on Intel NUC/desktop boards. High priority per `NETWORKING-IMPROVEMENT-PLAN.md` Phase 5.2. |
| **r8125** | Realtek 2.5GbE | `10ec:8125` | [MISSING] | rtl8168d explicitly does NOT claim r8125 (different register layout). Common on post-2020 consumer motherboards. |
| **alxd** | Atheros L2 Fast Ethernet | `1969:2048` | [MISSING] | Exists in upstream Redox (`redox-os/drivers/net/alxd/`) but not imported to Red Bear. |
| **iwlwifi AX411** | Intel Wi-Fi 6E AX411 | `8086:7af0 (ssid 0x1690)` | [MISSING] | Not in `intel_firmware_candidates()` match table — falls through to `_ => (vec!["iwlwifi-unknown"], None)`. |
| **iwlwifi BE200** | Intel Wi-Fi 7 BE200 | `8086:7740 (ssid unknown)` | [MISSING] | 0x7740 with different ssid might be BE200; only ssid 0x4090 has explicit candidates. |
---
## 3. Wi-Fi Validation Inventory
### 3.1 Access Point (AP) Hardware
| # | Device | Model | Firmware | Bands | Security | Status | Notes |
|---|---|---|---|---|---|---|---|
| 1 | [MISSING] | No AP inventoried. | — | — | — | [MISSING] | A controlled AP is **required** for bounded Wi-Fi validation (scan → associate → DHCP → iperf3). Without one, the only option is to connect to an external network which introduces uncontrolled variables (channel congestion, AP firmware behavior, DHCP pool state). **Minimum: a consumer AP/router with known firmware that supports WPA2-PSK on both 2.4 GHz and 5 GHz.** |
| 2 | [MISSING] | No open/bounded SSID AP. | — | — | — | [MISSING] | The `wifi-open-bounded` profile in `redbear-wifictl` expects an open SSID for the first link-up proof. Requires a dedicated AP with open security or the operator's AP temporarily configured with an open guest network. |
### 3.2 Intel Wi-Fi Card Inventory
| # | Card | PCI ID | Subsystem ID | Firmware Series | Op-Mode | Location | Status |
|---|---|---|---|---|---|---|---|
| 1 | Intel BE201 (Wi-Fi 7) CNVi | `8086:7740` | `8086:4090` | `bz-b0-gf-a0-{92,94,100}` (MVM), `bz-b0-fm-c0-c{101-106}` (MLD) | iwlmld | LG Gram 16Z90TP (soldered) | [AVAILABLE] |
| 2 | Intel AX210 (Wi-Fi 6E) | `8086:2725` | — | `ty-a0-gf-a0-{59,84}` | iwlmvm | [MISSING] — no AX210 M.2 card in inventory | [MISSING] — would de-risk transport on known-silicon before tackling iwlmld (Phase 6.0) |
| 3 | Intel AX211 (Wi-Fi 6E) CNVi | `8086:7af0` | `8086:4090` | `so-a0-gf-a0-{64,66}` | iwlmvm | [MISSING] | [MISSING] |
| 4 | Intel AX201 (Wi-Fi 6) CNVi | `8086:7af0` | `8086:4070` | `so-a0-hr-b0-64` | iwlmvm | [MISSING] | [MISSING] |
| 5 | Intel 9462/9560 (Wi-Fi 5) CNVi | `8086:7af0` | `8086:0aaa/0030` | `so-a0-jf-b0-64, 9000-pu-b0-jf-b0-46` | iwlmvm | [MISSING] | [MISSING] |
### 3.3 Bluetooth Co-located Inventory
| # | Controller | USB ID | Firmware | Location | Status |
|---|---|---|---|---|---|
| 1 | Intel CNVi BT (BE201 companion) | `8087:0037` | `ibt-0093-0291.sfi` + `ibt-0093-0291.ddc` | LG Gram 16Z90TP (USB-attached) | [AVAILABLE] |
---
## 4. Switch / Hub Hardware for Multi-NIC Tests
| # | Device | Ports | Speed | Managed? | Status |
|---|---|---|---|---|---|
| 1 | [MISSING] | — | — | — | [MISSING] — no switch/hub inventoried for multi-NIC tests. A managed switch is useful for link-state testing, VLAN validation, and mirror-port packet capture. An unmanaged $15 gigabit switch is sufficient for basic multi-NIC throughput testing. |
---
## 5. Peer System for iperf3 / tcpdump
| # | System | CPU | OS / Kernel | NIC | Role | Status |
|---|---|---|---|---|---|---|
| 1 | **LG Gram 16Z90TP (Linux side)** | Intel Core Ultra 7 255H | Manjaro, Linux 7.1.3-1 | Wi-Fi BE201 [8086:7740] + USB-C (dongle-capable) | Peer for iperf3 when Red Bear OS is tested on the Threadripper. Also the Wi-Fi AP client for BE201 validation. | [AVAILABLE] |
| 2 | **Build Host (Threadripper)** | AMD Ryzen Threadripper | Not recorded (Linux) | Not recorded | Peer for iperf3 when Red Bear OS is tested on the LG Gram. | [AVAILABLE] (as Linux host) |
| 3 | **Dedicated Linux iperf3 peer** | [MISSING] | — | — | Dedicated quiet peer with known NIC for reproducible throughput measurements. The build host may double as this. | [MISSING] — no dedicated peer system separate from the build host. The build host can serve if not simultaneously building Red Bear OS. |
---
## 6. Capture / Debug Hardware
| # | Device | Type | Status | Notes |
|---|---|---|---|---|
| 1 | USB serial console cable (FTDI/PL2303) | USB-to-serial adapter for headless boot log capture via DBG2 16550 UART (0x3f8) | [MISSING] | Required for headless debugging. The LG Gram has a 16550 UART at 0x3f8 (per DBG2); without USB-serial, boot logs must be captured from the framebuffer console. |
| 2 | IPMI / BMC / iKVM | Remote KVM for headless access | [MISSING] | Neither the Threadripper build host nor the LG Gram has documented IPMI. |
| 3 | USB Ethernet dongle (CDC ECM) | USB-C to RJ45 Gigabit Ethernet adapter | [MISSING] | **Critical for LG Gram networking.** The Gram has no wired NIC; the only option without this dongle is Wi-Fi, which is blocked on iwlmld validation. ~$15. |
| 4 | PCIe network test cards | Standalone NICs for slot-based testing | [MISSING] | No spare NICs cited. Recommendations: Intel I350-T2 (dual e1000e `8086:1521`), Realtek RTL8168 PCIe card (`10ec:8168`), Intel X520-DA2 (10GbE ixgbe `8086:154d`). Total ~$100 for all three. |
---
## 7. Operator Notes
### 7.1 Known Quirks and Caveats
- **e1000d wildcard collision (FIXED, 2026-07-20):** The driver-manager e1000d match `vendor=0x8086 class=2` was missing `subclass=0`, causing it to claim Intel Wi-Fi devices (class 0x02 subclass 0x80). Fixed in `config/redbear-device-services.toml` and `local/config/drivers.d/10-network.toml``subclass = 0` filter added. Same fix applied to rtl8168d.
- **rtl8168d same-wildcard fixed:** `subclass = 0` + `device = [0x8168, 0x8169]` now scope the match.
- **e1000d does NOT cover modern Intel desktop NICs (I219/I225):** These are the most common wired NICs on Intel-based systems. A new `igbd` driver or e1000d extension is needed. High priority.
- **rtl8168d does NOT cover RTL8125 2.5GbE:** Common on AMD B550/X570 and Intel Z690/Z790 consumer motherboards.
- **LG Gram has NO wired NIC:** All networking on that host must go through Wi-Fi (BE201, iwlmld-blocked) or USB CDC ECM dongle (dongle not acquired). This is a hard blocker for Phase 1.3 (USB-Ethernet interim networking).
- **BE201 firmware gap:** The Mini-MVM transport cannot drive BE201 (needs iwlmld c-series firmware). The in-tree `mld.rs` Rust layer is code-complete but never tested against hardware. This is the hardest networking item (`LG-GRAM-16Z90TP-COMPATIBILITY-PLAN.md` Phase 6, effort XL).
- **ixgbed 10GbE:** Code is a port of ixy.rs with MSI-X support. The driver has never been tested on real 10GbE hardware. The build host's kernel driver would need to be unbound for Red Bear to claim the NIC.
- **No dedicated test bench exists:** The Threadripper is the build machine. The LG Gram is a laptop. Neither is a dedicated test bench with multiple NICs, managed switch, and a quiet peer. This constrains throughput validation timing.
### 7.2 Acquisition Recommendations (Priority Order)
| Priority | Item | Estimated Cost | Blocks |
|---|---|---|---|
| **CRITICAL** | USB-C Ethernet dongle (CDC ECM compatible) | ~$15 | LG Gram networking without Wi-Fi (Phase 1.3) |
| **HIGH** | Intel I219/I225 desktop NIC (or a board with onboard I219) | $30100 | e1000d bare-metal validation, most common modern NIC |
| **HIGH** | Wi-Fi AP (consumer router, known firmware) | $3050 | Bounded Wi-Fi scan/associate/DHCP proof |
| **HIGH** | USB serial console cable (FTDI-based) | $10 | Headless boot log capture |
| **MEDIUM** | Realtek RTL8168 PCIe card | ~$15 | rtl8168d bare-metal validation |
| **MEDIUM** | Intel AX210 M.2 Wi-Fi card (or USB adapter) | ~$25 | De-risk transport on known-silicon before iwlmld |
| **LOW** | Intel 10GbE X520-DA2 NIC | ~$40 | ixgbed bare-metal validation |
| **LOW** | Managed gigabit switch | ~$50 | Multi-NIC link-state/VLAN testing |
### 7.3 Per-Driver Known-Revision Test List
When hardware is acquired, the following specific revisions should be prioritized:
| Driver | Priority Revisions | Why |
|---|---|---|
| **e1000d** | 82574L `8086:10d3` (QEMU-proven first), then 82541PI `8086:107c` | QEMU e1000e emulation is 82574L — QEMU-proven first, then physical 82541PI for bare-metal regression |
| **rtl8168d** | RTL8168h `rev 0x4c` (latest 1GbE), RTL8168g `rev 0x34` | RTL8168h is the most recent 1GbE revision and most likely to appear in acquired hardware |
| **rtl8139d** | RTL8139D `rev 0x10` | Single revision; QEMU model matches |
| **ixgbed** | Intel 82599ES `8086:10fb` or X520-DA2 `8086:154d` | Common on surplus server NICs; `154d` is the dual-port X520, most available |
| **redbear-iwlwifi (MVM)** | AX210 `8086:2725` | Newest MVM-era card with available firmware; de-risk before MLD |
| **redbear-iwlwifi (MLD)** | BE201 `8086:7740` (LG Gram) | Only available MLD hardware; the sole MLD validation target |
| **redbear-ecmd** | Any USB CDC ECM dongle (ASIX AX88179, Realtek RTL8153, or Linux `cdc_ether`-compatible) | Standard USB class any CDC ECM device should work |
### 7.4 Validation Gating
**No bare-metal network driver validation can proceed until:**
1. The Threadripper build host NIC inventory is collected (Section 1, Bench #1).
2. A USB-Ethernet CDC ECM dongle is acquired for the LG Gram (Section 7.2, CRITICAL).
3. A dedicated Wi-Fi AP is configured (Section 7.2, HIGH).
**This document is Phase -1.** No Phase 0 work items should be marked complete for networking until this inventory is acknowledged and hardware gaps are filled.
---
## 8. Document Maintenance
This file must be updated when:
- New hardware is acquired (add rows, update status from [MISSING] → [AVAILABLE]).
- A bench NIC inventory changes (update Section 1 tables).
- A driver gains support for new PCI IDs (update Section 2 tables).
- Per-driver bare-metal validation completes (update the row with evidence reference and change 🔲 → ✅).
**Last updated:** 2026-07-26
**Next update due:** After operator confirms Threadripper NIC inventory and acquires critical missing items.