接続された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デバイスを確認し、NETでカーネルによって生成された2つのポートをすぐに表示できます/dev。 Cでこれを見ることができるAPIはありますか?

ライブラリを試しましたが、udevデバイスの場所を定義しますbus/usb/...が、ドライバによって生成されたシリアルポートの名前が必要ですttyUSB*

udevPSまたはデバイスがここにあることを知って、ライブラリの下でこの名前を見つけることは可能ですか/dev/bus/usb/002/047

関連情報