如何关闭 Ubuntu 中的 USB 灯?

如何关闭 Ubuntu 中的 USB 灯?

我买了一个 USB 灯,想使用命令来打开/关闭它(我的目的是设置一些 CRON 作业以在特定时间打开它)。

我研究了几个答案,但都没有用。

我尝试输出到/sys/bus/usb/drivers/usb/unbind、、/sys/bus/usb/devices/usb1/power/level工具uhubctl,使用所有 USB 端口(包括 USB 集线器中的端口等),但都不起作用。

该灯是一种哑设备,当将其插入端口时它就会亮起。

我的电脑是MouseComputer Co.,Ltd. MB-R500

灯是这个

lsb_release -a

No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 22.04.3 LTS
Release:        22.04
Codename:       jammy
sudo lsusb
Bus 002 Device 004: ID 2109:0813 VIA Labs, Inc. VL813 Hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 123: ID 13d3:56af IMC Networks USB2.0 HD UVC WebCam
Bus 001 Device 121: ID 0bda:0129 Realtek Semiconductor Corp. RTS5129 Card Reader Controller
Bus 001 Device 119: ID 2808:9338 Focal-systems.Corp FT9201Fingerprint.̚
Bus 001 Device 054: ID 19d2:1405 ZTE WCDMA Technologies MSM ZTE Technologies MSM
Bus 001 Device 053: ID 046d:c52b Logitech, Inc. Unifying Receiver
Bus 001 Device 052: ID 046d:c548 Logitech, Inc. USB Receiver
Bus 001 Device 051: ID 2109:2813 VIA Labs, Inc. VL813 Hub
Bus 001 Device 125: ID 8087:0aaa Intel Corp. Bluetooth 9460/9560 Jefferson Peak (JfP)
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
sudo uhubctl
Current status for hub 2-2 [2109:0813 VIA Labs, Inc. USB3.0 Hub, 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-2 [2109:2813 VIA Labs, Inc. USB2.0 Hub, USB 2.10, 4 ports, ppps]
  Port 1: 0100 power
  Port 2: 0103 power enable connect [046d:c548 Logitech USB Receiver]
  Port 3: 0103 power enable connect [046d:c52b Logitech USB Receiver]
  Port 4: 0503 power highspeed enable connect [19d2:1405 ZTE,Incorporated ZTE Technologies MSM MF9751ZTED000000]

这是输出的一个片段lsusb -v,然后搜索Anker哪个是我的 HUB 的名称。

Bus 001 Device 068: ID 291a:8365 Anker                   Anker USB-C Hub Device
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.01
  bDeviceClass           17
  bDeviceSubClass         0
  bDeviceProtocol         0
  bMaxPacketSize0        64
  idVendor           0x291a
  idProduct          0x8365
  bcdDevice            0.01
  iManufacturer           1 Anker
  iProduct                2 Anker USB-C Hub Device
  iSerial                 3 0000000000000001
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength       0x0012
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          3 0000000000000001
    bmAttributes         0xe0
      Self Powered
      Remote Wakeup
    MaxPower              100mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           0
      bInterfaceClass        17
      bInterfaceSubClass      0
      bInterfaceProtocol      0
      iInterface              3 0000000000000001

答案1

我可以将其关闭。解决方案:

  1. 购买支持端口电源切换的 USB HUB。大多数 USB HUB 不支持,因此购买前请做好调查。
  2. 使用uhubctl工具(使用 安装sudo apt install uhubctl)。

我买的HUB是这个(Sugoi HUB by System Talks,型号:USB2-HUB4X-BK)。我不确定它是否仍在生产,但还有其他可用的(以下是一份非详尽的清单支持的集线器)。

就我而言,我使用此命令(阅读文档)来切换开/关:

sudo uhubctl -l 1-1 -p 1 -a toggle

显然,对于另一种设置,数字会有所不同。

相关内容