Skip to content

Fix USB port detection on Linux (3.3.2) - #25

Merged
awhitchurch merged 3 commits into
mainfrom
fix-linux-usb-glibc
Nov 4, 2026
Merged

awhitchurch merged 3 commits into
mainfrom
fix-linux-usb-glibc

Conversation

@awhitchurch

Copy link
Copy Markdown
Contributor

Problem

In v3.3.1 on Linux x64, the port list stays empty and the app says "No USB devices found", even with a board plugged in. Seen on Ubuntu 24.04.

ubuntu-latest moved to a newer image, and libserialport.so built there needs glibc 2.42 for its termios calls. It loads at the first port scan rather than at startup, so the app launches normally and the load failure was swallowed by scan(). v3.3.0 needs only glibc 2.33.

Changes

  • Build Linux x64 on ubuntu-22.04 (glibc 2.35).
  • Add check-glibc.sh, which fails either Linux job if a bundled binary needs more than its runner's glibc.
  • Show the real error when a USB scan fails, instead of "Plug a board in".
  • Bump to 3.3.2+139.

Testing

  • Unit tests cover scan failures reaching the UI layer.
  • The guard rejects the v3.4.0-rc1 x64 bundle, flagging only libserialport.so.
  • A manual run of release.yml on this branch passed on all platforms, with libserialport.so needing glibc 2.33.

Not yet run on a real Ubuntu 24.04 machine with a board attached.

ubuntu-latest moved to a newer image, and libserialport.so built there needs
glibc 2.42 for its termios calls. It loads at the first port scan rather than at
startup, so v3.3.1 launches on Ubuntu 24.04 but finds no USB ports.

Build on ubuntu-22.04 (glibc 2.35), and fail the Linux jobs if any bundled binary
needs more than the runner's glibc.
A scan that throws, as when the serial library can't load, was swallowed and
showed "Plug a board in and tap refresh", which sends people to check the cable.
Show the underlying error instead.
@awhitchurch
awhitchurch merged commit 0974425 into main Nov 4, 2026
7 checks passed
@awhitchurch
awhitchurch deleted the fix-linux-usb-glibc branch November 6, 2026 12:13
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.

1 participant