-
Notifications
You must be signed in to change notification settings - Fork 8.7k
Open
Labels
area: USBUniversal Serial BusUniversal Serial BusbugThe issue is a bug, or the PR is fixing a bugThe issue is a bug, or the PR is fixing a bugpriority: lowLow impact/importance bugLow impact/importance bug
Description
Describe the bug
When running samples/subsys/usb/console on STM32F411 (Blackpill) (also tested o STM32U585), picocom blocks indefinitely while opening /dev/ttyACM0.
strace shows that the process blocks in:
ioctl(TCSETSF2)
minicom works with the Zephyr firmware.
cat /dev/ttyACM0 also works with the Zephyr firmware.
The blocking occurs specifically with picocom during TCSETSF2.
The same hardware running Arduino framework firmware does not exhibit this behavior. In that case, TCSETSF2 returns immediately and picocom operates normally.
Regression
- This is a regression.
Steps to reproduce
- Build and flash Zephyr
samples/subsys/usb/consoleto STM32F411 Blackpill. - Connect USB to host.
- On host (Arch Linux):
picocom -b 115200 /dev/ttyACM0-
Observe that picocom:
- Prints its startup banner
- Hangs
- Shows no device output
- Becomes unresponsive to escape sequences
Relevant log output
# picocom strace output (hangs)
...
openat(AT_FDCWD, "/dev/ttyACM0", O_RDWR|O_NOCTTY|O_NONBLOCK) = 3
flock(3, LOCK_EX|LOCK_NB) = 0
ioctl(3, TCGETS2, {...}) = 0
ioctl(3, TCGETS2, {...}) = 0
ioctl(3, TIOCMGET, [...]) = 0
ioctl(3, TCSETSF2, {...}) = ?
+++ killed by SIGKILL +++
# minicom strace output (working case)
...
openat(AT_FDCWD, "/dev/ttyACM0", O_RDWR|O_NOCTTY) = 3
ioctl(3, TCGETS, {...}) = 0
ioctl(3, TCSETS, {...}) = 0
ioctl(3, TCFLSH, TCIOFLUSH) = 0
...
# picocom (Arduino firmware, working case)
...
openat(AT_FDCWD, "/dev/ttyACM0", O_RDWR|O_NOCTTY|O_NONBLOCK) = 3
flock(3, LOCK_EX|LOCK_NB) = 0
ioctl(3, TCGETS2, {...}) = 0
ioctl(3, TIOCMGET, [...]) = 0
ioctl(3, TCSETSF2, {...}) = 0
pselect6(...)
read(3, "KEY 2,1\r\n", ...)
...Impact
Functional Limitation – Some features not working as expected, but system usable.
Environment
- Zephyr version: 4.3.99
- Zephyr SDK 0.17.4
- Arch Linux desktop 6.18.9-arch1-2 zephyr-master_fork #1 SMP PREEMPT_DYNAMIC Mon, 09 Feb 2026 17:16:33 +0000 x86_64 GNU/Linux
- minicom version 2.11
- picocom v3.1
Additional Context
No response
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
area: USBUniversal Serial BusUniversal Serial BusbugThe issue is a bug, or the PR is fixing a bugThe issue is a bug, or the PR is fixing a bugpriority: lowLow impact/importance bugLow impact/importance bug