2つのWavecom16ポートモデムを使用しています。モデムをシステムに接続すると、すべての/dev/ttyUSB
ポート名を一覧表示できますが、どのモデムにポート0〜16が含まれていて、どのモデムにポート17〜32が含まれているのかを知りたいのですが。
モデムは1日に何度も取り付けたり取り外したりする可能性があるので、モデムが切断されて再び接続されたときにもログを記録したいと思います。
c / c ++ / php script / node.jsを使用してこれを行う方法はありますか?
この情報はsys
ファイルシステムから取得できます。シェルからチェックして、同じことを行うプログラムを実行するのは簡単です。
cd /sys/devices
find -name "ttyUSB0"
。それはおそらくそれらを次のようなもので見つけるでしょう./pci0000:00/0000:00:1d.0/usb2/2-2/2-2.1/2-2.1:1.0/...
パーツはpci*
USBコントローラーです。興味深いの2-2.1
は、USBデバイスです。そのディレクトリには、デバイスを識別する多くのファイルがあります。
serial
:シリアル番号。おそらくあなたが望むもの。idVendor
およびidProduct
:デバイスのUSB識別子。手順1と2の代わりに簡単な方法は次のとおりです。
cd /sys/class/tty/
readlink ttyUSBn
デバイスディレクトリのフルパスが表示されます。sysfs
脚注として、の一部はAPIで安定していると見なされ、一部はそうではないことに注意してください。詳細については、公式のsysfsルールを参照してください。