Bug Fixes
- UART nets survive USB re-enumeration. When a UART adapter re-enumerated mid-session (hub power-cycle, DUT reflash, accidental replug), the Lager Box kept a stale open file descriptor on the vanished tty — which killed the stream and pinned the old
/dev/ttyUSB*number so the device came back under a new one — and the “session already active” guards then refused clean reconnects. The Lager Box now closes the port and releases the session the moment a read fails, and transparently re-resolves and reopens the adapter with backoff (up to 60s): by USB serial when the adapter has one, otherwise by vendor/product + physical USB port + interface — so serial-less adapters and multi-port chips (FT4232H channels) heal in place. Applies tolager uartsessions, the HTTP stream endpoint, and on-box monitor modes. The CLI shows[reconnecting...]/[reconnected]notices during the gap; older CLIs simply resume streaming. - New UART nets are saved with a durable USB identity. Creating or re-saving a UART net (TUI or
lager nets add) now records ausb_identitysnapshot of the adapter alongside the existingpin, so the net keeps resolving across replugs and reboots even when it was created from a raw/dev/ttyUSB*path. Existing saved nets are untouched and keep working exactly as before — re-save a net once to upgrade it.
Improvements
lager netsshows where a UART device actually is. The Channel column now displays the node the device owns right now (resolved live from its durable identity), so it stays truthful after a re-enumeration shuffles tty numbers; unplugged devices are marked(disconnected). The stored record is never modified by listing.

