Automic VaultAutomic Vault

brew

Install uhubctl with Homebrew, apk, apt, dnf, MacPorts, Nix, zypper

USB hub per-port power control. Version 2.6.0 via Homebrew; verified from local package data.

install

Additional install commands

macOS

Homebrewverified · 100%
brew install uhubctl

local Homebrew formula metadata

MacPortsverified · 94%
sudo port install uhubctl

MacPorts ports tree · sysutils/uhubctl/Portfile · source: api.github.com

Linux

Alpine Linux apkverified · 92%
sudo apk add uhubctl

Alpine Linux edge package indexes · uhubctl · source: dl-cdn.alpinelinux.org

Debian aptverified · 92%
sudo apt install uhubctl

Debian stable package indexes · uhubctl · source: deb.debian.org

Fedora dnfverified · 92%
sudo dnf install uhubctl

Fedora Rawhide package metadata · uhubctl · source: dl.fedoraproject.org

Nixverified · 92%
nix profile install nixpkgs#uhubctl

nixpkgs package indexes · pkgs/by-name/uh/uhubctl/package.nix · source: api.github.com

openSUSE zypperverified · 92%
sudo zypper install uhubctl

openSUSE Tumbleweed package metadata · uhubctl · source: download.opensuse.org

overview

Package summary

USB hub per-port power control

Commands and aliases

  • uhubctl

history

Project history and usage

uhubctl is a command-line utility for controlling per-port power on USB hubs that implement USB per-port power switching.

Project history

The public uhubctl repository was created in 2015. Its README credits hub-ctrl.c by Niibe Yutaka as the original inspiration and defines the target hardware as smart USB hubs that can switch power per port.

The project grew around a practical compatibility table rather than only a codebase. The README tracks known working hubs, monitors, docks, keyboards, Raspberry Pi boards, and embedded devices, and asks users to report working hardware with uhubctl output and VBUS-off test results.

Release metadata shows v1.8 in 2017, v2.0.0 in 2018, a series of 2.x releases through 2022, and v2.6.0 in 2024.

Adoption history

uhubctl's adoption is closely tied to lab automation, embedded development, Raspberry Pi work, USB device testing, and remote recovery workflows where physically unplugging a device is inconvenient. The README documents Raspberry Pi models and many external hubs and docks as compatible or partially compatible devices.

The supplied package data records uhubctl in Homebrew, MacPorts, Nix, Alpine, Debian, Ubuntu, Fedora/dnf, and openSUSE. The official README likewise lists package-manager install commands for macOS, Debian-family systems, Red Hat-family systems, openSUSE, and FreeBSD.

How it is used

The common command form is to list supported hubs, then turn a selected port off, on, toggle it, or cycle it with a configurable delay. The README documents location selection for multi-hub systems and cautions that switching built-in USB ports can disconnect keyboards or mice.

On Linux, the README documents udev rules for non-root access and notes that Linux kernel 6.0 and later provide a standard interface for disabling hub ports, which uhubctl tries to use instead of libusb where possible.

The README also explains USB 3.0 duality: a USB 3 hub can appear as separate USB2 and USB3 virtual hubs, and power changes may need to be applied to both for the physical port state to match the user's expectation.

Why package nerds care

uhubctl is significant because it turns a hardware capability that is inconsistently implemented by consumer devices into a scriptable package-manager tool. That makes it useful for test rigs, CI benches with attached hardware, home labs, and headless systems.

For packagers, the interesting part is not just compiling a small C program; it is carrying libusb behavior, OS-specific permissions, kernel interface changes, and documentation for hardware quirks that determine whether the command actually cuts power.

Timeline

  • 2015: Public GitHub repository created.
  • 2017: v1.8 release published.
  • 2018: v2.0.0 release published.
  • 2020: v2.2.0 and v2.3.0 releases published.
  • 2022: v2.5.0 release published.
  • 2024: v2.6.0 release published.

Related projects

  • The README names hub-ctrl.c by Niibe Yutaka as the original inspiration.
  • uhubctl depends on libusb for portable USB access and, on newer Linux kernels, can use the kernel port-disable interface.

security posture

Risk level: green

narrow executable package without higher-risk signals.

Risk classifier

green risk · low confidence · appliance

Why

  • narrow executable package without higher-risk signals

Signals

  • metadata:no-higher-risk-signals

Install behavior

  • No Homebrew post-install hook is recorded in formula metadata.
  • Homebrew bottle metadata is available for 8 platform targets.
  • Installs with 1 runtime dependencies.
  • Build metadata lists 1 build dependencies.

Recommended review

Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.

executables

Installed executables

CommandKindExposureNote
uhubctlcliglobal executable

