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コントローラーです。興味深いのは、USBデバイスである2-2.1
です。そのディレクトリには、デバイスを識別する多くのファイルがあります。
serial
:シリアル番号。おそらくあなたが望むもの。idVendor
およびidProduct
:デバイスのUSB識別子。手順1と2の代わりに簡単な方法は次のとおりです。
cd /sys/class/tty/
readlink ttyUSBn
は、デバイスディレクトリのフルパスを提供します。脚注として、sysfs
の一部はAPIで安定していると見なされ、一部はそうではないことに注意してください。詳細については、 公式のsysfsルール を参照してください。