274 lines
23 KiB
Markdown
274 lines
23 KiB
Markdown
# 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 (~2010–2020 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 $30–60 (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) | $30–100 | e1000d bare-metal validation, most common modern NIC |
|
||
| **HIGH** | Wi-Fi AP (consumer router, known firmware) | $30–50 | 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.
|