Commit Graph
21 Commits
Author SHA1 Message Date
flamingcow 9301348850 Re-lock the mailbox window on lost phase instead of anchoring blind: one loop goroutine per module owns all transport, windows edge-locked from first touch, bringup verifies both modules before either AN restart; corrected charges and link-down reads print raw registers; harness -fuzz repeats lifecycles judging by exit status (30/30 module-clean) 2026-08-13 16:32:14 -07:00
flamingcow fef6b52b74 Force master/slave roles at bringup (A master / B slave, IEEE 7.32): the AN role lottery plus per-training DSP convergence moves per-pair SNR up to ~3.6 dB, so sessions are pinned to identical conditions; launch power documented firmware-pinned (1.130), single-training SNR documented as a weak qualification number 2026-08-13 14:23:57 -07:00
flamingcow a9f10d3055 Windowed module protocol: every op admitted inside a 3.4s window after the firmware's observed temp poll (cadence 3.5-4.2s measured, stuck-at-last-fetch stale mechanism proven and avoided), acquire/window with panic on dead heartbeat; noise column shows green on/off cycle phase, cable-missing state unchanged 2026-08-13 14:04:16 -07:00
flamingcow f9140ff8d9 Bringup waits for nothing (no sleeps, no link waits, SETs fire cable-or-not with advert readback), errors held off the display while a measure is in flight, status poll is a deadline not a retry count, ghost signals (implausible SNR, undefined ECD verdict) panic outright; persistent stale-pipeline bridge fact documented 2026-08-13 10:49:01 -07:00
flamingcow f2891886f3 Strip canaries, double-reads, retries and floors from the module protocol; every bcm method holds the per-module lock for its whole operation; facts stay in docs with internal-client contention marked unresolved 2026-08-13 10:32:24 -07:00
flamingcow 9d1f15045f Shared-mailbox reality: module firmware is its own handler client (internal GET_CURRENT_TEMP ~3.5s, proven idle-watch), handler writes wedge the uC in busy windows; quiet-window writes, bare GETs double-read with CMD-readback tripwire, SNR floor, SETs verified externally; sentinel handshake and wire-probe jumbo check removed 2026-08-13 10:19:32 -07:00
flamingcow e99c7121e7 Bridged MDIO reads verify freshness: a late async fetch serves the previous response as the wrong register (observed STATUS 0x0004 as 0.4dB SNR); unchanged-or-zero results re-read bare without re-arming until stable, first read always verified, identify retries against the constant PHY ID 2026-08-13 08:26:22 -07:00
flamingcow bba1fa5e02 Jumbo in the size mix (MTU 9000 + module jumbo pinned), check-first module config trusting GET reads, cable diag async at startup through the reset path, MODULES table dissolved into SETTINGS/LINKS, per-driver NIC counter sets, comment cleanup 2026-08-13 08:04:26 -07:00
flamingcow 979dc7a772 BCM module diagnostics replace timestamp probes: bringup forces EEE off and runs ECD (re-run on every reset, re-baselining past its blip), 1 Hz SNR margin + corrected counters on panel and console; X520 bench divergences bypassed and tracked in open-questions 2026-08-13 07:10:39 -07:00
flamingcow a00f2216b7 BCM bridge tolerates MCIA offset-write-then-read framing, proven on hardware via bcm_mcia_emu.py; MCIA question narrows to firmware acceptance of 0x56 and offset/framing details 2026-08-12 21:39:46 -07:00
flamingcow 65b1e18004 Dissolve resolved analyses into standalone device docs; open-questions.md keeps only the four live problems; discard NIC-timestamp length path (BCM ECD is proven) and Aquantia length trivia (30m part, oracle-only) 2026-08-12 21:30:16 -07:00
flamingcow 5588ebec6f Resolve X520 open questions on hardware: ETQF raw-L2 steering and single-hold compound I2C proven; 82599 has no all-packet exact-timestamp path so it is disqualified as product NIC (diagnostics-only), counter route rejected for a cable tester 2026-08-12 20:36:31 -07:00
flamingcow ad9bc9fae4 BCM ECD recovered from OpenBCM SDK and proven: 1E.4006 start, 1.A896 verdicts, 1.A897-9A per-pair meters -- meter-accurate on a 45m cable, healthy pairs report length 2026-08-12 19:37:54 -07:00
flamingcow c57816345f Restructure docs: per-device directories under modules/ and nics/ with co-located datasheets, state centralized in state.md, prose tightened into lists and tables 2026-08-12 19:23:02 -07:00
flamingcow 01e00dfffe BCM path proven on X520: fix multi-byte i2c read (SDA release), GET_SNR is 0x8030 invoked bare, IEEE SNR regs dead on BCM, module pause forced off 2026-08-12 17:50:14 -07:00
flamingcow 6f787c0873 Record X520 install: FS+Wiitek seated and linked, FS's honest EEPROM is what trips ixgbe qualification, uplink moved to enp88s0 2026-08-12 17:35:25 -07:00
flamingcow 5f4a8ceb57 Vendor AQR datasheet, correct timestamp model (hw rx stamps are a hard requirement), order ConnectX-5, map 82599 bucket-timestamp routes 2026-08-10 12:50:57 -07:00
flamingcow 73074040e0 Answer open questions from desk analysis: ETQF steering, E820 is post-FEC, compound I2C op, forced co-location 2026-08-10 11:51:39 -07:00
flamingcow 44e010caa9 Note Wiitek ixgbe RollBall client and flag ixgbe RX-steering as open investigation 2026-08-10 11:29:05 -07:00
flamingcow 3f1bb03e52 Record X520 ixgbe raw-i2c patch and BCM client prep in state doc 2026-08-10 11:21:49 -07:00
flamingcow 6597a11c33 Add in-repo project docs: goals, state, hardware, module-PHY transports, module diagnostics, and measurement lessons 2026-08-10 10:34:26 -07:00