I have a USB zigbee controller that needed to be unplugged/replugged on a Raspbery Pi 4b. The problem was it was a 4 our drive to get there. After some poking around I found uhubctl which allows you to manage smart USB hubs. As luck would have it, most all Raspberry Pi support this!
On my Debian/RaspiOS it’s a simple command
sudo apt-get install uhubctl
sudo usbctl
Current status for hub 2 [1d6b:0003 Linux 6.18.50+rpt-rpi-v8 xhci-hcd xHCI Host Controller 0000:01:00.0, USB 3.00, 4 ports, ppps]
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 1-1 [2109:3431 USB2.0 Hub, USB 2.10, 4 ports, ppps]
Port 1: 0103 power enable connect [1cf1:0030 dresden elektronik ingenieurtechnik GmbH ConBee II DE2688268]
Port 2: 0100 power
Port 3: 0503 power highspeed enable connect [090c:1000 General USB Flash Disk AAWMIH7GZ3IMPGW7]
Port 4: 0100 power
Current status for hub 1 [1d6b:0002 Linux 6.18.50+rpt-rpi-v8 xhci-hcd xHCI Host Controller 0000:01:00.0, USB 2.00, 1 ports, ppps]
Port 1: 0503 power highspeed enable connect [2109:3431 USB2.0 Hub, USB 2.10, 4 ports, ppps]
In this case we are cycling port 1 on hub 1-1
sudo usbctl -l 1-1 -p 1 -a cycle
| Created: 2026-10-06 | Modified: 2026-10-06 |