Repository navigation
usb phase 2: la voltage, flash and blob installs over the USB network - #28
Merged
Merged
Conversation
… network Phase 2 of USB networking, ahead of trimming the firmware console: with a USB connection, the commands that work both ways use the pod's USB network adapter when it is up and the console otherwise. la voltage, flash (the DAP probe over TCP), the wiring profile lookup, and install-blobs (also the blob steps of set-wifi and flash-self), which now sends blobs with blob_status + ota_* through the USB network. Policies, the cloud CA/proxy, Wi-Fi and identity stay on the console. HW (macOS, baea06): la voltage --connection usb answers over 10.237.8.85; install-blobs --only gw1 --force through the USB network: 102 KB in 2.3 s, pod signature check ok. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
With the USB network unusable (Wi-Fi configured, adapter not up) the console fallback met a firmware that moved la-voltage and power to the JSON API, and la voltage said to update the firmware. Say what happened and why the USB network did not work instead. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…SB network A console that answers unknown command to la-voltage is either too old to have it or 3.9.0+ (which moved it to the JSON API); only the latter reports a USB network. Also gofmt flash.go. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… generations Firmware 3.9.0 (benchpod-firmware#48) answers la-voltage, power and the other commands it moved to the JSON API with a moved-to-the-network-API line instead of unknown command. The console client reports it as ErrMovedToNetwork, which la voltage and flash turn into the reason the USB network was not usable. Tests: la-voltage and power against an older and a 3.9.0 console, the la voltage message for each, and install-blobs staying on the console for firmware before 3.9.0 and for a pod with Wi-Fi set. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…re-find) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Member
Author
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.
Stacked on #27. This is phase 2 of USB networking: the CLI stops depending on the console commands that the firmware will drop, before any firmware drops them.
With a USB connection, the commands that work both ways use the pod's USB network adapter when it is up and fall back to the console otherwise (older firmware, Wi-Fi configured, adapter not up):
la voltage: over the USB network.flash(SWD): the DAP probe runs over TCP.install-blobs, plus the blob steps ofset-wifiandflash-self: useblob_status+ota_*with a target (newblobTarget: network or console).Policies, the cloud CA/proxy, Wi-Fi and identity stay on the console (physical presence).
Tests
go test ./...passes.la voltage --connection usbanswers over 10.237.8.85.install-blobs --only gw1 --forcegoes through the USB network: 102 KB in 2.3 s, pod signature check ok.flashover the USB network is not HW-run here. It is the same code path as the LAN; only the address resolution is new.Open
flash-selfwith Wi-Fi configured: if the firmware drops consoleupload-*, a pod with Wi-Fi configured (USB networking off) needs another path for its post-flash blob install.🤖 Generated with Claude Code