There is a hidden feature in PPB Advance.

USB Hub is fully manageable (actually you can turn ON /OFF individually each USB2 or USB3 port)

Please check uhubctl project : github.com/mvp/uhubctl <- (it will be very neat if someone can use this library at Inidlib)

Example:

evansg$ uhubctl

[code]Current status for hub 20-7 [2109:0813 VIA Labs, Inc. USB3.0 Hub, USB 3.00, 4 ports]
  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 20-6 [2109:2813 VIA Labs, Inc. USB2.0 Hub, USB 2.10, 4 ports]
  Port 1: 0103 power enable connect [0403:6015 Pegasus Astro PPB-ADV revA PPBA4PWG9Q]
  Port 2: 0100 power
  Port 3: 0100 power
  Port 4: 0100 power

Example of switching OFF USB port1:
$ uhubctl --ports 1 --action 0
Current status for hub 20-7 [2109:0813 VIA Labs, Inc. USB3.0 Hub, USB 3.00, 4 ports]
  Port 1: 02a0 power 5gbps Rx.Detect
Sent power off request
New status for hub 20-7 [2109:0813 VIA Labs, Inc. USB3.0 Hub, USB 3.00, 4 ports]
  Port 1: 0080 off
Current status for hub 20-6 [2109:2813 VIA Labs, Inc. USB2.0 Hub, USB 2.10, 4 ports]
  Port 1: 0103 power enable connect [0403:6015 Pegasus Astro PPB-ADV revA PPBA4PWG9Q]
Sent power off request
New status for hub 20-6 [2109:2813 VIA Labs, Inc. USB2.0 Hub, USB 2.10, 4 ports]
  Port 1: 0000 off


Read More...