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)

Full documentation: https://st-uhubm.readthedocs.io/

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.2

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.2
File Size Uploaded
st_uhubm-1.0.2.tar.gz 28.1 kB Details

Built distribution (wheel)

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

Total release size: 52.0 kB

Release files / st_uhubm-1.0.2.tar.gz

Download URL st_uhubm-1.0.2.tar.gz
Size 28.1 kB
Tags Source
SHA-256 checksum
How to use checksums
602c729f9f11dbf7f0874c421d4e399027c2ad8ad229382613e9b910f0b4b841
BLAKE2b-256 checksum
How to use checksums
025638535a396a91291efca791e185e6fd2d131f8b6830c8bb8f36f820d79b79
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.2-py3-none-any.whl

Download URL st_uhubm-1.0.2-py3-none-any.whl
Size 23.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b1059ae81f6ffc7e4bbcbe17e2a3c70fb783fac29d17935d112d39eed89cf471
BLAKE2b-256 checksum
How to use checksums
98b425699c65112ee2e3e928c8599b91544a9e01394c03bc0ace1fd19fb662ac
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

This release

1.0.2 This release

2 release files

1.0.1

2 release files

1.0.0

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