2012-12-17 11 views
10

それぞれ16ポートの2つのwavecomモデムを使用しています。 私のマシンにモデムを接続すると、すべての/ dev/ttyUSBポート名のリストを取得できますが、ポート0〜16と17〜32を含むモデムについても知りたいですか?どのデバイスが/ dev/ttyUSBポートに接続されているかを知るには

このモデムは1日で多くの時間が接続されて削除されるため、モデムが切断されて再び接続されたときも監視したいと思っていますか?

c/C++/php script/node.jsを使ってどのようにすればいいですか?

答えて

17

この情報は、sysファイルシステムから取得できます。シェルから確認してから、同じことを行うプログラムを実行するために簡単です:

  1. cd /sys/devices
  2. あなたのポートの最初のディレクトリ検索:find -name "ttyUSB0"を。それはおそらく何かのようにそれらを見つけるでしょう./pci0000:00/0000:00:1d.0/usb2/2-2/2-2.1/2-2.1:1.0/...
  3. pci*の部分は、USBコントローラです。興味深いビットはUSBデバイスである2-2.1です。そのディレクトリには、お使いのデバイスを識別するファイルがたくさんあります。

    • serial:シリアル番号。おそらくあなたが望むもの。
    • idVendorおよびidProduct:デバイスのUSB識別子。代わりに、ステップ1と2から

簡単です:

  1. cd /sys/class/tty/
  2. readlink ttyUSBnはあなたのデバイスディレクトリのフルパスを与えます。

sysfsの一部はAPI安定であると考えられ、一部の部分はそうではないことに注意してください。詳細については、official sysfs rulesを参照してください。

+0

ありがとうございました...本当にとても役に立ちました。 – Mayur

+0

@ Mayur-ようこそ!これがあなたの質問に答えると思うなら、それを正しいとマークして閉じてください。 – rodrigo

+0

完了!私の目標はudevライブラリとansを使って達成しました.. @ _ @ – Mayur