freshness

Version and freshness

These signals separate page generation age, package-manager activity, and upstream release comparison. Version lag is warned only when an evidence URL and comparable versions are present.

page generated2026-07-08
manager version2.6.0
manager updated
local dataok
upstreamcurrent
latest detectedv2.6.0

https://github.com/mvp/uhubctl

  • infoNo package-manager update timestamp was available.low confidence

install metadata

Package metadata

Package keybrew:uhubctl
Version2.6.0
Package managerHomebrew
Package manager pagehttps://formulae.brew.sh/formula/uhubctl
Homepagehttps://github.com/mvp/uhubctl
Repositoryhttps://github.com/mvp/uhubctl
Upstream docshttps://github.com/mvp/uhubctl
LicenseGPL-2.0-only
Source archivehttps://github.com/mvp/uhubctl/archive/refs/tags/v2.6.0.tar.gz
Dependencieslibusb
Build dependenciespkgconf
Bottleavailable (on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, arm64_ventura, sonoma, ventura, x86_64_linux)
Homebrew post-installnot defined
Servicenone declared

registry facts

Source database details

Source DatabaseHomebrew formula API
Taphomebrew/core
Full Nameuhubctl
Version Scheme0
Revision0
Head VersionHEAD
Bottle Stable Root URLhttps://ghcr.io/v2/homebrew/core
Deprecatedno
Disabledno
Keg Onlyno
URL Keys
  • head
  • stable

source database matches

Other package-manager records

Matches are pulled from external package-manager indexes and kept separate from local Automic Vault package links.

Debian apt95%

uhubctl 2.6.0-1

USB hub per-port power control

https://github.com/mvp/uhubctl

sudo apt install uhubctl
  • Section: electronics
  • Architecture: amd64
  • 2 dependencies
  • normalized package name match
  • Matched by: Uhubctl
Debian stable package indexes · deb.debian.org · Debian stable package indexes: uhubctl from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz
Nix95%

uhubctl

nix profile install nixpkgs#uhubctl
  • normalized package name match
  • Matched by: Uhubctl
nixpkgs package indexes · api.github.com · nixpkgs package indexes: pkgs/by-name/uh/uhubctl/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
Ubuntu apt95%

uhubctl 2.5.0-1

USB hub per-port power control

https://github.com/mvp/uhubctl

sudo apt install uhubctl
  • Section: universe/electronics
  • Architecture: amd64
  • 2 dependencies
  • normalized package name match
  • Matched by: Uhubctl
Ubuntu 24.04 LTS package indexes · archive.ubuntu.com · Ubuntu 24.04 LTS package indexes: uhubctl from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz
apk95%

uhubctl 2.5.0-r0

USB hub per-port power control

https://github.com/mvp/uhubctl

sudo apk add uhubctl
  • License: GPL-2.0-only
  • Architecture: x86_64
  • Source Package: uhubctl
  • 1 dependencies
  • 1 provides
  • normalized package name match
  • Matched by: Uhubctl
Alpine Linux edge package indexes · dl-cdn.alpinelinux.org · Alpine Linux edge package indexes: uhubctl from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz
dnf95%

uhubctl 2.6.0-5.fc44

USB hub per-port power control

https://github.com/mvp/uhubctl

sudo dnf install uhubctl
  • License: GPL-2.0-only
  • Category: Unspecified
  • Architecture: x86_64
  • Source Package: uhubctl
  • 4 dependencies
  • 1 provides
  • normalized package name match
  • Matched by: Uhubctl
Fedora Rawhide package metadata · dl.fedoraproject.org · Fedora Rawhide package metadata: uhubctl from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst
zypper95%

uhubctl 2.6.0-1.5

USB hub per-port power control

https://github.com/mvp/uhubctl

sudo zypper install uhubctl
  • License: GPL-2.0-only
  • Category: Development/Tools/Other
  • Architecture: x86_64
  • Source Package: uhubctl
  • 2 dependencies
  • 1 provides
  • normalized package name match
  • Matched by: Uhubctl
openSUSE Tumbleweed package metadata · download.opensuse.org · openSUSE Tumbleweed package metadata: uhubctl from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst
MacPorts95%

uhubctl

sudo port install uhubctl
  • normalized package name match
  • Matched by: Uhubctl
MacPorts ports tree · api.github.com · MacPorts ports tree: sysutils/uhubctl/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

source trail

Generated from repository data

This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.

Used sources

  • Geiger risk classifier
  • Nucleus package database
  • av.db category and tag curation
  • cross-ecosystem install command graph
  • curated package history
  • external package-manager database matches
  • package relationship graph
  • package version freshness
  • package-page enrichment