Commit Graph
60 Commits
Author SHA1 Message Date
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 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 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 6d73221123 Hold a fatal error on the framebuffer and reboot in five minutes rather than exiting, since init's death drops the kernel's panic screen over the cause 2026-08-05 21:46:15 -07:00
flamingcow e7c73ca0a9 Reveal the build's commit hash in place of the reset label while a finger holds the top-right corner, and dev where go run left no stamp 2026-08-05 16:13:20 -07:00
flamingcow 2fcab83756 Drive a noise cable on the i40e pair, cycling its link down and up since the module PHYs ignore everything softer, and flag its absence beside the error columns 2026-08-05 10:49:23 -07:00
flamingcow 88f4f7da80 Poll the nic on the sampler's cadence, and reboot rather than exit when a clean return reaches PID 1 2026-08-05 08:18:44 -07:00
flamingcow 49eaa8a8a8 Take the rate epoch from the slowest stream's frontier, since reading a bucket claims every stream has delivered through it 2026-08-04 22:38:10 -07:00
flamingcow 7b2601a02e Fail loudly on a touch read, stop the workers before their sockets close, and file down the small edges 2026-08-04 22:26:07 -07:00
flamingcow 12cef6a89b Fold the shutdown flags into one, take the smallest frame to the wire minimum, drop the speed column 2026-08-04 22:12:07 -07:00
flamingcow 4c7062d600 Take the line rate as a constant so nothing has to be plugged in, and drop the config box 2026-08-04 21:58:52 -07:00
flamingcow 01d673dc83 Check the header version on arrival and say what the error window actually spans 2026-08-04 21:29:03 -07:00
flamingcow 21788fdd4f Judge a frame against the stream its socket receives rather than the one its header claims 2026-08-04 21:19:08 -07:00
flamingcow 1d54a1a1f6 Checksum the header and refuse sequence numbers the sender never sent 2026-08-04 20:41:16 -07:00
flamingcow 703039587b Bucket received frames by their mac receive stamp and read one bucket back 2026-08-04 20:04:30 -07:00
flamingcow 63196eb691 Mirror the panel in the console table as one summed row in two sections 2026-08-04 14:02:53 -07:00
flamingcow fbfcabda7e Draw every panel figure from the latest sample instead of holding the totals 2026-08-04 13:49:21 -07:00
flamingcow 4e60757937 Rate from the newest bucket, stamped when the counters are actually read 2026-08-04 13:45:16 -07:00
flamingcow 2035d42734 Fold the leftover formatters into the SI ones and stop reallocating the draw scratch 2026-08-04 13:37:19 -07:00
flamingcow 39c27166dc Hardcode the settled sizes, streams and batch instead of carrying flags for them 2026-08-04 13:31:14 -07:00
flamingcow 66bfb88dd7 Make every failed check and unreadable counter fatal instead of degrading 2026-08-04 13:03:07 -07:00
flamingcow fb6a0d2c1b Push the new origin into the sample ring so a reset cannot underflow the totals 2026-08-04 12:59:50 -07:00
flamingcow 06592cbc81 Stop counting a partly filled send vector as a failure 2026-08-04 12:45:12 -07:00
flamingcow 03b7ff4954 Drop the write-only direction fields and the unused pattern names 2026-08-04 12:26:10 -07:00
flamingcow 49a1a2f829 Read rx errors from the driver stats array and add the pcs counters 2026-08-04 11:27:30 -07:00
flamingcow 5eea6856fb Cut the comments back to the genuinely subtle ones 2026-08-01 16:14:12 -07:00
flamingcow 726c4c2445 Rework the panel onto SI figures, labelled chips and one spacing scale 2026-08-01 16:07:44 -07:00
flamingcow de2ff13eb6 Collapse errors into lost, corrupt, link and internal 2026-07-31 17:10:25 -07:00
flamingcow 1c5bda37bf Drive the panel through drm and page flip between four scanout buffers 2026-07-31 16:46:11 -07:00
flamingcow 57d7c91df1 Sample the rate buckets on their own clock instead of the display refresh 2026-07-31 16:15:16 -07:00
flamingcow c94b7ae33d Show median bucket rates, slide the error window, and poll sysfs off the draw loop 2026-07-31 15:45:03 -07:00
flamingcow ab0a8c8759 Take ns/m to 4.85, measured against a 6m cable 2026-07-26 15:51:52 -07:00
flamingcow 5676b2b581 Detect mounts by mount root, wait for the touchscreen, and default to eth0/eth1 2026-07-26 15:51:34 -07:00
flamingcow 832a2b42d6 Mount the filesystems we need so this can run as PID 1 2026-07-26 10:54:19 -07:00
flamingcow 102d53fb9b Turn the display portrait and split it into live and since-reset panels 2026-07-26 10:27:41 -07:00
flamingcow 4d102f377e Take the cable zero from the shortest delay seen rather than a flag 2026-07-26 09:43:03 -07:00
flamingcow e77574712d Cycle every payload pattern per packet and always run both directions 2026-07-25 23:03:31 -07:00
flamingcow 0f16edfe61 Count link and syscall failures instead of printing them 2026-07-25 22:54:04 -07:00
flamingcow 1b322bb32b Measure cable length from hardware transmit and receive timestamps 2026-07-25 22:38:52 -07:00
flamingcow 09411aebdf Reset everything from a held on-screen button or space 2026-07-25 21:41:21 -07:00
flamingcow b2441ba64a Redraw at 60Hz with adaptive rate smoothing, console output at 1Hz 2026-07-25 21:30:37 -07:00
flamingcow 892e855207 Group the display into instant and cumulative sections on a shared grid 2026-07-25 19:48:15 -07:00
flamingcow 419bdc4bb7 Render the live status to the framebuffer in Atkinson Hyperlegible Mono 2026-07-25 19:41:53 -07:00
flamingcow 16416bc1b0 Draw the counter reset as a labelled rule across the table 2026-07-25 19:31:03 -07:00
flamingcow 269199366d Reset cumulative error counts on space 2026-07-25 19:29:00 -07:00
flamingcow abb8b81919 Remove CPU pinning flags that measured slower than the scheduler 2026-07-25 19:24:10 -07:00
flamingcow ed0f1d11e6 Default to seven steered streams across the full frame size range 2026-07-25 19:15:20 -07:00
flamingcow 7e77d22f36 Give each stream its own ethertype steered to its own rx queue 2026-07-25 19:08:11 -07:00