プログラミング
uhubctl – スマートUSBハブのポートごとのUSB電源制御
Uhubctl – control USB power per-port on smart USB hubs (github.com)
要約
uhubctlは、スマートUSBハブのポートごとのUSB電源を制御するためのユーティリティです。スマートハブとは、ポートごとに電源スイッチング機能を実装しているものを指します。このツールは、特定のUSBハブの電源を個別にオン/オフすることで、接続されたデバイスの管理や省電力化を可能にします。互換性のあるUSBハブのリストも提供されており、ユーザーは自分の環境で利用できるかを確認できます。
全文翻訳
uhubctl
uhubctlは、スマートUSBハブのポートごとのUSB電源を制御するためのユーティリティです。
スマートハブとは、ポートごとに電源スイッチング機能を実装しているものを定義します。
このコードの元のアイデアは、Niibe Yutakaによるhub-ctrl.cに触発されたものです: https://www.gniibe.org/development/ac-power-control-by-USB-hub
互換性のあるUSBハブ
多くのUSBハブがポートごとの電源スイッチングを正しくサポートしているわけではないことに注意してください。
それらの中には製造中止になり、見つけるのが難しいものもあります。
これは既知の互換性のあるUSBハブのリストです:
製造元 製品 ポート USB VID:PID リリース EOL
Acer BE270Uモニター (参照) 4 3.0 2109:2811 2016
AmazonBasics HU3641V1 (RPi問題) 4 3.0 2109:2811 2013
AmazonBasics HU3770V1 (RPi問題) 7 3.0 2109:2811 2013
AmazonBasics HU9003V1EBL, HUC9003V1EBL 7 3.1 2109:2817 2018
AmazonBasics HU9002V1SBL, HU9002V1EBL, HU9002V1ESL, HHU9002V1EZPR01 (注意) 10 3.1 2109:2817 2018
AmazonBasics HUC9002V1SBL, HUC9002V1EBL, HUC9002V1ESL 10 3.1 2109:2817 2018
AmazonBasics U3-7HUB (充電専用ポートのみ動作) 7 3.0 2109:2813 2020
Anker AK-68ANHUB-BV7A-0004 (注意) 7 3.0 2109:0812 2014
Apple Mac Mini M4 (前面2ポートのみ) 2 3.2 05AC:800B 2024
Apple MacBook Air (Late 2010) 2 2.0 1D6B:0002 2010 2020
Apple Pro Display XDR MWPE2LL/A (内部USBハブ) 4 2.0 05AC:9139 2019
Apple Thunderbolt Display 27" (内部USBハブ) 6 2.0 2011 2016
Apple USB Keyboard With Numeric Pad (内部USBハブ) 3 2.0 2011
Asus Z77 Sabertooth Motherboard (オンボードUSBハブ) 6 2.0 2012
Asus Z87-PLUS Motherboard (オンボードUSBハブ) 4 3.0 2013 2016
Aukey CB-C59 4 3.0 2109:2813 2017
B+B SmartWorx UHR204 4 2.0 0856:DB00 2013
B+B SmartWorx USH304 4 3.0 04B4:6506 2017 2019
Basler 2000036234 4 3.0 0451:8046 2016
Belkin F5U101 4 2.0 0451:2046 2005 2010
Belkin F5U238UKCRL-MOB 4 2.0 0409:0059 2004 2010
BenQ PD2700U 4K Monitor (USB2モードのみ動作) 4 3.0 05E3:0610 2018
BenQ PD3220U 4 3.1 05E3:0610 2019
Bytecc BT-UH340 (警告) 4 3.0 2109:8110 2010
Centech CT-USB4HUB ReTRY HUB (注意) 4 3.0 0424:2744 2017
Circuitco Beagleboard-xM (内部USBハブ) 4 2.0 0424:9514 2010
Club3D CSV-3242HD Dual Display Docking Station 4 3.0 2109:2811 2015
Coolgear USBG-12U2ML 12 2.0 05E3:0607 2015
Cypress CY4608 HX2VL (注意) 4 2.0 04B4:6570 2012
D-Link DUB-2332 rev A1 3 3.0 2022
D-Link DUB-H4 rev D,E (黒)。注意: rev A,C,Fはサポートされていません 4 2.0 05E3:0608 2012
D-Link DUB-H7 rev A (シルバー) 7 2.0 2001:F103 2005 2010
D-Link DUB-H7 rev D,E (黒)。Rev B,C,F,Gはサポートされていません 7 2.0 05E3:0608 2012
Dell DA300 USB-C Mobile Adapter 2 3.0 2109:2820 2018
Dell P2416D 24" QHD Monitor (注意) 4 2.0 2017
Dell S2719DGF 27" WQHD Gaming-Monitor 5 3.0 0424:5734 2018
Dell UltraSharp 1704FPT 17" LCD Monitor 4 2.0 0424:A700 2005 2015
Dell UltraSharp U2415 24" LCD Monitor 5 3.0 2014
Dell UltraSharp U3419W 34" Curved Monitor 6 3.0 2020
Dell Wyse 3040 (-f が必要) 6 3.0 2017
Delock 62537 4 3.0 2017 2021
Delock 87445 (注意) 4 2.0 05E3:0608 2009 2013
Elecom U2H-G4S 4 2.0 2006 2011
Gigabyte G27Q monitor (参照) 4 3.0 2109:0817 2020
GlobalScale ESPRESSObin SBUD102 V5 1 3.0 1D6B:0003 2017
Hardkernel ODROID-C4 (注意) 4 3.0 2020
Hewlett Packard USB-C Dock G5 5TW10AA 5 3.0 03F0:076B 2019
Hewlett Packard P5Q58UT 3 3.0 2019
IBM SK-8815 USB Keyboard 3 1.1 04B3:301A 2004
Inateck HB2025A (USB2のみ) 4 3.1 2109:2822 2021
IOI U3H415E1 4 3.0 2012
j5create JUH377 (注意) 7 3.0 2016
j5create JUH470 (注意) 3 3.0 05E3:0610 2014
Juiced Systems 6HUB-01 7 3.0 0BDA:0411 2014 2018
KUNBUS GmbH RevPi Connect (+) / S / SE 2 2.0 0424:9514 2018
KUNBUS GmbH RevPi Connect 4 2 3.0 2022
KUNBUS GmbH RevPi Core 3 / S / SE 2 2.0 0424:9514 2017
LG Electronics 27MD5KL-B monitor 4 3.0 043E:9A60 2019
LG Electronics 27GL850-B monitor 4 3.0 0451:8142 2019
LG Electronics 27UK850-W monitor 2 3.0 2018
LG Electronics 27UN83A-W monitor 2 3.0 0451:8142 2020
LG Electronics 38WK95C-W monitor 4 3.0 0451:8142 2018
Lenovo ThinkPad Mini Dock Series 3 (433710U) 6 2.0 17EF:100A 2016
Lenovo ThinkPad Ultra Docking Station (40A20090EU) 6 2.0 17EF:100F 2015
Lenovo ThinkPad Ultra Docking Station (40AJ0135EU) 7 3.1 17EF:3070 2018
Lenovo ThinkPad X200 Ultrabase 42X4963 3 2.0 17EF:1005 2008 2011
Lenovo ThinkPad X6 Ultrabase 42W3107 4 2.0 17EF:1000 2006 2009
Lenovo ThinkPlus 4-in-1 USB-C hub 4X90W86497 3 3.0 2021
Lenovo ThinkVision T24i-10 Monitor 4 2.0 17EF:0610 2018
Lenovo USB-C to 4 Port USB-A Hub (USB2のみ) 4 2.0 17EF:103A 2020
Lindy USB serial converter 4 port 4 1.1 058F:9254 2008
Linksys USB2HUB4 (注意) 4 2.0 2004 2010
Maplin A08CQ (赤ポートのみ) 7 2.0 0409:0059 2008 2011
Metadot Das Keyboard 4 2 3.0 2014
Microchip EVB9512 2 2.0 2009
Microchip EVB-USB2517 7 2.0 2008
Microchip EVB-USB2534BC 4 2.0 2013
Microchip EVB-USB5807 7 3.0 2016
Moxa Uport-407 7 2.0 110A:0407 2009
NVidia Jetson Nano B01 (詳細) 4 3.0 2019
NVidia Jetson Xavier NX (詳細) 4 3.0 2020
Phidgets HUB0003_0 7 2.0 1A40:0201 2017
Philips 346B1C UltraWide 34" Curved Monitor 4 3.0 05E3:0610 2019
Plugable USB3-HUB7BC 7 3.0 2109:0813 2015
Plugable USB3-HUB7C (充電専用ポートのみ動作) 7 3.0 2109:0813 2015
Plugable USBC-HUB7BC (6/7ポートで動作、一番右のポートは動作せず) 7 3.0 2109:0817 2021
Plugable USB3-HUB10-C2 (充電専用ポートのみ動作) 10 3.0 2014
Port Inc NWUSB01 4 1.1 0451:1446 1999 2003
Raspberry Pi B+, 2B, 3B (下記参照) 4 2.0 2011
Raspberry Pi 3B+ (下記参照) 4 2.0 0424:2514 2018
Raspberry Pi 4B (下記参照) 4 3.0 2109:3431 2019
Raspberry Pi 5 (下記参照) 4 3.0 1D6B:0002 2023
Renesas uPD720202 PCIe USB 3.0 host controller 2 3.0 2013
Rosewill RHUB-210 4 2.0 0409:005A 2011 2014
Rosonway RSH-518C (注意) 7 3.0 2109:0817 2021
Rosonway RSH-A10 (参照) 10 3.0 0BDA:0411 2020
Rosonway RSH-A13 (警告) 13 3.1 2109:2822 2021
Rosonway RSH-A16 (注意、警告) 16 3.0 0bda:0411 2020
Rosonway RSH-A37S 7 3.0 2109:2822 2021
Rosonway RSH-A104 (USB2のみ) 4 3.1 2109:2822 2022
Rosonway RSH-ST07C (4ポートのみ) 7 3.0 2109:2822 2023
Rosonway RSH-ST10C-6 (注意) 10 3.1 0BDA:0423 2024
Sanwa Supply USB-HUB14GPH 4 1.1 2001 2003
Satechi Mac Mini Hub (M1/M2) 4 3.0 2109:2817 2023
Seagate Backup Plus Hub STEL8000100 2 3.0 0BC2:AB44 2016
Seeed Studio reTerminal CM4104032 2 2.0 0424:2514 2021
StarTech DKT30CSDHPD3 USB-C Travel Dock 3 3.0 2109:2817 2018
StarTech HB30A4AIB (警告) 4 3.0 2109:2817 2018
StarTech HB31C2A2CB (注意) 5 3.0 14B0:013D 2020
StarTech HB31C3A1CPD3 (注意) 5 3.1 14B0:013A 2019
Sunix SHB4200MA 4 2.0 0409:0058 2006 2009
System Talks Sugoi USB2-HUB4X (警告) 4 2.0 2007
Targus ACH155 (ポート3が全ポートを制御) 4 3.0 2022
Targus PA095UZ 2 2.0 2004
Targus PAUH212/PAUH212U 7 2.0 2004 2009
Texas Instruments TUSB4041PAPEVM 4 2.1 0451:8142 2015
UUGear MEGA4 (Raspberry Pi 4B用) 4 3.0 2109:0817 2021
VirtualHere USB3 4-port hub (注意) 4 3.0 2024
この表は決して完全なものではありません。
もしあなたのハブがuhubctlで動作するが、上記にリストされていない場合は、https://github.com/mvp/uhubctl/issuesで新しいイシューを開いて報告してください。
そうすれば、サポートされているテーブルに追加できます。
あなたのレポートでは、正確な製品モデルを提供し、uhubctlからの出力を追加してください。
また、FAQの下記で説明されているようにVBUSオフサポートをテストしてください。
多くの最新のマザーボードには、この機能をサポートする内蔵ルートハブが搭載されていることに注意してください。
外部ハブを購入する必要さえありません。
USB 3.0の二重性に関する注意
USB 3.0ハブがUSB3アップストリームポートに接続されている場合、それは2つの独立した仮想ハブとして検出されます。
USB2とUSB3であり、USBデバイスはそれらの機能と接続速度に応じてUSB2またはUSB3仮想ハブに接続されます。
このようなハブの電源を制御するには、電源オフ/オンの変更を有効にするために、USB2とUSB3の両方の仮想ハブの電源をオフ/オンする必要があります。
uhubctlはこれを自動的に試みます(オプション-eでこの動作を無効にしない限り)。
残念ながら、ほとんどのハブはデータUSB接続を切断しますが、一部のハブはポートへのVBUSを切断しない場合があり、接続された電話はuhubctlによって電源がオフにされたポートから充電を続ける可能性があります。
インストール
LinuxおよびMacOSの場合
uhubctlは標準のパッケージマネージャーで利用可能であり、以下のコマンドでインストールできます:
MacOS: