是否可以通过编程方式识别 Lenovo ThinkCentre 上的物理 USB 端口数量?

是否可以通过编程方式识别 Lenovo ThinkCentre 上的物理 USB 端口数量?

我有几台 Lenovo 机器,它们具有不同数量的物理 USB 端口。我需要以编程方式识别每台计算机上物理 USB 端口的数量。安装的操作系统是Linux。这些 USB 端口可能是空的,也可能连接到 USB 设备。

即使是解决这个问题的方法建议也会非常有帮助。

答案1

你不能;操作系统只能看到集线器 IC 有多少个端口,而不能看到有多少个端口连接到外部 USB 端口。

答案2

您可以从他们的支持中心获取信息。据我所知,没有任何 Web 服务,但 html 输出是可解析的。这仅适用于OP提到的计算机。

首先以 root 身份从 /sys/devices/virtual/dmi/id/product_serial 获取序列号,然后访问https://support.lenovo.com/qrcode/YOUR_SERIAL_NUMBER//qrcode_web并解析结果。

这对于我在旧联想中作为root用户来说是有效的,但你可能需要调整它:

# curl -sL "https://support.lenovo.com/qrcode/$(cat /sys/devices/virtual/dmi/id/product_serial)//qrcode_web" | grep -oE '"Description":"[^"]*"' | tr '•' '\n'|grep USB.*total
4 USB ports in the front, 8 USB ports in total\n

相关内容