From TheBestLinux.com
Jump to navigation Jump to search


One of the most useful tools for managing not only USB devices, but USB hubs as well, is uhubctl, which is not installed on most Linux distributions by default, but is simple enough to install from the command line, or from any Linux package management tool.

Here is how I just installed it on one of my servers running Fedora Linux 32 Server from the command line in a couple of minutes:

[root@server.dawgland.com:/proc]# dnf install uhubctl
Last metadata expiration check: 2:22:26 ago on Tue 03 Aug 2021 01:28:36 PM PDT.
Dependencies resolved.
 Package          Architecture    Version                Repository        Size
 uhubctl          x86_64          2.2.0-1.fc32           updates           31 k

Transaction Summary
Install  1 Package

Total download size: 31 k
Installed size: 70 k
Is this ok [y/N]: y
Downloading Packages:
[MIRROR] uhubctl-2.2.0-1.fc32.x86_64.rpm: Curl error (6): Couldn't resolve host name for http://mirror.prgmr.com/pub/fedora/linux/updates/32/Everything/x86_64/Packages/u/uhubctl-2.2.0-1.fc32.x86_64.rpm [Could not resolve host: mirror.prgmr.com]
[MIRROR] uhubctl-2.2.0-1.fc32.x86_64.rpm: Curl error (6): Couldn't resolve host name for http://mirror.siena.edu/fedora/linux/updates/32/Everything/x86_64/Packages/u/uhubctl-2.2.0-1.fc32.x86_64.rpm [Could not resolve host: mirror.siena.edu]
uhubctl-2.2.0-1.fc32.x86_64.rpm                 1.8 kB/s |  31 kB     00:16    
Total                                           1.7 kB/s |  31 kB     00:17     
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                                                        1/1 
  Installing       : uhubctl-2.2.0-1.fc32.x86_64                            1/1 
  Running scriptlet: uhubctl-2.2.0-1.fc32.x86_64                            1/1 
  Verifying        : uhubctl-2.2.0-1.fc32.x86_64                            1/1 



And this confirms uhubctl is installed correctly:

[root@server.dawgland.com:/proc]# uhubctl -v
[root@server.dawgland.com:/proc]# uhubctl -h
uhubctl 2.2.0: utility to control USB port power for smart hubs.
Usage: uhubctl [options]
Without options, show status for all smart hubs.

Options [defaults in brackets]:
--action,   -a - action to off/on/cycle (0/1/2) for affected ports.
--ports,    -p - ports to operate on    [all hub ports].
--location, -l - limit hub by location  [all smart hubs].
--level     -L - limit hub by location level (e.g. a-b.c is level 3).
--vendor,   -n - limit hub by vendor id [any] (partial ok).
--delay,    -d - delay for cycle action [2 sec].
--repeat,   -r - repeat power off count [1] (some devices need it to turn off).
--exact,    -e - exact location (no USB3 duality handling).
--reset,    -R - reset hub after each power-on action, causing all devices to reassociate.
--wait,     -w - wait before repeat power off [20 ms].
--version,  -v - print program version.
--help,     -h - print this text.

Send bugs and requests to: https://github.com/mvp/uhubctl