如何识别已连接的USB设备?

如何识别已连接的USB设备?

例如,如果我以这种形式编写规则:

ACTION=="remove", GOTO="serial_end"
SUBSYSTEM!="tty", GOTO="serial_end"

KERNEL=="ttyUSB[0-9]*", RUN+="/<path-to-my-script>/myscript.sh %k"

LABEL="serial_end"

然后,当我连接USB设备时tty,我将能够得到它的名称,即安装该设备的目录/dev/ttyUSB*

如果我想在 C 程序中监视连接,如何才能准确地找到这个名称?

在此输入图像描述

dmesg允许我看到设备并立即看到内核在 中创建的两个端口/dev。有没有一个 API 可以让我在 C 中看到这个?

我尝试使用该udev库,但它定义的设备位于bus/usb/...,但我需要驱动程序创建的串行端口的名称 - ttyUSB*

PS 或者是否有可能以某种方式从库下找到这个名称udev,知道该设备位于例如此处/dev/bus/usb/002/047

相关内容