Skip to main content

st-uhubm

An unofficial toolset for controlling StarTech Managed Industrial USB Hubs on Linux.

Includes a Python library, command-line tool, and web GUI.

Supported hubs:

  • 5G7AINDRM-USB-A-HUB — 7 ports
  • 5G4AINDRM-USB-A-HUB — 4 ports
  • Firmware v04 or newer

Supported device identification:

  • SEGGER J-Link
  • Nordic Power Profiler Kit II (PPK2)

This project is not affiliated with, endorsed by, or supported by StarTech.com.

StarTech's proprietary cusbi and cusba programs are not included.

Install

python3 -m pip install st-uhubm

Install with the optional web GUI:

python3 -m pip install "st-uhubm[gui]"

Download the StarTech Linux control program from the product's Drivers & Downloads page and place it on PATH:

  • cusbi on x86 and x86-64
  • cusba on ARM and AArch64

Command line

stuhubm health
stuhubm list
stuhubm status /dev/ttyUSB0

stuhubm off /dev/ttyUSB0 3
stuhubm on /dev/ttyUSB0 3

stuhubm off /dev/ttyUSB0 2,3,4
stuhubm on /dev/ttyUSB0 all

JSON output:

stuhubm --json status /dev/ttyUSB0

Custom control-program path:

stuhubm --binary /opt/startech/cusbi health

Web GUI

stuhubm-gui

Open http://127.0.0.1:8080.

Use another address or port:

stuhubm-gui --host 0.0.0.0 --port 9000

Python API

from st_uhubm import discover

hub = discover()[0]

hub.set_port(4, on=False)
hub.set_port(4, on=True)

for port in range(1, hub.n_ports + 1):
    for device in hub.identified_devices(port):
        print(port, device.product, device.serial)

Device identification

Device identification uses Linux sysfs and requires no additional Python package.

Currently recognized:

  • SEGGER devices with USB vendor ID 1366
  • Nordic PPK2 devices with USB ID 1915:c00a

The application accounts for the internal cascaded USB topology of supported seven-port hubs and associates identified devices with managed ports.

Permissions

The StarTech control program normally requires permission to access the hub's control device, such as /dev/ttyUSB0.

By default, st-uhubm runs the program through sudo. To run without sudo, grant the user access to the device.

License

This project is licensed under the GNU General Public License, version 2 or later (GPL-2.0-or-later).

StarTech's cusbi and cusba programs are not included and remain subject to StarTech's own license terms.

Metadata

Release files for st-uhubm 1.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for st-uhubm 1.0.0
File Size Uploaded
st_uhubm-1.0.0.tar.gz 28.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for st-uhubm 1.0.0
File Interpreter ABI Platform
st_uhubm-1.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 52.1 kB

Release files / st_uhubm-1.0.0.tar.gz

Download URL st_uhubm-1.0.0.tar.gz
Size 28.1 kB
Tags Source
SHA-256 checksum
How to use checksums
0759f427d3224e753876ec47219bfe6116b91af14d9681cd59e3c258868c3938
BLAKE2b-256 checksum
How to use checksums
d02d0798df5cba5f6f2a47f0736f87b0bbefd5725c982c7a0f4e2fe372a8c8d6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 3, 2026.

Transparency log

Release files / st_uhubm-1.0.0-py3-none-any.whl

Download URL st_uhubm-1.0.0-py3-none-any.whl
Size 23.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b7a73577f7823dfb81e486558fd5f343de81efcf430b7333478169b82f1b0570
BLAKE2b-256 checksum
How to use checksums
f8019947455ac4c233c103b0876a21d175803b9670567d31a5dffb4943155675
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 3, 2026.

Transparency log

Release history Release notifications | RSS feed

1.0.3

2 release files

1.0.2

2 release files

1.0.1

2 release files

This release

1.0.0 This release

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page