Skip to content

fix(techo-lite): add ENABLE_USB_INTERFACE to companion_radio_usb build - #3644

Closed
dkuenzel wants to merge 1 commit into
meshcore-dev:devfrom
dkuenzel:fix/techo-lite-companion-usb-interface
Closed

dkuenzel wants to merge 1 commit into
meshcore-dev:devfrom
dkuenzel:fix/techo-lite-companion-usb-interface

Conversation

@dkuenzel

Copy link
Copy Markdown

The LilyGo_T-Echo-Lite_companion_radio_usb env was missing -D ENABLE_USB_INTERFACE.

Without this flag, ArduinoSerialInterface is never registered with the MultiSerialInterface in main.cpp:

#if defined(ENABLE_USB_INTERFACE)
  usb_serial_interface.begin(Serial);
  interface_manager.addInterface(InterfaceType::USB, &usb_serial_interface);
#endif

The result: the USB CDC port enumerates correctly (the device shows up as a serial port), but checkRecvFrame and writeFrame are never called for it — the companion protocol is silently inactive. No frame the host sends receives a response.

Every other companion_radio_usb build in the codebase carries this flag; the T-Echo Lite was the only exception.

Verified against v1.18.0: flashing the device with non_shell_companion_radio_usb (which already has -D ENABLE_USB_INTERFACE) restores USB companion connectivity immediately. The one-line fix in this PR applies the same correction to the display-capable build.

@liamcottle

Copy link
Copy Markdown
Member

Hey, thanks for the PR. I missed this env when doing the migration. Can you please update the PR to target the dev branch. PRs must be opened against dev, and not main.

@dkuenzel
dkuenzel changed the base branch from main to dev October 20, 2026 22:44
@dkuenzel

Copy link
Copy Markdown
Author

Sure thing! :-)

@liamcottle

Copy link
Copy Markdown
Member

Thanks. It's still pulling in commits from main branch though, since you made your commits against main, and only changed the target branch on GitHub. You'd need to rebase your local branch against dev and force push here again.

The LilyGo_T-Echo-Lite_companion_radio_usb env was missing -D ENABLE_USB_INTERFACE.
Without it, ArduinoSerialInterface is never registered with the interface manager,
so the USB companion protocol is silently inactive: the USB CDC port enumerates
but the device neither receives nor sends companion frames. All other companion_radio_usb
builds across the codebase have this flag; this is the only one that did not.

Verified: flashing non_shell_companion_radio_usb (which has the flag) restores
USB companion connectivity on a T-Echo Lite v1.18.0.
@dkuenzel
dkuenzel force-pushed the fix/techo-lite-companion-usb-interface branch from 81e357c to 4b22c40 Compare October 22, 2026 10:40
@dkuenzel dkuenzel closed this by deleting the head repository Oct 22, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants