Skip to content

usb-restart accepts an ESP32-S3 in ROM download mode - #126

Merged
bdbarnett merged 1 commit into
mainfrom
usb-restart-rom-colon
Oct 21, 2026
Merged

bdbarnett merged 1 commit into
mainfrom
usb-restart-rom-colon

Conversation

@bdbarnett

Copy link
Copy Markdown
Collaborator

mpftp usb-restart --instance refused the node of an ESP32-S3 sitting in ROM download mode, because Windows names it after the chip's MAC address with colons: USB\VID_303A&PID_0009\48:27:E2:E9:B0:10.

The serial's character class now admits : in espusb.py and in restart-esp-usb.ps1. Nothing else loosens: still one device per run, the parent node only, no &MI_ children, no wildcards, and no *, ?, spaces, quotes or backslashes in the serial.

Tests: the colon id passes in Python and in the PowerShell dry-run (exit 4, no such device); colon ids carrying an &MI_ child, a wildcard, a command, quotes or a second device are still refused. Both new acceptance tests fail on the previous rule.

The installer gets a self-check line for the colon shape, and the agent guide says ROM download mode is covered. The installed task script is a copy, so a machine that installed it earlier needs the installer run again before a colon id works.

A chip in ROM download mode has no USB serial number, so Windows names its
node after the chip's MAC address, colons included (USB\VID_303A&PID_0009\
48:27:E2:E9:B0:10). The allow rule refused it. The serial's character class
now admits ':' in both the CLI and the task script; everything else stays as
strict: one device per run, parent node only, no wildcards or other
characters. The installer self-checks the new shape.
@bdbarnett
bdbarnett merged commit 8c736b0 into main Oct 21, 2026
4 checks passed
@bdbarnett
bdbarnett deleted the usb-restart-rom-colon branch October 21, 2026 03:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

1 participant