Cannot fully work with current version of Sugoi USB2-HUB4X
Closed this issue · 4 comments
I tried uhubctl against Sugoi USB2-HUB4X (bought on 2025/08/05) because it is listed in the compatible hubs.
However, uhubctl could not find that hub:
$ uhubctl
No compatible smart hubs detected!
Run with -h to get usage info.
There were permission problems while accessing USB.
To fix this, run this tool as root using 'sudo uhubctl',
or add one or more udev rules like below
to file '/etc/udev/rules.d/52-usb.rules':
SUBSYSTEM=="usb", ATTR{idVendor}=="2001", MODE="0666"
then run 'sudo udevadm trigger --attr-match=subsystem=usb'
My PC environment is:
- OS version: Ubuntu 20.04.6
- Kernel version:
5.15.0-139-generic uhubctlversion:2.1.0-1- I also compiled and tried the latest version, but the result is the same
As a result of my investigation, I found an announcement saying Sugoi hub is changed:
https://www.system-talks.co.jp/usb2-hub4x-v4_pr/
This change might damage its USB per-port power switching functionality.
- Please use newer version of uhubctl, 2.5.0 at the minimum, 2.6.0 is recommended.
- On linux, either run with sudo, or configure udev permissions as suggested.
- If that doesn't work, try with
-f(force) option
@mvp Thank you for your support.
Please use newer version of uhubctl, 2.5.0 at the minimum, 2.6.0 is recommended.
On linux, either run with sudo, or configure udev permissions as suggested.
I tried, but could not find the hub:
$ git clone https://github.com/mvp/uhubctl.git
Cloning into 'uhubctl'...
remote: Enumerating objects: 1177, done.
remote: Counting objects: 100% (666/666), done.
remote: Compressing objects: 100% (190/190), done.
remote: Total 1177 (delta 502), reused 480 (delta 476), pack-reused 511 (from 1)
Receiving objects: 100% (1177/1177), 269.91 KiB | 16.87 MiB/s, done.
Resolving deltas: 100% (734/734), done.
$ cd uhubctl/
$ git log -1
commit ad94660713d70d3affbbd3ef6795c69e4c0fe6b3 (HEAD -> master, origin/master, origin/HEAD)
Author: Vadim Mikhailov <mvp@users.noreply.github.com>
Date: Fri Sep 19 13:14:31 2025 -0700
Add a note for Maplin A08CQ
Only older model with red plastic in USB ports is working correctly.
Per report in issue #635, there are different samples
with white plastic in USB ports which do not support PPPS
and should be avoided.
Closes #635.
$ make
cc -g -O0 -Wall -Wextra -Wno-zero-length-array -std=c99 -pedantic -DPROGRAM_VERSION=\"2.6.0-34-gad946607\" -I/usr/include/libusb-1.0 uhubctl.c -o uhubctl -Wl,-zrelro,-znow -lusb-1.0
$ sudo ./uhubctl
No compatible devices detected!
Run with -h to get usage info.
3. If that doesn't work, try with
-f(force) option
I found the hub, but could not switch off VBUS even though uhubctl said the port was powered off:
$ ./uhubctl -f
Current status for hub 4 [1d6b:0003 Linux 5.15.0-139-generic xhci-hcd xHCI Host Controller 0000:00:14.0, USB 3.10, 4 ports, nops]
Port 1: 02a0 power 5gbps Rx.Detect
Port 2: 02a0 power 5gbps Rx.Detect
Port 3: 02a0 power 5gbps Rx.Detect
Port 4: 02a0 power 5gbps Rx.Detect
Current status for hub 3-5 [1a40:0101 USB 2.0 Hub, USB 2.00, 4 ports, ganged]
Port 1: 0100 power
Port 2: 0100 power
Port 3: 0100 power
Port 4: 0103 power enable connect [2341:0058 Arduino LLC Arduino Nano Every FAE072DB5153433347202020FF083B10]
Current status for hub 3 [1d6b:0002 Linux 5.15.0-139-generic xhci-hcd xHCI Host Controller 0000:00:14.0, USB 2.00, 12 ports, nops]
Port 1: 0100 power
Port 2: 0100 power
Port 3: 0107 power suspend enable connect [06cb:00bd 10c648bd8711]
Port 4: 0507 power highspeed suspend enable connect [13d3:5411 Azurewave Integrated Camera 0000]
Port 5: 0503 power highspeed enable connect [1a40:0101 USB 2.0 Hub, USB 2.00, 4 ports, ganged]
Port 6: 0100 power
Port 7: 0100 power
Port 8: 0100 power
Port 9: 0100 power
Port 10: 0107 power suspend enable connect [8087:0026]
Port 11: 0100 power
Port 12: 0100 power
Current status for hub 2 [1d6b:0003 Linux 5.15.0-139-generic xhci-hcd xHCI Host Controller 0000:00:0d.0, USB 3.10, 4 ports, nops]
Port 1: 02a0 power 5gbps Rx.Detect
Port 2: 02b0 power 5gbps Rx.Detect reset
Port 3: 02a0 power 5gbps Rx.Detect
Port 4: 02a0 power 5gbps Rx.Detect
Current status for hub 1 [1d6b:0002 Linux 5.15.0-139-generic xhci-hcd xHCI Host Controller 0000:00:0d.0, USB 2.00, 1 ports, nops]
Port 1: 0100 power
$ ./uhubctl -f -a off -l 3-5 -p 4
Current status for hub 3-5 [1a40:0101 USB 2.0 Hub, USB 2.00, 4 ports, ganged]
Port 4: 0103 power enable connect [2341:0058 Arduino LLC Arduino Nano Every FAE072DB5153433347202020FF083B10]
Sent power off request
New status for hub 3-5 [1a40:0101 USB 2.0 Hub, USB 2.00, 4 ports, ganged]
Port 4: 0000 off
$ ./uhubctl -f
Current status for hub 4 [1d6b:0003 Linux 5.15.0-139-generic xhci-hcd xHCI Host Controller 0000:00:14.0, USB 3.10, 4 ports, nops]
Port 1: 02a0 power 5gbps Rx.Detect
Port 2: 02a0 power 5gbps Rx.Detect
Port 3: 02a0 power 5gbps Rx.Detect
Port 4: 02a0 power 5gbps Rx.Detect
Current status for hub 3-5 [1a40:0101 USB 2.0 Hub, USB 2.00, 4 ports, ganged]
Port 1: 0100 power
Port 2: 0100 power
Port 3: 0100 power
Port 4: 0000 off
Current status for hub 3 [1d6b:0002 Linux 5.15.0-139-generic xhci-hcd xHCI Host Controller 0000:00:14.0, USB 2.00, 12 ports, nops]
Port 1: 0100 power
Port 2: 0100 power
Port 3: 0107 power suspend enable connect [06cb:00bd 10c648bd8711]
Port 4: 0507 power highspeed suspend enable connect [13d3:5411 Azurewave Integrated Camera 0000]
Port 5: 0503 power highspeed enable connect [1a40:0101 USB 2.0 Hub, USB 2.00, 4 ports, ganged]
Port 6: 0100 power
Port 7: 0100 power
Port 8: 0100 power
Port 9: 0100 power
Port 10: 0107 power suspend enable connect [8087:0026]
Port 11: 0100 power
Port 12: 0100 power
Current status for hub 2 [1d6b:0003 Linux 5.15.0-139-generic xhci-hcd xHCI Host Controller 0000:00:0d.0, USB 3.10, 4 ports, nops]
Port 1: 02a0 power 5gbps Rx.Detect
Port 2: 02b0 power 5gbps Rx.Detect reset
Port 3: 02a0 power 5gbps Rx.Detect
Port 4: 02a0 power 5gbps Rx.Detect
Current status for hub 1 [1d6b:0002 Linux 5.15.0-139-generic xhci-hcd xHCI Host Controller 0000:00:0d.0, USB 2.00, 1 ports, nops]
Port 1: 0100 power
However, when I powered off all ports of that hub, VBUS was switched off:
$ ./uhubctl -f -a off -l 3-5
Current status for hub 3-5 [1a40:0101 USB 2.0 Hub, USB 2.00, 4 ports, ganged]
Port 1: 0100 power
Port 2: 0100 power
Port 3: 0100 power
Port 4: 0000 off
Sent power off request
New status for hub 3-5 [1a40:0101 USB 2.0 Hub, USB 2.00, 4 ports, ganged]
Port 1: 0000 off
Port 2: 0000 off
Port 3: 0000 off
Port 4: 0000 off
And I confirmed that VBUS became switched on when I powered on all ports:
$ ./uhubctl -f -a on -l 3-5
Current status for hub 3-5 [1a40:0101 USB 2.0 Hub, USB 2.00, 4 ports, ganged]
Port 1: 0000 off
Port 2: 0000 off
Port 3: 0000 off
Port 4: 0000 off
Sent power on request
New status for hub 3-5 [1a40:0101 USB 2.0 Hub, USB 2.00, 4 ports, ganged]
Port 1: 0100 power
Port 2: 0100 power
Port 3: 0100 power
Port 4: 0100 power
I found uhubctl said that hub is ganged and this document told me we cannot control each port of ganged hub individually.
I'm not sure if it is normal behavior of ganged hub that powering off single port does nothing, but this may be similar to Raspberry Pi 4B case.
Ganged means all ports are connected to the same power rail, which only turns VBUS off on that rail when all ports are turned off by uhubctl. Usually, turning on any port is powering on all whole gang.
I will make a note for this hub in the table. Technically it is still supported (as in lets you power ports off), just not as good as controlling power individually.
@mvp Thank you very much for your support.
One thing I should mention is that old Sugoi USB2-HUB4X supported per-port power switching (or powering off all ports when one port is powered off) because sudo uhubctl -l 1-1 -p 1 -a toggle worked at that time:
https://askubuntu.com/questions/1486016/how-can-i-turn-off-a-usb-lamp-in-ubuntu?noredirect=1#comment2602649_1486016
cf. #525