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
cusbiandcusbaprograms 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:
cusbion x86 and x86-64cusbaon 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.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| st_uhubm-1.0.3.tar.gz | 28.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| st_uhubm-1.0.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 52.5 kB
Release files / st_uhubm-1.0.3.tar.gz
| Download URL | st_uhubm-1.0.3.tar.gz |
|---|---|
| Size | 28.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
1676008a08c130fd2c9c03fb3ff9c9caeb48053bf1d5cc23ca56bb712ceb19a2
|
|
BLAKE2b-256 checksum How to use checksums |
5d8a4dd57192ee2bde6476a82a327a54f32f388cdc4ba9b827edf44a37f00fd9
|
| 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 logRelease files / st_uhubm-1.0.3-py3-none-any.whl
| Download URL | st_uhubm-1.0.3-py3-none-any.whl |
|---|---|
| Size | 24.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
b4bea3965c9f321ca9fd6f4f30c2d9d8c918ea7e5e1afda51a7273e1662441d5
|
|
BLAKE2b-256 checksum How to use checksums |
0d0a4f8073a607dbaa6204ac7e07abedd3e464c4716f5b766437a663f81d7404
|
| 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