Repository navigation
docs(runbook): the spare needs morpheus's I226 card, not a USB NIC (#92) - #425
Merged
Merged
Conversation
Preparing the restore rehearsal, by reading morpheus rather than the documents, found two things that would have stalled it on day one. The runbook, an issue comment on #92, the newest comment on #404 and the roadmap's shopping list all said the spare needs a USB NIC "the same chipset as morpheus's". morpheus has no USB NIC. Its two interfaces are the onboard Intel I219-LM (em0, the WAN) and an Intel I226-V 2.5 GbE card on an M.2 B+M-key adapter in the G4's second M.2 slot (igc0, the untagged switch-management LAN and every VLAN). pciconf puts it on a PCIe root port; the only USB device is the Wi-Fi module's Bluetooth half. The label came from network.md's footnote, which called the M.2 card a "USB NIC adapter" — the link itself sells the M.2 card. A USB adapter would come up as ure0 or axge0 and put the restore into the interface-assignment dialogue the same-model rule exists to avoid; the card is the part that makes the restore go straight through. And the version `make backup-firewall` prints on every verify (24.6) is pfSense's config schema, not its release. The runbook told the reader to install the same version as that field, which no installer is labelled with. The release is /etc/version on the box — pfSense CE 2.9.0-RELEASE, build 20260817-1836 — and is now recorded in hardware.md for the day morpheus cannot be asked; 2.9.0's own schema is 24.6, so it is the floor. Runbook §3 carries the interface table, the cabling (two cables, not three), the WAN MAC caveat (nothing in the config pins one), and a "before the box arrives" list; the rehearsal steps put the laptop on the card's port, which is the only one the UI can be reached on after the restore. The shopping list row names the card. The nightly copy was verified as part of this: 29 exports on oracle, newest byte-identical, last timer run exit 0. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This was referenced Sep 9, 2026
… lives in prose with its date check_docs.py rejects a point release in the Compute table's OS column, because it goes stale on the next update the host takes and nothing here would notice. It also cannot be read from node_os_info for morpheus, since pfSense runs no exporter — so the release is recorded in the paragraph beside the table, dated, which is what the restore runbook sends the reader to. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Part of #92 — preparing the restore rehearsal so it does not stall the day the ProDesk arrives. Does not close the issue; the rehearsal itself is still blocked on the box.
What was wrong
The runbook, the roadmap's shopping list, and the newest comment on #404 all said the spare needs a USB NIC matching
morpheus's.morpheushas no USB NIC, read off the box on 2026-09-09:em0igc0pciconfshows the I226 on PCIe root port 21;usbconfiglists only the Wi-Fi module's Bluetooth half. The "USB NIC" label came from the footnote innetwork.md, whose link actually sells the M.2 card. A USB adapter would come up asure0/axge0and drop the restore into the interface-assignment dialogue — the exact failure the same-model spare exists to avoid. The card, not the box, is what makes the restore go straight through.The version the verify prints is not the release.
make backup-firewallprintsconfig version 24.6, which is pfSense's config schema (latest_configinglobals.inc). The runbook told the reader to install "the same version" as that field, which no installer is labelled with. The release is/etc/version: pfSense CE 2.9.0-RELEASE, build 20260817-1836. 2.9.0's own schema is 24.6, so it is the floor for the current export.Changes
restore-the-firewall.md§3: the interface table above, the release vs schema distinction with the floor, two cables not three, the WAN MAC caveat (nothing in the config pins a MAC, so the ISP lease may not follow), and a Before the box arrives list. Rehearsal step 2 puts the laptop on the card's port — after the restore that is LAN with the anti-lockout rule and the only port the UI answers on.hardware.md:morpheusrow records the release; a paragraph on the two NICs; the ordered ProDesk notes it ships with the onboard NIC only.network.md: the footnote names what the link sells.roadmap.md: the shopping-list row is the I226 card, per that section's rule; the Rehearse the firewall restore on trinity #92 entry records the finding.Verified
oracle,--verify-onlysays the newest decrypts here and is byte-identical there, last timer runhomelab_job_last_exit_code 0.scripts/lint.shpasses (markdownlint, yamllint, editorconfig).No config, script or rule changes. Nothing to deploy.
🤖 Generated with Claude Code