Skip to main content
Visitor II
June 25, 2025
Question

Unable to get STM32CubeMonitor-UCPD working on Linux

  • June 25, 2025
  • 2 replies
  • 3267 views

Hi.

Trying to connect a STM32G0 USB PD discovery kit using the linux
software package. Device is detected find, just opening the serial
port gives reasonable output (binary data which look like PD
messages). However the Java app doesn't work.

On linux machine 1, it crashes with a segmentation fault in libX11

#
# A fatal error has been detected by the Java Runtime Environment:
#
# SIGSEGV (0xb) at pc=0x00007f3c022e0661, pid=2060337, tid=0x00007f3bbd1bb6c0
#
# JRE version: OpenJDK Runtime Environment (8.0_412-b09) (build 1.8.0_412-b09)
# Java VM: OpenJDK 64-Bit Server VM (25.412-b09 mixed mode linux-amd64 compressed oops)
# Problematic frame:
# C [libX11.so.6+0x18661] XInternAtom+0x41
#
# Core dump written. Default location: /tmp/core or core.2060337
#
# An error report file with more information is saved as:
# /tmp/hs_err_pid2060337.log
#
# If you would like to submit a bug report, please visit:
# https://bell-sw.com/support
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#

 

On linux machine 2, the software fails to detect the discovery board. Not knowing anything about this software, it seems like it's trying to find the correct device, but it looks in the wrong place in /sys.

# openat(AT_FDCWD, "/sys/devices/pci0000:00/0000:00:14.0/usb1/1-6/1-6:1.2/tty/ttyACM0/device/../product", O_RDONLY) = 46
# openat(AT_FDCWD, "/sys/devices/pci0000:00/0000:00:14.0/usb1/1-6/1-6:1.2/tty/ttyACM0/../interface", O_RDONLY) = -1 ENOENT (No such file or directory)
# openat(AT_FDCWD, "/sys/devices/pci0000:00/0000:00:14.0/usb1/1-6/1-6:1.2/tty/ttyACM0/device/../interface", O_RDONLY) = -1 ENOENT (No such file or directory)
# stat("/dev/ttyACM0", {st_mode=S_IFCHR|0660, st_rdev=makedev(0xa6, 0), ...}) = 0
# stat("/dev/ttyACM0", {st_mode=S_IFCHR|0660, st_rdev=makedev(0xa6, 0), ...}) = 0
# openat(AT_FDCWD, "/dev/ttyACM0", O_RDWR|O_NOCTTY|O_NONBLOCK) = 42
# openat(AT_FDCWD, "/dev/ttyACM0", O_RDWR|O_NOCTTY|O_NONBLOCK) = 42
# stat("/dev/ttyACM0", {st_mode=S_IFCHR|0660, st_rdev=makedev(0xa6, 0), ...}) = 0
# stat("/dev/ttyACM0", {st_mode=S_IFCHR|0660, st_rdev=makedev(0xa6, 0), ...}) = 0
# openat(AT_FDCWD, "/dev/ttyACM0", O_RDWR|O_NOCTTY|O_NONBLOCK) = 42
# stat("/dev/ttyACM0", {st_mode=S_IFCHR|0660, st_rdev=makedev(0xa6, 0), ...}) = 0
# stat("/dev/ttyACM0", {st_mode=S_IFCHR|0660, st_rdev=makedev(0xa6, 0), ...}) = 0
# openat(AT_FDCWD, "/dev/ttyACM0", O_RDWR|O_NOCTTY|O_NONBLOCK) = 42
# openat(AT_FDCWD, "/dev/ttyACM0", O_RDWR|O_NOCTTY|O_NONBLOCK) = 42
# stat("/dev/ttyACM0", {st_mode=S_IFCHR|0660, st_rdev=makedev(0xa6, 0), ...}) = 0
# stat("/dev/ttyACM0", {st_mode=S_IFCHR|0660, st_rdev=makedev(0xa6, 0), ...}) = 0
# openat(AT_FDCWD, "/dev/ttyACM0", O_RDWR|O_NOCTTY|O_NONBLOCK) = 42

 

 

    This topic has been closed for replies.

    2 replies

    Technical Moderator
    July 4, 2025

    Hi @jd1234 

    Could you specify which Linux version are you using ? Could you provide more details about your environment setup to escalate this issue?

    jd1234Author
    Visitor II
    July 22, 2025

    Sorry for late response.

    The first machine is running Fedora 41, and I guess the problem spells
    Wayland.

    I did manage to get the app to detect the device on the second machine
    (running good old X11) -- not sure if I did anything differently.

    I'm happy with this right now. Thanks for your time.