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

23 KiB
Raw Blame History

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.tomlsubclass = 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.